meh

Fork of mbed by mbed official

Files at this revision

API Documentation at this revision

Comitter:
bogdanm
Date:
Fri Aug 15 15:28:31 2014 +0100
Parent:
87:6213f644d804
Child:
89:552587b429a1
Commit message:
Release 88 of the mbed library

Main changes:

- changed "error.h" to "mbed_error.h" to avoid conflicts with 3rd party code
- LPC1549 SPI driver fixes
- K64F Ethernet TX buffer reclaim mechanism fix
- STDIO initialization fix
- NUCLEO_F334R8 I2C clock fix
- various other fixes

Changed in this revision

TARGET_ARCH_BLE/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/ble.h Show annotated file Show diff for this revision Revisions of this file
TARGET_ARCH_BLE/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/ble_err.h Show annotated file Show diff for this revision Revisions of this file
TARGET_ARCH_BLE/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/ble_gap.h Show annotated file Show diff for this revision Revisions of this file
TARGET_ARCH_BLE/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/ble_gatt.h Show annotated file Show diff for this revision Revisions of this file
TARGET_ARCH_BLE/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/ble_gattc.h Show annotated file Show diff for this revision Revisions of this file
TARGET_ARCH_BLE/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/ble_gatts.h Show annotated file Show diff for this revision Revisions of this file
TARGET_ARCH_BLE/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/ble_hci.h Show annotated file Show diff for this revision Revisions of this file
TARGET_ARCH_BLE/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/ble_l2cap.h Show annotated file Show diff for this revision Revisions of this file
TARGET_ARCH_BLE/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/ble_ranges.h Show annotated file Show diff for this revision Revisions of this file
TARGET_ARCH_BLE/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/ble_types.h Show annotated file Show diff for this revision Revisions of this file
TARGET_ARCH_BLE/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/nrf_error.h Show annotated file Show diff for this revision Revisions of this file
TARGET_ARCH_BLE/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/nrf_error_sdm.h Show annotated file Show diff for this revision Revisions of this file
TARGET_ARCH_BLE/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/nrf_error_soc.h Show annotated file Show diff for this revision Revisions of this file
TARGET_ARCH_BLE/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/nrf_mbr.h Show annotated file Show diff for this revision Revisions of this file
TARGET_ARCH_BLE/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/nrf_sdm.h Show annotated file Show diff for this revision Revisions of this file
TARGET_ARCH_BLE/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/nrf_soc.h Show annotated file Show diff for this revision Revisions of this file
TARGET_ARCH_BLE/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/nrf_svc.h Show annotated file Show diff for this revision Revisions of this file
TARGET_ARCH_BLE/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/softdevice_assert.h Show annotated file Show diff for this revision Revisions of this file
TARGET_ARCH_BLE/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_softdevice.hex Show annotated file Show diff for this revision Revisions of this file
TARGET_ARCH_BLE/TARGET_NORDIC/TARGET_MCU_NRF51822/PeripheralNames.h Show annotated file Show diff for this revision Revisions of this file
TARGET_ARCH_BLE/TARGET_NORDIC/TARGET_MCU_NRF51822/PortNames.h Show annotated file Show diff for this revision Revisions of this file
TARGET_ARCH_BLE/TARGET_NORDIC/TARGET_MCU_NRF51822/TARGET_ARCH_BLE/PinNames.h Show annotated file Show diff for this revision Revisions of this file
TARGET_ARCH_BLE/TARGET_NORDIC/TARGET_MCU_NRF51822/TARGET_ARCH_BLE/device.h Show annotated file Show diff for this revision Revisions of this file
TARGET_ARCH_BLE/TARGET_NORDIC/TARGET_MCU_NRF51822/gpio_object.h Show annotated file Show diff for this revision Revisions of this file
TARGET_ARCH_BLE/TARGET_NORDIC/TARGET_MCU_NRF51822/objects.h Show annotated file Show diff for this revision Revisions of this file
TARGET_ARCH_BLE/TARGET_NORDIC/TARGET_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/ble.h Show diff for this revision Revisions of this file
TARGET_ARCH_BLE/TARGET_NORDIC/TARGET_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/ble_err.h Show diff for this revision Revisions of this file
TARGET_ARCH_BLE/TARGET_NORDIC/TARGET_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/ble_gap.h Show diff for this revision Revisions of this file
TARGET_ARCH_BLE/TARGET_NORDIC/TARGET_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/ble_gatt.h Show diff for this revision Revisions of this file
TARGET_ARCH_BLE/TARGET_NORDIC/TARGET_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/ble_gattc.h Show diff for this revision Revisions of this file
TARGET_ARCH_BLE/TARGET_NORDIC/TARGET_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/ble_gatts.h Show diff for this revision Revisions of this file
TARGET_ARCH_BLE/TARGET_NORDIC/TARGET_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/ble_hci.h Show diff for this revision Revisions of this file
TARGET_ARCH_BLE/TARGET_NORDIC/TARGET_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/ble_l2cap.h Show diff for this revision Revisions of this file
TARGET_ARCH_BLE/TARGET_NORDIC/TARGET_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/ble_ranges.h Show diff for this revision Revisions of this file
TARGET_ARCH_BLE/TARGET_NORDIC/TARGET_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/ble_types.h Show diff for this revision Revisions of this file
TARGET_ARCH_BLE/TARGET_NORDIC/TARGET_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/nrf_error.h Show diff for this revision Revisions of this file
TARGET_ARCH_BLE/TARGET_NORDIC/TARGET_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/nrf_error_sdm.h Show diff for this revision Revisions of this file
TARGET_ARCH_BLE/TARGET_NORDIC/TARGET_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/nrf_error_soc.h Show diff for this revision Revisions of this file
TARGET_ARCH_BLE/TARGET_NORDIC/TARGET_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/nrf_mbr.h Show diff for this revision Revisions of this file
TARGET_ARCH_BLE/TARGET_NORDIC/TARGET_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/nrf_sdm.h Show diff for this revision Revisions of this file
TARGET_ARCH_BLE/TARGET_NORDIC/TARGET_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/nrf_soc.h Show diff for this revision Revisions of this file
TARGET_ARCH_BLE/TARGET_NORDIC/TARGET_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/nrf_svc.h Show diff for this revision Revisions of this file
TARGET_ARCH_BLE/TARGET_NORDIC/TARGET_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/softdevice_assert.h Show diff for this revision Revisions of this file
TARGET_ARCH_BLE/TARGET_NORDIC/TARGET_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_softdevice.hex Show diff for this revision Revisions of this file
TARGET_ARCH_BLE/TARGET_NORDIC/TARGET_NRF51822/PeripheralNames.h Show diff for this revision Revisions of this file
TARGET_ARCH_BLE/TARGET_NORDIC/TARGET_NRF51822/PortNames.h Show diff for this revision Revisions of this file
TARGET_ARCH_BLE/TARGET_NORDIC/TARGET_NRF51822/TARGET_ARCH_BLE/PinNames.h Show diff for this revision Revisions of this file
TARGET_ARCH_BLE/TARGET_NORDIC/TARGET_NRF51822/TARGET_ARCH_BLE/device.h Show diff for this revision Revisions of this file
TARGET_ARCH_BLE/TARGET_NORDIC/TARGET_NRF51822/gpio_object.h Show diff for this revision Revisions of this file
TARGET_ARCH_BLE/TARGET_NORDIC/TARGET_NRF51822/objects.h Show diff for this revision Revisions of this file
TARGET_ARCH_BLE/TOOLCHAIN_ARM_STD/board.o Show annotated file Show diff for this revision Revisions of this file
TARGET_ARCH_BLE/TOOLCHAIN_ARM_STD/cmsis_nvic.o Show annotated file Show diff for this revision Revisions of this file
TARGET_ARCH_BLE/TOOLCHAIN_ARM_STD/mbed.ar Show annotated file Show diff for this revision Revisions of this file
TARGET_ARCH_BLE/TOOLCHAIN_ARM_STD/retarget.o Show annotated file Show diff for this revision Revisions of this file
TARGET_ARCH_BLE/TOOLCHAIN_ARM_STD/startup_nRF51822.o Show annotated file Show diff for this revision Revisions of this file
TARGET_ARCH_BLE/TOOLCHAIN_ARM_STD/sys.o Show annotated file Show diff for this revision Revisions of this file
TARGET_ARCH_BLE/TOOLCHAIN_ARM_STD/system_nrf51822.o Show annotated file Show diff for this revision Revisions of this file
TARGET_ARCH_BLE/TOOLCHAIN_GCC_ARM/NRF51822.ld Show annotated file Show diff for this revision Revisions of this file
TARGET_ARCH_BLE/TOOLCHAIN_GCC_ARM/board.o Show annotated file Show diff for this revision Revisions of this file
TARGET_ARCH_BLE/TOOLCHAIN_GCC_ARM/cmsis_nvic.o Show annotated file Show diff for this revision Revisions of this file
TARGET_ARCH_BLE/TOOLCHAIN_GCC_ARM/libmbed.a Show annotated file Show diff for this revision Revisions of this file
TARGET_ARCH_BLE/TOOLCHAIN_GCC_ARM/retarget.o Show annotated file Show diff for this revision Revisions of this file
TARGET_ARCH_BLE/TOOLCHAIN_GCC_ARM/startup_NRF51822.o Show annotated file Show diff for this revision Revisions of this file
TARGET_ARCH_BLE/TOOLCHAIN_GCC_ARM/system_nrf51822.o Show annotated file Show diff for this revision Revisions of this file
TARGET_ARCH_GPRS/TARGET_NXP/TARGET_LPC11UXX/PeripheralPins.h Show annotated file Show diff for this revision Revisions of this file
TARGET_ARCH_GPRS/TOOLCHAIN_ARM_MICRO/LPC11U37.sct Show annotated file Show diff for this revision Revisions of this file
TARGET_ARCH_GPRS/TOOLCHAIN_ARM_MICRO/board.o Show annotated file Show diff for this revision Revisions of this file
TARGET_ARCH_GPRS/TOOLCHAIN_ARM_MICRO/cmsis_nvic.o Show annotated file Show diff for this revision Revisions of this file
TARGET_ARCH_GPRS/TOOLCHAIN_ARM_MICRO/mbed.ar Show annotated file Show diff for this revision Revisions of this file
TARGET_ARCH_GPRS/TOOLCHAIN_ARM_MICRO/retarget.o Show annotated file Show diff for this revision Revisions of this file
TARGET_ARCH_GPRS/TOOLCHAIN_ARM_MICRO/startup_LPC11xx.o Show annotated file Show diff for this revision Revisions of this file
TARGET_ARCH_GPRS/TOOLCHAIN_ARM_MICRO/sys.o Show annotated file Show diff for this revision Revisions of this file
TARGET_ARCH_GPRS/TOOLCHAIN_ARM_MICRO/system_LPC11Uxx.o Show annotated file Show diff for this revision Revisions of this file
TARGET_ARCH_GPRS/TOOLCHAIN_ARM_STD/LPC11U37.sct Show annotated file Show diff for this revision Revisions of this file
TARGET_ARCH_GPRS/TOOLCHAIN_ARM_STD/board.o Show annotated file Show diff for this revision Revisions of this file
TARGET_ARCH_GPRS/TOOLCHAIN_ARM_STD/cmsis_nvic.o Show annotated file Show diff for this revision Revisions of this file
TARGET_ARCH_GPRS/TOOLCHAIN_ARM_STD/mbed.ar Show annotated file Show diff for this revision Revisions of this file
TARGET_ARCH_GPRS/TOOLCHAIN_ARM_STD/retarget.o Show annotated file Show diff for this revision Revisions of this file
TARGET_ARCH_GPRS/TOOLCHAIN_ARM_STD/startup_LPC11xx.o Show annotated file Show diff for this revision Revisions of this file
TARGET_ARCH_GPRS/TOOLCHAIN_ARM_STD/sys.o Show annotated file Show diff for this revision Revisions of this file
TARGET_ARCH_GPRS/TOOLCHAIN_ARM_STD/system_LPC11Uxx.o Show annotated file Show diff for this revision Revisions of this file
TARGET_ARCH_GPRS/TOOLCHAIN_GCC_ARM/LPC11U37.ld Show annotated file Show diff for this revision Revisions of this file
TARGET_ARCH_GPRS/TOOLCHAIN_GCC_ARM/libmbed.a Show annotated file Show diff for this revision Revisions of this file
TARGET_ARCH_GPRS/TOOLCHAIN_GCC_ARM/retarget.o Show annotated file Show diff for this revision Revisions of this file
TARGET_ARCH_GPRS/TOOLCHAIN_GCC_CR/LPC11U37.ld Show annotated file Show diff for this revision Revisions of this file
TARGET_ARCH_GPRS/TOOLCHAIN_GCC_CR/libmbed.a Show annotated file Show diff for this revision Revisions of this file
TARGET_ARCH_GPRS/TOOLCHAIN_GCC_CR/retarget.o Show annotated file Show diff for this revision Revisions of this file
TARGET_ARCH_PRO/TOOLCHAIN_ARM_STD/board.o Show annotated file Show diff for this revision Revisions of this file
TARGET_ARCH_PRO/TOOLCHAIN_ARM_STD/cmsis_nvic.o Show annotated file Show diff for this revision Revisions of this file
TARGET_ARCH_PRO/TOOLCHAIN_ARM_STD/mbed.ar Show annotated file Show diff for this revision Revisions of this file
TARGET_ARCH_PRO/TOOLCHAIN_ARM_STD/retarget.o Show annotated file Show diff for this revision Revisions of this file
TARGET_ARCH_PRO/TOOLCHAIN_ARM_STD/sys.o Show annotated file Show diff for this revision Revisions of this file
TARGET_ARCH_PRO/TOOLCHAIN_ARM_STD/system_LPC17xx.o Show annotated file Show diff for this revision Revisions of this file
TARGET_ARCH_PRO/TOOLCHAIN_GCC_ARM/libmbed.a Show annotated file Show diff for this revision Revisions of this file
TARGET_ARCH_PRO/TOOLCHAIN_GCC_ARM/retarget.o Show annotated file Show diff for this revision Revisions of this file
TARGET_ARCH_PRO/TOOLCHAIN_GCC_CR/libmbed.a Show annotated file Show diff for this revision Revisions of this file
TARGET_ARCH_PRO/TOOLCHAIN_GCC_CR/retarget.o Show annotated file Show diff for this revision Revisions of this file
TARGET_ARCH_PRO/TOOLCHAIN_GCC_CS/libmbed.a Show annotated file Show diff for this revision Revisions of this file
TARGET_ARCH_PRO/TOOLCHAIN_GCC_CS/retarget.o Show annotated file Show diff for this revision Revisions of this file
TARGET_ARCH_PRO/TOOLCHAIN_IAR/board.o Show annotated file Show diff for this revision Revisions of this file
TARGET_ARCH_PRO/TOOLCHAIN_IAR/cmsis_nvic.o Show annotated file Show diff for this revision Revisions of this file
TARGET_ARCH_PRO/TOOLCHAIN_IAR/mbed.a Show annotated file Show diff for this revision Revisions of this file
TARGET_ARCH_PRO/TOOLCHAIN_IAR/retarget.o Show annotated file Show diff for this revision Revisions of this file
TARGET_ARCH_PRO/TOOLCHAIN_IAR/startup_LPC17xx.o Show annotated file Show diff for this revision Revisions of this file
TARGET_ARCH_PRO/TOOLCHAIN_IAR/system_LPC17xx.o Show annotated file Show diff for this revision Revisions of this file
TARGET_GHI_MBUINO/LPC11Uxx.h Show annotated file Show diff for this revision Revisions of this file
TARGET_GHI_MBUINO/TARGET_NXP/TARGET_LPC11UXX/PeripheralPins.h Show annotated file Show diff for this revision Revisions of this file
TARGET_GHI_MBUINO/TARGET_NXP/TARGET_LPC11UXX/PortNames.h Show annotated file Show diff for this revision Revisions of this file
TARGET_GHI_MBUINO/TARGET_NXP/TARGET_LPC11UXX/TARGET_GHI_MBUINO/PeripheralNames.h Show annotated file Show diff for this revision Revisions of this file
TARGET_GHI_MBUINO/TARGET_NXP/TARGET_LPC11UXX/TARGET_GHI_MBUINO/PinNames.h Show annotated file Show diff for this revision Revisions of this file
TARGET_GHI_MBUINO/TARGET_NXP/TARGET_LPC11UXX/TARGET_GHI_MBUINO/device.h Show annotated file Show diff for this revision Revisions of this file
TARGET_GHI_MBUINO/TARGET_NXP/TARGET_LPC11UXX/gpio_object.h Show annotated file Show diff for this revision Revisions of this file
TARGET_GHI_MBUINO/TARGET_NXP/TARGET_LPC11UXX/objects.h Show annotated file Show diff for this revision Revisions of this file
TARGET_GHI_MBUINO/TOOLCHAIN_ARM_MICRO/LPC11U24.sct Show annotated file Show diff for this revision Revisions of this file
TARGET_GHI_MBUINO/TOOLCHAIN_ARM_MICRO/board.o Show annotated file Show diff for this revision Revisions of this file
TARGET_GHI_MBUINO/TOOLCHAIN_ARM_MICRO/cmsis_nvic.o Show annotated file Show diff for this revision Revisions of this file
TARGET_GHI_MBUINO/TOOLCHAIN_ARM_MICRO/mbed.ar Show annotated file Show diff for this revision Revisions of this file
TARGET_GHI_MBUINO/TOOLCHAIN_ARM_MICRO/retarget.o Show annotated file Show diff for this revision Revisions of this file
TARGET_GHI_MBUINO/TOOLCHAIN_ARM_MICRO/startup_LPC11xx.o Show annotated file Show diff for this revision Revisions of this file
TARGET_GHI_MBUINO/TOOLCHAIN_ARM_MICRO/sys.o Show annotated file Show diff for this revision Revisions of this file
TARGET_GHI_MBUINO/TOOLCHAIN_ARM_MICRO/system_LPC11Uxx.o Show annotated file Show diff for this revision Revisions of this file
TARGET_GHI_MBUINO/TOOLCHAIN_ARM_STD/LPC11U24.sct Show annotated file Show diff for this revision Revisions of this file
TARGET_GHI_MBUINO/TOOLCHAIN_ARM_STD/board.o Show annotated file Show diff for this revision Revisions of this file
TARGET_GHI_MBUINO/TOOLCHAIN_ARM_STD/cmsis_nvic.o Show annotated file Show diff for this revision Revisions of this file
TARGET_GHI_MBUINO/TOOLCHAIN_ARM_STD/mbed.ar Show annotated file Show diff for this revision Revisions of this file
TARGET_GHI_MBUINO/TOOLCHAIN_ARM_STD/retarget.o Show annotated file Show diff for this revision Revisions of this file
TARGET_GHI_MBUINO/TOOLCHAIN_ARM_STD/startup_LPC11xx.o Show annotated file Show diff for this revision Revisions of this file
TARGET_GHI_MBUINO/TOOLCHAIN_ARM_STD/sys.o Show annotated file Show diff for this revision Revisions of this file
TARGET_GHI_MBUINO/TOOLCHAIN_ARM_STD/system_LPC11Uxx.o Show annotated file Show diff for this revision Revisions of this file
TARGET_GHI_MBUINO/TOOLCHAIN_GCC_ARM/LPC11U24.ld Show annotated file Show diff for this revision Revisions of this file
TARGET_GHI_MBUINO/TOOLCHAIN_GCC_ARM/board.o Show annotated file Show diff for this revision Revisions of this file
TARGET_GHI_MBUINO/TOOLCHAIN_GCC_ARM/cmsis_nvic.o Show annotated file Show diff for this revision Revisions of this file
TARGET_GHI_MBUINO/TOOLCHAIN_GCC_ARM/libmbed.a Show annotated file Show diff for this revision Revisions of this file
TARGET_GHI_MBUINO/TOOLCHAIN_GCC_ARM/retarget.o Show annotated file Show diff for this revision Revisions of this file
TARGET_GHI_MBUINO/TOOLCHAIN_GCC_ARM/startup_LPC11xx.o Show annotated file Show diff for this revision Revisions of this file
TARGET_GHI_MBUINO/TOOLCHAIN_GCC_ARM/system_LPC11Uxx.o Show annotated file Show diff for this revision Revisions of this file
TARGET_GHI_MBUINO/cmsis.h Show annotated file Show diff for this revision Revisions of this file
TARGET_GHI_MBUINO/cmsis_nvic.h Show annotated file Show diff for this revision Revisions of this file
TARGET_GHI_MBUINO/core_cm0.h Show annotated file Show diff for this revision Revisions of this file
TARGET_GHI_MBUINO/core_cm0plus.h Show annotated file Show diff for this revision Revisions of this file
TARGET_GHI_MBUINO/core_cm3.h Show annotated file Show diff for this revision Revisions of this file
TARGET_GHI_MBUINO/core_cm4.h Show annotated file Show diff for this revision Revisions of this file
TARGET_GHI_MBUINO/core_cm4_simd.h Show annotated file Show diff for this revision Revisions of this file
TARGET_GHI_MBUINO/core_cmFunc.h Show annotated file Show diff for this revision Revisions of this file
TARGET_GHI_MBUINO/core_cmInstr.h Show annotated file Show diff for this revision Revisions of this file
TARGET_GHI_MBUINO/power_api.h Show annotated file Show diff for this revision Revisions of this file
TARGET_GHI_MBUINO/system_LPC11Uxx.h Show annotated file Show diff for this revision Revisions of this file
TARGET_HRM1017/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/ble.h Show annotated file Show diff for this revision Revisions of this file
TARGET_HRM1017/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/ble_err.h Show annotated file Show diff for this revision Revisions of this file
TARGET_HRM1017/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/ble_gap.h Show annotated file Show diff for this revision Revisions of this file
TARGET_HRM1017/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/ble_gatt.h Show annotated file Show diff for this revision Revisions of this file
TARGET_HRM1017/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/ble_gattc.h Show annotated file Show diff for this revision Revisions of this file
TARGET_HRM1017/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/ble_gatts.h Show annotated file Show diff for this revision Revisions of this file
TARGET_HRM1017/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/ble_hci.h Show annotated file Show diff for this revision Revisions of this file
TARGET_HRM1017/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/ble_l2cap.h Show annotated file Show diff for this revision Revisions of this file
TARGET_HRM1017/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/ble_ranges.h Show annotated file Show diff for this revision Revisions of this file
TARGET_HRM1017/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/ble_types.h Show annotated file Show diff for this revision Revisions of this file
TARGET_HRM1017/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/nrf_error.h Show annotated file Show diff for this revision Revisions of this file
TARGET_HRM1017/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/nrf_error_sdm.h Show annotated file Show diff for this revision Revisions of this file
TARGET_HRM1017/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/nrf_error_soc.h Show annotated file Show diff for this revision Revisions of this file
TARGET_HRM1017/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/nrf_mbr.h Show annotated file Show diff for this revision Revisions of this file
TARGET_HRM1017/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/nrf_sdm.h Show annotated file Show diff for this revision Revisions of this file
TARGET_HRM1017/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/nrf_soc.h Show annotated file Show diff for this revision Revisions of this file
TARGET_HRM1017/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/nrf_svc.h Show annotated file Show diff for this revision Revisions of this file
TARGET_HRM1017/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/softdevice_assert.h Show annotated file Show diff for this revision Revisions of this file
TARGET_HRM1017/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_softdevice.hex Show annotated file Show diff for this revision Revisions of this file
TARGET_HRM1017/TARGET_NORDIC/TARGET_MCU_NRF51822/PeripheralNames.h Show annotated file Show diff for this revision Revisions of this file
TARGET_HRM1017/TARGET_NORDIC/TARGET_MCU_NRF51822/PortNames.h Show annotated file Show diff for this revision Revisions of this file
TARGET_HRM1017/TARGET_NORDIC/TARGET_MCU_NRF51822/TARGET_HRM1017/PinNames.h Show annotated file Show diff for this revision Revisions of this file
TARGET_HRM1017/TARGET_NORDIC/TARGET_MCU_NRF51822/TARGET_HRM1017/device.h Show annotated file Show diff for this revision Revisions of this file
TARGET_HRM1017/TARGET_NORDIC/TARGET_MCU_NRF51822/gpio_object.h Show annotated file Show diff for this revision Revisions of this file
TARGET_HRM1017/TARGET_NORDIC/TARGET_MCU_NRF51822/objects.h Show annotated file Show diff for this revision Revisions of this file
TARGET_HRM1017/TARGET_NORDIC/TARGET_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/ble.h Show diff for this revision Revisions of this file
TARGET_HRM1017/TARGET_NORDIC/TARGET_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/ble_err.h Show diff for this revision Revisions of this file
TARGET_HRM1017/TARGET_NORDIC/TARGET_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/ble_gap.h Show diff for this revision Revisions of this file
TARGET_HRM1017/TARGET_NORDIC/TARGET_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/ble_gatt.h Show diff for this revision Revisions of this file
TARGET_HRM1017/TARGET_NORDIC/TARGET_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/ble_gattc.h Show diff for this revision Revisions of this file
TARGET_HRM1017/TARGET_NORDIC/TARGET_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/ble_gatts.h Show diff for this revision Revisions of this file
TARGET_HRM1017/TARGET_NORDIC/TARGET_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/ble_hci.h Show diff for this revision Revisions of this file
TARGET_HRM1017/TARGET_NORDIC/TARGET_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/ble_l2cap.h Show diff for this revision Revisions of this file
TARGET_HRM1017/TARGET_NORDIC/TARGET_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/ble_ranges.h Show diff for this revision Revisions of this file
TARGET_HRM1017/TARGET_NORDIC/TARGET_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/ble_types.h Show diff for this revision Revisions of this file
TARGET_HRM1017/TARGET_NORDIC/TARGET_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/nrf_error.h Show diff for this revision Revisions of this file
TARGET_HRM1017/TARGET_NORDIC/TARGET_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/nrf_error_sdm.h Show diff for this revision Revisions of this file
TARGET_HRM1017/TARGET_NORDIC/TARGET_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/nrf_error_soc.h Show diff for this revision Revisions of this file
TARGET_HRM1017/TARGET_NORDIC/TARGET_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/nrf_mbr.h Show diff for this revision Revisions of this file
TARGET_HRM1017/TARGET_NORDIC/TARGET_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/nrf_sdm.h Show diff for this revision Revisions of this file
TARGET_HRM1017/TARGET_NORDIC/TARGET_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/nrf_soc.h Show diff for this revision Revisions of this file
TARGET_HRM1017/TARGET_NORDIC/TARGET_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/nrf_svc.h Show diff for this revision Revisions of this file
TARGET_HRM1017/TARGET_NORDIC/TARGET_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/softdevice_assert.h Show diff for this revision Revisions of this file
TARGET_HRM1017/TARGET_NORDIC/TARGET_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_softdevice.hex Show diff for this revision Revisions of this file
TARGET_HRM1017/TARGET_NORDIC/TARGET_NRF51822/PeripheralNames.h Show diff for this revision Revisions of this file
TARGET_HRM1017/TARGET_NORDIC/TARGET_NRF51822/PortNames.h Show diff for this revision Revisions of this file
TARGET_HRM1017/TARGET_NORDIC/TARGET_NRF51822/TARGET_HRM1017/PinNames.h Show diff for this revision Revisions of this file
TARGET_HRM1017/TARGET_NORDIC/TARGET_NRF51822/TARGET_HRM1017/device.h Show diff for this revision Revisions of this file
TARGET_HRM1017/TARGET_NORDIC/TARGET_NRF51822/gpio_object.h Show diff for this revision Revisions of this file
TARGET_HRM1017/TARGET_NORDIC/TARGET_NRF51822/objects.h Show diff for this revision Revisions of this file
TARGET_HRM1017/TOOLCHAIN_ARM_STD/board.o Show annotated file Show diff for this revision Revisions of this file
TARGET_HRM1017/TOOLCHAIN_ARM_STD/cmsis_nvic.o Show annotated file Show diff for this revision Revisions of this file
TARGET_HRM1017/TOOLCHAIN_ARM_STD/mbed.ar Show annotated file Show diff for this revision Revisions of this file
TARGET_HRM1017/TOOLCHAIN_ARM_STD/retarget.o Show annotated file Show diff for this revision Revisions of this file
TARGET_HRM1017/TOOLCHAIN_ARM_STD/startup_nRF51822.o Show annotated file Show diff for this revision Revisions of this file
TARGET_HRM1017/TOOLCHAIN_ARM_STD/sys.o Show annotated file Show diff for this revision Revisions of this file
TARGET_HRM1017/TOOLCHAIN_ARM_STD/system_nrf51822.o Show annotated file Show diff for this revision Revisions of this file
TARGET_HRM1017/TOOLCHAIN_GCC_ARM/NRF51822.ld Show annotated file Show diff for this revision Revisions of this file
TARGET_HRM1017/TOOLCHAIN_GCC_ARM/board.o Show annotated file Show diff for this revision Revisions of this file
TARGET_HRM1017/TOOLCHAIN_GCC_ARM/cmsis_nvic.o Show annotated file Show diff for this revision Revisions of this file
TARGET_HRM1017/TOOLCHAIN_GCC_ARM/libmbed.a Show annotated file Show diff for this revision Revisions of this file
TARGET_HRM1017/TOOLCHAIN_GCC_ARM/retarget.o Show annotated file Show diff for this revision Revisions of this file
TARGET_HRM1017/TOOLCHAIN_GCC_ARM/startup_NRF51822.o Show annotated file Show diff for this revision Revisions of this file
TARGET_HRM1017/TOOLCHAIN_GCC_ARM/system_nrf51822.o Show annotated file Show diff for this revision Revisions of this file
TARGET_K20D50M/TOOLCHAIN_ARM_STD/board.o Show annotated file Show diff for this revision Revisions of this file
TARGET_K20D50M/TOOLCHAIN_ARM_STD/cmsis_nvic.o Show annotated file Show diff for this revision Revisions of this file
TARGET_K20D50M/TOOLCHAIN_ARM_STD/mbed.ar Show annotated file Show diff for this revision Revisions of this file
TARGET_K20D50M/TOOLCHAIN_ARM_STD/retarget.o Show annotated file Show diff for this revision Revisions of this file
TARGET_K20D50M/TOOLCHAIN_ARM_STD/sys.o Show annotated file Show diff for this revision Revisions of this file
TARGET_K20D50M/TOOLCHAIN_ARM_STD/system_MK20D5.o Show annotated file Show diff for this revision Revisions of this file
TARGET_K20D50M/TOOLCHAIN_GCC_ARM/libmbed.a Show annotated file Show diff for this revision Revisions of this file
TARGET_K20D50M/TOOLCHAIN_GCC_ARM/retarget.o Show annotated file Show diff for this revision Revisions of this file
TARGET_K64F/TARGET_Freescale/TARGET_KPSDK_MCUS/PeripheralNames.h Show diff for this revision Revisions of this file
TARGET_K64F/TARGET_Freescale/TARGET_KPSDK_MCUS/PortNames.h Show diff for this revision Revisions of this file
TARGET_K64F/TARGET_Freescale/TARGET_KPSDK_MCUS/device.h Show diff for this revision Revisions of this file
TARGET_K64F/TARGET_Freescale/TARGET_KPSDK_MCUS/gpio_object.h Show diff for this revision Revisions of this file
TARGET_K64F/TARGET_Freescale/TARGET_KPSDK_MCUS/objects.h Show diff for this revision Revisions of this file
TARGET_K64F/TOOLCHAIN_ARM_STD/board.o Show annotated file Show diff for this revision Revisions of this file
TARGET_K64F/TOOLCHAIN_ARM_STD/cmsis_nvic.o Show annotated file Show diff for this revision Revisions of this file
TARGET_K64F/TOOLCHAIN_ARM_STD/mbed.ar Show annotated file Show diff for this revision Revisions of this file
TARGET_K64F/TOOLCHAIN_ARM_STD/mbed_overrides.o Show annotated file Show diff for this revision Revisions of this file
TARGET_K64F/TOOLCHAIN_ARM_STD/retarget.o Show annotated file Show diff for this revision Revisions of this file
TARGET_K64F/TOOLCHAIN_ARM_STD/sys.o Show annotated file Show diff for this revision Revisions of this file
TARGET_K64F/TOOLCHAIN_ARM_STD/system_MK64F12.o Show annotated file Show diff for this revision Revisions of this file
TARGET_K64F/TOOLCHAIN_GCC_ARM/board.o Show annotated file Show diff for this revision Revisions of this file
TARGET_K64F/TOOLCHAIN_GCC_ARM/libmbed.a Show annotated file Show diff for this revision Revisions of this file
TARGET_K64F/TOOLCHAIN_GCC_ARM/retarget.o Show annotated file Show diff for this revision Revisions of this file
TARGET_KL05Z/TOOLCHAIN_ARM_MICRO/board.o Show annotated file Show diff for this revision Revisions of this file
TARGET_KL05Z/TOOLCHAIN_ARM_MICRO/cmsis_nvic.o Show annotated file Show diff for this revision Revisions of this file
TARGET_KL05Z/TOOLCHAIN_ARM_MICRO/mbed.ar Show annotated file Show diff for this revision Revisions of this file
TARGET_KL05Z/TOOLCHAIN_ARM_MICRO/mbed_overrides.o Show annotated file Show diff for this revision Revisions of this file
TARGET_KL05Z/TOOLCHAIN_ARM_MICRO/retarget.o Show annotated file Show diff for this revision Revisions of this file
TARGET_KL05Z/TOOLCHAIN_ARM_MICRO/sys.o Show annotated file Show diff for this revision Revisions of this file
TARGET_KL05Z/TOOLCHAIN_ARM_MICRO/system_MKL05Z4.o Show annotated file Show diff for this revision Revisions of this file
TARGET_KL05Z/TOOLCHAIN_ARM_STD/board.o Show annotated file Show diff for this revision Revisions of this file
TARGET_KL05Z/TOOLCHAIN_ARM_STD/cmsis_nvic.o Show annotated file Show diff for this revision Revisions of this file
TARGET_KL05Z/TOOLCHAIN_ARM_STD/mbed.ar Show annotated file Show diff for this revision Revisions of this file
TARGET_KL05Z/TOOLCHAIN_ARM_STD/mbed_overrides.o Show annotated file Show diff for this revision Revisions of this file
TARGET_KL05Z/TOOLCHAIN_ARM_STD/retarget.o Show annotated file Show diff for this revision Revisions of this file
TARGET_KL05Z/TOOLCHAIN_ARM_STD/sys.o Show annotated file Show diff for this revision Revisions of this file
TARGET_KL05Z/TOOLCHAIN_ARM_STD/system_MKL05Z4.o Show annotated file Show diff for this revision Revisions of this file
TARGET_KL05Z/TOOLCHAIN_GCC_ARM/libmbed.a Show annotated file Show diff for this revision Revisions of this file
TARGET_KL05Z/TOOLCHAIN_GCC_ARM/retarget.o Show annotated file Show diff for this revision Revisions of this file
TARGET_KL25Z/TOOLCHAIN_ARM_STD/board.o Show annotated file Show diff for this revision Revisions of this file
TARGET_KL25Z/TOOLCHAIN_ARM_STD/cmsis_nvic.o Show annotated file Show diff for this revision Revisions of this file
TARGET_KL25Z/TOOLCHAIN_ARM_STD/mbed.ar Show annotated file Show diff for this revision Revisions of this file
TARGET_KL25Z/TOOLCHAIN_ARM_STD/mbed_overrides.o Show annotated file Show diff for this revision Revisions of this file
TARGET_KL25Z/TOOLCHAIN_ARM_STD/retarget.o Show annotated file Show diff for this revision Revisions of this file
TARGET_KL25Z/TOOLCHAIN_ARM_STD/sys.o Show annotated file Show diff for this revision Revisions of this file
TARGET_KL25Z/TOOLCHAIN_ARM_STD/system_MKL25Z4.o Show annotated file Show diff for this revision Revisions of this file
TARGET_KL25Z/TOOLCHAIN_GCC_ARM/libmbed.a Show annotated file Show diff for this revision Revisions of this file
TARGET_KL25Z/TOOLCHAIN_GCC_ARM/retarget.o Show annotated file Show diff for this revision Revisions of this file
TARGET_KL46Z/TOOLCHAIN_ARM_STD/board.o Show annotated file Show diff for this revision Revisions of this file
TARGET_KL46Z/TOOLCHAIN_ARM_STD/cmsis_nvic.o Show annotated file Show diff for this revision Revisions of this file
TARGET_KL46Z/TOOLCHAIN_ARM_STD/mbed.ar Show annotated file Show diff for this revision Revisions of this file
TARGET_KL46Z/TOOLCHAIN_ARM_STD/mbed_overrides.o Show annotated file Show diff for this revision Revisions of this file
TARGET_KL46Z/TOOLCHAIN_ARM_STD/retarget.o Show annotated file Show diff for this revision Revisions of this file
TARGET_KL46Z/TOOLCHAIN_ARM_STD/sys.o Show annotated file Show diff for this revision Revisions of this file
TARGET_KL46Z/TOOLCHAIN_ARM_STD/system_MKL46Z4.o Show annotated file Show diff for this revision Revisions of this file
TARGET_KL46Z/TOOLCHAIN_GCC_ARM/libmbed.a Show annotated file Show diff for this revision Revisions of this file
TARGET_KL46Z/TOOLCHAIN_GCC_ARM/retarget.o Show annotated file Show diff for this revision Revisions of this file
TARGET_LPC1114/TARGET_NXP/TARGET_LPC11XX_11CXX/TARGET_LPC11XX/device.h Show annotated file Show diff for this revision Revisions of this file
TARGET_LPC1114/TOOLCHAIN_ARM_MICRO/board.o Show annotated file Show diff for this revision Revisions of this file
TARGET_LPC1114/TOOLCHAIN_ARM_MICRO/cmsis_nvic.o Show annotated file Show diff for this revision Revisions of this file
TARGET_LPC1114/TOOLCHAIN_ARM_MICRO/mbed.ar Show annotated file Show diff for this revision Revisions of this file
TARGET_LPC1114/TOOLCHAIN_ARM_MICRO/retarget.o Show annotated file Show diff for this revision Revisions of this file
TARGET_LPC1114/TOOLCHAIN_ARM_MICRO/sys.o Show annotated file Show diff for this revision Revisions of this file
TARGET_LPC1114/TOOLCHAIN_ARM_MICRO/system_LPC11xx.o Show annotated file Show diff for this revision Revisions of this file
TARGET_LPC1114/TOOLCHAIN_GCC_ARM/libmbed.a Show annotated file Show diff for this revision Revisions of this file
TARGET_LPC1114/TOOLCHAIN_GCC_ARM/retarget.o Show annotated file Show diff for this revision Revisions of this file
TARGET_LPC11U24/TARGET_NXP/TARGET_LPC11UXX/PeripheralPins.h Show annotated file Show diff for this revision Revisions of this file
TARGET_LPC11U24/TOOLCHAIN_ARM_MICRO/board.o Show annotated file Show diff for this revision Revisions of this file
TARGET_LPC11U24/TOOLCHAIN_ARM_MICRO/cmsis_nvic.o Show annotated file Show diff for this revision Revisions of this file
TARGET_LPC11U24/TOOLCHAIN_ARM_MICRO/mbed.ar Show annotated file Show diff for this revision Revisions of this file
TARGET_LPC11U24/TOOLCHAIN_ARM_MICRO/retarget.o Show annotated file Show diff for this revision Revisions of this file
TARGET_LPC11U24/TOOLCHAIN_ARM_MICRO/sys.o Show annotated file Show diff for this revision Revisions of this file
TARGET_LPC11U24/TOOLCHAIN_ARM_MICRO/system_LPC11Uxx.o Show annotated file Show diff for this revision Revisions of this file
TARGET_LPC11U24/TOOLCHAIN_ARM_STD/board.o Show annotated file Show diff for this revision Revisions of this file
TARGET_LPC11U24/TOOLCHAIN_ARM_STD/cmsis_nvic.o Show annotated file Show diff for this revision Revisions of this file
TARGET_LPC11U24/TOOLCHAIN_ARM_STD/mbed.ar Show annotated file Show diff for this revision Revisions of this file
TARGET_LPC11U24/TOOLCHAIN_ARM_STD/retarget.o Show annotated file Show diff for this revision Revisions of this file
TARGET_LPC11U24/TOOLCHAIN_ARM_STD/sys.o Show annotated file Show diff for this revision Revisions of this file
TARGET_LPC11U24/TOOLCHAIN_ARM_STD/system_LPC11Uxx.o Show annotated file Show diff for this revision Revisions of this file
TARGET_LPC11U24/TOOLCHAIN_GCC_ARM/libmbed.a Show annotated file Show diff for this revision Revisions of this file
TARGET_LPC11U24/TOOLCHAIN_GCC_ARM/retarget.o Show annotated file Show diff for this revision Revisions of this file
TARGET_LPC11U35_401/TARGET_NXP/TARGET_LPC11UXX/PeripheralPins.h Show annotated file Show diff for this revision Revisions of this file
TARGET_LPC11U35_401/TOOLCHAIN_ARM_MICRO/board.o Show annotated file Show diff for this revision Revisions of this file
TARGET_LPC11U35_401/TOOLCHAIN_ARM_MICRO/cmsis_nvic.o Show annotated file Show diff for this revision Revisions of this file
TARGET_LPC11U35_401/TOOLCHAIN_ARM_MICRO/mbed.ar Show annotated file Show diff for this revision Revisions of this file
TARGET_LPC11U35_401/TOOLCHAIN_ARM_MICRO/retarget.o Show annotated file Show diff for this revision Revisions of this file
TARGET_LPC11U35_401/TOOLCHAIN_ARM_MICRO/sys.o Show annotated file Show diff for this revision Revisions of this file
TARGET_LPC11U35_401/TOOLCHAIN_ARM_MICRO/system_LPC11Uxx.o Show annotated file Show diff for this revision Revisions of this file
TARGET_LPC11U35_401/TOOLCHAIN_ARM_STD/board.o Show annotated file Show diff for this revision Revisions of this file
TARGET_LPC11U35_401/TOOLCHAIN_ARM_STD/cmsis_nvic.o Show annotated file Show diff for this revision Revisions of this file
TARGET_LPC11U35_401/TOOLCHAIN_ARM_STD/mbed.ar Show annotated file Show diff for this revision Revisions of this file
TARGET_LPC11U35_401/TOOLCHAIN_ARM_STD/retarget.o Show annotated file Show diff for this revision Revisions of this file
TARGET_LPC11U35_401/TOOLCHAIN_ARM_STD/sys.o Show annotated file Show diff for this revision Revisions of this file
TARGET_LPC11U35_401/TOOLCHAIN_ARM_STD/system_LPC11Uxx.o Show annotated file Show diff for this revision Revisions of this file
TARGET_LPC11U35_401/TOOLCHAIN_GCC_ARM/libmbed.a Show annotated file Show diff for this revision Revisions of this file
TARGET_LPC11U35_401/TOOLCHAIN_GCC_ARM/retarget.o Show annotated file Show diff for this revision Revisions of this file
TARGET_LPC11U35_401/TOOLCHAIN_GCC_CR/libmbed.a Show annotated file Show diff for this revision Revisions of this file
TARGET_LPC11U35_401/TOOLCHAIN_GCC_CR/retarget.o Show annotated file Show diff for this revision Revisions of this file
TARGET_LPC11U35_501/TARGET_NXP/TARGET_LPC11UXX/PeripheralPins.h Show annotated file Show diff for this revision Revisions of this file
TARGET_LPC11U35_501/TARGET_NXP/TARGET_LPC11UXX/TARGET_LPC11U35_501/PeripheralNames.h Show diff for this revision Revisions of this file
TARGET_LPC11U35_501/TARGET_NXP/TARGET_LPC11UXX/TARGET_LPC11U35_501/PinNames.h Show diff for this revision Revisions of this file
TARGET_LPC11U35_501/TARGET_NXP/TARGET_LPC11UXX/TARGET_LPC11U35_501/device.h Show diff for this revision Revisions of this file
TARGET_LPC11U35_501/TARGET_NXP/TARGET_LPC11UXX/TARGET_MCU_LPC11U35_501/PeripheralNames.h Show annotated file Show diff for this revision Revisions of this file
TARGET_LPC11U35_501/TARGET_NXP/TARGET_LPC11UXX/TARGET_MCU_LPC11U35_501/TARGET_LPC11U35_501/PinNames.h Show annotated file Show diff for this revision Revisions of this file
TARGET_LPC11U35_501/TARGET_NXP/TARGET_LPC11UXX/TARGET_MCU_LPC11U35_501/TARGET_LPC11U35_501/device.h Show annotated file Show diff for this revision Revisions of this file
TARGET_LPC11U35_501/TOOLCHAIN_ARM_MICRO/board.o Show annotated file Show diff for this revision Revisions of this file
TARGET_LPC11U35_501/TOOLCHAIN_ARM_MICRO/cmsis_nvic.o Show annotated file Show diff for this revision Revisions of this file
TARGET_LPC11U35_501/TOOLCHAIN_ARM_MICRO/mbed.ar Show annotated file Show diff for this revision Revisions of this file
TARGET_LPC11U35_501/TOOLCHAIN_ARM_MICRO/retarget.o Show annotated file Show diff for this revision Revisions of this file
TARGET_LPC11U35_501/TOOLCHAIN_ARM_MICRO/startup_LPC11xx.o Show annotated file Show diff for this revision Revisions of this file
TARGET_LPC11U35_501/TOOLCHAIN_ARM_MICRO/sys.o Show annotated file Show diff for this revision Revisions of this file
TARGET_LPC11U35_501/TOOLCHAIN_ARM_MICRO/system_LPC11Uxx.o Show annotated file Show diff for this revision Revisions of this file
TARGET_LPC11U35_501/TOOLCHAIN_ARM_STD/board.o Show annotated file Show diff for this revision Revisions of this file
TARGET_LPC11U35_501/TOOLCHAIN_ARM_STD/cmsis_nvic.o Show annotated file Show diff for this revision Revisions of this file
TARGET_LPC11U35_501/TOOLCHAIN_ARM_STD/mbed.ar Show annotated file Show diff for this revision Revisions of this file
TARGET_LPC11U35_501/TOOLCHAIN_ARM_STD/retarget.o Show annotated file Show diff for this revision Revisions of this file
TARGET_LPC11U35_501/TOOLCHAIN_ARM_STD/sys.o Show annotated file Show diff for this revision Revisions of this file
TARGET_LPC11U35_501/TOOLCHAIN_ARM_STD/system_LPC11Uxx.o Show annotated file Show diff for this revision Revisions of this file
TARGET_LPC11U35_501/TOOLCHAIN_GCC_ARM/libmbed.a Show annotated file Show diff for this revision Revisions of this file
TARGET_LPC11U35_501/TOOLCHAIN_GCC_ARM/retarget.o Show annotated file Show diff for this revision Revisions of this file
TARGET_LPC11U35_501/TOOLCHAIN_GCC_CR/libmbed.a Show annotated file Show diff for this revision Revisions of this file
TARGET_LPC11U35_501/TOOLCHAIN_GCC_CR/retarget.o Show annotated file Show diff for this revision Revisions of this file
TARGET_LPC11U68/TOOLCHAIN_ARM_MICRO/board.o Show annotated file Show diff for this revision Revisions of this file
TARGET_LPC11U68/TOOLCHAIN_ARM_MICRO/cmsis_nvic.o Show annotated file Show diff for this revision Revisions of this file
TARGET_LPC11U68/TOOLCHAIN_ARM_MICRO/mbed.ar Show annotated file Show diff for this revision Revisions of this file
TARGET_LPC11U68/TOOLCHAIN_ARM_MICRO/retarget.o Show annotated file Show diff for this revision Revisions of this file
TARGET_LPC11U68/TOOLCHAIN_ARM_MICRO/sys.o Show annotated file Show diff for this revision Revisions of this file
TARGET_LPC11U68/TOOLCHAIN_ARM_MICRO/system_LPC11U6x.o Show annotated file Show diff for this revision Revisions of this file
TARGET_LPC11U68/TOOLCHAIN_GCC_ARM/libmbed.a Show annotated file Show diff for this revision Revisions of this file
TARGET_LPC11U68/TOOLCHAIN_GCC_ARM/retarget.o Show annotated file Show diff for this revision Revisions of this file
TARGET_LPC11U68/TOOLCHAIN_GCC_CR/libmbed.a Show annotated file Show diff for this revision Revisions of this file
TARGET_LPC11U68/TOOLCHAIN_GCC_CR/retarget.o Show annotated file Show diff for this revision Revisions of this file
TARGET_LPC1347/TOOLCHAIN_ARM_STD/board.o Show annotated file Show diff for this revision Revisions of this file
TARGET_LPC1347/TOOLCHAIN_ARM_STD/cmsis_nvic.o Show annotated file Show diff for this revision Revisions of this file
TARGET_LPC1347/TOOLCHAIN_ARM_STD/mbed.ar Show annotated file Show diff for this revision Revisions of this file
TARGET_LPC1347/TOOLCHAIN_ARM_STD/retarget.o Show annotated file Show diff for this revision Revisions of this file
TARGET_LPC1347/TOOLCHAIN_ARM_STD/sys.o Show annotated file Show diff for this revision Revisions of this file
TARGET_LPC1347/TOOLCHAIN_ARM_STD/system_LPC13Uxx.o Show annotated file Show diff for this revision Revisions of this file
TARGET_LPC1549/TOOLCHAIN_ARM_MICRO/board.o Show annotated file Show diff for this revision Revisions of this file
TARGET_LPC1549/TOOLCHAIN_ARM_MICRO/cmsis_nvic.o Show annotated file Show diff for this revision Revisions of this file
TARGET_LPC1549/TOOLCHAIN_ARM_MICRO/mbed.ar Show annotated file Show diff for this revision Revisions of this file
TARGET_LPC1549/TOOLCHAIN_ARM_MICRO/retarget.o Show annotated file Show diff for this revision Revisions of this file
TARGET_LPC1549/TOOLCHAIN_ARM_MICRO/sys.o Show annotated file Show diff for this revision Revisions of this file
TARGET_LPC1549/TOOLCHAIN_ARM_MICRO/system_LPC15xx.o Show annotated file Show diff for this revision Revisions of this file
TARGET_LPC1549/TOOLCHAIN_GCC_ARM/LPC1549.ld Show annotated file Show diff for this revision Revisions of this file
TARGET_LPC1549/TOOLCHAIN_GCC_ARM/board.o Show annotated file Show diff for this revision Revisions of this file
TARGET_LPC1549/TOOLCHAIN_GCC_ARM/cmsis_nvic.o Show annotated file Show diff for this revision Revisions of this file
TARGET_LPC1549/TOOLCHAIN_GCC_ARM/libmbed.a Show annotated file Show diff for this revision Revisions of this file
TARGET_LPC1549/TOOLCHAIN_GCC_ARM/retarget.o Show annotated file Show diff for this revision Revisions of this file
TARGET_LPC1549/TOOLCHAIN_GCC_ARM/startup_LPC15xx.o Show annotated file Show diff for this revision Revisions of this file
TARGET_LPC1549/TOOLCHAIN_GCC_ARM/system_LPC15xx.o Show annotated file Show diff for this revision Revisions of this file
TARGET_LPC1549/TOOLCHAIN_GCC_CR/libmbed.a Show annotated file Show diff for this revision Revisions of this file
TARGET_LPC1549/TOOLCHAIN_GCC_CR/retarget.o Show annotated file Show diff for this revision Revisions of this file
TARGET_LPC1768/TOOLCHAIN_ARM_STD/board.o Show annotated file Show diff for this revision Revisions of this file
TARGET_LPC1768/TOOLCHAIN_ARM_STD/cmsis_nvic.o Show annotated file Show diff for this revision Revisions of this file
TARGET_LPC1768/TOOLCHAIN_ARM_STD/mbed.ar Show annotated file Show diff for this revision Revisions of this file
TARGET_LPC1768/TOOLCHAIN_ARM_STD/retarget.o Show annotated file Show diff for this revision Revisions of this file
TARGET_LPC1768/TOOLCHAIN_ARM_STD/sys.o Show annotated file Show diff for this revision Revisions of this file
TARGET_LPC1768/TOOLCHAIN_ARM_STD/system_LPC17xx.o Show annotated file Show diff for this revision Revisions of this file
TARGET_LPC1768/TOOLCHAIN_GCC_ARM/libmbed.a Show annotated file Show diff for this revision Revisions of this file
TARGET_LPC1768/TOOLCHAIN_GCC_ARM/retarget.o Show annotated file Show diff for this revision Revisions of this file
TARGET_LPC1768/TOOLCHAIN_GCC_CR/libmbed.a Show annotated file Show diff for this revision Revisions of this file
TARGET_LPC1768/TOOLCHAIN_GCC_CR/retarget.o Show annotated file Show diff for this revision Revisions of this file
TARGET_LPC1768/TOOLCHAIN_GCC_CS/libmbed.a Show annotated file Show diff for this revision Revisions of this file
TARGET_LPC1768/TOOLCHAIN_GCC_CS/retarget.o Show annotated file Show diff for this revision Revisions of this file
TARGET_LPC1768/TOOLCHAIN_IAR/board.o Show annotated file Show diff for this revision Revisions of this file
TARGET_LPC1768/TOOLCHAIN_IAR/cmsis_nvic.o Show annotated file Show diff for this revision Revisions of this file
TARGET_LPC1768/TOOLCHAIN_IAR/mbed.a Show annotated file Show diff for this revision Revisions of this file
TARGET_LPC1768/TOOLCHAIN_IAR/retarget.o Show annotated file Show diff for this revision Revisions of this file
TARGET_LPC1768/TOOLCHAIN_IAR/startup_LPC17xx.o Show annotated file Show diff for this revision Revisions of this file
TARGET_LPC1768/TOOLCHAIN_IAR/system_LPC17xx.o Show annotated file Show diff for this revision Revisions of this file
TARGET_LPC2368/TOOLCHAIN_ARM_STD/board.o Show annotated file Show diff for this revision Revisions of this file
TARGET_LPC2368/TOOLCHAIN_ARM_STD/cmsis_nvic.o Show annotated file Show diff for this revision Revisions of this file
TARGET_LPC2368/TOOLCHAIN_ARM_STD/core_arm7.o Show annotated file Show diff for this revision Revisions of this file
TARGET_LPC2368/TOOLCHAIN_ARM_STD/mbed.ar Show annotated file Show diff for this revision Revisions of this file
TARGET_LPC2368/TOOLCHAIN_ARM_STD/retarget.o Show annotated file Show diff for this revision Revisions of this file
TARGET_LPC2368/TOOLCHAIN_ARM_STD/sys.o Show annotated file Show diff for this revision Revisions of this file
TARGET_LPC2368/TOOLCHAIN_ARM_STD/system_LPC23xx.o Show annotated file Show diff for this revision Revisions of this file
TARGET_LPC2368/TOOLCHAIN_ARM_STD/vector_realmonitor.o Show annotated file Show diff for this revision Revisions of this file
TARGET_LPC4088/TOOLCHAIN_ARM_STD/board.o Show annotated file Show diff for this revision Revisions of this file
TARGET_LPC4088/TOOLCHAIN_ARM_STD/cmsis_nvic.o Show annotated file Show diff for this revision Revisions of this file
TARGET_LPC4088/TOOLCHAIN_ARM_STD/mbed.ar Show annotated file Show diff for this revision Revisions of this file
TARGET_LPC4088/TOOLCHAIN_ARM_STD/retarget.o Show annotated file Show diff for this revision Revisions of this file
TARGET_LPC4088/TOOLCHAIN_ARM_STD/sys.o Show annotated file Show diff for this revision Revisions of this file
TARGET_LPC4088/TOOLCHAIN_ARM_STD/sys_helper.o Show annotated file Show diff for this revision Revisions of this file
TARGET_LPC4088/TOOLCHAIN_ARM_STD/system_LPC407x_8x_177x_8x.o Show annotated file Show diff for this revision Revisions of this file
TARGET_LPC4088/TOOLCHAIN_GCC_ARM/libmbed.a Show annotated file Show diff for this revision Revisions of this file
TARGET_LPC4088/TOOLCHAIN_GCC_ARM/retarget.o Show annotated file Show diff for this revision Revisions of this file
TARGET_LPC4088/TOOLCHAIN_GCC_CR/libmbed.a Show annotated file Show diff for this revision Revisions of this file
TARGET_LPC4088/TOOLCHAIN_GCC_CR/retarget.o Show annotated file Show diff for this revision Revisions of this file
TARGET_LPC812/TOOLCHAIN_ARM_MICRO/board.o Show annotated file Show diff for this revision Revisions of this file
TARGET_LPC812/TOOLCHAIN_ARM_MICRO/cmsis_nvic.o Show annotated file Show diff for this revision Revisions of this file
TARGET_LPC812/TOOLCHAIN_ARM_MICRO/mbed.ar Show annotated file Show diff for this revision Revisions of this file
TARGET_LPC812/TOOLCHAIN_ARM_MICRO/retarget.o Show annotated file Show diff for this revision Revisions of this file
TARGET_LPC812/TOOLCHAIN_ARM_MICRO/sys.o Show annotated file Show diff for this revision Revisions of this file
TARGET_LPC812/TOOLCHAIN_ARM_MICRO/system_LPC8xx.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NRF51822/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/ble.h Show annotated file Show diff for this revision Revisions of this file
TARGET_NRF51822/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/ble_err.h Show annotated file Show diff for this revision Revisions of this file
TARGET_NRF51822/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/ble_gap.h Show annotated file Show diff for this revision Revisions of this file
TARGET_NRF51822/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/ble_gatt.h Show annotated file Show diff for this revision Revisions of this file
TARGET_NRF51822/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/ble_gattc.h Show annotated file Show diff for this revision Revisions of this file
TARGET_NRF51822/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/ble_gatts.h Show annotated file Show diff for this revision Revisions of this file
TARGET_NRF51822/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/ble_hci.h Show annotated file Show diff for this revision Revisions of this file
TARGET_NRF51822/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/ble_l2cap.h Show annotated file Show diff for this revision Revisions of this file
TARGET_NRF51822/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/ble_ranges.h Show annotated file Show diff for this revision Revisions of this file
TARGET_NRF51822/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/ble_types.h Show annotated file Show diff for this revision Revisions of this file
TARGET_NRF51822/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/nrf_error.h Show annotated file Show diff for this revision Revisions of this file
TARGET_NRF51822/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/nrf_error_sdm.h Show annotated file Show diff for this revision Revisions of this file
TARGET_NRF51822/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/nrf_error_soc.h Show annotated file Show diff for this revision Revisions of this file
TARGET_NRF51822/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/nrf_mbr.h Show annotated file Show diff for this revision Revisions of this file
TARGET_NRF51822/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/nrf_sdm.h Show annotated file Show diff for this revision Revisions of this file
TARGET_NRF51822/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/nrf_soc.h Show annotated file Show diff for this revision Revisions of this file
TARGET_NRF51822/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/nrf_svc.h Show annotated file Show diff for this revision Revisions of this file
TARGET_NRF51822/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/softdevice_assert.h Show annotated file Show diff for this revision Revisions of this file
TARGET_NRF51822/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_softdevice.hex Show annotated file Show diff for this revision Revisions of this file
TARGET_NRF51822/TARGET_NORDIC/TARGET_MCU_NRF51822/PeripheralNames.h Show annotated file Show diff for this revision Revisions of this file
TARGET_NRF51822/TARGET_NORDIC/TARGET_MCU_NRF51822/PortNames.h Show annotated file Show diff for this revision Revisions of this file
TARGET_NRF51822/TARGET_NORDIC/TARGET_MCU_NRF51822/TARGET_NRF51822_MKIT/PinNames.h Show annotated file Show diff for this revision Revisions of this file
TARGET_NRF51822/TARGET_NORDIC/TARGET_MCU_NRF51822/TARGET_NRF51822_MKIT/device.h Show annotated file Show diff for this revision Revisions of this file
TARGET_NRF51822/TARGET_NORDIC/TARGET_MCU_NRF51822/gpio_object.h Show annotated file Show diff for this revision Revisions of this file
TARGET_NRF51822/TARGET_NORDIC/TARGET_MCU_NRF51822/objects.h Show annotated file Show diff for this revision Revisions of this file
TARGET_NRF51822/TARGET_NORDIC/TARGET_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/ble.h Show diff for this revision Revisions of this file
TARGET_NRF51822/TARGET_NORDIC/TARGET_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/ble_err.h Show diff for this revision Revisions of this file
TARGET_NRF51822/TARGET_NORDIC/TARGET_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/ble_gap.h Show diff for this revision Revisions of this file
TARGET_NRF51822/TARGET_NORDIC/TARGET_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/ble_gatt.h Show diff for this revision Revisions of this file
TARGET_NRF51822/TARGET_NORDIC/TARGET_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/ble_gattc.h Show diff for this revision Revisions of this file
TARGET_NRF51822/TARGET_NORDIC/TARGET_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/ble_gatts.h Show diff for this revision Revisions of this file
TARGET_NRF51822/TARGET_NORDIC/TARGET_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/ble_hci.h Show diff for this revision Revisions of this file
TARGET_NRF51822/TARGET_NORDIC/TARGET_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/ble_l2cap.h Show diff for this revision Revisions of this file
TARGET_NRF51822/TARGET_NORDIC/TARGET_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/ble_ranges.h Show diff for this revision Revisions of this file
TARGET_NRF51822/TARGET_NORDIC/TARGET_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/ble_types.h Show diff for this revision Revisions of this file
TARGET_NRF51822/TARGET_NORDIC/TARGET_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/nrf_error.h Show diff for this revision Revisions of this file
TARGET_NRF51822/TARGET_NORDIC/TARGET_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/nrf_error_sdm.h Show diff for this revision Revisions of this file
TARGET_NRF51822/TARGET_NORDIC/TARGET_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/nrf_error_soc.h Show diff for this revision Revisions of this file
TARGET_NRF51822/TARGET_NORDIC/TARGET_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/nrf_mbr.h Show diff for this revision Revisions of this file
TARGET_NRF51822/TARGET_NORDIC/TARGET_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/nrf_sdm.h Show diff for this revision Revisions of this file
TARGET_NRF51822/TARGET_NORDIC/TARGET_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/nrf_soc.h Show diff for this revision Revisions of this file
TARGET_NRF51822/TARGET_NORDIC/TARGET_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/nrf_svc.h Show diff for this revision Revisions of this file
TARGET_NRF51822/TARGET_NORDIC/TARGET_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/softdevice_assert.h Show diff for this revision Revisions of this file
TARGET_NRF51822/TARGET_NORDIC/TARGET_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_softdevice.hex Show diff for this revision Revisions of this file
TARGET_NRF51822/TARGET_NORDIC/TARGET_NRF51822/PeripheralNames.h Show diff for this revision Revisions of this file
TARGET_NRF51822/TARGET_NORDIC/TARGET_NRF51822/PortNames.h Show diff for this revision Revisions of this file
TARGET_NRF51822/TARGET_NORDIC/TARGET_NRF51822/TARGET_NRF51822_MKIT/PinNames.h Show diff for this revision Revisions of this file
TARGET_NRF51822/TARGET_NORDIC/TARGET_NRF51822/TARGET_NRF51822_MKIT/device.h Show diff for this revision Revisions of this file
TARGET_NRF51822/TARGET_NORDIC/TARGET_NRF51822/gpio_object.h Show diff for this revision Revisions of this file
TARGET_NRF51822/TARGET_NORDIC/TARGET_NRF51822/objects.h Show diff for this revision Revisions of this file
TARGET_NRF51822/TOOLCHAIN_ARM_STD/board.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NRF51822/TOOLCHAIN_ARM_STD/cmsis_nvic.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NRF51822/TOOLCHAIN_ARM_STD/mbed.ar Show annotated file Show diff for this revision Revisions of this file
TARGET_NRF51822/TOOLCHAIN_ARM_STD/retarget.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NRF51822/TOOLCHAIN_ARM_STD/startup_nRF51822.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NRF51822/TOOLCHAIN_ARM_STD/sys.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NRF51822/TOOLCHAIN_ARM_STD/system_nrf51822.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NRF51822/TOOLCHAIN_GCC_ARM/NRF51822.ld Show annotated file Show diff for this revision Revisions of this file
TARGET_NRF51822/TOOLCHAIN_GCC_ARM/board.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NRF51822/TOOLCHAIN_GCC_ARM/cmsis_nvic.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NRF51822/TOOLCHAIN_GCC_ARM/libmbed.a Show annotated file Show diff for this revision Revisions of this file
TARGET_NRF51822/TOOLCHAIN_GCC_ARM/retarget.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NRF51822/TOOLCHAIN_GCC_ARM/startup_NRF51822.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NRF51822/TOOLCHAIN_GCC_ARM/system_nrf51822.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F030R8/TOOLCHAIN_ARM_MICRO/board.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F030R8/TOOLCHAIN_ARM_MICRO/cmsis_nvic.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F030R8/TOOLCHAIN_ARM_MICRO/mbed.ar Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F030R8/TOOLCHAIN_ARM_MICRO/mbed_overrides.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F030R8/TOOLCHAIN_ARM_MICRO/retarget.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F030R8/TOOLCHAIN_ARM_MICRO/stm32f0xx_adc.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F030R8/TOOLCHAIN_ARM_MICRO/stm32f0xx_can.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F030R8/TOOLCHAIN_ARM_MICRO/stm32f0xx_cec.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F030R8/TOOLCHAIN_ARM_MICRO/stm32f0xx_comp.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F030R8/TOOLCHAIN_ARM_MICRO/stm32f0xx_crc.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F030R8/TOOLCHAIN_ARM_MICRO/stm32f0xx_crs.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F030R8/TOOLCHAIN_ARM_MICRO/stm32f0xx_dac.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F030R8/TOOLCHAIN_ARM_MICRO/stm32f0xx_dbgmcu.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F030R8/TOOLCHAIN_ARM_MICRO/stm32f0xx_dma.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F030R8/TOOLCHAIN_ARM_MICRO/stm32f0xx_exti.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F030R8/TOOLCHAIN_ARM_MICRO/stm32f0xx_flash.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F030R8/TOOLCHAIN_ARM_MICRO/stm32f0xx_gpio.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F030R8/TOOLCHAIN_ARM_MICRO/stm32f0xx_i2c.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F030R8/TOOLCHAIN_ARM_MICRO/stm32f0xx_iwdg.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F030R8/TOOLCHAIN_ARM_MICRO/stm32f0xx_misc.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F030R8/TOOLCHAIN_ARM_MICRO/stm32f0xx_pwr.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F030R8/TOOLCHAIN_ARM_MICRO/stm32f0xx_rcc.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F030R8/TOOLCHAIN_ARM_MICRO/stm32f0xx_rtc.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F030R8/TOOLCHAIN_ARM_MICRO/stm32f0xx_spi.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F030R8/TOOLCHAIN_ARM_MICRO/stm32f0xx_syscfg.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F030R8/TOOLCHAIN_ARM_MICRO/stm32f0xx_tim.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F030R8/TOOLCHAIN_ARM_MICRO/stm32f0xx_usart.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F030R8/TOOLCHAIN_ARM_MICRO/stm32f0xx_wwdg.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F030R8/TOOLCHAIN_ARM_MICRO/sys.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F030R8/TOOLCHAIN_ARM_MICRO/system_stm32f0xx.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F030R8/TOOLCHAIN_ARM_STD/board.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F030R8/TOOLCHAIN_ARM_STD/cmsis_nvic.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F030R8/TOOLCHAIN_ARM_STD/mbed.ar Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F030R8/TOOLCHAIN_ARM_STD/mbed_overrides.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F030R8/TOOLCHAIN_ARM_STD/retarget.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F030R8/TOOLCHAIN_ARM_STD/stm32f0xx_adc.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F030R8/TOOLCHAIN_ARM_STD/stm32f0xx_can.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F030R8/TOOLCHAIN_ARM_STD/stm32f0xx_cec.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F030R8/TOOLCHAIN_ARM_STD/stm32f0xx_comp.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F030R8/TOOLCHAIN_ARM_STD/stm32f0xx_crc.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F030R8/TOOLCHAIN_ARM_STD/stm32f0xx_crs.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F030R8/TOOLCHAIN_ARM_STD/stm32f0xx_dac.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F030R8/TOOLCHAIN_ARM_STD/stm32f0xx_dbgmcu.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F030R8/TOOLCHAIN_ARM_STD/stm32f0xx_dma.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F030R8/TOOLCHAIN_ARM_STD/stm32f0xx_exti.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F030R8/TOOLCHAIN_ARM_STD/stm32f0xx_flash.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F030R8/TOOLCHAIN_ARM_STD/stm32f0xx_gpio.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F030R8/TOOLCHAIN_ARM_STD/stm32f0xx_i2c.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F030R8/TOOLCHAIN_ARM_STD/stm32f0xx_iwdg.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F030R8/TOOLCHAIN_ARM_STD/stm32f0xx_misc.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F030R8/TOOLCHAIN_ARM_STD/stm32f0xx_pwr.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F030R8/TOOLCHAIN_ARM_STD/stm32f0xx_rcc.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F030R8/TOOLCHAIN_ARM_STD/stm32f0xx_rtc.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F030R8/TOOLCHAIN_ARM_STD/stm32f0xx_spi.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F030R8/TOOLCHAIN_ARM_STD/stm32f0xx_syscfg.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F030R8/TOOLCHAIN_ARM_STD/stm32f0xx_tim.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F030R8/TOOLCHAIN_ARM_STD/stm32f0xx_usart.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F030R8/TOOLCHAIN_ARM_STD/stm32f0xx_wwdg.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F030R8/TOOLCHAIN_ARM_STD/sys.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F030R8/TOOLCHAIN_ARM_STD/system_stm32f0xx.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_MICRO/board.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_MICRO/cmsis_nvic.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_MICRO/mbed.ar Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_MICRO/mbed_overrides.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_MICRO/retarget.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_MICRO/stm32f0xx_hal.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_MICRO/stm32f0xx_hal_adc.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_MICRO/stm32f0xx_hal_adc_ex.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_MICRO/stm32f0xx_hal_can.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_MICRO/stm32f0xx_hal_cec.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_MICRO/stm32f0xx_hal_comp.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_MICRO/stm32f0xx_hal_cortex.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_MICRO/stm32f0xx_hal_crc.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_MICRO/stm32f0xx_hal_crc_ex.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_MICRO/stm32f0xx_hal_dac.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_MICRO/stm32f0xx_hal_dac_ex.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_MICRO/stm32f0xx_hal_dma.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_MICRO/stm32f0xx_hal_flash.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_MICRO/stm32f0xx_hal_flash_ex.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_MICRO/stm32f0xx_hal_gpio.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_MICRO/stm32f0xx_hal_i2c.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_MICRO/stm32f0xx_hal_i2c_ex.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_MICRO/stm32f0xx_hal_i2s.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_MICRO/stm32f0xx_hal_irda.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_MICRO/stm32f0xx_hal_iwdg.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_MICRO/stm32f0xx_hal_pcd.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_MICRO/stm32f0xx_hal_pcd_ex.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_MICRO/stm32f0xx_hal_pwr.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_MICRO/stm32f0xx_hal_pwr_ex.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_MICRO/stm32f0xx_hal_rcc.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_MICRO/stm32f0xx_hal_rcc_ex.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_MICRO/stm32f0xx_hal_rtc.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_MICRO/stm32f0xx_hal_rtc_ex.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_MICRO/stm32f0xx_hal_smartcard.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_MICRO/stm32f0xx_hal_smartcard_ex.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_MICRO/stm32f0xx_hal_smbus.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_MICRO/stm32f0xx_hal_spi.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_MICRO/stm32f0xx_hal_tim.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_MICRO/stm32f0xx_hal_tim_ex.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_MICRO/stm32f0xx_hal_tsc.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_MICRO/stm32f0xx_hal_uart.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_MICRO/stm32f0xx_hal_uart_ex.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_MICRO/stm32f0xx_hal_usart.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_MICRO/stm32f0xx_hal_wwdg.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_MICRO/sys.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_MICRO/system_stm32f0xx.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_STD/board.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_STD/cmsis_nvic.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_STD/mbed.ar Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_STD/mbed_overrides.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_STD/retarget.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_STD/stm32f0xx_hal.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_STD/stm32f0xx_hal_adc.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_STD/stm32f0xx_hal_adc_ex.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_STD/stm32f0xx_hal_can.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_STD/stm32f0xx_hal_cec.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_STD/stm32f0xx_hal_comp.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_STD/stm32f0xx_hal_cortex.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_STD/stm32f0xx_hal_crc.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_STD/stm32f0xx_hal_crc_ex.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_STD/stm32f0xx_hal_dac.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_STD/stm32f0xx_hal_dac_ex.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_STD/stm32f0xx_hal_dma.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_STD/stm32f0xx_hal_flash.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_STD/stm32f0xx_hal_flash_ex.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_STD/stm32f0xx_hal_gpio.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_STD/stm32f0xx_hal_i2c.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_STD/stm32f0xx_hal_i2c_ex.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_STD/stm32f0xx_hal_i2s.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_STD/stm32f0xx_hal_irda.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_STD/stm32f0xx_hal_iwdg.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_STD/stm32f0xx_hal_pcd.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_STD/stm32f0xx_hal_pcd_ex.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_STD/stm32f0xx_hal_pwr.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_STD/stm32f0xx_hal_pwr_ex.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_STD/stm32f0xx_hal_rcc.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_STD/stm32f0xx_hal_rcc_ex.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_STD/stm32f0xx_hal_rtc.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_STD/stm32f0xx_hal_rtc_ex.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_STD/stm32f0xx_hal_smartcard.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_STD/stm32f0xx_hal_smartcard_ex.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_STD/stm32f0xx_hal_smbus.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_STD/stm32f0xx_hal_spi.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_STD/stm32f0xx_hal_tim.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_STD/stm32f0xx_hal_tim_ex.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_STD/stm32f0xx_hal_tsc.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_STD/stm32f0xx_hal_uart.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_STD/stm32f0xx_hal_uart_ex.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_STD/stm32f0xx_hal_usart.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_STD/stm32f0xx_hal_wwdg.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_STD/sys.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_STD/system_stm32f0xx.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F103RB/TOOLCHAIN_ARM_MICRO/board.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F103RB/TOOLCHAIN_ARM_MICRO/cmsis_nvic.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F103RB/TOOLCHAIN_ARM_MICRO/mbed.ar Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F103RB/TOOLCHAIN_ARM_MICRO/mbed_overrides.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F103RB/TOOLCHAIN_ARM_MICRO/misc.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F103RB/TOOLCHAIN_ARM_MICRO/retarget.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F103RB/TOOLCHAIN_ARM_MICRO/stm32f10x_adc.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F103RB/TOOLCHAIN_ARM_MICRO/stm32f10x_bkp.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F103RB/TOOLCHAIN_ARM_MICRO/stm32f10x_can.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F103RB/TOOLCHAIN_ARM_MICRO/stm32f10x_cec.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F103RB/TOOLCHAIN_ARM_MICRO/stm32f10x_crc.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F103RB/TOOLCHAIN_ARM_MICRO/stm32f10x_dac.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F103RB/TOOLCHAIN_ARM_MICRO/stm32f10x_dbgmcu.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F103RB/TOOLCHAIN_ARM_MICRO/stm32f10x_dma.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F103RB/TOOLCHAIN_ARM_MICRO/stm32f10x_exti.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F103RB/TOOLCHAIN_ARM_MICRO/stm32f10x_flash.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F103RB/TOOLCHAIN_ARM_MICRO/stm32f10x_fsmc.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F103RB/TOOLCHAIN_ARM_MICRO/stm32f10x_gpio.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F103RB/TOOLCHAIN_ARM_MICRO/stm32f10x_i2c.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F103RB/TOOLCHAIN_ARM_MICRO/stm32f10x_iwdg.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F103RB/TOOLCHAIN_ARM_MICRO/stm32f10x_pwr.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F103RB/TOOLCHAIN_ARM_MICRO/stm32f10x_rcc.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F103RB/TOOLCHAIN_ARM_MICRO/stm32f10x_rtc.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F103RB/TOOLCHAIN_ARM_MICRO/stm32f10x_sdio.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F103RB/TOOLCHAIN_ARM_MICRO/stm32f10x_spi.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F103RB/TOOLCHAIN_ARM_MICRO/stm32f10x_tim.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F103RB/TOOLCHAIN_ARM_MICRO/stm32f10x_usart.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F103RB/TOOLCHAIN_ARM_MICRO/stm32f10x_wwdg.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F103RB/TOOLCHAIN_ARM_MICRO/sys.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F103RB/TOOLCHAIN_ARM_MICRO/system_stm32f10x.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F103RB/TOOLCHAIN_ARM_STD/board.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F103RB/TOOLCHAIN_ARM_STD/cmsis_nvic.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F103RB/TOOLCHAIN_ARM_STD/mbed.ar Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F103RB/TOOLCHAIN_ARM_STD/mbed_overrides.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F103RB/TOOLCHAIN_ARM_STD/misc.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F103RB/TOOLCHAIN_ARM_STD/retarget.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F103RB/TOOLCHAIN_ARM_STD/stm32f10x_adc.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F103RB/TOOLCHAIN_ARM_STD/stm32f10x_bkp.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F103RB/TOOLCHAIN_ARM_STD/stm32f10x_can.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F103RB/TOOLCHAIN_ARM_STD/stm32f10x_cec.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F103RB/TOOLCHAIN_ARM_STD/stm32f10x_crc.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F103RB/TOOLCHAIN_ARM_STD/stm32f10x_dac.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F103RB/TOOLCHAIN_ARM_STD/stm32f10x_dbgmcu.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F103RB/TOOLCHAIN_ARM_STD/stm32f10x_dma.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F103RB/TOOLCHAIN_ARM_STD/stm32f10x_exti.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F103RB/TOOLCHAIN_ARM_STD/stm32f10x_flash.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F103RB/TOOLCHAIN_ARM_STD/stm32f10x_fsmc.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F103RB/TOOLCHAIN_ARM_STD/stm32f10x_gpio.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F103RB/TOOLCHAIN_ARM_STD/stm32f10x_i2c.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F103RB/TOOLCHAIN_ARM_STD/stm32f10x_iwdg.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F103RB/TOOLCHAIN_ARM_STD/stm32f10x_pwr.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F103RB/TOOLCHAIN_ARM_STD/stm32f10x_rcc.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F103RB/TOOLCHAIN_ARM_STD/stm32f10x_rtc.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F103RB/TOOLCHAIN_ARM_STD/stm32f10x_sdio.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F103RB/TOOLCHAIN_ARM_STD/stm32f10x_spi.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F103RB/TOOLCHAIN_ARM_STD/stm32f10x_tim.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F103RB/TOOLCHAIN_ARM_STD/stm32f10x_usart.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F103RB/TOOLCHAIN_ARM_STD/stm32f10x_wwdg.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F103RB/TOOLCHAIN_ARM_STD/sys.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F103RB/TOOLCHAIN_ARM_STD/system_stm32f10x.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F302R8/TOOLCHAIN_ARM_MICRO/board.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F302R8/TOOLCHAIN_ARM_MICRO/cmsis_nvic.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F302R8/TOOLCHAIN_ARM_MICRO/mbed.ar Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F302R8/TOOLCHAIN_ARM_MICRO/mbed_overrides.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F302R8/TOOLCHAIN_ARM_MICRO/retarget.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F302R8/TOOLCHAIN_ARM_MICRO/stm32f30x_adc.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F302R8/TOOLCHAIN_ARM_MICRO/stm32f30x_can.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F302R8/TOOLCHAIN_ARM_MICRO/stm32f30x_comp.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F302R8/TOOLCHAIN_ARM_MICRO/stm32f30x_crc.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F302R8/TOOLCHAIN_ARM_MICRO/stm32f30x_dac.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F302R8/TOOLCHAIN_ARM_MICRO/stm32f30x_dbgmcu.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F302R8/TOOLCHAIN_ARM_MICRO/stm32f30x_dma.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F302R8/TOOLCHAIN_ARM_MICRO/stm32f30x_exti.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F302R8/TOOLCHAIN_ARM_MICRO/stm32f30x_flash.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F302R8/TOOLCHAIN_ARM_MICRO/stm32f30x_gpio.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F302R8/TOOLCHAIN_ARM_MICRO/stm32f30x_hrtim.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F302R8/TOOLCHAIN_ARM_MICRO/stm32f30x_i2c.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F302R8/TOOLCHAIN_ARM_MICRO/stm32f30x_iwdg.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F302R8/TOOLCHAIN_ARM_MICRO/stm32f30x_misc.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F302R8/TOOLCHAIN_ARM_MICRO/stm32f30x_opamp.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F302R8/TOOLCHAIN_ARM_MICRO/stm32f30x_pwr.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F302R8/TOOLCHAIN_ARM_MICRO/stm32f30x_rcc.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F302R8/TOOLCHAIN_ARM_MICRO/stm32f30x_rtc.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F302R8/TOOLCHAIN_ARM_MICRO/stm32f30x_spi.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F302R8/TOOLCHAIN_ARM_MICRO/stm32f30x_syscfg.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F302R8/TOOLCHAIN_ARM_MICRO/stm32f30x_tim.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F302R8/TOOLCHAIN_ARM_MICRO/stm32f30x_usart.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F302R8/TOOLCHAIN_ARM_MICRO/stm32f30x_wwdg.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F302R8/TOOLCHAIN_ARM_MICRO/sys.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F302R8/TOOLCHAIN_ARM_MICRO/system_stm32f30x.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F302R8/TOOLCHAIN_ARM_STD/board.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F302R8/TOOLCHAIN_ARM_STD/cmsis_nvic.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F302R8/TOOLCHAIN_ARM_STD/mbed.ar Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F302R8/TOOLCHAIN_ARM_STD/mbed_overrides.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F302R8/TOOLCHAIN_ARM_STD/retarget.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F302R8/TOOLCHAIN_ARM_STD/stm32f30x_adc.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F302R8/TOOLCHAIN_ARM_STD/stm32f30x_can.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F302R8/TOOLCHAIN_ARM_STD/stm32f30x_comp.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F302R8/TOOLCHAIN_ARM_STD/stm32f30x_crc.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F302R8/TOOLCHAIN_ARM_STD/stm32f30x_dac.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F302R8/TOOLCHAIN_ARM_STD/stm32f30x_dbgmcu.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F302R8/TOOLCHAIN_ARM_STD/stm32f30x_dma.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F302R8/TOOLCHAIN_ARM_STD/stm32f30x_exti.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F302R8/TOOLCHAIN_ARM_STD/stm32f30x_flash.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F302R8/TOOLCHAIN_ARM_STD/stm32f30x_gpio.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F302R8/TOOLCHAIN_ARM_STD/stm32f30x_hrtim.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F302R8/TOOLCHAIN_ARM_STD/stm32f30x_i2c.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F302R8/TOOLCHAIN_ARM_STD/stm32f30x_iwdg.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F302R8/TOOLCHAIN_ARM_STD/stm32f30x_misc.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F302R8/TOOLCHAIN_ARM_STD/stm32f30x_opamp.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F302R8/TOOLCHAIN_ARM_STD/stm32f30x_pwr.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F302R8/TOOLCHAIN_ARM_STD/stm32f30x_rcc.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F302R8/TOOLCHAIN_ARM_STD/stm32f30x_rtc.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F302R8/TOOLCHAIN_ARM_STD/stm32f30x_spi.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F302R8/TOOLCHAIN_ARM_STD/stm32f30x_syscfg.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F302R8/TOOLCHAIN_ARM_STD/stm32f30x_tim.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F302R8/TOOLCHAIN_ARM_STD/stm32f30x_usart.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F302R8/TOOLCHAIN_ARM_STD/stm32f30x_wwdg.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F302R8/TOOLCHAIN_ARM_STD/sys.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F302R8/TOOLCHAIN_ARM_STD/system_stm32f30x.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_MICRO/board.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_MICRO/cmsis_nvic.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_MICRO/mbed.ar Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_MICRO/mbed_overrides.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_MICRO/retarget.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_MICRO/stm32f3xx_hal.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_MICRO/stm32f3xx_hal_adc.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_MICRO/stm32f3xx_hal_adc_ex.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_MICRO/stm32f3xx_hal_can.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_MICRO/stm32f3xx_hal_cec.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_MICRO/stm32f3xx_hal_comp.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_MICRO/stm32f3xx_hal_cortex.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_MICRO/stm32f3xx_hal_crc.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_MICRO/stm32f3xx_hal_crc_ex.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_MICRO/stm32f3xx_hal_dac.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_MICRO/stm32f3xx_hal_dac_ex.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_MICRO/stm32f3xx_hal_dma.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_MICRO/stm32f3xx_hal_flash.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_MICRO/stm32f3xx_hal_flash_ex.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_MICRO/stm32f3xx_hal_gpio.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_MICRO/stm32f3xx_hal_hrtim.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_MICRO/stm32f3xx_hal_i2c.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_MICRO/stm32f3xx_hal_i2c_ex.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_MICRO/stm32f3xx_hal_i2s.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_MICRO/stm32f3xx_hal_i2s_ex.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_MICRO/stm32f3xx_hal_irda.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_MICRO/stm32f3xx_hal_iwdg.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_MICRO/stm32f3xx_hal_opamp.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_MICRO/stm32f3xx_hal_opamp_ex.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_MICRO/stm32f3xx_hal_pcd.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_MICRO/stm32f3xx_hal_pcd_ex.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_MICRO/stm32f3xx_hal_pwr.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_MICRO/stm32f3xx_hal_pwr_ex.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_MICRO/stm32f3xx_hal_rcc.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_MICRO/stm32f3xx_hal_rcc_ex.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_MICRO/stm32f3xx_hal_rtc.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_MICRO/stm32f3xx_hal_rtc_ex.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_MICRO/stm32f3xx_hal_sdadc.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_MICRO/stm32f3xx_hal_smartcard.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_MICRO/stm32f3xx_hal_smartcard_ex.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_MICRO/stm32f3xx_hal_smbus.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_MICRO/stm32f3xx_hal_spi.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_MICRO/stm32f3xx_hal_tim.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_MICRO/stm32f3xx_hal_tim_ex.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_MICRO/stm32f3xx_hal_tsc.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_MICRO/stm32f3xx_hal_uart.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_MICRO/stm32f3xx_hal_uart_ex.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_MICRO/stm32f3xx_hal_usart.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_MICRO/stm32f3xx_hal_wwdg.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_MICRO/sys.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_MICRO/system_stm32f3xx.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_STD/board.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_STD/cmsis_nvic.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_STD/mbed.ar Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_STD/mbed_overrides.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_STD/retarget.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_STD/stm32f3xx_hal.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_STD/stm32f3xx_hal_adc.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_STD/stm32f3xx_hal_adc_ex.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_STD/stm32f3xx_hal_can.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_STD/stm32f3xx_hal_cec.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_STD/stm32f3xx_hal_comp.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_STD/stm32f3xx_hal_cortex.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_STD/stm32f3xx_hal_crc.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_STD/stm32f3xx_hal_crc_ex.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_STD/stm32f3xx_hal_dac.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_STD/stm32f3xx_hal_dac_ex.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_STD/stm32f3xx_hal_dma.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_STD/stm32f3xx_hal_flash.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_STD/stm32f3xx_hal_flash_ex.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_STD/stm32f3xx_hal_gpio.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_STD/stm32f3xx_hal_hrtim.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_STD/stm32f3xx_hal_i2c.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_STD/stm32f3xx_hal_i2c_ex.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_STD/stm32f3xx_hal_i2s.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_STD/stm32f3xx_hal_i2s_ex.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_STD/stm32f3xx_hal_irda.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_STD/stm32f3xx_hal_iwdg.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_STD/stm32f3xx_hal_opamp.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_STD/stm32f3xx_hal_opamp_ex.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_STD/stm32f3xx_hal_pcd.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_STD/stm32f3xx_hal_pcd_ex.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_STD/stm32f3xx_hal_pwr.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_STD/stm32f3xx_hal_pwr_ex.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_STD/stm32f3xx_hal_rcc.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_STD/stm32f3xx_hal_rcc_ex.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_STD/stm32f3xx_hal_rtc.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_STD/stm32f3xx_hal_rtc_ex.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_STD/stm32f3xx_hal_sdadc.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_STD/stm32f3xx_hal_smartcard.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_STD/stm32f3xx_hal_smartcard_ex.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_STD/stm32f3xx_hal_smbus.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_STD/stm32f3xx_hal_spi.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_STD/stm32f3xx_hal_tim.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_STD/stm32f3xx_hal_tim_ex.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_STD/stm32f3xx_hal_tsc.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_STD/stm32f3xx_hal_uart.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_STD/stm32f3xx_hal_uart_ex.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_STD/stm32f3xx_hal_usart.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_STD/stm32f3xx_hal_wwdg.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_STD/sys.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_STD/system_stm32f3xx.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_MICRO/board.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_MICRO/cmsis_nvic.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_MICRO/hal_tick.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_MICRO/mbed.ar Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_MICRO/mbed_overrides.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_MICRO/retarget.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_adc.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_adc_ex.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_can.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_cortex.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_crc.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_cryp.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_cryp_ex.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_dac.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_dac_ex.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_dcmi.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_dma.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_dma2d.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_dma_ex.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_eth.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_flash.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_flash_ex.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_gpio.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_hash.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_hash_ex.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_hcd.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_i2c.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_i2c_ex.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_i2s.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_i2s_ex.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_irda.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_iwdg.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_ltdc.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_nand.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_nor.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_pccard.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_pcd.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_pwr.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_pwr_ex.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_rcc.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_rcc_ex.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_rng.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_rtc.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_rtc_ex.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_sai.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_sd.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_sdram.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_smartcard.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_spi.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_sram.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_tim.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_tim_ex.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_uart.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_usart.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_wwdg.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_ll_fmc.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_ll_fsmc.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_ll_sdmmc.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_ll_usb.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_MICRO/sys.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_MICRO/system_stm32f4xx.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_STD/board.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_STD/cmsis_nvic.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_STD/hal_tick.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_STD/mbed.ar Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_STD/mbed_overrides.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_STD/retarget.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_adc.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_adc_ex.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_can.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_cortex.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_crc.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_cryp.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_cryp_ex.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_dac.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_dac_ex.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_dcmi.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_dma.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_dma2d.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_dma_ex.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_eth.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_flash.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_flash_ex.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_gpio.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_hash.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_hash_ex.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_hcd.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_i2c.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_i2c_ex.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_i2s.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_i2s_ex.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_irda.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_iwdg.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_ltdc.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_nand.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_nor.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_pccard.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_pcd.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_pwr.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_pwr_ex.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_rcc.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_rcc_ex.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_rng.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_rtc.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_rtc_ex.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_sai.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_sd.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_sdram.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_smartcard.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_spi.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_sram.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_tim.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_tim_ex.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_uart.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_usart.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_wwdg.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_STD/stm32f4xx_ll_fmc.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_STD/stm32f4xx_ll_fsmc.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_STD/stm32f4xx_ll_sdmmc.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_STD/stm32f4xx_ll_usb.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_STD/sys.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_STD/system_stm32f4xx.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_MICRO/board.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_MICRO/cmsis_nvic.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_MICRO/hal_tick.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_MICRO/mbed.ar Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_MICRO/mbed_overrides.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_MICRO/retarget.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_adc.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_adc_ex.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_can.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_cortex.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_crc.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_cryp.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_cryp_ex.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_dac.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_dac_ex.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_dcmi.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_dma.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_dma2d.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_dma_ex.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_eth.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_flash.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_flash_ex.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_flash_ramfunc.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_gpio.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_hash.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_hash_ex.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_hcd.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_i2c.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_i2c_ex.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_i2s.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_i2s_ex.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_irda.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_iwdg.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_ltdc.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_nand.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_nor.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_pccard.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_pcd.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_pcd_ex.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_pwr.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_pwr_ex.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_rcc.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_rcc_ex.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_rng.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_rtc.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_rtc_ex.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_sai.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_sd.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_sdram.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_smartcard.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_spi.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_sram.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_tim.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_tim_ex.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_uart.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_usart.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_wwdg.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_ll_fmc.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_ll_fsmc.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_ll_sdmmc.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_ll_usb.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_MICRO/sys.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_MICRO/system_stm32f4xx.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_STD/board.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_STD/cmsis_nvic.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_STD/hal_tick.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_STD/mbed.ar Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_STD/mbed_overrides.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_STD/retarget.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_adc.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_adc_ex.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_can.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_cortex.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_crc.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_cryp.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_cryp_ex.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_dac.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_dac_ex.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_dcmi.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_dma.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_dma2d.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_dma_ex.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_eth.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_flash.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_flash_ex.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_flash_ramfunc.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_gpio.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_hash.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_hash_ex.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_hcd.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_i2c.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_i2c_ex.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_i2s.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_i2s_ex.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_irda.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_iwdg.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_ltdc.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_nand.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_nor.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_pccard.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_pcd.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_pcd_ex.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_pwr.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_pwr_ex.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_rcc.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_rcc_ex.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_rng.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_rtc.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_rtc_ex.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_sai.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_sd.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_sdram.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_smartcard.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_spi.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_sram.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_tim.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_tim_ex.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_uart.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_usart.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_wwdg.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_STD/stm32f4xx_ll_fmc.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_STD/stm32f4xx_ll_fsmc.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_STD/stm32f4xx_ll_sdmmc.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_STD/stm32f4xx_ll_usb.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_STD/sys.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_STD/system_stm32f4xx.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_F411RE/stm32f411xe.h Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_MICRO/board.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_MICRO/cmsis_nvic.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_MICRO/mbed.ar Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_MICRO/mbed_overrides.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_MICRO/retarget.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_MICRO/stm32l0xx_hal.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_MICRO/stm32l0xx_hal_adc.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_MICRO/stm32l0xx_hal_adc_ex.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_MICRO/stm32l0xx_hal_comp.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_MICRO/stm32l0xx_hal_cortex.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_MICRO/stm32l0xx_hal_crc.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_MICRO/stm32l0xx_hal_crc_ex.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_MICRO/stm32l0xx_hal_cryp.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_MICRO/stm32l0xx_hal_dac.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_MICRO/stm32l0xx_hal_dac_ex.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_MICRO/stm32l0xx_hal_dma.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_MICRO/stm32l0xx_hal_flash.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_MICRO/stm32l0xx_hal_flash_ex.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_MICRO/stm32l0xx_hal_flash_ramfunc.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_MICRO/stm32l0xx_hal_gpio.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_MICRO/stm32l0xx_hal_i2c.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_MICRO/stm32l0xx_hal_i2c_ex.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_MICRO/stm32l0xx_hal_i2s.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_MICRO/stm32l0xx_hal_irda.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_MICRO/stm32l0xx_hal_iwdg.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_MICRO/stm32l0xx_hal_lcd.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_MICRO/stm32l0xx_hal_lptim.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_MICRO/stm32l0xx_hal_pcd.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_MICRO/stm32l0xx_hal_pcd_ex.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_MICRO/stm32l0xx_hal_pwr.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_MICRO/stm32l0xx_hal_pwr_ex.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_MICRO/stm32l0xx_hal_rcc.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_MICRO/stm32l0xx_hal_rcc_ex.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_MICRO/stm32l0xx_hal_rng.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_MICRO/stm32l0xx_hal_rtc.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_MICRO/stm32l0xx_hal_rtc_ex.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_MICRO/stm32l0xx_hal_smartcard.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_MICRO/stm32l0xx_hal_smartcard_ex.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_MICRO/stm32l0xx_hal_smbus.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_MICRO/stm32l0xx_hal_spi.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_MICRO/stm32l0xx_hal_tim.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_MICRO/stm32l0xx_hal_tim_ex.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_MICRO/stm32l0xx_hal_tsc.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_MICRO/stm32l0xx_hal_uart.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_MICRO/stm32l0xx_hal_uart_ex.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_MICRO/stm32l0xx_hal_usart.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_MICRO/stm32l0xx_hal_wwdg.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_MICRO/sys.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_MICRO/system_stm32l0xx.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_STD/board.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_STD/cmsis_nvic.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_STD/mbed.ar Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_STD/mbed_overrides.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_STD/retarget.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_STD/stm32l0xx_hal.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_STD/stm32l0xx_hal_adc.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_STD/stm32l0xx_hal_adc_ex.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_STD/stm32l0xx_hal_comp.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_STD/stm32l0xx_hal_cortex.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_STD/stm32l0xx_hal_crc.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_STD/stm32l0xx_hal_crc_ex.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_STD/stm32l0xx_hal_cryp.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_STD/stm32l0xx_hal_dac.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_STD/stm32l0xx_hal_dac_ex.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_STD/stm32l0xx_hal_dma.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_STD/stm32l0xx_hal_flash.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_STD/stm32l0xx_hal_flash_ex.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_STD/stm32l0xx_hal_flash_ramfunc.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_STD/stm32l0xx_hal_gpio.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_STD/stm32l0xx_hal_i2c.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_STD/stm32l0xx_hal_i2c_ex.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_STD/stm32l0xx_hal_i2s.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_STD/stm32l0xx_hal_irda.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_STD/stm32l0xx_hal_iwdg.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_STD/stm32l0xx_hal_lcd.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_STD/stm32l0xx_hal_lptim.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_STD/stm32l0xx_hal_pcd.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_STD/stm32l0xx_hal_pcd_ex.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_STD/stm32l0xx_hal_pwr.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_STD/stm32l0xx_hal_pwr_ex.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_STD/stm32l0xx_hal_rcc.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_STD/stm32l0xx_hal_rcc_ex.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_STD/stm32l0xx_hal_rng.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_STD/stm32l0xx_hal_rtc.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_STD/stm32l0xx_hal_rtc_ex.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_STD/stm32l0xx_hal_smartcard.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_STD/stm32l0xx_hal_smartcard_ex.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_STD/stm32l0xx_hal_smbus.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_STD/stm32l0xx_hal_spi.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_STD/stm32l0xx_hal_tim.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_STD/stm32l0xx_hal_tim_ex.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_STD/stm32l0xx_hal_tsc.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_STD/stm32l0xx_hal_uart.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_STD/stm32l0xx_hal_uart_ex.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_STD/stm32l0xx_hal_usart.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_STD/stm32l0xx_hal_wwdg.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_STD/sys.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_STD/system_stm32l0xx.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_L152RE/TOOLCHAIN_ARM_MICRO/board.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_L152RE/TOOLCHAIN_ARM_MICRO/cmsis_nvic.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_L152RE/TOOLCHAIN_ARM_MICRO/mbed.ar Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_L152RE/TOOLCHAIN_ARM_MICRO/mbed_overrides.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_L152RE/TOOLCHAIN_ARM_MICRO/misc.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_L152RE/TOOLCHAIN_ARM_MICRO/retarget.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_L152RE/TOOLCHAIN_ARM_MICRO/stm32l1xx_adc.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_L152RE/TOOLCHAIN_ARM_MICRO/stm32l1xx_aes.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_L152RE/TOOLCHAIN_ARM_MICRO/stm32l1xx_aes_util.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_L152RE/TOOLCHAIN_ARM_MICRO/stm32l1xx_comp.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_L152RE/TOOLCHAIN_ARM_MICRO/stm32l1xx_crc.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_L152RE/TOOLCHAIN_ARM_MICRO/stm32l1xx_dac.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_L152RE/TOOLCHAIN_ARM_MICRO/stm32l1xx_dbgmcu.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_L152RE/TOOLCHAIN_ARM_MICRO/stm32l1xx_dma.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_L152RE/TOOLCHAIN_ARM_MICRO/stm32l1xx_exti.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_L152RE/TOOLCHAIN_ARM_MICRO/stm32l1xx_flash.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_L152RE/TOOLCHAIN_ARM_MICRO/stm32l1xx_flash_ramfunc.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_L152RE/TOOLCHAIN_ARM_MICRO/stm32l1xx_fsmc.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_L152RE/TOOLCHAIN_ARM_MICRO/stm32l1xx_gpio.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_L152RE/TOOLCHAIN_ARM_MICRO/stm32l1xx_i2c.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_L152RE/TOOLCHAIN_ARM_MICRO/stm32l1xx_iwdg.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_L152RE/TOOLCHAIN_ARM_MICRO/stm32l1xx_lcd.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_L152RE/TOOLCHAIN_ARM_MICRO/stm32l1xx_opamp.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_L152RE/TOOLCHAIN_ARM_MICRO/stm32l1xx_pwr.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_L152RE/TOOLCHAIN_ARM_MICRO/stm32l1xx_rcc.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_L152RE/TOOLCHAIN_ARM_MICRO/stm32l1xx_rtc.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_L152RE/TOOLCHAIN_ARM_MICRO/stm32l1xx_sdio.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_L152RE/TOOLCHAIN_ARM_MICRO/stm32l1xx_spi.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_L152RE/TOOLCHAIN_ARM_MICRO/stm32l1xx_syscfg.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_L152RE/TOOLCHAIN_ARM_MICRO/stm32l1xx_tim.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_L152RE/TOOLCHAIN_ARM_MICRO/stm32l1xx_usart.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_L152RE/TOOLCHAIN_ARM_MICRO/stm32l1xx_wwdg.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_L152RE/TOOLCHAIN_ARM_MICRO/sys.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_L152RE/TOOLCHAIN_ARM_MICRO/system_stm32l1xx.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_L152RE/TOOLCHAIN_ARM_STD/board.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_L152RE/TOOLCHAIN_ARM_STD/cmsis_nvic.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_L152RE/TOOLCHAIN_ARM_STD/mbed.ar Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_L152RE/TOOLCHAIN_ARM_STD/mbed_overrides.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_L152RE/TOOLCHAIN_ARM_STD/misc.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_L152RE/TOOLCHAIN_ARM_STD/retarget.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_L152RE/TOOLCHAIN_ARM_STD/stm32l1xx_adc.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_L152RE/TOOLCHAIN_ARM_STD/stm32l1xx_aes.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_L152RE/TOOLCHAIN_ARM_STD/stm32l1xx_aes_util.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_L152RE/TOOLCHAIN_ARM_STD/stm32l1xx_comp.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_L152RE/TOOLCHAIN_ARM_STD/stm32l1xx_crc.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_L152RE/TOOLCHAIN_ARM_STD/stm32l1xx_dac.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_L152RE/TOOLCHAIN_ARM_STD/stm32l1xx_dbgmcu.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_L152RE/TOOLCHAIN_ARM_STD/stm32l1xx_dma.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_L152RE/TOOLCHAIN_ARM_STD/stm32l1xx_exti.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_L152RE/TOOLCHAIN_ARM_STD/stm32l1xx_flash.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_L152RE/TOOLCHAIN_ARM_STD/stm32l1xx_flash_ramfunc.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_L152RE/TOOLCHAIN_ARM_STD/stm32l1xx_fsmc.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_L152RE/TOOLCHAIN_ARM_STD/stm32l1xx_gpio.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_L152RE/TOOLCHAIN_ARM_STD/stm32l1xx_i2c.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_L152RE/TOOLCHAIN_ARM_STD/stm32l1xx_iwdg.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_L152RE/TOOLCHAIN_ARM_STD/stm32l1xx_lcd.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_L152RE/TOOLCHAIN_ARM_STD/stm32l1xx_opamp.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_L152RE/TOOLCHAIN_ARM_STD/stm32l1xx_pwr.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_L152RE/TOOLCHAIN_ARM_STD/stm32l1xx_rcc.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_L152RE/TOOLCHAIN_ARM_STD/stm32l1xx_rtc.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_L152RE/TOOLCHAIN_ARM_STD/stm32l1xx_sdio.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_L152RE/TOOLCHAIN_ARM_STD/stm32l1xx_spi.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_L152RE/TOOLCHAIN_ARM_STD/stm32l1xx_syscfg.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_L152RE/TOOLCHAIN_ARM_STD/stm32l1xx_tim.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_L152RE/TOOLCHAIN_ARM_STD/stm32l1xx_usart.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_L152RE/TOOLCHAIN_ARM_STD/stm32l1xx_wwdg.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_L152RE/TOOLCHAIN_ARM_STD/sys.o Show annotated file Show diff for this revision Revisions of this file
TARGET_NUCLEO_L152RE/TOOLCHAIN_ARM_STD/system_stm32l1xx.o Show annotated file Show diff for this revision Revisions of this file
TARGET_RBLAB_NRF51822/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/ble.h Show annotated file Show diff for this revision Revisions of this file
TARGET_RBLAB_NRF51822/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/ble_err.h Show annotated file Show diff for this revision Revisions of this file
TARGET_RBLAB_NRF51822/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/ble_gap.h Show annotated file Show diff for this revision Revisions of this file
TARGET_RBLAB_NRF51822/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/ble_gatt.h Show annotated file Show diff for this revision Revisions of this file
TARGET_RBLAB_NRF51822/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/ble_gattc.h Show annotated file Show diff for this revision Revisions of this file
TARGET_RBLAB_NRF51822/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/ble_gatts.h Show annotated file Show diff for this revision Revisions of this file
TARGET_RBLAB_NRF51822/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/ble_hci.h Show annotated file Show diff for this revision Revisions of this file
TARGET_RBLAB_NRF51822/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/ble_l2cap.h Show annotated file Show diff for this revision Revisions of this file
TARGET_RBLAB_NRF51822/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/ble_ranges.h Show annotated file Show diff for this revision Revisions of this file
TARGET_RBLAB_NRF51822/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/ble_types.h Show annotated file Show diff for this revision Revisions of this file
TARGET_RBLAB_NRF51822/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/nrf_error.h Show annotated file Show diff for this revision Revisions of this file
TARGET_RBLAB_NRF51822/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/nrf_error_sdm.h Show annotated file Show diff for this revision Revisions of this file
TARGET_RBLAB_NRF51822/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/nrf_error_soc.h Show annotated file Show diff for this revision Revisions of this file
TARGET_RBLAB_NRF51822/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/nrf_mbr.h Show annotated file Show diff for this revision Revisions of this file
TARGET_RBLAB_NRF51822/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/nrf_sdm.h Show annotated file Show diff for this revision Revisions of this file
TARGET_RBLAB_NRF51822/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/nrf_soc.h Show annotated file Show diff for this revision Revisions of this file
TARGET_RBLAB_NRF51822/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/nrf_svc.h Show annotated file Show diff for this revision Revisions of this file
TARGET_RBLAB_NRF51822/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/softdevice_assert.h Show annotated file Show diff for this revision Revisions of this file
TARGET_RBLAB_NRF51822/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_softdevice.hex Show annotated file Show diff for this revision Revisions of this file
TARGET_RBLAB_NRF51822/TARGET_NORDIC/TARGET_MCU_NRF51822/PeripheralNames.h Show annotated file Show diff for this revision Revisions of this file
TARGET_RBLAB_NRF51822/TARGET_NORDIC/TARGET_MCU_NRF51822/PortNames.h Show annotated file Show diff for this revision Revisions of this file
TARGET_RBLAB_NRF51822/TARGET_NORDIC/TARGET_MCU_NRF51822/TARGET_RBLAB_NRF51822/PinNames.h Show annotated file Show diff for this revision Revisions of this file
TARGET_RBLAB_NRF51822/TARGET_NORDIC/TARGET_MCU_NRF51822/TARGET_RBLAB_NRF51822/device.h Show annotated file Show diff for this revision Revisions of this file
TARGET_RBLAB_NRF51822/TARGET_NORDIC/TARGET_MCU_NRF51822/gpio_object.h Show annotated file Show diff for this revision Revisions of this file
TARGET_RBLAB_NRF51822/TARGET_NORDIC/TARGET_MCU_NRF51822/objects.h Show annotated file Show diff for this revision Revisions of this file
TARGET_RBLAB_NRF51822/TARGET_NORDIC/TARGET_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/ble.h Show diff for this revision Revisions of this file
TARGET_RBLAB_NRF51822/TARGET_NORDIC/TARGET_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/ble_err.h Show diff for this revision Revisions of this file
TARGET_RBLAB_NRF51822/TARGET_NORDIC/TARGET_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/ble_gap.h Show diff for this revision Revisions of this file
TARGET_RBLAB_NRF51822/TARGET_NORDIC/TARGET_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/ble_gatt.h Show diff for this revision Revisions of this file
TARGET_RBLAB_NRF51822/TARGET_NORDIC/TARGET_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/ble_gattc.h Show diff for this revision Revisions of this file
TARGET_RBLAB_NRF51822/TARGET_NORDIC/TARGET_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/ble_gatts.h Show diff for this revision Revisions of this file
TARGET_RBLAB_NRF51822/TARGET_NORDIC/TARGET_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/ble_hci.h Show diff for this revision Revisions of this file
TARGET_RBLAB_NRF51822/TARGET_NORDIC/TARGET_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/ble_l2cap.h Show diff for this revision Revisions of this file
TARGET_RBLAB_NRF51822/TARGET_NORDIC/TARGET_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/ble_ranges.h Show diff for this revision Revisions of this file
TARGET_RBLAB_NRF51822/TARGET_NORDIC/TARGET_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/ble_types.h Show diff for this revision Revisions of this file
TARGET_RBLAB_NRF51822/TARGET_NORDIC/TARGET_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/nrf_error.h Show diff for this revision Revisions of this file
TARGET_RBLAB_NRF51822/TARGET_NORDIC/TARGET_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/nrf_error_sdm.h Show diff for this revision Revisions of this file
TARGET_RBLAB_NRF51822/TARGET_NORDIC/TARGET_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/nrf_error_soc.h Show diff for this revision Revisions of this file
TARGET_RBLAB_NRF51822/TARGET_NORDIC/TARGET_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/nrf_mbr.h Show diff for this revision Revisions of this file
TARGET_RBLAB_NRF51822/TARGET_NORDIC/TARGET_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/nrf_sdm.h Show diff for this revision Revisions of this file
TARGET_RBLAB_NRF51822/TARGET_NORDIC/TARGET_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/nrf_soc.h Show diff for this revision Revisions of this file
TARGET_RBLAB_NRF51822/TARGET_NORDIC/TARGET_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/nrf_svc.h Show diff for this revision Revisions of this file
TARGET_RBLAB_NRF51822/TARGET_NORDIC/TARGET_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/softdevice_assert.h Show diff for this revision Revisions of this file
TARGET_RBLAB_NRF51822/TARGET_NORDIC/TARGET_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_softdevice.hex Show diff for this revision Revisions of this file
TARGET_RBLAB_NRF51822/TARGET_NORDIC/TARGET_NRF51822/PeripheralNames.h Show diff for this revision Revisions of this file
TARGET_RBLAB_NRF51822/TARGET_NORDIC/TARGET_NRF51822/PortNames.h Show diff for this revision Revisions of this file
TARGET_RBLAB_NRF51822/TARGET_NORDIC/TARGET_NRF51822/TARGET_RBLAB_NRF51822/PinNames.h Show diff for this revision Revisions of this file
TARGET_RBLAB_NRF51822/TARGET_NORDIC/TARGET_NRF51822/TARGET_RBLAB_NRF51822/device.h Show diff for this revision Revisions of this file
TARGET_RBLAB_NRF51822/TARGET_NORDIC/TARGET_NRF51822/gpio_object.h Show diff for this revision Revisions of this file
TARGET_RBLAB_NRF51822/TARGET_NORDIC/TARGET_NRF51822/objects.h Show diff for this revision Revisions of this file
TARGET_RBLAB_NRF51822/TOOLCHAIN_ARM_STD/board.o Show annotated file Show diff for this revision Revisions of this file
TARGET_RBLAB_NRF51822/TOOLCHAIN_ARM_STD/cmsis_nvic.o Show annotated file Show diff for this revision Revisions of this file
TARGET_RBLAB_NRF51822/TOOLCHAIN_ARM_STD/mbed.ar Show annotated file Show diff for this revision Revisions of this file
TARGET_RBLAB_NRF51822/TOOLCHAIN_ARM_STD/retarget.o Show annotated file Show diff for this revision Revisions of this file
TARGET_RBLAB_NRF51822/TOOLCHAIN_ARM_STD/startup_nRF51822.o Show annotated file Show diff for this revision Revisions of this file
TARGET_RBLAB_NRF51822/TOOLCHAIN_ARM_STD/sys.o Show annotated file Show diff for this revision Revisions of this file
TARGET_RBLAB_NRF51822/TOOLCHAIN_ARM_STD/system_nrf51822.o Show annotated file Show diff for this revision Revisions of this file
TARGET_RBLAB_NRF51822/TOOLCHAIN_GCC_ARM/NRF51822.ld Show annotated file Show diff for this revision Revisions of this file
TARGET_RBLAB_NRF51822/TOOLCHAIN_GCC_ARM/board.o Show annotated file Show diff for this revision Revisions of this file
TARGET_RBLAB_NRF51822/TOOLCHAIN_GCC_ARM/cmsis_nvic.o Show annotated file Show diff for this revision Revisions of this file
TARGET_RBLAB_NRF51822/TOOLCHAIN_GCC_ARM/libmbed.a Show annotated file Show diff for this revision Revisions of this file
TARGET_RBLAB_NRF51822/TOOLCHAIN_GCC_ARM/retarget.o Show annotated file Show diff for this revision Revisions of this file
TARGET_RBLAB_NRF51822/TOOLCHAIN_GCC_ARM/startup_NRF51822.o Show annotated file Show diff for this revision Revisions of this file
TARGET_RBLAB_NRF51822/TOOLCHAIN_GCC_ARM/system_nrf51822.o Show annotated file Show diff for this revision Revisions of this file
TARGET_UBLOX_C027/TOOLCHAIN_ARM_STD/board.o Show annotated file Show diff for this revision Revisions of this file
TARGET_UBLOX_C027/TOOLCHAIN_ARM_STD/cmsis_nvic.o Show annotated file Show diff for this revision Revisions of this file
TARGET_UBLOX_C027/TOOLCHAIN_ARM_STD/mbed.ar Show annotated file Show diff for this revision Revisions of this file
TARGET_UBLOX_C027/TOOLCHAIN_ARM_STD/mbed_overrides.o Show annotated file Show diff for this revision Revisions of this file
TARGET_UBLOX_C027/TOOLCHAIN_ARM_STD/retarget.o Show annotated file Show diff for this revision Revisions of this file
TARGET_UBLOX_C027/TOOLCHAIN_ARM_STD/sys.o Show annotated file Show diff for this revision Revisions of this file
TARGET_UBLOX_C027/TOOLCHAIN_ARM_STD/system_LPC17xx.o Show annotated file Show diff for this revision Revisions of this file
TARGET_UBLOX_C027/TOOLCHAIN_GCC_ARM/libmbed.a Show annotated file Show diff for this revision Revisions of this file
TARGET_UBLOX_C027/TOOLCHAIN_GCC_ARM/retarget.o Show annotated file Show diff for this revision Revisions of this file
TARGET_UBLOX_C027/TOOLCHAIN_GCC_CR/libmbed.a Show annotated file Show diff for this revision Revisions of this file
TARGET_UBLOX_C027/TOOLCHAIN_GCC_CR/retarget.o Show annotated file Show diff for this revision Revisions of this file
TARGET_UBLOX_C027/TOOLCHAIN_GCC_CS/libmbed.a Show annotated file Show diff for this revision Revisions of this file
TARGET_UBLOX_C027/TOOLCHAIN_GCC_CS/retarget.o Show annotated file Show diff for this revision Revisions of this file
TARGET_UBLOX_C027/TOOLCHAIN_IAR/board.o Show annotated file Show diff for this revision Revisions of this file
TARGET_UBLOX_C027/TOOLCHAIN_IAR/cmsis_nvic.o Show annotated file Show diff for this revision Revisions of this file
TARGET_UBLOX_C027/TOOLCHAIN_IAR/mbed.a Show annotated file Show diff for this revision Revisions of this file
TARGET_UBLOX_C027/TOOLCHAIN_IAR/mbed_overrides.o Show annotated file Show diff for this revision Revisions of this file
TARGET_UBLOX_C027/TOOLCHAIN_IAR/retarget.o Show annotated file Show diff for this revision Revisions of this file
TARGET_UBLOX_C027/TOOLCHAIN_IAR/startup_LPC17xx.o Show annotated file Show diff for this revision Revisions of this file
TARGET_UBLOX_C027/TOOLCHAIN_IAR/system_LPC17xx.o Show annotated file Show diff for this revision Revisions of this file
TARGET_XADOW_M0/TARGET_NXP/TARGET_LPC11UXX/PeripheralPins.h Show annotated file Show diff for this revision Revisions of this file
TARGET_XADOW_M0/TARGET_NXP/TARGET_LPC11UXX/TARGET_LPC11U35_501/PeripheralNames.h Show diff for this revision Revisions of this file
TARGET_XADOW_M0/TARGET_NXP/TARGET_LPC11UXX/TARGET_LPC11U35_501/PinNames.h Show diff for this revision Revisions of this file
TARGET_XADOW_M0/TARGET_NXP/TARGET_LPC11UXX/TARGET_LPC11U35_501/device.h Show diff for this revision Revisions of this file
TARGET_XADOW_M0/TARGET_NXP/TARGET_LPC11UXX/TARGET_MCU_LPC11U35_501/PeripheralNames.h Show annotated file Show diff for this revision Revisions of this file
TARGET_XADOW_M0/TARGET_NXP/TARGET_LPC11UXX/TARGET_MCU_LPC11U35_501/TARGET_XADOW_M0/PinNames.h Show annotated file Show diff for this revision Revisions of this file
TARGET_XADOW_M0/TARGET_NXP/TARGET_LPC11UXX/TARGET_MCU_LPC11U35_501/TARGET_XADOW_M0/device.h Show annotated file Show diff for this revision Revisions of this file
TARGET_XADOW_M0/TOOLCHAIN_ARM_MICRO/board.o Show annotated file Show diff for this revision Revisions of this file
TARGET_XADOW_M0/TOOLCHAIN_ARM_MICRO/cmsis_nvic.o Show annotated file Show diff for this revision Revisions of this file
TARGET_XADOW_M0/TOOLCHAIN_ARM_MICRO/mbed.ar Show annotated file Show diff for this revision Revisions of this file
TARGET_XADOW_M0/TOOLCHAIN_ARM_MICRO/retarget.o Show annotated file Show diff for this revision Revisions of this file
TARGET_XADOW_M0/TOOLCHAIN_ARM_MICRO/startup_LPC11xx.o Show annotated file Show diff for this revision Revisions of this file
TARGET_XADOW_M0/TOOLCHAIN_ARM_MICRO/sys.o Show annotated file Show diff for this revision Revisions of this file
TARGET_XADOW_M0/TOOLCHAIN_ARM_MICRO/system_LPC11Uxx.o Show annotated file Show diff for this revision Revisions of this file
TARGET_XADOW_M0/TOOLCHAIN_ARM_STD/LPC11U35.sct Show diff for this revision Revisions of this file
TARGET_XADOW_M0/TOOLCHAIN_ARM_STD/board.o Show annotated file Show diff for this revision Revisions of this file
TARGET_XADOW_M0/TOOLCHAIN_ARM_STD/cmsis_nvic.o Show annotated file Show diff for this revision Revisions of this file
TARGET_XADOW_M0/TOOLCHAIN_ARM_STD/mbed.ar Show annotated file Show diff for this revision Revisions of this file
TARGET_XADOW_M0/TOOLCHAIN_ARM_STD/retarget.o Show annotated file Show diff for this revision Revisions of this file
TARGET_XADOW_M0/TOOLCHAIN_ARM_STD/startup_LPC11xx.o Show diff for this revision Revisions of this file
TARGET_XADOW_M0/TOOLCHAIN_ARM_STD/sys.o Show annotated file Show diff for this revision Revisions of this file
TARGET_XADOW_M0/TOOLCHAIN_ARM_STD/system_LPC11Uxx.o Show annotated file Show diff for this revision Revisions of this file
TARGET_XADOW_M0/TOOLCHAIN_GCC_ARM/LPC11U35.ld Show diff for this revision Revisions of this file
TARGET_XADOW_M0/TOOLCHAIN_GCC_ARM/board.o Show annotated file Show diff for this revision Revisions of this file
TARGET_XADOW_M0/TOOLCHAIN_GCC_ARM/libmbed.a Show annotated file Show diff for this revision Revisions of this file
TARGET_XADOW_M0/TOOLCHAIN_GCC_ARM/retarget.o Show annotated file Show diff for this revision Revisions of this file
TARGET_XADOW_M0/TOOLCHAIN_GCC_CR/LPC11U35.ld Show diff for this revision Revisions of this file
TARGET_XADOW_M0/TOOLCHAIN_GCC_CR/board.o Show annotated file Show diff for this revision Revisions of this file
TARGET_XADOW_M0/TOOLCHAIN_GCC_CR/libmbed.a Show annotated file Show diff for this revision Revisions of this file
TARGET_XADOW_M0/TOOLCHAIN_GCC_CR/retarget.o Show annotated file Show diff for this revision Revisions of this file
error.h Show diff for this revision Revisions of this file
mbed.h Show annotated file Show diff for this revision Revisions of this file
mbed_error.h Show annotated file Show diff for this revision Revisions of this file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TARGET_ARCH_BLE/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/ble.h	Fri Aug 15 15:28:31 2014 +0100
@@ -0,0 +1,385 @@
+/* Copyright (c) 2011 Nordic Semiconductor. All Rights Reserved.
+ *
+ * The information contained herein is confidential property of Nordic Semiconductor. The use,
+ * copying, transfer or disclosure of such information is prohibited except by express written
+ * agreement with Nordic Semiconductor.
+ *
+ */
+/**
+  @addtogroup BLE_COMMON BLE SoftDevice Common
+  @{
+  @defgroup ble_api Events, type definitions and API calls
+  @{
+
+  @brief Module independent events, type definitions and API calls for the S110 SoftDevice.
+
+ */
+
+#ifndef BLE_H__
+#define BLE_H__
+
+#include "ble_ranges.h"
+#include "ble_types.h"
+#include "ble_gap.h"
+#include "ble_l2cap.h"
+#include "ble_gatt.h"
+#include "ble_gattc.h"
+#include "ble_gatts.h"
+
+/** @addtogroup BLE_COMMON_ENUMERATIONS Enumerations
+ * @{ */
+
+/**
+ * @brief Common API SVC numbers.
+ */
+enum BLE_COMMON_SVCS
+{
+  SD_BLE_ENABLE = BLE_SVC_BASE,         /**< Enable and initialize the BLE stack */
+  SD_BLE_EVT_GET,                       /**< Get an event from the pending events queue. */
+  SD_BLE_TX_BUFFER_COUNT_GET,           /**< Get the total number of available application transmission buffers from the stack. */
+  SD_BLE_UUID_VS_ADD,                   /**< Add a Vendor Specific UUID. */
+  SD_BLE_UUID_DECODE,                   /**< Decode UUID bytes. */
+  SD_BLE_UUID_ENCODE,                   /**< Encode UUID bytes. */
+  SD_BLE_VERSION_GET,                   /**< Get the local version information (company id, Link Layer Version, Link Layer Subversion). */
+  SD_BLE_USER_MEM_REPLY,                /**< User Memory Reply. */
+  SD_BLE_OPT_SET,                       /**< Set a BLE option. */
+  SD_BLE_OPT_GET,                       /**< Get a BLE option. */
+};
+
+/** @} */
+
+/** @addtogroup BLE_COMMON_DEFINES Defines
+ * @{ */
+
+/** @brief  Required pointer alignment for BLE Events.
+*/
+#define BLE_EVTS_PTR_ALIGNMENT    4
+
+/** @defgroup BLE_USER_MEM_TYPES User Memory Types
+ * @{ */
+#define BLE_USER_MEM_TYPE_INVALID               0x00  /**< Invalid User Memory Types. */
+#define BLE_USER_MEM_TYPE_GATTS_QUEUED_WRITES   0x01  /**< User Memory for GATTS queued writes. */
+/** @} */
+
+/** @brief  Maximum number of Vendor Specific UUIDs.
+*/
+#define BLE_UUID_VS_MAX_COUNT     10
+
+/** @} */
+
+/** @addtogroup BLE_COMMON_STRUCTURES Structures
+ * @{ */
+
+/**
+ * @brief BLE Module Independent Event IDs.
+ */
+enum BLE_COMMON_EVTS
+{
+  BLE_EVT_TX_COMPLETE  = BLE_EVT_BASE,  /**< Transmission Complete. */
+  BLE_EVT_USER_MEM_REQUEST,             /**< User Memory request. */
+  BLE_EVT_USER_MEM_RELEASE              /**< User Memory release. */
+};
+
+/**@brief User Memory Block. */
+typedef struct
+{
+  uint8_t*          p_mem;      /**< Pointer to the start of the user memory block. */
+  uint16_t          len;        /**< Length in bytes of the user memory block. */
+} ble_user_mem_block_t;
+
+/**
+ * @brief TX complete event.
+ */
+typedef struct
+{
+  uint8_t count;                        /**< Number of packets transmitted. */
+} ble_evt_tx_complete_t;
+
+/**@brief Event structure for BLE_EVT_USER_MEM_REQUEST. */
+typedef struct
+{
+  uint8_t                     type;     /**< User memory type, see @ref BLE_USER_MEM_TYPES. */
+} ble_evt_user_mem_request_t;
+
+/**@brief Event structure for BLE_EVT_USER_MEM_RELEASE. */
+typedef struct
+{
+  uint8_t                     type;       /**< User memory type, see @ref BLE_USER_MEM_TYPES. */
+  ble_user_mem_block_t        mem_block;  /**< User memory block */
+} ble_evt_user_mem_release_t;
+
+
+/**@brief Event structure for events not associated with a specific function module. */
+typedef struct
+{
+  uint16_t conn_handle;                 /**< Connection Handle on which this event occured. */
+  union
+  {
+    ble_evt_tx_complete_t           tx_complete;        /**< Transmission Complete. */
+    ble_evt_user_mem_request_t      user_mem_request;   /**< User Memory Request Event Parameters. */
+    ble_evt_user_mem_release_t      user_mem_release;   /**< User Memory Release Event Parameters. */
+  } params;
+} ble_common_evt_t;
+
+/**@brief BLE Event header. */
+typedef struct
+{
+  uint16_t evt_id;                      /**< Value from a BLE_<module>_EVT series. */
+  uint16_t evt_len;                     /**< Length in octets excluding this header. */
+} ble_evt_hdr_t;
+
+/**@brief Common BLE Event type, wrapping the module specific event reports. */
+typedef struct
+{
+  ble_evt_hdr_t header;                 /**< Event header. */
+  union
+  {
+    ble_common_evt_t  common_evt;         /**< Common Event, evt_id in BLE_EVT_* series. */
+    ble_gap_evt_t     gap_evt;            /**< GAP originated event, evt_id in BLE_GAP_EVT_* series. */
+    ble_l2cap_evt_t   l2cap_evt;          /**< L2CAP originated event, evt_id in BLE_L2CAP_EVT* series. */
+    ble_gattc_evt_t   gattc_evt;          /**< GATT client originated event, evt_id in BLE_GATTC_EVT* series. */
+    ble_gatts_evt_t   gatts_evt;          /**< GATT server originated event, evt_id in BLE_GATTS_EVT* series. */
+  } evt;
+} ble_evt_t;
+
+
+/**
+ * @brief Version Information.
+ */
+typedef struct
+{
+  uint8_t   version_number;             /**< Link Layer Version number for BT 4.1 spec is 7 (https://www.bluetooth.org/en-us/specification/assigned-numbers/link-layer). */
+  uint16_t  company_id;                 /**< Company ID, Nordic Semiconductor's company ID is 89 (0x0059) (https://www.bluetooth.org/apps/content/Default.aspx?doc_id=49708). */
+  uint16_t  subversion_number;          /**< Link Layer Sub Version number, corresponds to the SoftDevice Config ID or Firmware ID (FWID). */
+} ble_version_t;
+
+/**@brief Common BLE Option type, wrapping the module specific options. */
+typedef union
+{
+  ble_gap_opt_t     gap;            /**< GAP option, opt_id in BLE_GAP_OPT_* series. */
+} ble_opt_t;
+
+/**
+ * @brief BLE GATTS init options
+ */
+typedef struct
+{
+  ble_gatts_enable_params_t  gatts_enable_params; /**< GATTS init options @ref ble_gatts_enable_params_t. */  
+} ble_enable_params_t;
+
+/** @} */
+
+/** @addtogroup BLE_COMMON_FUNCTIONS Functions
+ * @{ */
+
+/**@brief Enable the bluetooth stack
+ *
+ * @param[in] p_ble_enable_params Pointer to ble_enable_params_t
+ *
+ * @details This call initializes the bluetooth stack, no other BLE related call can be called before this one has been executed.
+ *
+ * @return @ref NRF_SUCCESS BLE stack has been initialized successfully
+ * @return @ref NRF_ERROR_INVALID_ADDR Invalid or not sufficiently aligned pointer supplied.
+ */
+SVCALL(SD_BLE_ENABLE, uint32_t, sd_ble_enable(ble_enable_params_t * p_ble_enable_params));
+
+/**@brief Get an event from the pending events queue.
+ *
+ * @param[in] p_dest Pointer to buffer to be filled in with an event, or NULL to retrieve the event length. This buffer <b>must be 4-byte aligned in memory</b>.
+ * @param[in, out] p_len Pointer the length of the buffer, on return it is filled with the event length.
+ *
+ * @details This call allows the application to pull a BLE event from the BLE stack. The application is signalled that an event is 
+ * available from the BLE Stack by the triggering of the SD_EVT_IRQn interrupt (mapped to IRQ 22).
+ * The application is free to choose whether to call this function from thread mode (main context) or directly from the Interrupt Service Routine
+ * that maps to SD_EVT_IRQn. In any case however, and because the BLE stack runs at a higher priority than the application, this function should be called
+ * in a loop (until @ref NRF_ERROR_NOT_FOUND is returned) every time SD_EVT_IRQn is raised to ensure that all available events are pulled from the stack. 
+ * Failure to do so could potentially leave events in the internal queue without the application being aware of this fact.
+ * Sizing the p_dest buffer is equally important, since the application needs to provide all the memory necessary for the event to be copied into
+ * application memory. If the buffer provided is not large enough to fit the entire contents of the event, @ref NRF_ERROR_DATA_SIZE will be returned
+ * and the application can then call again with a larger buffer size.
+ * Please note that because of the variable length nature of some events, sizeof(ble_evt_t) will not always be large enough to fit certain events, 
+ * and so it is the application's responsability to provide an amount of memory large enough so that the relevant event is copied in full.
+ * The application may "peek" the event length by providing p_dest as a NULL pointer and inspecting the value of *p_len upon return.
+ *
+ * @note The pointer supplied must be aligned to the extend defined by @ref BLE_EVTS_PTR_ALIGNMENT
+ *
+ * @return @ref NRF_SUCCESS Event pulled and stored into the supplied buffer.
+ * @return @ref NRF_ERROR_INVALID_ADDR Invalid or not sufficiently aligned pointer supplied.
+ * @return @ref NRF_ERROR_NOT_FOUND No events ready to be pulled.
+ * @return @ref NRF_ERROR_DATA_SIZE Event ready but could not fit into the supplied buffer.
+ */
+SVCALL(SD_BLE_EVT_GET, uint32_t, sd_ble_evt_get(uint8_t* p_dest, uint16_t *p_len));
+
+
+/**@brief Get the total number of available application transmission buffers in the BLE stack.
+ *
+ * @details This call allows the application to obtain the total number of
+ *          transmission buffers available for application data. Please note that
+ *          this does not give the number of free buffers, but rather the total amount of them.
+ *          The application has two options to handle its own application transmission buffers:
+ *          - Use a simple arithmetic calculation: at boot time the application should use this function
+ *          to find out the total amount of buffers available to it and store it in a variable.
+ *          Every time a packet that consumes an application buffer is sent using any of the 
+ *          exposed functions in this BLE API, the application should decrement that variable.
+ *          Conversely, whenever a @ref BLE_EVT_TX_COMPLETE event is received by the application
+ *          it should retrieve the count field in such event and add that number to the same
+ *          variable storing the number of available packets.
+ *          This mechanism allows the application to be aware at any time of the number of
+ *          application packets available in the BLE stack's internal buffers, and therefore
+ *          it can know with certainty whether it is possible to send more data or it has to
+ *          wait for a @ref BLE_EVT_TX_COMPLETE event before it proceeds.
+ *          - Choose to simply not keep track of available buffers at all, and instead handle the 
+ *          @ref BLE_ERROR_NO_TX_BUFFERS error by queueing the packet to be transmitted and 
+ *          try again as soon as a @ref BLE_EVT_TX_COMPLETE event arrives.
+ *
+ *          The API functions that <b>may</b> consume an application buffer depending on 
+ *          the parameters supplied to them can be found below:
+ *
+ *          - @ref sd_ble_gattc_write (write witout response only)
+ *          - @ref sd_ble_gatts_hvx (notifications only)
+ *          - @ref sd_ble_l2cap_tx (all packets)
+ *
+ * @param[out] p_count Pointer to a uint8_t which will contain the number of application transmission buffers upon
+ *                     successful return.
+ *
+ * @return @ref NRF_SUCCESS Number of application transmission buffers retrieved successfully.
+ * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
+ */
+SVCALL(SD_BLE_TX_BUFFER_COUNT_GET, uint32_t, sd_ble_tx_buffer_count_get(uint8_t* p_count));
+
+
+/**@brief Add a Vendor Specific UUID.
+ *
+ * @details This call enables the application to add a vendor specific UUID to the BLE stack's table,
+ *          for later use all other modules and APIs. This then allows the application to use the shorter,
+ *          24-bit @ref ble_uuid_t format when dealing with both 16-bit and 128-bit UUIDs without having to
+ *          check for lengths and having split code paths. The way that this is accomplished is by extending the 
+ *          grouping mechanism that the Bluetooth SIG standard base UUID uses for all other 128-bit UUIDs. The 
+ *          type field in the @ref ble_uuid_t structure is an index (relative to @ref BLE_UUID_TYPE_VENDOR_BEGIN) 
+ *          to the table populated by multiple calls to this function, and the uuid field in the same structure 
+ *          contains the 2 bytes at indices 12 and 13. The number of possible 128-bit UUIDs available to the 
+ *          application is therefore the number of Vendor Specific UUIDs added with the help of this function times 65536, 
+ *          although restricted to modifying bytes 12 and 13 for each of the entries in the supplied array.
+ *
+ * @note Bytes 12 and 13 of the provided UUID will not be used internally, since those are always replaced by 
+ * the 16-bit uuid field in @ref ble_uuid_t.
+ *
+ *
+ * @param[in]  p_vs_uuid    Pointer to a 16-octet (128-bit) little endian Vendor Specific UUID disregarding
+ *                          bytes 12 and 13.
+ * @param[out] p_uuid_type  Pointer where the type field in @ref ble_uuid_t corresponding to this UUID will be stored.
+ *
+ * @return @ref NRF_SUCCESS Successfully added the Vendor Specific UUID.
+ * @return @ref NRF_ERROR_INVALID_ADDR If p_vs_uuid or p_uuid_type is NULL or invalid.
+ * @return @ref NRF_ERROR_NO_MEM If there are no more free slots for VS UUIDs.
+ * @return @ref NRF_ERROR_FORBIDDEN If p_vs_uuid has already been added to the VS UUID table.
+ */
+SVCALL(SD_BLE_UUID_VS_ADD, uint32_t, sd_ble_uuid_vs_add(ble_uuid128_t const * const p_vs_uuid, uint8_t * const p_uuid_type));
+
+
+/** @brief Decode little endian raw UUID bytes (16-bit or 128-bit) into a 24 bit @ref ble_uuid_t structure.
+ * 
+ * @details The raw UUID bytes excluding bytes 12 and 13 (i.e. bytes 0-11 and 14-15) of p_uuid_le are compared 
+ * to the corresponding ones in each entry of the table of vendor specific UUIDs pouplated with @ref sd_ble_uuid_vs_add 
+ * to look for a match. If there is such a match, bytes 12 and 13 are returned as p_uuid->uuid and the index 
+ * relative to @ref BLE_UUID_TYPE_VENDOR_BEGIN as p_uuid->type. 
+ *
+ * @note If the UUID length supplied is 2, then the type set by this call will always be @ref BLE_UUID_TYPE_BLE.
+ *
+ * @param[in]      uuid_le_len Length in bytes of the buffer pointed to by p_uuid_le (must be 2 or 16 bytes).
+ * @param[in]      p_uuid_le   Pointer pointing to little endian raw UUID bytes.
+ * @param[in,out]  p_uuid      Pointer to a @ref ble_uuid_t structure to be filled in.
+ *
+ * @return @ref NRF_SUCCESS Successfully decoded into the @ref ble_uuid_t structure.
+ * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
+ * @return @ref NRF_ERROR_INVALID_LENGTH Invalid UUID length.
+ * @return @ref NRF_ERROR_NOT_FOUND For a 128-bit UUID, no match in the populated table of UUIDs.
+ */                                                 
+SVCALL(SD_BLE_UUID_DECODE, uint32_t, sd_ble_uuid_decode(uint8_t uuid_le_len, uint8_t const * const p_uuid_le, ble_uuid_t * const p_uuid));
+
+
+/** @brief Encode a @ref ble_uuid_t structure into little endian raw UUID bytes (16-bit or 128-bit).
+ *
+ * @note The pointer to the destination buffer p_uuid_le may be NULL, in which case only the validitiy and size of p_uuid is computed.
+ *
+ * @param[in]      p_uuid        Pointer to a @ref ble_uuid_t structure that will be encoded into bytes.
+ * @param[out]     p_uuid_le_len Pointer to a uint8_t that will be filled with the encoded length (2 or 16 bytes).
+ * @param[out]     p_uuid_le     Pointer to a buffer where the little endian raw UUID bytes (2 or 16) will be stored.
+ *
+ * @return @ref NRF_SUCCESS Successfully encoded into the buffer.
+ * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
+ * @return @ref NRF_ERROR_INVALID_PARAM Invalid UUID type.
+ */
+SVCALL(SD_BLE_UUID_ENCODE, uint32_t, sd_ble_uuid_encode(ble_uuid_t const * const p_uuid, uint8_t * const  p_uuid_le_len, uint8_t * const p_uuid_le));
+
+
+/**@brief Get Version Information.
+ *
+ * @details This call allows the application to get the BLE stack version information.
+ *
+ * @param[in] p_version Pointer to ble_version_t structure to be filled in.
+ *
+ * @return @ref NRF_SUCCESS  Version information stored successfully.
+ * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
+ * @return @ref NRF_ERROR_BUSY The stack is busy (typically doing a locally-initiated disconnection procedure).
+ */
+SVCALL(SD_BLE_VERSION_GET, uint32_t, sd_ble_version_get(ble_version_t * p_version));
+
+
+/**@brief Provide a user memory block.
+ *
+ * @note This call can only be used as a response to a @ref BLE_EVT_USER_MEM_REQUEST event issued to the application.
+ *
+ * @param[in] conn_handle                 Connection handle.
+ * @param[in] p_block                     Pointer to a user memory block structure.
+ *
+ * @return @ref NRF_SUCCESS               Successfully queued a response to the peer.
+ * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid Connection Handle.
+ * @return @ref NRF_ERROR_INVALID_STATE   No execute write request pending.
+ */
+SVCALL(SD_BLE_USER_MEM_REPLY, uint32_t, sd_ble_user_mem_reply(uint16_t conn_handle, ble_user_mem_block_t *p_block));
+
+
+/**@brief Set a BLE option.
+ *
+ * @details This call allows the application to set the value of an option.
+ *
+ * @param[in] opt_id Option ID.
+ * @param[in] p_opt Pointer to a ble_opt_t structure containing the option value.
+ *
+ * @retval ::NRF_SUCCESS  Option set successfully.
+ * @retval ::NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
+ * @retval ::BLE_ERROR_INVALID_CONN_HANDLE Invalid Connection Handle.
+ * @retval ::NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied, check parameter limits and constraints.
+ * @retval ::NRF_ERROR_INVALID_STATE Unable to set the parameter at this time.
+ * @retval ::NRF_ERROR_BUSY The stack is busy or the previous procedure has not completed.
+ */
+SVCALL(SD_BLE_OPT_SET, uint32_t, sd_ble_opt_set(uint32_t opt_id, ble_opt_t const *p_opt));
+
+
+/**@brief Get a BLE option.
+ *
+ * @details This call allows the application to retrieve the value of an option.
+ *
+ * @param[in] opt_id Option ID.
+ * @param[out] p_opt Pointer to a ble_opt_t structure to be filled in.
+ *
+ * @retval ::NRF_SUCCESS  Option retrieved successfully.
+ * @retval ::NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
+ * @retval ::BLE_ERROR_INVALID_CONN_HANDLE Invalid Connection Handle.
+ * @retval ::NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied, check parameter limits and constraints.
+ * @retval ::NRF_ERROR_INVALID_STATE Unable to retrieve the parameter at this time.
+ * @retval ::NRF_ERROR_BUSY The stack is busy or the previous procedure has not completed.
+ * @retval ::NRF_ERROR_NOT_SUPPORTED This option is not supported.
+ *
+ */
+SVCALL(SD_BLE_OPT_GET, uint32_t, sd_ble_opt_get(uint32_t opt_id, ble_opt_t *p_opt));
+
+/** @} */
+
+#endif /* BLE_H__ */
+
+/**
+  @}
+  @}
+*/
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TARGET_ARCH_BLE/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/ble_err.h	Fri Aug 15 15:28:31 2014 +0100
@@ -0,0 +1,54 @@
+/*
+ * Copyright (c) 2012 Nordic Semiconductor. All Rights Reserved.
+ *
+ * The information contained herein is confidential property of Nordic Semiconductor. The use,
+ * copying, transfer or disclosure of such information is prohibited except by express written
+ * agreement with Nordic Semiconductor.
+ *
+ */
+ /**
+  @addtogroup BLE_COMMON
+  @{
+  @addtogroup  nrf_error
+  @{
+    @ingroup BLE_COMMON
+  @}
+
+  @defgroup ble_err General error codes
+  @{
+
+  @brief General error code definitions for the BLE API.
+
+  @ingroup BLE_COMMON
+*/
+#ifndef NRF_BLE_ERR_H__
+#define NRF_BLE_ERR_H__
+
+#include "nrf_error.h"
+
+/* @defgroup BLE_ERRORS Error Codes
+ * @{ */
+#define BLE_ERROR_NOT_ENABLED            (NRF_ERROR_STK_BASE_NUM+0x001) /**< @ref sd_ble_enable has not been called. */
+#define BLE_ERROR_INVALID_CONN_HANDLE    (NRF_ERROR_STK_BASE_NUM+0x002) /**< Invalid connection handle. */
+#define BLE_ERROR_INVALID_ATTR_HANDLE    (NRF_ERROR_STK_BASE_NUM+0x003) /**< Invalid attribute handle. */
+#define BLE_ERROR_NO_TX_BUFFERS          (NRF_ERROR_STK_BASE_NUM+0x004) /**< Buffer capacity exceeded. */
+/** @} */
+
+
+/** @defgroup BLE_ERROR_SUBRANGES Module specific error code subranges
+ *  @brief Assignment of subranges for module specific error codes.
+ *  @note For specific error codes, see ble_<module>.h or ble_error_<module>.h.
+ * @{ */
+#define NRF_L2CAP_ERR_BASE             (NRF_ERROR_STK_BASE_NUM+0x100) /**< L2CAP specific errors. */
+#define NRF_GAP_ERR_BASE               (NRF_ERROR_STK_BASE_NUM+0x200) /**< GAP specific errors. */
+#define NRF_GATTC_ERR_BASE             (NRF_ERROR_STK_BASE_NUM+0x300) /**< GATT client specific errors. */
+#define NRF_GATTS_ERR_BASE             (NRF_ERROR_STK_BASE_NUM+0x400) /**< GATT server specific errors. */
+/** @} */
+
+#endif
+
+
+/**
+  @}
+  @}
+*/
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TARGET_ARCH_BLE/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/ble_gap.h	Fri Aug 15 15:28:31 2014 +0100
@@ -0,0 +1,1032 @@
+/* Copyright (c) 2011 Nordic Semiconductor. All Rights Reserved.
+ *
+ * The information contained herein is confidential property of Nordic Semiconductor. The use,
+ * copying, transfer or disclosure of such information is prohibited except by express written
+ * agreement with Nordic Semiconductor.
+ *
+ */
+/**
+  @addtogroup BLE_GAP Generic Access Profile (GAP)
+  @{
+  @brief Definitions and prototypes for the GAP interface.
+ */
+
+#ifndef BLE_GAP_H__
+#define BLE_GAP_H__
+
+#include "ble_types.h"
+#include "ble_ranges.h"
+#include "nrf_svc.h"
+
+
+/**@addtogroup BLE_GAP_ENUMERATIONS Enumerations 
+ * @{ */
+
+/**@brief GAP API SVC numbers.
+ */
+enum BLE_GAP_SVCS
+{
+  SD_BLE_GAP_ADDRESS_SET  = BLE_GAP_SVC_BASE,  /**< Set own Bluetooth Address. */
+  SD_BLE_GAP_ADDRESS_GET,                      /**< Get own Bluetooth Address. */
+  SD_BLE_GAP_ADV_DATA_SET,                     /**< Set Advertisement Data. */
+  SD_BLE_GAP_ADV_START,                        /**< Start Advertising. */
+  SD_BLE_GAP_ADV_STOP,                         /**< Stop Advertising. */
+  SD_BLE_GAP_CONN_PARAM_UPDATE,                /**< Connection Parameter Update. */
+  SD_BLE_GAP_DISCONNECT,                       /**< Disconnect. */
+  SD_BLE_GAP_TX_POWER_SET,                     /**< Set TX Power. */
+  SD_BLE_GAP_APPEARANCE_SET,                   /**< Set Appearance. */
+  SD_BLE_GAP_APPEARANCE_GET,                   /**< Get Appearance. */
+  SD_BLE_GAP_PPCP_SET,                         /**< Set PPCP. */
+  SD_BLE_GAP_PPCP_GET,                         /**< Get PPCP. */
+  SD_BLE_GAP_DEVICE_NAME_SET,                  /**< Set Device Name. */
+  SD_BLE_GAP_DEVICE_NAME_GET,                  /**< Get Device Name. */
+  SD_BLE_GAP_AUTHENTICATE,                     /**< Initiate Pairing/Bonding. */
+  SD_BLE_GAP_SEC_PARAMS_REPLY,                 /**< Reply with Security Parameters. */
+  SD_BLE_GAP_AUTH_KEY_REPLY,                   /**< Reply with an authentication key. */
+  SD_BLE_GAP_SEC_INFO_REPLY,                   /**< Reply with Security Information. */
+  SD_BLE_GAP_CONN_SEC_GET,                     /**< Obtain connection security level. */
+  SD_BLE_GAP_RSSI_START,                       /**< Start reporting of changes in RSSI. */ 
+  SD_BLE_GAP_RSSI_STOP,                        /**< Stop reporting of changes in RSSI. */ 
+};
+/**@} */
+
+/**@addtogroup BLE_GAP_DEFINES Defines
+ * @{ */
+
+/**@defgroup BLE_ERRORS_GAP SVC return values specific to GAP
+ * @{ */
+#define BLE_ERROR_GAP_UUID_LIST_MISMATCH            (NRF_GAP_ERR_BASE + 0x000)  /**< UUID list does not contain an integral number of UUIDs. */
+#define BLE_ERROR_GAP_DISCOVERABLE_WITH_WHITELIST   (NRF_GAP_ERR_BASE + 0x001)  /**< Use of Whitelist not permitted with discoverable advertising. */
+#define BLE_ERROR_GAP_INVALID_BLE_ADDR              (NRF_GAP_ERR_BASE + 0x002)  /**< The upper two bits of the address do not correspond to the specified address type. */
+/**@} */
+
+
+/**@defgroup BLE_GAP_ROLES GAP Roles
+ * @note Not explicitly used in peripheral API, but will be relevant for central API.
+ * @{ */
+#define BLE_GAP_ROLE_INVALID     0x0            /**< Invalid Role. */
+#define BLE_GAP_ROLE_PERIPH      0x1            /**< Peripheral Role. */
+#define BLE_GAP_ROLE_CENTRAL     0x2            /**< Central Role. */
+/**@} */
+
+
+/**@defgroup BLE_GAP_TIMEOUT_SOURCES GAP Timeout sources
+ * @{ */
+#define BLE_GAP_TIMEOUT_SRC_ADVERTISEMENT              0x00 /**< Advertisement timeout. */
+#define BLE_GAP_TIMEOUT_SRC_SECURITY_REQUEST           0x01 /**< Security request timeout. */
+/**@} */
+
+
+/**@defgroup BLE_GAP_ADDR_TYPES GAP Address types
+ * @{ */
+#define BLE_GAP_ADDR_TYPE_PUBLIC                        0x00 /**< Public address. */
+#define BLE_GAP_ADDR_TYPE_RANDOM_STATIC                 0x01 /**< Random Static address. */
+#define BLE_GAP_ADDR_TYPE_RANDOM_PRIVATE_RESOLVABLE     0x02 /**< Private Resolvable address. */
+#define BLE_GAP_ADDR_TYPE_RANDOM_PRIVATE_NON_RESOLVABLE 0x03 /**< Private Non-Resolvable address. */
+/**@} */
+
+/**@defgroup BLE_GAP_ADDR_CYCLE_MODES GAP Address cycle modes
+ * @{ */
+#define BLE_GAP_ADDR_CYCLE_MODE_NONE      0x00 /**< Set addresses directly, no automatic address cycling. */
+#define BLE_GAP_ADDR_CYCLE_MODE_AUTO      0x01 /**< Automatically generate and update private addresses. */
+/** @} */
+
+/**@brief The default interval in seconds at which a private address is refreshed when address cycle mode is @ref BLE_GAP_ADDR_CYCLE_MODE_AUTO.  */
+#define BLE_GAP_DEFAULT_PRIVATE_ADDR_CYCLE_INTERVAL_S (60 * 15)
+
+/** @brief BLE address length. */
+#define BLE_GAP_ADDR_LEN            6
+
+
+/**@defgroup BLE_GAP_AD_TYPE_DEFINITIONS GAP Advertising and Scan Response Data format
+ * @note Found at https://www.bluetooth.org/Technical/AssignedNumbers/generic_access_profile.htm
+ * @{ */
+#define BLE_GAP_AD_TYPE_FLAGS                               0x01 /**< Flags for discoverability. */
+#define BLE_GAP_AD_TYPE_16BIT_SERVICE_UUID_MORE_AVAILABLE   0x02 /**< Partial list of 16 bit service UUIDs. */
+#define BLE_GAP_AD_TYPE_16BIT_SERVICE_UUID_COMPLETE         0x03 /**< Complete list of 16 bit service UUIDs. */
+#define BLE_GAP_AD_TYPE_32BIT_SERVICE_UUID_MORE_AVAILABLE   0x04 /**< Partial list of 32 bit service UUIDs. */
+#define BLE_GAP_AD_TYPE_32BIT_SERVICE_UUID_COMPLETE         0x05 /**< Complete list of 32 bit service UUIDs. */
+#define BLE_GAP_AD_TYPE_128BIT_SERVICE_UUID_MORE_AVAILABLE  0x06 /**< Partial list of 128 bit service UUIDs. */
+#define BLE_GAP_AD_TYPE_128BIT_SERVICE_UUID_COMPLETE        0x07 /**< Complete list of 128 bit service UUIDs. */
+#define BLE_GAP_AD_TYPE_SHORT_LOCAL_NAME                    0x08 /**< Short local device name. */
+#define BLE_GAP_AD_TYPE_COMPLETE_LOCAL_NAME                 0x09 /**< Complete local device name. */
+#define BLE_GAP_AD_TYPE_TX_POWER_LEVEL                      0x0A /**< Transmit power level. */
+#define BLE_GAP_AD_TYPE_CLASS_OF_DEVICE                     0x0D /**< Class of device. */
+#define BLE_GAP_AD_TYPE_SIMPLE_PAIRING_HASH_C               0x0E /**< Simple Pairing Hash C. */
+#define BLE_GAP_AD_TYPE_SIMPLE_PAIRING_RANDOMIZER_R         0x0F /**< Simple Pairing Randomizer R. */
+#define BLE_GAP_AD_TYPE_SECURITY_MANAGER_TK_VALUE           0x10 /**< Security Manager TK Value. */
+#define BLE_GAP_AD_TYPE_SECURITY_MANAGER_OOB_FLAGS          0x11 /**< Security Manager Out Of Band Flags. */
+#define BLE_GAP_AD_TYPE_SLAVE_CONNECTION_INTERVAL_RANGE     0x12 /**< Slave Connection Interval Range. */
+#define BLE_GAP_AD_TYPE_SOLICITED_SERVICE_UUIDS_16BIT       0x14 /**< List of 16-bit Service Solicitation UUIDs. */
+#define BLE_GAP_AD_TYPE_SOLICITED_SERVICE_UUIDS_128BIT      0x15 /**< List of 128-bit Service Solicitation UUIDs. */
+#define BLE_GAP_AD_TYPE_SERVICE_DATA                        0x16 /**< Service Data - 16-bit UUID. */
+#define BLE_GAP_AD_TYPE_PUBLIC_TARGET_ADDRESS               0x17 /**< Public Target Address. */
+#define BLE_GAP_AD_TYPE_RANDOM_TARGET_ADDRESS               0x18 /**< Random Target Address. */
+#define BLE_GAP_AD_TYPE_APPEARANCE                          0x19 /**< Appearance. */
+#define BLE_GAP_AD_TYPE_ADVERTISING_INTERVAL                0x1A /**< Advertising Interval. */ 
+#define BLE_GAP_AD_TYPE_LE_BLUETOOTH_DEVICE_ADDRESS         0x1B /**< LE Bluetooth Device Address. */
+#define BLE_GAP_AD_TYPE_LE_ROLE                             0x1C /**< LE Role. */
+#define BLE_GAP_AD_TYPE_SIMPLE_PAIRING_HASH_C256            0x1D /**< Simple Pairing Hash C-256. */
+#define BLE_GAP_AD_TYPE_SIMPLE_PAIRING_RANDOMIZER_R256      0x1E /**< Simple Pairing Randomizer R-256. */
+#define BLE_GAP_AD_TYPE_SERVICE_DATA_32BIT_UUID             0x20 /**< Service Data - 32-bit UUID. */
+#define BLE_GAP_AD_TYPE_SERVICE_DATA_128BIT_UUID            0x21 /**< Service Data - 128-bit UUID. */
+#define BLE_GAP_AD_TYPE_3D_INFORMATION_DATA                 0x3D /**< 3D Information Data. */
+#define BLE_GAP_AD_TYPE_MANUFACTURER_SPECIFIC_DATA          0xFF /**< Manufacturer Specific Data. */
+/**@} */
+
+
+/**@defgroup BLE_GAP_ADV_FLAGS GAP Advertisement Flags
+ * @{ */
+#define BLE_GAP_ADV_FLAG_LE_LIMITED_DISC_MODE         (0x01)   /**< LE Limited Discoverable Mode. */
+#define BLE_GAP_ADV_FLAG_LE_GENERAL_DISC_MODE         (0x02)   /**< LE General Discoverable Mode. */
+#define BLE_GAP_ADV_FLAG_BR_EDR_NOT_SUPPORTED         (0x04)   /**< BR/EDR not supported. */
+#define BLE_GAP_ADV_FLAG_LE_BR_EDR_CONTROLLER         (0x08)   /**< Simultaneous LE and BR/EDR, Controller. */
+#define BLE_GAP_ADV_FLAG_LE_BR_EDR_HOST               (0x10)   /**< Simultaneous LE and BR/EDR, Host. */
+#define BLE_GAP_ADV_FLAGS_LE_ONLY_LIMITED_DISC_MODE   (BLE_GAP_ADV_FLAG_LE_LIMITED_DISC_MODE | BLE_GAP_ADV_FLAG_BR_EDR_NOT_SUPPORTED)   /**< LE Limited Discoverable Mode, BR/EDR not supported. */
+#define BLE_GAP_ADV_FLAGS_LE_ONLY_GENERAL_DISC_MODE   (BLE_GAP_ADV_FLAG_LE_GENERAL_DISC_MODE | BLE_GAP_ADV_FLAG_BR_EDR_NOT_SUPPORTED)   /**< LE General Discoverable Mode, BR/EDR not supported. */
+/**@} */
+
+
+/**@defgroup BLE_GAP_ADV_INTERVALS GAP Advertising interval max and min
+ * @{ */
+#define BLE_GAP_ADV_INTERVAL_MIN        0x0020 /**< Minimum Advertising interval in 625 us units, i.e. 20 ms. */
+#define BLE_GAP_ADV_NONCON_INTERVAL_MIN 0x00A0 /**< Minimum Advertising interval in 625 us units for non connectable mode, i.e. 100 ms. */
+#define BLE_GAP_ADV_INTERVAL_MAX        0x4000 /**< Maximum Advertising interval in 625 us units, i.e. 10.24 s. */
+ /**@}  */
+
+
+/**@brief Maximum size of advertising data in octets. */
+#define  BLE_GAP_ADV_MAX_SIZE       31
+
+
+/**@defgroup BLE_GAP_ADV_TYPES GAP Advertising types
+ * @{ */
+#define BLE_GAP_ADV_TYPE_ADV_IND          0x00   /**< Connectable undirected. */
+#define BLE_GAP_ADV_TYPE_ADV_DIRECT_IND   0x01   /**< Connectable directed. */
+#define BLE_GAP_ADV_TYPE_ADV_SCAN_IND     0x02   /**< Scannable undirected. */
+#define BLE_GAP_ADV_TYPE_ADV_NONCONN_IND  0x03   /**< Non connectable undirected. */
+/**@} */
+
+
+/**@defgroup BLE_GAP_ADV_FILTER_POLICIES GAP Advertising filter policies
+ * @{ */
+#define BLE_GAP_ADV_FP_ANY                0x00   /**< Allow scan requests and connect requests from any device. */
+#define BLE_GAP_ADV_FP_FILTER_SCANREQ     0x01   /**< Filter scan requests with whitelist. */
+#define BLE_GAP_ADV_FP_FILTER_CONNREQ     0x02   /**< Filter connect requests with whitelist. */
+#define BLE_GAP_ADV_FP_FILTER_BOTH        0x03   /**< Filter both scan and connect requests with whitelist. */
+/**@} */
+
+
+/**@defgroup BLE_GAP_ADV_TIMEOUT_VALUES GAP Advertising timeout values
+ * @{ */
+#define BLE_GAP_ADV_TIMEOUT_LIMITED_MAX      180 /**< Maximum advertising time in limited discoverable mode (TGAP(lim_adv_timeout) = 180s in spec (Addendum 2)). */
+#define BLE_GAP_ADV_TIMEOUT_GENERAL_UNLIMITED  0 /**< Unlimited advertising in general discoverable mode. */
+/**@} */
+
+
+/**@defgroup BLE_GAP_DISC_MODES GAP Discovery modes
+ * @{ */
+#define BLE_GAP_DISC_MODE_NOT_DISCOVERABLE  0x00   /**< Not discoverable discovery Mode. */
+#define BLE_GAP_DISC_MODE_LIMITED           0x01   /**< Limited Discovery Mode. */
+#define BLE_GAP_DISC_MODE_GENERAL           0x02   /**< General Discovery Mode. */
+/**@} */
+
+/**@defgroup BLE_GAP_IO_CAPS GAP IO Capabilities
+ * @{ */
+#define BLE_GAP_IO_CAPS_DISPLAY_ONLY      0x00   /**< Display Only. */
+#define BLE_GAP_IO_CAPS_DISPLAY_YESNO     0x01   /**< Display and Yes/No entry. */
+#define BLE_GAP_IO_CAPS_KEYBOARD_ONLY     0x02   /**< Keyboard Only. */
+#define BLE_GAP_IO_CAPS_NONE              0x03   /**< No I/O capabilities. */
+#define BLE_GAP_IO_CAPS_KEYBOARD_DISPLAY  0x04   /**< Keyboard and Display. */
+/**@} */
+
+
+/**@defgroup BLE_GAP_AUTH_KEY_TYPES GAP Authentication Key Types
+ * @{ */
+#define BLE_GAP_AUTH_KEY_TYPE_NONE        0x00   /**< No key (may be used to reject). */
+#define BLE_GAP_AUTH_KEY_TYPE_PASSKEY     0x01   /**< 6-digit Passkey. */
+#define BLE_GAP_AUTH_KEY_TYPE_OOB         0x02   /**< Out Of Band data. */
+/**@} */
+
+/**@defgroup BLE_GAP_SEC_STATUS GAP Security status
+ * @{ */
+#define BLE_GAP_SEC_STATUS_SUCCESS                0x00  /**< Successful parameters. */
+#define BLE_GAP_SEC_STATUS_TIMEOUT                0x01  /**< Procedure timed out. */
+#define BLE_GAP_SEC_STATUS_PDU_INVALID            0x02  /**< Invalid PDU received. */
+#define BLE_GAP_SEC_STATUS_PASSKEY_ENTRY_FAILED   0x81  /**< Passkey entry failed (user cancelled or other). */
+#define BLE_GAP_SEC_STATUS_OOB_NOT_AVAILABLE      0x82  /**< Out of Band Key not available. */
+#define BLE_GAP_SEC_STATUS_AUTH_REQ               0x83  /**< Authentication requirements not met. */
+#define BLE_GAP_SEC_STATUS_CONFIRM_VALUE          0x84  /**< Confirm value failed. */
+#define BLE_GAP_SEC_STATUS_PAIRING_NOT_SUPP       0x85  /**< Pairing not supported.  */
+#define BLE_GAP_SEC_STATUS_ENC_KEY_SIZE           0x86  /**< Encryption key size. */
+#define BLE_GAP_SEC_STATUS_SMP_CMD_UNSUPPORTED    0x87  /**< Unsupported SMP command. */
+#define BLE_GAP_SEC_STATUS_UNSPECIFIED            0x88  /**< Unspecified reason. */
+#define BLE_GAP_SEC_STATUS_REPEATED_ATTEMPTS      0x89  /**< Too little time elapsed since last attempt. */
+#define BLE_GAP_SEC_STATUS_INVALID_PARAMS         0x8A  /**< Invalid parameters. */
+/**@} */
+
+/**@defgroup BLE_GAP_SEC_STATUS_SOURCES GAP Security status sources
+ * @{ */
+#define BLE_GAP_SEC_STATUS_SOURCE_LOCAL           0x00  /**< Local failure. */
+#define BLE_GAP_SEC_STATUS_SOURCE_REMOTE          0x01  /**< Remote failure. */
+/**@} */
+
+/**@defgroup BLE_GAP_CP_LIMITS GAP Connection Parameters Limits
+ * @{ */
+#define BLE_GAP_CP_MIN_CONN_INTVL_NONE           0xFFFF  /**< No new minimum connction interval specified in connect parameters. */
+#define BLE_GAP_CP_MIN_CONN_INTVL_MIN            0x0006  /**< Lowest mimimum connection interval permitted, in units of 1.25 ms, i.e. 7.5 ms. */
+#define BLE_GAP_CP_MIN_CONN_INTVL_MAX            0x0C80  /**< Highest minimum connection interval permitted, in units of 1.25 ms, i.e. 4 s. */
+#define BLE_GAP_CP_MAX_CONN_INTVL_NONE           0xFFFF  /**< No new maximum connction interval specified in connect parameters. */
+#define BLE_GAP_CP_MAX_CONN_INTVL_MIN            0x0006  /**< Lowest maximum connection interval permitted, in units of 1.25 ms, i.e. 7.5 ms. */
+#define BLE_GAP_CP_MAX_CONN_INTVL_MAX            0x0C80  /**< Highest maximum connection interval permitted, in units of 1.25 ms, i.e. 4 s. */
+#define BLE_GAP_CP_SLAVE_LATENCY_MAX             0x03E8  /**< Highest slave latency permitted, in connection events. */
+#define BLE_GAP_CP_CONN_SUP_TIMEOUT_NONE         0xFFFF  /**< No new supervision timeout specified in connect parameters. */
+#define BLE_GAP_CP_CONN_SUP_TIMEOUT_MIN          0x000A  /**< Lowest supervision timeout permitted, in units of 10 ms, i.e. 100 ms. */
+#define BLE_GAP_CP_CONN_SUP_TIMEOUT_MAX          0x0C80  /**< Highest supervision timeout permitted, in units of 10 ms, i.e. 32 s. */
+/**@} */
+
+
+/**@brief GAP device name maximum length. */
+#define BLE_GAP_DEVNAME_MAX_LEN           31
+
+
+/**@defgroup BLE_GAP_CONN_SEC_MODE_SET_MACROS GAP attribute security requirement setters
+ *
+ * See @ref ble_gap_conn_sec_mode_t.
+ * @{ */
+/**@brief Set sec_mode pointed to by ptr to have no access rights.*/
+#define BLE_GAP_CONN_SEC_MODE_SET_NO_ACCESS(ptr)         do {(ptr)->sm = 0; (ptr)->lv = 0;} while(0)
+/**@brief Set sec_mode pointed to by ptr to require no protection, open link.*/
+#define BLE_GAP_CONN_SEC_MODE_SET_OPEN(ptr)              do {(ptr)->sm = 1; (ptr)->lv = 1;} while(0)
+/**@brief Set sec_mode pointed to by ptr to require encryption, but no MITM protection.*/
+#define BLE_GAP_CONN_SEC_MODE_SET_ENC_NO_MITM(ptr)       do {(ptr)->sm = 1; (ptr)->lv = 2;} while(0)
+/**@brief Set sec_mode pointed to by ptr to require encryption and MITM protection.*/
+#define BLE_GAP_CONN_SEC_MODE_SET_ENC_WITH_MITM(ptr)     do {(ptr)->sm = 1; (ptr)->lv = 3;} while(0)
+/**@brief Set sec_mode pointed to by ptr to require signing or encryption, no MITM protection needed.*/
+#define BLE_GAP_CONN_SEC_MODE_SET_SIGNED_NO_MITM(ptr)    do {(ptr)->sm = 2; (ptr)->lv = 1;} while(0)
+/**@brief Set sec_mode pointed to by ptr to require signing or encryption with MITM protection.*/
+#define BLE_GAP_CONN_SEC_MODE_SET_SIGNED_WITH_MITM(ptr)  do {(ptr)->sm = 2; (ptr)->lv = 2;} while(0)
+/**@} */
+
+
+/**@brief GAP Security Key Length. */
+#define BLE_GAP_SEC_KEY_LEN 16
+
+/**@brief GAP Passkey Length. */
+#define BLE_GAP_PASSKEY_LEN 6
+
+/**@brief Maximum amount of addresses in a whitelist. */
+#define BLE_GAP_WHITELIST_ADDR_MAX_COUNT (8)
+
+/**@brief Maximum amount of IRKs in a whitelist.
+ * @note  The number of IRKs is limited to 8, even if the hardware supports more.
+ */
+#define BLE_GAP_WHITELIST_IRK_MAX_COUNT (8)
+
+/**@defgroup GAP_SEC_MODES GAP Security Modes
+ * @{ */
+#define BLE_GAP_SEC_MODE 0x00 /**< No key (may be used to reject). */
+/**@} */
+
+/**@} */
+
+/**@addtogroup BLE_GAP_STRUCTURES Structures
+ * @{ */
+
+/**@brief Bluetooth Low Energy address. */
+typedef struct
+{
+  uint8_t addr_type;                    /**< See @ref BLE_GAP_ADDR_TYPES. */
+  uint8_t addr[BLE_GAP_ADDR_LEN];       /**< 48-bit address, LSB format. */
+} ble_gap_addr_t;
+
+
+/**@brief GAP connection parameters.
+ *
+ * @note  When ble_conn_params_t is received in an event, both min_conn_interval and
+ *        max_conn_interval will be equal to the connection interval set by the central.
+ */
+typedef struct
+{
+  uint16_t min_conn_interval;         /**< Minimum Connection Interval in 1.25 ms units, see @ref BLE_GAP_CP_LIMITS.*/
+  uint16_t max_conn_interval;         /**< Maximum Connection Interval in 1.25 ms units, see @ref BLE_GAP_CP_LIMITS.*/
+  uint16_t slave_latency;             /**< Slave Latency in number of connection events, see @ref BLE_GAP_CP_LIMITS.*/
+  uint16_t conn_sup_timeout;          /**< Connection Supervision Timeout in 10 ms units, see @ref BLE_GAP_CP_LIMITS.*/
+} ble_gap_conn_params_t;
+
+
+/**@brief GAP link requirements.
+ *
+ * See Bluetooth Core specification, Volume 3 Part C 10.2 for details.
+ *
+ * Security Mode 0 Level 0: No access permissions at all (this level is not defined by the Bluetooth Core specification).\n
+ * Security Mode 1 Level 1: No security is needed (aka open link).\n
+ * Security Mode 1 Level 2: Encrypted link required, MITM protection not necessary.\n
+ * Security Mode 1 Level 3: MITM protected encrypted link required.\n
+ * Security Mode 2 Level 1: Signing or encryption required, MITM protection not necessary.\n
+ * Security Mode 2 Level 2: MITM protected signing required, unless link is MITM protected encrypted.\n
+ */
+typedef struct
+{
+  uint8_t sm : 4;                     /**< Security Mode (1 or 2), 0 for no permissions at all. */
+  uint8_t lv : 4;                     /**< Level (1, 2 or 3), 0 for no permissions at all. */
+
+} ble_gap_conn_sec_mode_t;
+
+
+/**@brief GAP connection security status.*/
+typedef struct
+{
+  ble_gap_conn_sec_mode_t sec_mode;           /**< Currently active security mode for this connection.*/
+  uint8_t                 encr_key_size;      /**< Length of currently active encryption key, 7 to 16 octets (only applicable for bonding procedures). */
+} ble_gap_conn_sec_t;
+
+
+/**@brief Identity Resolving Key. */
+typedef struct
+{
+  uint8_t irk[BLE_GAP_SEC_KEY_LEN];   /**< Array containing IRK. */
+} ble_gap_irk_t;
+
+
+/**@brief Whitelist structure. */
+typedef struct
+{
+  ble_gap_addr_t   ** pp_addrs;        /**< Pointer to array of device address pointers, pointing to addresses to be used in whitelist. NULL if none are given. */
+  uint8_t             addr_count;      /**< Count of device addresses in array, up to @ref BLE_GAP_WHITELIST_ADDR_MAX_COUNT. */
+  ble_gap_irk_t    ** pp_irks;         /**< Pointer to array of Identity Resolving Key (IRK) pointers, each pointing to an IRK in the whitelist. NULL if none are given. */
+  uint8_t             irk_count;       /**< Count of IRKs in array, up to @ref BLE_GAP_WHITELIST_IRK_MAX_COUNT. */
+} ble_gap_whitelist_t;
+
+
+/**@brief GAP advertising parameters.*/
+typedef struct
+{
+  uint8_t               type;                 /**< See @ref BLE_GAP_ADV_TYPES. */
+  ble_gap_addr_t*       p_peer_addr;          /**< For BLE_GAP_CONN_MODE_DIRECTED mode only, known peer address. */
+  uint8_t               fp;                   /**< Filter Policy, see @ref BLE_GAP_ADV_FILTER_POLICIES. */
+  ble_gap_whitelist_t * p_whitelist;          /**< Pointer to whitelist, NULL if none is given. */
+  uint16_t              interval;             /**< Advertising interval between 0x0020 and 0x4000 in 0.625 ms units (20ms to 10.24s), see @ref BLE_GAP_ADV_INTERVALS. This parameter must be set to 0 if type equals @ref BLE_GAP_ADV_TYPE_ADV_DIRECT_IND. */
+  uint16_t              timeout;              /**< Advertising timeout between 0x0001 and 0x3FFF in seconds, 0x0000 disables timeout. See also @ref BLE_GAP_ADV_TIMEOUT_VALUES. This parameter must be set to 0 if type equals @ref BLE_GAP_ADV_TYPE_ADV_DIRECT_IND. */
+} ble_gap_adv_params_t;
+
+
+/**@brief GAP scanning parameters. */
+typedef struct
+{
+  uint8_t    filter;                    /**< Filter based on discovery mode, see @ref BLE_GAP_DISC_MODES. */
+  uint8_t    active    : 1;             /**< If 1, perform active scanning (scan requests). */
+  uint8_t    selective : 1;             /**< If 1, ignore unknown devices (non whitelisted). */
+  uint16_t   interval;                  /**< Scan interval between 0x0020 and 0x4000 in 0.625ms units (20ms to 10.24s). */
+  uint16_t   window;                    /**< Scan window between 0x0004 and 0x4000 in 0.625ms units (2.5ms to 10.24s). */
+  uint16_t   timeout;                   /**< Scan timeout between 0x0001 and 0x3FFF in seconds, 0x0000 disables timeout. */
+} ble_gap_scan_params_t;
+
+
+/**@brief GAP security parameters. */
+typedef struct
+{
+  uint16_t   timeout;                   /**< Timeout for SMP transactions or Security Request in seconds, see @ref sd_ble_gap_authenticate and @ref sd_ble_gap_sec_params_reply for more information. */
+  uint8_t    bond    : 1;               /**< Perform bonding. */
+  uint8_t    mitm    : 1;               /**< Man In The Middle protection required. */
+  uint8_t    io_caps : 3;               /**< IO capabilities, see @ref BLE_GAP_IO_CAPS. */
+  uint8_t    oob     : 1;               /**< Out Of Band data available. */
+  uint8_t    min_key_size;              /**< Minimum encryption key size in octets between 7 and 16. */
+  uint8_t    max_key_size;              /**< Maximum encryption key size in octets between min_key_size and 16. */
+} ble_gap_sec_params_t;
+
+
+/**@brief GAP Encryption Information. */
+typedef struct
+{
+  uint16_t  div;                        /**< Encryption Diversifier. */
+  uint8_t   ltk[BLE_GAP_SEC_KEY_LEN];   /**< Long Term Key. */
+  uint8_t   auth : 1;                   /**< Authenticated Key. */
+  uint8_t   ltk_len : 7;                /**< LTK length in octets. */
+} ble_gap_enc_info_t;
+
+
+/**@brief GAP Master Identification. */
+typedef struct
+{
+  uint16_t  ediv;                       /**< Encrypted Diversifier. */
+  uint8_t   rand[8];                    /**< Random Number. */
+} ble_gap_master_id_t;
+
+
+/**@brief GAP Identity Information. */
+typedef struct
+{
+  ble_gap_addr_t  addr;                       /**< Bluetooth address to which this key applies. */
+  uint8_t         irk[BLE_GAP_SEC_KEY_LEN];   /**< Identity Resolution Key. */
+} ble_gap_id_info_t;
+
+
+/**@brief GAP Signing Information. */
+typedef struct
+{
+  uint8_t   csrk[BLE_GAP_SEC_KEY_LEN]; /* Connection Signature Resolving Key. */
+} ble_gap_sign_info_t;
+
+
+/**@brief GAP Event IDs.
+ * Those IDs uniquely identify an event coming from the stack to the application.
+ */
+enum BLE_GAP_EVTS
+{
+  BLE_GAP_EVT_CONNECTED  = BLE_GAP_EVT_BASE,    /**< Connection established. */
+  BLE_GAP_EVT_DISCONNECTED,                     /**< Disconnected from peer. */
+  BLE_GAP_EVT_CONN_PARAM_UPDATE,                /**< Connection Parameters updated. */
+  BLE_GAP_EVT_SEC_PARAMS_REQUEST,               /**< Request to provide security parameters. */
+  BLE_GAP_EVT_SEC_INFO_REQUEST,                 /**< Request to provide security information. */
+  BLE_GAP_EVT_PASSKEY_DISPLAY,                  /**< Request to display a passkey to the user. */
+  BLE_GAP_EVT_AUTH_KEY_REQUEST,                 /**< Request to provide an authentication key. */
+  BLE_GAP_EVT_AUTH_STATUS,                      /**< Authentication procedure completed with status. */
+  BLE_GAP_EVT_CONN_SEC_UPDATE,                  /**< Connection security updated. */
+  BLE_GAP_EVT_TIMEOUT,                          /**< Timeout expired. */
+  BLE_GAP_EVT_RSSI_CHANGED,                     /**< Signal strength measurement report. */
+};
+
+
+/**
+ * @brief GAP Option IDs.
+ * IDs that uniquely identify a GAP option.
+ */
+enum BLE_GAP_OPTS
+{
+  BLE_GAP_OPT_LOCAL_CONN_LATENCY  = BLE_GAP_OPT_BASE,    /**< Local connection latency. */
+  BLE_GAP_OPT_PASSKEY,                                   /**< Set passkey to be used during pairing. This option can be used to make the SoftDevice use an application provided passkey instead of generating a random passkey.*/
+  BLE_GAP_OPT_PRIVACY,                                   /**< Set or get custom IRK or custom private address cycle interval. */
+};
+/**@} */
+
+
+/**@brief Event data for connected event. */
+typedef struct
+{
+  ble_gap_addr_t        peer_addr;              /**< Bluetooth address of the peer device. */
+  uint8_t               irk_match :1;           /**< If 1, peer device's address resolved using an IRK. */
+  uint8_t               irk_match_idx  :7;      /**< Index in IRK list where the address was matched. */
+  ble_gap_conn_params_t conn_params;            /**< GAP Connection Parameters. */
+} ble_gap_evt_connected_t;
+
+
+/**@brief Event data for disconnected event. */
+typedef struct
+{
+  uint8_t reason;                               /**< HCI error code. */
+} ble_gap_evt_disconnected_t;
+
+
+/**@brief Event data for connection parameter update event. */
+typedef struct
+{
+  ble_gap_conn_params_t conn_params;            /**<  GAP Connection Parameters. */
+} ble_gap_evt_conn_param_update_t;
+
+
+/**@brief Event data for security parameters request event. */
+typedef struct
+{
+  ble_gap_sec_params_t peer_params;             /**< Initiator Security Parameters. */
+} ble_gap_evt_sec_params_request_t;
+
+
+/**@brief Event data for security info request event. */
+typedef struct
+{
+  ble_gap_addr_t peer_addr;                     /**< Bluetooth address of the peer device. */
+  uint16_t       div;                           /**< Encryption diversifier for LTK lookup. */
+  uint8_t        enc_info  : 1;                 /**< If 1, Encryption Information required. */
+  uint8_t        id_info   : 1;                 /**< If 1, Identity Information required. */
+  uint8_t        sign_info : 1;                 /**< If 1, Signing Information required. */
+} ble_gap_evt_sec_info_request_t;
+
+
+/**@brief Event data for passkey display event. */
+typedef struct
+{
+  uint8_t passkey[BLE_GAP_PASSKEY_LEN];         /**< 6-digit passkey in ASCII ('0'-'9' digits only). */
+} ble_gap_evt_passkey_display_t;
+
+
+/**@brief Event data for authentication key request event. */
+typedef struct
+{
+  uint8_t key_type;                             /**< See @ref BLE_GAP_AUTH_KEY_TYPES. */
+} ble_gap_evt_auth_key_request_t;
+
+
+/**@brief Security levels supported.
+ * @note See Bluetooth Specification Version 4.1 Volume 3, Part C, Chapter 10.
+*/
+typedef struct
+{
+  uint8_t lv1 : 1;                              /**< If 1: Level 1 is supported. */
+  uint8_t lv2 : 1;                              /**< If 1: Level 2 is supported. */
+  uint8_t lv3 : 1;                              /**< If 1: Level 3 is supported. */
+} ble_gap_sec_levels_t;
+
+
+/**@brief Keys that have been exchanged. */
+typedef struct
+{
+  uint8_t ltk       : 1;                        /**< Long Term Key. */
+  uint8_t ediv_rand : 1;                        /**< Encrypted Diversifier and Random value. */
+  uint8_t irk       : 1;                        /**< Identity Resolving Key. */
+  uint8_t address   : 1;                        /**< Public or static random address. */
+  uint8_t csrk      : 1;                        /**< Connection Signature Resolving Key. */
+} ble_gap_sec_keys_t;
+
+
+/**@brief Event data for authentication status event. */
+typedef struct
+{
+  uint8_t               auth_status;            /**< Authentication status, see @ref BLE_GAP_SEC_STATUS. */
+  uint8_t               error_src;              /**< On error, source that caused the failure, see @ref BLE_GAP_SEC_STATUS_SOURCES. */
+  ble_gap_sec_levels_t  sm1_levels;             /**< Levels supported in Security Mode 1. */
+  ble_gap_sec_levels_t  sm2_levels;             /**< Levels supported in Security Mode 2. */
+  ble_gap_sec_keys_t    periph_kex;             /**< Bitmap stating which keys were exchanged (distributed) by the peripheral. */
+  ble_gap_sec_keys_t    central_kex;            /**< Bitmap stating which keys were exchanged (distributed) by the central. */
+  struct periph_keys_t
+  {
+    ble_gap_enc_info_t    enc_info;             /**< Peripheral's Encryption information. */
+  } periph_keys;                                /**< Actual keys distributed from the Peripheral to the Central. */ 
+  struct central_keys_t
+  {
+    ble_gap_irk_t         irk;                  /**< Central's IRK. */
+    ble_gap_addr_t        id_info;              /**< Central's Identity Info. */
+  } central_keys;                               /**< Actual keys distributed from the Central to the Peripheral. */
+} ble_gap_evt_auth_status_t;
+
+
+/**@brief Event data for connection security update event. */
+typedef struct
+{
+  ble_gap_conn_sec_t conn_sec;                  /**< Connection security level. */
+} ble_gap_evt_conn_sec_update_t;
+
+
+/**@brief Event data for timeout event. */
+typedef struct
+{
+  uint8_t src;                                  /**< Source of timeout event, see @ref BLE_GAP_TIMEOUT_SOURCES. */
+} ble_gap_evt_timeout_t;
+
+
+/**@brief Event data for advertisement report event. */
+typedef struct
+{
+  int8_t  rssi;                               /**< Received Signal Strength Indication in dBm. */
+} ble_gap_evt_rssi_changed_t;
+
+
+/**@brief GAP event callback event structure. */
+typedef struct
+{
+  uint16_t conn_handle;                                     /**< Connection Handle on which event occured. */
+  union                                                     /**< union alternative identified by evt_id in enclosing struct. */
+  {
+    ble_gap_evt_connected_t          connected;             /**< Connected Event Parameters. */
+    ble_gap_evt_disconnected_t       disconnected;          /**< Disconnected Event Parameters. */
+    ble_gap_evt_conn_param_update_t  conn_param_update;     /**< Connection Parameter Update Parameters. */
+    ble_gap_evt_sec_params_request_t sec_params_request;    /**< Security Parameters Request Event Parameters. */
+    ble_gap_evt_sec_info_request_t   sec_info_request;      /**< Security Information Request Event Parameters. */
+    ble_gap_evt_passkey_display_t    passkey_display;       /**< Passkey Display Event Parameters. */
+    ble_gap_evt_auth_key_request_t   auth_key_request;      /**< Authentication Key Request Event Parameters. */
+    ble_gap_evt_auth_status_t        auth_status;           /**< Authentication Status Event Parameters. */
+    ble_gap_evt_conn_sec_update_t    conn_sec_update;       /**< Connection Security Update Event Parameters. */
+    ble_gap_evt_timeout_t            timeout;               /**< Timeout Event Parameters. */
+    ble_gap_evt_rssi_changed_t       rssi_changed;          /**< RSSI Event parameters. */
+  } params;
+
+} ble_gap_evt_t;
+
+
+/**@brief Local connection latency option.
+ *
+ *         Local connection latency is a feature which enables the slave to improve
+ *         current consumption by ignoring the slave latency set by the peer. The
+ *         local connection latency can only be set to a multiple of the slave latency,
+ *         and cannot be longer than half of the supervision timeout.
+ *
+ *         Used with @ref sd_ble_opt_set to set the local connection latency. The
+ *         @ref sd_ble_opt_get is not supported for this option, but the actual 
+ *         local connection latency (unless set to NULL) is set as a return parameter
+ *         when setting the option.
+ *
+ *  @note  The latency set will be truncated down to the closest slave latency event
+ *         multiple, or the nearest multiple before half of the supervision timeout.
+ *
+ *  @note  The local connection latency is default off, and needs to be set for new
+ *         connections and whenever the connection is updated.
+ *
+ *  @retval ::NRF_SUCCESS Set successfully.
+ *  @retval ::NRF_ERROR_NOT_SUPPORTED Get is not supported.
+ *  @retval ::BLE_ERROR_INVALID_CONN_HANDLE Invalid connection handle parameter.
+ */
+typedef struct
+{
+  uint16_t   conn_handle;                       /**< Connection Handle */
+  uint16_t   requested_latency;                 /**< Requested local connection latency. */
+  uint16_t * p_actual_latency;                  /**< Pointer to storage for the actual local connection latency (can be set to NULL to skip return value). */
+} ble_gap_opt_local_conn_latency_t;
+
+
+/**@brief Passkey Option.
+ *
+ *        Structure containing the passkey to be used during pairing. This can be used with @ref
+ *        sd_ble_opt_set to make the SoftDevice use a pre-programmed passkey for authentication
+ *        instead of generating a random one.
+ *
+ * @note  @ref sd_ble_opt_get is not supported for this option.
+ *
+ */
+typedef struct
+{
+  uint8_t * p_passkey;                          /**< Pointer to 6-digit ASCII string (digit 0..9 only, no NULL termination) passkey to be used during pairing. If this is NULL, the SoftDevice will generate a random passkey if required.*/
+} ble_gap_opt_passkey_t;
+
+
+/**@brief Custom Privacy Options.
+ *
+ * @note The specified address cycle interval is used when the address cycle mode is
+ * @ref BLE_GAP_ADDR_CYCLE_MODE_AUTO. If 0 is given, the address will not be refreshed at any
+ * interval, and not at start of advertising. A new address can be generated manually by calling
+ * @ref sd_ble_gap_address_set with the same type again. The default interval is
+ * @ref BLE_GAP_DEFAULT_PRIVATE_ADDR_CYCLE_INTERVAL_S.
+ *
+ * @note If cycle mode is @ref BLE_GAP_ADDR_CYCLE_MODE_AUTO, the address will immediately be
+ * refreshed when this option is set.
+ */
+typedef struct
+{
+  ble_gap_irk_t * p_irk;        /**< When input: Pointer to custom IRK, or NULL to use/reset to the device's default IRK. When output: Pointer to where the current IRK is to be stored, or NULL to not read out the IRK. */
+  uint16_t        interval_s;   /**< When input: Custom private address cycle interval in seconds. When output: The current private address cycle interval. */
+} ble_gap_opt_privacy_t;
+
+
+/**@brief Option structure for GAP options. */
+typedef union
+{
+  ble_gap_opt_local_conn_latency_t local_conn_latency;  /**< Local connection latency. */
+  ble_gap_opt_passkey_t            passkey;             /**< Passkey to be used for pairing.*/
+  ble_gap_opt_privacy_t            privacy;             /**< Custom privacy options. */
+} ble_gap_opt_t;
+/**@} */
+
+
+/**@addtogroup BLE_GAP_FUNCTIONS Functions
+ * @{ */
+
+/**@brief Set local Bluetooth address.
+ *
+ * If the address cycle mode is @ref BLE_GAP_ADDR_CYCLE_MODE_AUTO, the address type is required to
+ * be @ref BLE_GAP_ADDR_TYPE_RANDOM_PRIVATE_RESOLVABLE or
+ * @ref BLE_GAP_ADDR_TYPE_RANDOM_PRIVATE_NON_RESOLVABLE. The given address is ignored and the
+ * SoftDevice will generate a new private address automatically every time advertising is
+ * (re)started, and every @ref BLE_GAP_DEFAULT_PRIVATE_ADDR_CYCLE_INTERVAL_S seconds. If this API
+ * call is used again with the same parameters while advertising, the SoftDevice will immediately
+ * generate a new private address to replace the current address.
+ *
+ * If the application wishes to use a @ref BLE_GAP_ADDR_TYPE_PUBLIC or
+ * @ref BLE_GAP_ADDR_TYPE_RANDOM_STATIC address, the cycle mode must be
+ * @ref BLE_GAP_ADDR_CYCLE_MODE_NONE.
+ *
+ * If this API function is called while advertising, the softdevice will immediately update the
+ * advertising address without the need to stop advertising in the following cases:
+ *   - If the previously set address is of type @ref BLE_GAP_ADDR_TYPE_PUBLIC and the new address
+ *   is also of type @ref BLE_GAP_ADDR_TYPE_PUBLIC
+ *   - If the previously set address is not @ref BLE_GAP_ADDR_TYPE_PUBLIC and the new address is
+ *   also not @ref BLE_GAP_ADDR_TYPE_PUBLIC.
+ *
+ * If the address is changed from a @ref BLE_GAP_ADDR_TYPE_PUBLIC address to another type or from
+ * another type to a @ref BLE_GAP_ADDR_TYPE_PUBLIC address, the change will take effect the next
+ * time advertising is started.
+ *
+ * @note If the address cycle mode is @ref BLE_GAP_ADDR_CYCLE_MODE_NONE and the application is
+ *       using privacy, the application must take care to generate and set new private addresses
+ *       periodically to comply with the Privacy specification in Bluetooth Core Spec.
+ *
+ * @param[in] addr_cycle_mode Address cycle mode, see @ref BLE_GAP_ADDR_CYCLE_MODES.
+ * @param[in] p_addr          Pointer to address structure.
+ *
+ * @return @ref NRF_SUCCESS Address successfully set.
+ * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
+ * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameters.
+ * @return @ref BLE_ERROR_GAP_INVALID_BLE_ADDR Invalid address.
+ * @return @ref NRF_ERROR_BUSY The stack is busy, process pending events and retry.
+ */
+SVCALL(SD_BLE_GAP_ADDRESS_SET, uint32_t, sd_ble_gap_address_set(uint8_t addr_cycle_mode, ble_gap_addr_t const * const p_addr));
+
+
+/**@brief Get local Bluetooth address.
+ *
+ * @param[out] p_addr Pointer to address structure.
+ *
+ * @return @ref NRF_SUCCESS Address successfully retrieved.
+ * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
+ */
+SVCALL(SD_BLE_GAP_ADDRESS_GET, uint32_t, sd_ble_gap_address_get(ble_gap_addr_t * const p_addr));
+
+
+/**@brief Set, clear or update advertisement and scan response data.
+ *
+ * @note The format of the advertisement data will be checked by this call to ensure interoperability.
+ *       Limitations imposed by this API call to the data provided include having a flags data type in the scan response data and
+ *       duplicating the local name in the advertisement data and scan response data. 
+ *
+ * @note: To clear the advertisement data and set it to a 0-length packet, simply provide a valid pointer (p_data/p_sr_data) with its corresponding 
+ *        length (dlen/srdlen) set to 0.
+ *
+ * @note: The call will fail if p_data and p_sr_data are both NULL since this would have no effect.
+ *
+ * @param[in] p_data    Raw data to be placed in advertisement packet. If NULL, no changes are made to the current advertisement packet data.
+ * @param[in] dlen      Data length for p_data. Max size: @ref BLE_GAP_ADV_MAX_SIZE octets. Should be 0 if p_data is NULL, can be 0 if p_data is not NULL.
+ * @param[in] p_sr_data Raw data to be placed in scan response packet. If NULL, no changes are made to the current scan response packet data.
+ * @param[in] srdlen    Data length for p_sr_data. Max size: @ref BLE_GAP_ADV_MAX_SIZE octets. Should be 0 if p_sr_data is NULL, can be 0 if p_data is not NULL.
+ *
+ * @return @ref NRF_SUCCESS Advertisement data successfully updated or cleared.
+ * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
+ * @return @ref NRF_ERROR_INVALID_FLAGS Invalid combination of advertising flags supplied.
+ * @return @ref NRF_ERROR_INVALID_DATA Invalid data type(s) supplied, check the advertising data format specification.
+ * @return @ref NRF_ERROR_INVALID_LENGTH Invalid data length(s) supplied.
+ * @return @ref BLE_ERROR_GAP_UUID_LIST_MISMATCH Invalid UUID list supplied.
+ * @return @ref NRF_ERROR_BUSY The stack is busy, process pending events and retry.
+ */
+SVCALL(SD_BLE_GAP_ADV_DATA_SET, uint32_t, sd_ble_gap_adv_data_set(uint8_t const * const p_data, uint8_t dlen, uint8_t const * const p_sr_data, uint8_t srdlen));
+
+
+/**@brief Start advertising (GAP Discoverable, Connectable modes, Broadcast Procedure).
+ *
+ * @param[in] p_adv_params Pointer to advertising parameters structure.
+ *
+ * @return @ref NRF_SUCCESS The BLE stack has started advertising.
+ * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
+ * @return @ref NRF_ERROR_INVALID_STATE Invalid state to perform operation.
+ * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied, check the accepted ranges and limits.
+ * @return @ref BLE_ERROR_GAP_INVALID_BLE_ADDR Invalid Bluetooth address supplied.
+ * @return @ref BLE_ERROR_GAP_DISCOVERABLE_WITH_WHITELIST Discoverable mode and whitelist incompatible.
+ */
+SVCALL(SD_BLE_GAP_ADV_START, uint32_t, sd_ble_gap_adv_start(ble_gap_adv_params_t const * const p_adv_params));
+
+
+/**@brief Stop advertising (GAP Discoverable, Connectable modes, Broadcast Procedure).
+ *
+ * @return @ref NRF_SUCCESS The BLE stack has stopped advertising.
+ * @return @ref NRF_ERROR_INVALID_STATE Invalid state to perform operation (most probably not in advertising state).
+ */
+SVCALL(SD_BLE_GAP_ADV_STOP, uint32_t, sd_ble_gap_adv_stop(void));
+
+
+/**@brief Update connection parameters.
+ *
+ * @details In the central role this will initiate a Link Layer connection parameter update procedure,
+ *          otherwise in the peripheral role, this will send the corresponding L2CAP request and wait for
+ *          the central to perform the procedure. In both cases, and regardless of success or failure, the application
+ *          will be informed of the result with a @ref BLE_GAP_EVT_CONN_PARAM_UPDATE event.
+ *
+ * @note If both a connection supervision timeout and a maximum connection interval are specified, then the following constraint
+ *       applies: (conn_sup_timeout * 8) >= (max_conn_interval * (slave_latency + 1))
+ *
+ * @param[in] conn_handle Connection handle.
+ * @param[in] p_conn_params  Pointer to desired connection parameters. If NULL is provided on a peripheral role,
+ *                           the parameters in the PPCP characteristic of the GAP service will be used instead.
+ *
+ * @return @ref NRF_SUCCESS The Connection Update procedure has been started successfully.
+ * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
+ * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied, check parameter limits and constraints.
+ * @return @ref NRF_ERROR_BUSY Procedure already in progress or not allowed at this time, process pending events and retry.
+ * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid connection handle supplied.
+ * @return @ref NRF_ERROR_NO_MEM Not enough memory to complete operation.
+ */
+SVCALL(SD_BLE_GAP_CONN_PARAM_UPDATE, uint32_t, sd_ble_gap_conn_param_update(uint16_t conn_handle, ble_gap_conn_params_t const * const p_conn_params));
+
+
+/**@brief Disconnect (GAP Link Termination).
+ *
+ * @details This call initiates the disconnection procedure, and its completion will be communicated to the application
+ *          with a BLE_GAP_EVT_DISCONNECTED event.
+ *
+ * @param[in] conn_handle Connection handle.
+ * @param[in] hci_status_code HCI status code, see @ref BLE_HCI_STATUS_CODES (accepted values are BTLE_REMOTE_USER_TERMINATED_CONNECTION and BTLE_CONN_INTERVAL_UNACCEPTABLE).
+ *
+ * @return @ref NRF_SUCCESS The disconnection procedure has been started successfully.
+ * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied.
+ * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid connection handle supplied.
+ * @return @ref NRF_ERROR_INVALID_STATE Invalid state to perform operation (disconnection is already in progress or not connected at all).
+ */
+SVCALL(SD_BLE_GAP_DISCONNECT, uint32_t, sd_ble_gap_disconnect(uint16_t conn_handle, uint8_t hci_status_code));
+
+
+/**@brief Set the radio's transmit power.
+ *
+ * @param[in] tx_power Radio transmit power in dBm (accepted values are -40, -30, -20, -16, -12, -8, -4, 0, and 4 dBm).
+ *
+ * @note -40 dBm will not actually give -40 dBm, but will instead be remapped to -30 dBm.
+ *
+ * @return @ref NRF_SUCCESS Successfully changed the transmit power.
+ * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied.
+ * @return @ref NRF_ERROR_BUSY The stack is busy, process pending events and retry.
+ */
+SVCALL(SD_BLE_GAP_TX_POWER_SET, uint32_t, sd_ble_gap_tx_power_set(int8_t tx_power));
+
+
+/**@brief Set GAP Appearance value.
+ *
+ * @param[in] appearance Appearance (16-bit), see @ref BLE_APPEARANCES.
+ *
+ * @return @ref NRF_SUCCESS  Appearance value set successfully.
+ * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied.
+ */
+SVCALL(SD_BLE_GAP_APPEARANCE_SET, uint32_t, sd_ble_gap_appearance_set(uint16_t appearance));
+
+
+/**@brief Get GAP Appearance value.
+ *
+ * @param[out] p_appearance Appearance (16-bit), see @ref BLE_APPEARANCES.
+ *
+ * @return @ref NRF_SUCCESS Appearance value retrieved successfully.
+ * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
+ */
+SVCALL(SD_BLE_GAP_APPEARANCE_GET, uint32_t, sd_ble_gap_appearance_get(uint16_t * const p_appearance));
+
+
+/**@brief Set GAP Peripheral Preferred Connection Parameters.
+ *
+ * @param[in] p_conn_params Pointer to a @ref ble_gap_conn_params_t structure with the desired parameters.
+ *
+ * @return @ref NRF_SUCCESS Peripheral Preferred Connection Parameters set successfully.
+ * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
+ * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied.
+ */
+SVCALL(SD_BLE_GAP_PPCP_SET, uint32_t, sd_ble_gap_ppcp_set(ble_gap_conn_params_t const * const p_conn_params));
+
+
+/**@brief Get GAP Peripheral Preferred Connection Parameters.
+ *
+ * @param[out] p_conn_params Pointer to a @ref ble_gap_conn_params_t structure where the parameters will be stored.
+ *
+ * @return @ref NRF_SUCCESS Peripheral Preferred Connection Parameters retrieved successfully.
+ * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
+ */
+SVCALL(SD_BLE_GAP_PPCP_GET, uint32_t, sd_ble_gap_ppcp_get(ble_gap_conn_params_t * const p_conn_params));
+
+
+/**@brief Set GAP device name.
+ *
+ * @param[in] p_write_perm Write permissions for the Device Name characteristic see @ref ble_gap_conn_sec_mode_t.
+ * @param[in] p_dev_name Pointer to a UTF-8 encoded, <b>non NULL-terminated</b> string.
+ * @param[in] len   Length of the UTF-8, <b>non NULL-terminated</b> string pointed to by p_dev_name in octets (must be smaller or equal than @ref BLE_GAP_DEVNAME_MAX_LEN).
+ *
+ * @return @ref NRF_SUCCESS GAP device name and permissions set successfully.
+ * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
+ * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied.
+ * @return @ref NRF_ERROR_DATA_SIZE Invalid data size(s) supplied.
+ */
+SVCALL(SD_BLE_GAP_DEVICE_NAME_SET, uint32_t, sd_ble_gap_device_name_set(ble_gap_conn_sec_mode_t const * const p_write_perm, uint8_t const * const p_dev_name, uint16_t len));
+
+
+/**@brief Get GAP device name.
+ *
+ * @param[in]     p_dev_name Pointer to an empty buffer where the UTF-8 <b>non NULL-terminated</b> string will be placed. Set to NULL to obtain the complete device name length.
+ * @param[in,out] p_len      Length of the buffer pointed by p_dev_name, complete device name length on output.
+ *
+ * @note          If the device name is longer than the size of the supplied buffer,
+ *                p_len will return the complete device name length,
+ *                and not the number of bytes actually returned in p_dev_name.
+ *                The application may use this information to allocate a suitable buffer size.
+ *
+ * @return @ref NRF_SUCCESS GAP device name retrieved successfully.
+ * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
+ * @return @ref NRF_ERROR_DATA_SIZE Invalid data size(s) supplied.
+ */
+SVCALL(SD_BLE_GAP_DEVICE_NAME_GET, uint32_t, sd_ble_gap_device_name_get(uint8_t * const p_dev_name, uint16_t * const p_len));
+
+
+/**@brief Initiate GAP Authentication procedure.
+ *
+ * @param[in] conn_handle Connection handle.
+ * @param[in] p_sec_params Pointer to the @ref ble_gap_sec_params_t structure with the security parameters to be used during the pairing procedure.
+ *
+ * @details In the central role, this function will send an SMP Pairing Request, otherwise in the peripheral role, an SMP Security Request will be sent.
+ *          In the peripheral role, only the timeout, bond and mitm fields of @ref ble_gap_sec_params_t are used.
+ *
+ * @note    The GAP Authentication procedure may be triggered by the central without calling this function when accessing a secure service.
+ * @note    Calling this function may result in the following events depending on the outcome and parameters: @ref BLE_GAP_EVT_SEC_PARAMS_REQUEST,
+ *          @ref BLE_GAP_EVT_SEC_INFO_REQUEST, @ref BLE_GAP_EVT_AUTH_KEY_REQUEST, @ref BLE_GAP_EVT_AUTH_STATUS.
+ * @note    The timeout parameter in @ref ble_gap_sec_params_t is interpreted here as the Security Request timeout
+ *
+ *
+ * @return @ref NRF_SUCCESS Successfully initiated authentication procedure.
+ * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
+ * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied.
+ * @return @ref NRF_ERROR_INVALID_STATE Invalid state to perform operation.
+ * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid connection handle supplied.
+ */
+SVCALL(SD_BLE_GAP_AUTHENTICATE, uint32_t, sd_ble_gap_authenticate(uint16_t conn_handle, ble_gap_sec_params_t const * const p_sec_params));
+
+
+/**@brief Reply with GAP security parameters.
+ *
+ * @param[in] conn_handle Connection handle.
+ * @param[in] sec_status Security status, see @ref BLE_GAP_SEC_STATUS.
+ * @param[in] p_sec_params Pointer to a @ref ble_gap_sec_params_t security parameters structure.
+ *
+ * @details This function is only used to reply to a @ref BLE_GAP_EVT_SEC_PARAMS_REQUEST, calling it at other times will result in an NRF_ERROR_INVALID_STATE.
+ * @note    If the call returns an error code, the request is still pending, and the reply call may be repeated with corrected parameters.
+ * @note    The timeout parameter in @ref ble_gap_sec_params_t is interpreted here as the SMP procedure timeout, and must be 30 seconds. The function will fail
+ *          if the application supplies a different value.
+ *
+ * @return @ref NRF_SUCCESS Successfully accepted security parameter from the application.
+ * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
+ * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied.
+ * @return @ref NRF_ERROR_INVALID_STATE Invalid state to perform operation.
+ * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid connection handle supplied.
+ */
+SVCALL(SD_BLE_GAP_SEC_PARAMS_REPLY, uint32_t, sd_ble_gap_sec_params_reply(uint16_t conn_handle, uint8_t sec_status, ble_gap_sec_params_t const * const p_sec_params));
+
+
+/**@brief Reply with an authentication key.
+ *
+ * @param[in] conn_handle Connection handle.
+ * @param[in] key_type See @ref BLE_GAP_AUTH_KEY_TYPES.
+ * @param[in] key If key type is BLE_GAP_AUTH_KEY_TYPE_NONE, then NULL.
+ *                If key type is BLE_GAP_AUTH_KEY_TYPE_PASSKEY, then a 6-byte ASCII string (digit 0..9 only, no NULL termination).
+ *                If key type is BLE_GAP_AUTH_KEY_TYPE_OOB, then a 16-byte OOB key value in Little Endian format.
+ *
+ * @details This function is only used to reply to a @ref BLE_GAP_EVT_AUTH_KEY_REQUEST, calling it at other times will result in an NRF_ERROR_INVALID_STATE.
+ * @note    If the call returns an error code, the request is still pending, and the reply call may be repeated with corrected parameters.
+ *
+ * @return @ref NRF_SUCCESS Authentication key successfully set.
+ * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
+ * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied.
+ * @return @ref NRF_ERROR_INVALID_STATE Invalid state to perform operation.
+ * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid connection handle supplied.
+ */
+SVCALL(SD_BLE_GAP_AUTH_KEY_REPLY, uint32_t, sd_ble_gap_auth_key_reply(uint16_t conn_handle, uint8_t key_type, uint8_t const * const key));
+
+
+/**@brief Reply with GAP security information.
+ *
+ * @param[in] conn_handle Connection handle.
+ * @param[in] p_enc_info Pointer to a @ref ble_gap_enc_info_t encryption information structure. May be NULL to signal none is available.
+ * @param[in] p_sign_info Pointer to a @ref ble_gap_sign_info_t signing information structure. May be NULL to signal none is available.
+ *
+ * @details This function is only used to reply to a @ref BLE_GAP_EVT_SEC_INFO_REQUEST, calling it at other times will result in NRF_ERROR_INVALID_STATE.
+ * @note    If the call returns an error code, the request is still pending, and the reply call may be repeated with corrected parameters.
+ * @note    Data signing is not implemented yet. p_sign_info must therefore be NULL.
+ *
+ * @return @ref NRF_SUCCESS Successfully accepted security information.
+ * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied.
+ * @return @ref NRF_ERROR_INVALID_STATE Invalid state to perform operation.
+ * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid connection handle supplied.
+ * @return @ref NRF_ERROR_BUSY The stack is busy, process pending events and retry.
+ */
+SVCALL(SD_BLE_GAP_SEC_INFO_REPLY, uint32_t, sd_ble_gap_sec_info_reply(uint16_t conn_handle, ble_gap_enc_info_t const * const p_enc_info, ble_gap_sign_info_t const * const p_sign_info));
+
+
+/**@brief Get the current connection security.
+ *
+ * @param[in]  conn_handle Connection handle.
+ * @param[out] p_conn_sec  Pointer to a @ref ble_gap_conn_sec_t structure to be filled in.
+ *
+ * @return @ref NRF_SUCCESS Current connection security successfully retrieved.
+ * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
+ * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid connection handle supplied.
+ */
+SVCALL(SD_BLE_GAP_CONN_SEC_GET, uint32_t, sd_ble_gap_conn_sec_get(uint16_t conn_handle, ble_gap_conn_sec_t * const p_conn_sec));
+
+
+/**@brief Start reporting the received signal strength to the application. 
+ *
+ * A new event is reported whenever the RSSI value changes, until @ref sd_ble_gap_rssi_stop is called.
+ *
+ * @param[in] conn_handle Connection handle.
+ *
+ * @return @ref NRF_SUCCESS Successfully activated RSSI reporting.
+ * @return @ref NRF_ERROR_INVALID_STATE Invalid state to perform operation.
+ * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid connection handle supplied.
+ */
+SVCALL(SD_BLE_GAP_RSSI_START, uint32_t, sd_ble_gap_rssi_start(uint16_t conn_handle));
+
+
+/**@brief Stop reporting the received singnal strength. 
+ *
+ * An RSSI change detected before the call but not yet received by the application 
+ * may be reported after @ref sd_ble_gap_rssi_stop has been called.
+ *
+ * @param[in] conn_handle Connection handle.
+ *
+ * @return @ref NRF_SUCCESS Successfully deactivated RSSI reporting.
+ * @return @ref NRF_ERROR_INVALID_STATE Invalid state to perform operation.
+ * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid connection handle supplied.
+ */
+SVCALL(SD_BLE_GAP_RSSI_STOP, uint32_t, sd_ble_gap_rssi_stop(uint16_t conn_handle));
+/**@} */
+
+#endif // BLE_GAP_H__
+
+/**
+  @}
+*/
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TARGET_ARCH_BLE/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/ble_gatt.h	Fri Aug 15 15:28:31 2014 +0100
@@ -0,0 +1,171 @@
+/* Copyright (c) 2012 Nordic Semiconductor. All Rights Reserved.
+ *
+ * The information contained herein is confidential property of Nordic Semiconductor. The use,
+ * copying, transfer or disclosure of such information is prohibited except by express written
+ * agreement with Nordic Semiconductor.
+ *
+ */
+ /**
+  @addtogroup BLE_GATT Generic Attribute Profile (GATT) Common
+  @{
+  @brief  Common definitions and prototypes for the GATT interfaces.
+ */
+
+#ifndef BLE_GATT_H__
+#define BLE_GATT_H__
+
+#include "ble_types.h"
+#include "ble_ranges.h"
+
+
+/** @addtogroup BLE_GATT_DEFINES Defines
+ * @{ */
+
+/** @brief Default MTU size. */
+#define GATT_MTU_SIZE_DEFAULT 23
+
+/** @brief Only the default MTU size of 23 is currently supported. */
+#define GATT_RX_MTU 23
+
+
+/**@brief Invalid Attribute Handle. */
+#define BLE_GATT_HANDLE_INVALID            0x0000
+
+/** @defgroup BLE_GATT_TIMEOUT_SOURCES GATT Timeout sources
+ * @{ */
+#define BLE_GATT_TIMEOUT_SRC_PROTOCOL                  0x00 /**< ATT Protocol timeout. */
+/** @} */
+
+/** @defgroup BLE_GATT_WRITE_OPS GATT Write operations
+ * @{ */
+#define BLE_GATT_OP_INVALID                0x00  /**< Invalid Operation. */
+#define BLE_GATT_OP_WRITE_REQ              0x01  /**< Write Request. */
+#define BLE_GATT_OP_WRITE_CMD              0x02  /**< Write Command. */
+#define BLE_GATT_OP_SIGN_WRITE_CMD         0x03  /**< Signed Write Command. */
+#define BLE_GATT_OP_PREP_WRITE_REQ         0x04  /**< Prepare Write Request. */
+#define BLE_GATT_OP_EXEC_WRITE_REQ         0x05  /**< Execute Write Request. */
+/** @} */
+
+/** @defgroup BLE_GATT_EXEC_WRITE_FLAGS GATT Execute Write flags
+ * @{ */
+#define BLE_GATT_EXEC_WRITE_FLAG_PREPARED_CANCEL 0x00
+#define BLE_GATT_EXEC_WRITE_FLAG_PREPARED_WRITE  0x01
+/** @} */
+
+/** @defgroup BLE_GATT_HVX_TYPES GATT Handle Value operations
+ * @{ */
+#define BLE_GATT_HVX_INVALID               0x00  /**< Invalid Operation. */
+#define BLE_GATT_HVX_NOTIFICATION          0x01  /**< Handle Value Notification. */
+#define BLE_GATT_HVX_INDICATION            0x02  /**< Handle Value Indication. */
+/** @} */
+
+/** @defgroup BLE_GATT_STATUS_CODES GATT Status Codes
+ * @{ */
+#define BLE_GATT_STATUS_SUCCESS                           0x0000  /**< Success. */
+#define BLE_GATT_STATUS_UNKNOWN                           0x0001  /**< Unknown or not applicable status. */
+#define BLE_GATT_STATUS_ATTERR_INVALID                    0x0100  /**< ATT Error: Invalid Error Code. */
+#define BLE_GATT_STATUS_ATTERR_INVALID_HANDLE             0x0101  /**< ATT Error: Invalid Attribute Handle. */
+#define BLE_GATT_STATUS_ATTERR_READ_NOT_PERMITTED         0x0102  /**< ATT Error: Read not permitted. */
+#define BLE_GATT_STATUS_ATTERR_WRITE_NOT_PERMITTED        0x0103  /**< ATT Error: Write not permitted. */
+#define BLE_GATT_STATUS_ATTERR_INVALID_PDU                0x0104  /**< ATT Error: Used in ATT as Invalid PDU. */
+#define BLE_GATT_STATUS_ATTERR_INSUF_AUTHENTICATION       0x0105  /**< ATT Error: Authenticated link required. */
+#define BLE_GATT_STATUS_ATTERR_REQUEST_NOT_SUPPORTED      0x0106  /**< ATT Error: Used in ATT as Request Not Supported. */
+#define BLE_GATT_STATUS_ATTERR_INVALID_OFFSET             0x0107  /**< ATT Error: Offset specified was past the end of the attribute. */
+#define BLE_GATT_STATUS_ATTERR_INSUF_AUTHORIZATION        0x0108  /**< ATT Error: Used in ATT as Insufficient Authorisation. */
+#define BLE_GATT_STATUS_ATTERR_PREPARE_QUEUE_FULL         0x0109  /**< ATT Error: Used in ATT as Prepare Queue Full. */
+#define BLE_GATT_STATUS_ATTERR_ATTRIBUTE_NOT_FOUND        0x010A  /**< ATT Error: Used in ATT as Attribute not found. */
+#define BLE_GATT_STATUS_ATTERR_ATTRIBUTE_NOT_LONG         0x010B  /**< ATT Error: Attribute cannot be read or written using read/write blob requests. */
+#define BLE_GATT_STATUS_ATTERR_INSUF_ENC_KEY_SIZE         0x010C  /**< ATT Error: Encryption key size used is insufficient. */
+#define BLE_GATT_STATUS_ATTERR_INVALID_ATT_VAL_LENGTH     0x010D  /**< ATT Error: Invalid value size. */
+#define BLE_GATT_STATUS_ATTERR_UNLIKELY_ERROR             0x010E  /**< ATT Error: Very unlikely error. */
+#define BLE_GATT_STATUS_ATTERR_INSUF_ENCRYPTION           0x010F  /**< ATT Error: Encrypted link required. */
+#define BLE_GATT_STATUS_ATTERR_UNSUPPORTED_GROUP_TYPE     0x0110  /**< ATT Error: Attribute type is not a supported grouping attribute. */
+#define BLE_GATT_STATUS_ATTERR_INSUF_RESOURCES            0x0111  /**< ATT Error: Encrypted link required. */
+#define BLE_GATT_STATUS_ATTERR_RFU_RANGE1_BEGIN           0x0112  /**< ATT Error: Reserved for Future Use range #1 begin. */
+#define BLE_GATT_STATUS_ATTERR_RFU_RANGE1_END             0x017F  /**< ATT Error: Reserved for Future Use range #1 end. */
+#define BLE_GATT_STATUS_ATTERR_APP_BEGIN                  0x0180  /**< ATT Error: Application range begin. */
+#define BLE_GATT_STATUS_ATTERR_APP_END                    0x019F  /**< ATT Error: Application range end. */
+#define BLE_GATT_STATUS_ATTERR_RFU_RANGE2_BEGIN           0x01A0  /**< ATT Error: Reserved for Future Use range #2 begin. */
+#define BLE_GATT_STATUS_ATTERR_RFU_RANGE2_END             0x01DF  /**< ATT Error: Reserved for Future Use range #2 end. */
+#define BLE_GATT_STATUS_ATTERR_RFU_RANGE3_BEGIN           0x01E0  /**< ATT Error: Reserved for Future Use range #3 begin. */
+#define BLE_GATT_STATUS_ATTERR_RFU_RANGE3_END             0x01FC  /**< ATT Error: Reserved for Future Use range #3 end. */
+#define BLE_GATT_STATUS_ATTERR_CPS_CCCD_CONFIG_ERROR      0x01FD  /**< ATT Common Profile and Service Error: Client Characteristic Configuration Descriptor improperly configured. */
+#define BLE_GATT_STATUS_ATTERR_CPS_PROC_ALR_IN_PROG       0x01FE  /**< ATT Common Profile and Service Error: Procedure Already in Progress. */
+#define BLE_GATT_STATUS_ATTERR_CPS_OUT_OF_RANGE           0x01FF  /**< ATT Common Profile and Service Error: Out Of Range. */
+/** @} */
+
+
+/** @defgroup BLE_GATT_CPF_FORMATS Characteristic Presentation Formats
+ *  @note Found at http://developer.bluetooth.org/gatt/descriptors/Pages/DescriptorViewer.aspx?u=org.bluetooth.descriptor.gatt.characteristic_presentation_format.xml
+ * @{ */
+#define BLE_GATT_CPF_FORMAT_RFU                 0x00 /**< Reserved For Future Use. */
+#define BLE_GATT_CPF_FORMAT_BOOLEAN             0x01 /**< Boolean. */
+#define BLE_GATT_CPF_FORMAT_2BIT                0x02 /**< Unsigned 2-bit integer. */
+#define BLE_GATT_CPF_FORMAT_NIBBLE              0x03 /**< Unsigned 4-bit integer. */
+#define BLE_GATT_CPF_FORMAT_UINT8               0x04 /**< Unsigned 8-bit integer. */
+#define BLE_GATT_CPF_FORMAT_UINT12              0x05 /**< Unsigned 12-bit integer. */
+#define BLE_GATT_CPF_FORMAT_UINT16              0x06 /**< Unsigned 16-bit integer. */
+#define BLE_GATT_CPF_FORMAT_UINT24              0x07 /**< Unsigned 24-bit integer. */
+#define BLE_GATT_CPF_FORMAT_UINT32              0x08 /**< Unsigned 32-bit integer. */
+#define BLE_GATT_CPF_FORMAT_UINT48              0x09 /**< Unsigned 48-bit integer. */
+#define BLE_GATT_CPF_FORMAT_UINT64              0x0A /**< Unsigned 64-bit integer. */
+#define BLE_GATT_CPF_FORMAT_UINT128             0x0B /**< Unsigned 128-bit integer. */
+#define BLE_GATT_CPF_FORMAT_SINT8               0x0C /**< Signed 2-bit integer. */
+#define BLE_GATT_CPF_FORMAT_SINT12              0x0D /**< Signed 12-bit integer. */
+#define BLE_GATT_CPF_FORMAT_SINT16              0x0E /**< Signed 16-bit integer. */
+#define BLE_GATT_CPF_FORMAT_SINT24              0x0F /**< Signed 24-bit integer. */
+#define BLE_GATT_CPF_FORMAT_SINT32              0x10 /**< Signed 32-bit integer. */
+#define BLE_GATT_CPF_FORMAT_SINT48              0x11 /**< Signed 48-bit integer. */
+#define BLE_GATT_CPF_FORMAT_SINT64              0x12 /**< Signed 64-bit integer. */
+#define BLE_GATT_CPF_FORMAT_SINT128             0x13 /**< Signed 128-bit integer. */
+#define BLE_GATT_CPF_FORMAT_FLOAT32             0x14 /**< IEEE-754 32-bit floating point. */
+#define BLE_GATT_CPF_FORMAT_FLOAT64             0x15 /**< IEEE-754 64-bit floating point. */
+#define BLE_GATT_CPF_FORMAT_SFLOAT              0x16 /**< IEEE-11073 16-bit SFLOAT. */
+#define BLE_GATT_CPF_FORMAT_FLOAT               0x17 /**< IEEE-11073 32-bit FLOAT. */
+#define BLE_GATT_CPF_FORMAT_DUINT16             0x18 /**< IEEE-20601 format. */
+#define BLE_GATT_CPF_FORMAT_UTF8S               0x19 /**< UTF-8 string. */
+#define BLE_GATT_CPF_FORMAT_UTF16S              0x1A /**< UTF-16 string. */
+#define BLE_GATT_CPF_FORMAT_STRUCT              0x1B /**< Opaque Structure. */
+/** @} */
+
+/** @defgroup BLE_GATT_CPF_NAMESPACES GATT Bluetooth Namespaces
+ * @{
+ */
+#define BLE_GATT_CPF_NAMESPACE_BTSIG            0x01
+#define BLE_GATT_CPF_NAMESPACE_DESCRIPTION_UNKNOWN 0x0000
+/** @} */
+
+/** @} */
+
+/** @addtogroup BLE_GATT_STRUCTURES Structures
+ * @{ */
+
+/**@brief GATT Characteristic Properties. */
+typedef struct
+{
+  /* Standard properties */
+  uint8_t broadcast       :1; /**< Broadcasting of value permitted. */
+  uint8_t read            :1; /**< Reading value permitted. */
+  uint8_t write_wo_resp   :1; /**< Writing value with Write Command permitted. */
+  uint8_t write           :1; /**< Writing value with Write Request permitted. */
+  uint8_t notify          :1; /**< Notications of value permitted. */
+  uint8_t indicate        :1; /**< Indications of value permitted. */
+  uint8_t auth_signed_wr  :1; /**< Writing value with Signed Write Command permitted. */
+} ble_gatt_char_props_t;
+
+/**@brief GATT Characteristic Extended Properties. */
+typedef struct
+{
+  /* Extended properties */
+  uint8_t reliable_wr     :1; /**< Writing value with Queued Write Request permitted. */
+  uint8_t wr_aux          :1; /**< Writing the Characteristic User Description permitted. */
+} ble_gatt_char_ext_props_t;
+
+#endif // BLE_GATT_H__
+
+/** @} */
+
+/**
+  @}
+  @}
+*/
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TARGET_ARCH_BLE/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/ble_gattc.h	Fri Aug 15 15:28:31 2014 +0100
@@ -0,0 +1,406 @@
+/* Copyright (c) 2012 Nordic Semiconductor. All Rights Reserved.
+ *
+ * The information contained herein is confidential property of Nordic Semiconductor. The use,
+ * copying, transfer or disclosure of such information is prohibited except by express written
+ * agreement with Nordic Semiconductor.
+ *
+ */
+/**
+  @addtogroup BLE_GATTC Generic Attribute Profile (GATT) Client
+  @{
+  @brief  Definitions and prototypes for the GATT Client interface.
+ */
+
+#ifndef BLE_GATTC_H__
+#define BLE_GATTC_H__
+
+#include "ble_gatt.h"
+#include "ble_types.h"
+#include "ble_ranges.h"
+#include "nrf_svc.h"
+
+/** @addtogroup BLE_GATTC_ENUMERATIONS Enumerations
+ * @{ */
+
+/**@brief GATTC API SVC numbers. */
+enum BLE_GATTC_SVCS
+{
+  SD_BLE_GATTC_PRIMARY_SERVICES_DISCOVER = BLE_GATTC_SVC_BASE, /**< Primary Service Discovery. */
+  SD_BLE_GATTC_RELATIONSHIPS_DISCOVER,                         /**< Relationship Discovery. */
+  SD_BLE_GATTC_CHARACTERISTICS_DISCOVER,                       /**< Characteristic Discovery. */
+  SD_BLE_GATTC_DESCRIPTORS_DISCOVER,                           /**< Characteristic Descriptor Discovery. */
+  SD_BLE_GATTC_CHAR_VALUE_BY_UUID_READ,                        /**< Read Characteristic Value by UUID. */
+  SD_BLE_GATTC_READ,                                           /**< Generic read. */
+  SD_BLE_GATTC_CHAR_VALUES_READ,                               /**< Read multiple Characteristic Values. */
+  SD_BLE_GATTC_WRITE,                                          /**< Generic write. */
+  SD_BLE_GATTC_HV_CONFIRM                                      /**< Handle Value Confirmation. */
+};
+
+/** @} */
+
+/** @addtogroup BLE_GATTC_DEFINES Defines
+ * @{ */
+
+/** @defgroup BLE_ERRORS_GATTC SVC return values specific to GATTC
+ * @{ */
+#define BLE_ERROR_GATTC_PROC_NOT_PERMITTED    (NRF_GATTC_ERR_BASE + 0x000)
+/** @} */
+
+/**@brief Last Attribute Handle. */
+#define BLE_GATTC_HANDLE_END                0xFFFF
+
+/** @} */
+
+/** @addtogroup BLE_GATTC_STRUCTURES Structures
+ * @{ */
+
+/**@brief Operation Handle Range. */
+typedef struct
+{
+  uint16_t          start_handle; /**< Start Handle. */
+  uint16_t          end_handle;   /**< End Handle. */
+} ble_gattc_handle_range_t;
+
+
+/**@brief GATT service. */
+typedef struct
+{
+  ble_uuid_t               uuid;          /**< Service UUID. */
+  ble_gattc_handle_range_t handle_range;  /**< Service Handle Range. */
+} ble_gattc_service_t;
+
+
+/**@brief  GATT include. */
+typedef struct
+{
+  uint16_t            handle;           /**< Include Handle. */
+  ble_gattc_service_t included_srvc;    /**< Handle of the included service. */
+} ble_gattc_include_t;
+
+
+/**@brief GATT characteristic. */
+typedef struct
+{
+  ble_uuid_t              uuid;                 /**< Characteristic UUID. */
+  ble_gatt_char_props_t   char_props;           /**< Characteristic Properties. */
+  uint8_t                 char_ext_props : 1;   /**< Extended properties present. */
+  uint16_t                handle_decl;          /**< Handle of the Characteristic Declaration. */
+  uint16_t                handle_value;         /**< Handle of the Characteristic Value. */
+} ble_gattc_char_t;
+
+
+/**@brief GATT descriptor. */
+typedef struct
+{
+  uint16_t          handle;         /**< Descriptor Handle. */
+  ble_uuid_t        uuid;           /**< Descriptor UUID. */
+} ble_gattc_desc_t;
+
+
+/**@brief Write Parameters. */
+typedef struct
+{
+  uint8_t    write_op;                 /**< Write Operation to be performed, see @ref BLE_GATT_WRITE_OPS. */
+  uint16_t   handle;                   /**< Handle to the attribute to be written. */
+  uint16_t   offset;                   /**< Offset in bytes. @note For WRITE_CMD and WRITE_REQ, offset must be 0. */
+  uint16_t   len;                      /**< Length of data in bytes. */
+  uint8_t*   p_value;                  /**< Pointer to the value data. */
+  uint8_t    flags;                    /**< Flags, see @ref BLE_GATT_EXEC_WRITE_FLAGS. */
+} ble_gattc_write_params_t;
+
+
+/**
+ * @brief GATT Client Event IDs.
+ */
+enum BLE_GATTC_EVTS
+{
+  BLE_GATTC_EVT_PRIM_SRVC_DISC_RSP = BLE_GATTC_EVT_BASE,  /**< Primary Service Discovery Response event.  */
+  BLE_GATTC_EVT_REL_DISC_RSP,                             /**< Relationship Discovery Response event. */
+  BLE_GATTC_EVT_CHAR_DISC_RSP,                            /**< Characteristic Discovery Response event. */
+  BLE_GATTC_EVT_DESC_DISC_RSP,                            /**< Descriptor Discovery Response event. */
+  BLE_GATTC_EVT_CHAR_VAL_BY_UUID_READ_RSP,                /**< Read By UUID Response event. */
+  BLE_GATTC_EVT_READ_RSP,                                 /**< Read Response event. */
+  BLE_GATTC_EVT_CHAR_VALS_READ_RSP,                       /**< Read multiple Response event. */
+  BLE_GATTC_EVT_WRITE_RSP,                                /**< Write Response event. */
+  BLE_GATTC_EVT_HVX,                                      /**< Handle Value Notification or Indication event. */
+  BLE_GATTC_EVT_TIMEOUT                                   /**< Timeout event. */
+};
+
+/**@brief Event structure for BLE_GATTC_EVT_PRIM_SRVC_DISC_RSP. */
+typedef struct
+{
+  uint16_t             count;           /**< Service count. */
+  ble_gattc_service_t services[1];      /**< Service data, variable length. */
+} ble_gattc_evt_prim_srvc_disc_rsp_t;
+
+/**@brief Event structure for BLE_GATTC_EVT_REL_DISC_RSP. */
+typedef struct
+{
+  uint16_t             count;           /**< Include count. */
+  ble_gattc_include_t includes[1];      /**< Include data, variable length. */
+} ble_gattc_evt_rel_disc_rsp_t;
+
+/**@brief Event structure for BLE_GATTC_EVT_CHAR_DISC_RSP. */
+typedef struct
+{
+  uint16_t            count;          /**< Characteristic count. */
+  ble_gattc_char_t    chars[1];       /**< Characteristic data, variable length. */
+} ble_gattc_evt_char_disc_rsp_t;
+
+/**@brief Event structure for BLE_GATTC_EVT_DESC_DISC_RSP. */
+typedef struct
+{
+  uint16_t            count;          /**< Descriptor count. */
+  ble_gattc_desc_t    descs[1];       /**< Descriptor data, variable length. */
+} ble_gattc_evt_desc_disc_rsp_t;
+
+/**@brief GATT read by UUID handle value pair. */
+typedef struct 
+{
+  uint16_t            handle;          /**< Attribute Handle. */
+  uint8_t             *p_value;        /**< Pointer to value, variable length (length available as value_len in ble_gattc_evt_read_by_uuid_rsp_t). 
+                                            Please note that this pointer is absolute to the memory provided by the user when retrieving the event,
+                                            so it will effectively point to a location inside the handle_value array. */
+} ble_gattc_handle_value_t;
+
+/**@brief Event structure for BLE_GATTC_EVT_CHAR_VAL_BY_UUID_READ_RSP. */
+typedef struct
+{
+  uint16_t                  count;            /**< Handle-Value Pair Count. */
+  uint16_t                  value_len;        /**< Length of the value in Handle-Value(s) list. */
+  ble_gattc_handle_value_t  handle_value[1];  /**< Handle-Value(s) list, variable length. */
+} ble_gattc_evt_char_val_by_uuid_read_rsp_t;
+
+/**@brief Event structure for BLE_GATTC_EVT_READ_RSP. */
+typedef struct
+{
+  uint16_t            handle;         /**< Attribute Handle. */
+  uint16_t            offset;         /**< Offset of the attribute data. */
+  uint16_t            len;            /**< Attribute data length. */
+  uint8_t             data[1];        /**< Attribute data, variable length. */
+} ble_gattc_evt_read_rsp_t;
+
+/**@brief Event structure for BLE_GATTC_EVT_CHAR_VALS_READ_RSP. */
+typedef struct
+{
+  uint16_t            len;            /**< Concatenated Attribute values length. */
+  uint8_t             values[1];      /**< Attribute values, variable length. */
+} ble_gattc_evt_char_vals_read_rsp_t;
+
+/**@brief Event structure for BLE_GATTC_EVT_WRITE_RSP. */
+typedef struct
+{
+  uint16_t            handle;           /**< Attribute Handle. */
+  uint8_t             write_op;         /**< Type of write operation, see @ref BLE_GATT_WRITE_OPS. */
+  uint16_t            offset;           /**< Data Offset. */
+  uint16_t            len;              /**< Data length. */
+  uint8_t             data[1];          /**< Data, variable length. */
+} ble_gattc_evt_write_rsp_t;
+
+/**@brief Event structure for BLE_GATTC_EVT_HVX. */
+typedef struct
+{
+  uint16_t            handle;         /**< Handle to which the HVx operation applies. */
+  uint8_t             type;           /**< Indication or Notification, see @ref BLE_GATT_HVX_TYPES. */
+  uint16_t            len;            /**< Attribute data length. */
+  uint8_t             data[1];        /**< Attribute data, variable length. */
+} ble_gattc_evt_hvx_t;
+
+/**@brief Event structure for BLE_GATTC_EVT_TIMEOUT. */
+typedef struct
+{
+  uint8_t          src;                       /**< Timeout source, see @ref BLE_GATT_TIMEOUT_SOURCES. */
+} ble_gattc_evt_timeout_t;
+
+/**@brief GATTC event type. */
+typedef struct
+{
+  uint16_t            conn_handle;                /**< Connection Handle on which event occured. */
+  uint16_t            gatt_status;                /**< GATT status code for the operation, see @ref BLE_GATT_STATUS_CODES. */
+  uint16_t            error_handle;               /**< In case of error: The handle causing the error. In all other cases BLE_GATT_HANDLE_INVALID. */
+  union
+  {
+    ble_gattc_evt_prim_srvc_disc_rsp_t          prim_srvc_disc_rsp;         /**< Primary Service Discovery Response Event Parameters. */
+    ble_gattc_evt_rel_disc_rsp_t                rel_disc_rsp;               /**< Relationship Discovery Response Event Parameters. */
+    ble_gattc_evt_char_disc_rsp_t               char_disc_rsp;              /**< Characteristic Discovery Response Event Parameters. */
+    ble_gattc_evt_desc_disc_rsp_t               desc_disc_rsp;              /**< Descriptor Discovery Response Event Parameters. */
+    ble_gattc_evt_char_val_by_uuid_read_rsp_t   char_val_by_uuid_read_rsp;  /**< Characteristic Value Read by UUID Response Event Parameters. */
+    ble_gattc_evt_read_rsp_t                    read_rsp;                   /**< Read Response Event Parameters. */
+    ble_gattc_evt_char_vals_read_rsp_t          char_vals_read_rsp;         /**< Characteristic Values Read Response Event Parameters. */
+    ble_gattc_evt_write_rsp_t                   write_rsp;                  /**< Write Response Event Parameters. */
+    ble_gattc_evt_hvx_t                         hvx;                        /**< Handle Value Notification/Indication Event Parameters. */
+    ble_gattc_evt_timeout_t                     timeout;                    /**< Timeout Event Parameters. */
+  } params;                                                                 /**< Event Parameters. @note Only valid if @ref gatt_status == BLE_GATT_STATUS_SUCCESS. */
+} ble_gattc_evt_t;
+/** @} */
+
+/** @addtogroup BLE_GATTC_FUNCTIONS Functions
+ * @{ */
+
+/**@brief Initiate or continue a GATT Primary Service Discovery procedure.
+ *
+ * @details This function initiates a Primary Service discovery, starting from the supplied handle. 
+ *          If the last service has not been reached, this must be called again with an updated start handle value to continue the search.
+ *
+ * @note If any of the discovered services have 128-bit UUIDs which are not present in the table provided to ble_vs_uuids_assign, a UUID structure with
+ *       type BLE_UUID_TYPE_UNKNOWN will be received in the corresponding event.
+ *
+ * @param[in] conn_handle The connection handle identifying the connection to perform this procedure on.
+ * @param[in] start_handle Handle to start searching from.
+ * @param[in] p_srvc_uuid Pointer to the service UUID to be found. If it is NULL, all primary services will be returned.
+ *
+ * @return @ref NRF_SUCCESS Successfully started or resumed the Primary Service Discovery procedure.
+ * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid Connection Handle.
+ * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied.
+ * @return @ref NRF_ERROR_BUSY Client procedure already in progress.
+ */
+SVCALL(SD_BLE_GATTC_PRIMARY_SERVICES_DISCOVER, uint32_t, sd_ble_gattc_primary_services_discover(uint16_t conn_handle, uint16_t start_handle, ble_uuid_t const * const p_srvc_uuid));
+
+
+/**@brief Initiate or continue a GATT Relationship Discovery procedure.
+ *
+ * @details This function initiates the Find Included Services sub-procedure. If the last included service has not been reached,
+ *          this must be called again with an updated handle range to continue the search.
+ *
+ * @param[in] conn_handle The connection handle identifying the connection to perform this procedure on.
+ * @param[in] p_handle_range A pointer to the range of handles of the Service to perform this procedure on.
+ *
+ * @return @ref NRF_SUCCESS Successfully started or resumed the Relationship Discovery procedure.
+ * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid Connection Handle.
+ * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
+ * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied.
+ * @return @ref NRF_ERROR_BUSY Client procedure already in progress.
+ */
+SVCALL(SD_BLE_GATTC_RELATIONSHIPS_DISCOVER, uint32_t, sd_ble_gattc_relationships_discover(uint16_t conn_handle, ble_gattc_handle_range_t const * const p_handle_range));
+
+
+/**@brief Initiate or continue a GATT Characteristic Discovery procedure.
+ *
+ * @details This function initiates a Characteristic discovery procedure. If the last Characteristic has not been reached,
+ *          this must be called again with an updated handle range to continue the discovery.
+ *
+ * @note If any of the discovered characteristics have 128-bit UUIDs which are not present in the table provided to ble_vs_uuids_assign, a UUID structure with
+ *       type BLE_UUID_TYPE_UNKNOWN will be received in the corresponding event.
+ *
+ * @param[in] conn_handle The connection handle identifying the connection to perform this procedure on.
+ * @param[in] p_handle_range A pointer to the range of handles of the Service to perform this procedure on.
+ *
+ * @return @ref NRF_SUCCESS Successfully started or resumed the Characteristic Discovery procedure.
+ * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid Connection Handle.
+ * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
+ * @return @ref NRF_ERROR_BUSY Client procedure already in progress.
+ */
+SVCALL(SD_BLE_GATTC_CHARACTERISTICS_DISCOVER, uint32_t, sd_ble_gattc_characteristics_discover(uint16_t conn_handle, ble_gattc_handle_range_t const * const p_handle_range));
+
+
+/**@brief Initiate or continue a GATT Characteristic Descriptor Discovery procedure.
+ *
+ * @details This function initiates the Characteristic Descriptor discovery procedure. If the last Descriptor has not been reached,
+ *          this must be called again with an updated handle range to continue the discovery.
+ *
+ * @param[in] conn_handle The connection handle identifying the connection to perform this procedure on.
+ * @param[in] p_handle_range A pointer to the range of handles of the Characteristic to perform this procedure on.
+ *
+ * @return @ref NRF_SUCCESS Successfully started or resumed the Descriptor Discovery procedure.
+ * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid Connection Handle.
+ * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
+ * @return @ref NRF_ERROR_BUSY Client procedure already in progress.
+ */
+SVCALL(SD_BLE_GATTC_DESCRIPTORS_DISCOVER, uint32_t, sd_ble_gattc_descriptors_discover(uint16_t conn_handle, ble_gattc_handle_range_t const * const p_handle_range));
+
+
+/**@brief Initiate or continue a GATT Read using Characteristic UUID procedure.
+ *
+ * @details This function initiates the Read using Characteristic UUID procedure. If the last Characteristic has not been reached,
+ *          this must be called again with an updated handle range to continue the discovery.
+ *
+ * @param[in] conn_handle The connection handle identifying the connection to perform this procedure on.
+ * @param[in] p_uuid Pointer to a Characteristic value UUID to read.
+ * @param[in] p_handle_range A pointer to the range of handles to perform this procedure on.
+ *
+ * @return @ref NRF_SUCCESS Successfully started or resumed the Read using Characteristic UUID procedure.
+ * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid Connection Handle.
+ * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
+ * @return @ref NRF_ERROR_BUSY Client procedure already in progress.
+ */
+SVCALL(SD_BLE_GATTC_CHAR_VALUE_BY_UUID_READ, uint32_t, sd_ble_gattc_char_value_by_uuid_read(uint16_t conn_handle, ble_uuid_t const * const p_uuid, ble_gattc_handle_range_t const * const p_handle_range));
+
+
+/**@brief Initiate or continue a GATT Read (Long) Characteristic or Descriptor procedure.
+ *
+ * @details This function initiates a GATT Read (Long) Characteristic or Descriptor procedure. If the Characteristic or Descriptor
+ *          to be read is longer than GATT_MTU - 1, this function must be called multiple times with appropriate offset to read the 
+ *          complete value.
+ *
+ * @param[in] conn_handle The connection handle identifying the connection to perform this procedure on.
+ * @param[in] handle The handle of the attribute to be read.
+ * @param[in] offset Offset into the attribute value to be read.
+ *
+ * @return @ref NRF_SUCCESS Successfully started or resumed the Read (Long) procedure.
+ * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid Connection Handle.
+ * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
+ * @return @ref NRF_ERROR_BUSY Client procedure already in progress.
+ */
+SVCALL(SD_BLE_GATTC_READ, uint32_t, sd_ble_gattc_read(uint16_t conn_handle, uint16_t handle, uint16_t offset));
+
+
+/**@brief Initiate a GATT Read Multiple Characteristic Values procedure.
+ *
+ * @details This function initiates a GATT Read Multiple Characteristic Values procedure. 
+ *
+ * @param[in] conn_handle The connection handle identifying the connection to perform this procedure on.
+ * @param[in] p_handles A pointer to the handle(s) of the attribute(s) to be read.
+ * @param[in] handle_count The number of handles in p_handles.
+ *
+ * @return @ref NRF_SUCCESS Successfully started the Read Multiple Characteristic Values procedure.
+ * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid Connection Handle.
+ * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
+ * @return @ref NRF_ERROR_BUSY Client procedure already in progress.
+ */
+SVCALL(SD_BLE_GATTC_CHAR_VALUES_READ, uint32_t, sd_ble_gattc_char_values_read(uint16_t conn_handle, uint16_t const * const p_handles, uint16_t handle_count));
+
+
+/**@brief Perform a Write (Characteristic Value or Descriptor, with or without response, signed or not, long or reliable) procedure.
+ *
+ * @details This function can perform all write procedures described in GATT. 
+ *
+ * @note    It is important to note that a write without response will <b>consume an application buffer</b>, and will therefore 
+ *          generate a @ref BLE_EVT_TX_COMPLETE event when the packet has been transmitted. A write on the other hand will use the 
+ *          standard client internal buffer and thus will only generate a @ref BLE_GATTC_EVT_WRITE_RSP event as soon as the write response 
+ *          has been received from the peer. Please see the documentation of @ref sd_ble_tx_buffer_count_get for more details.
+ *
+ * @param[in] conn_handle The connection handle identifying the connection to perform this procedure on.
+ * @param[in] p_write_params A pointer to a write parameters structure.
+ *
+ * @return @ref NRF_SUCCESS Successfully started the Write procedure.
+ * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid Connection Handle.
+ * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
+ * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied.
+ * @return @ref NRF_ERROR_DATA_SIZE Invalid data size(s) supplied.
+ * @return @ref NRF_ERROR_BUSY Procedure already in progress.
+ * @return @ref BLE_ERROR_NO_TX_BUFFERS There are no available buffers left.
+ */
+SVCALL(SD_BLE_GATTC_WRITE, uint32_t, sd_ble_gattc_write(uint16_t conn_handle, ble_gattc_write_params_t const * const p_write_params));
+
+
+/**@brief Send a Handle Value Confirmation to the GATT Server.
+ *
+ * @param[in] conn_handle The connection handle identifying the connection to perform this procedure on.
+ * @param[in] handle The handle of the attribute in the indication.
+ *
+ * @return @ref NRF_SUCCESS Successfully queued the Handle Value Confirmation for transmission.
+ * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid Connection Handle.
+ * @return @ref NRF_ERROR_INVALID_STATE No Indication pending to be confirmed.
+ * @return @ref BLE_ERROR_INVALID_ATTR_HANDLE Invalid attribute handle.
+ * @return @ref BLE_ERROR_NO_TX_BUFFERS There are no available buffers left.
+ */
+SVCALL(SD_BLE_GATTC_HV_CONFIRM, uint32_t, sd_ble_gattc_hv_confirm(uint16_t conn_handle, uint16_t handle));
+
+/** @} */
+
+#endif /* BLE_GATTC_H__ */
+
+/**
+  @}
+  @}
+*/
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TARGET_ARCH_BLE/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/ble_gatts.h	Fri Aug 15 15:28:31 2014 +0100
@@ -0,0 +1,566 @@
+/* Copyright (c) 2011 Nordic Semiconductor. All Rights Reserved.
+ *
+ * The information contained herein is confidential property of Nordic Semiconductor. The use,
+ * copying, transfer or disclosure of such information is prohibited except by express written
+ * agreement with Nordic Semiconductor.
+ *
+ */
+/**
+  @addtogroup BLE_GATTS Generic Attribute Profile (GATT) Server
+  @{
+  @brief  Definitions and prototypes for the GATTS interface.
+ */
+
+#ifndef BLE_GATTS_H__
+#define BLE_GATTS_H__
+
+#include "ble_types.h"
+#include "ble_ranges.h"
+#include "ble_l2cap.h"
+#include "ble_gap.h"
+#include "ble_gatt.h"
+#include "nrf_svc.h"
+
+/** @addtogroup BLE_GATTS_ENUMERATIONS Enumerations
+ * @{ */
+
+/**
+ * @brief GATTS API SVC numbers.
+ */
+enum BLE_GATTS_SVCS
+{
+  SD_BLE_GATTS_SERVICE_ADD = BLE_GATTS_SVC_BASE, /**< Add a service. */
+  SD_BLE_GATTS_INCLUDE_ADD,                      /**< Add an included service. */
+  SD_BLE_GATTS_CHARACTERISTIC_ADD,               /**< Add a characteristic. */
+  SD_BLE_GATTS_DESCRIPTOR_ADD,                   /**< Add a generic attribute. */
+  SD_BLE_GATTS_VALUE_SET,                        /**< Set an attribute value. */
+  SD_BLE_GATTS_VALUE_GET,                        /**< Get an attribute value. */
+  SD_BLE_GATTS_HVX,                              /**< Handle Value Notification or Indication. */
+  SD_BLE_GATTS_SERVICE_CHANGED,                  /**< Perform a Service Changed Indication to one or more peers. */
+  SD_BLE_GATTS_RW_AUTHORIZE_REPLY,               /**< Reply to an authorization request for a read or write operation on one or more attributes. */ 
+  SD_BLE_GATTS_SYS_ATTR_SET,                     /**< Set the persistent system attributes for a connection. */  
+  SD_BLE_GATTS_SYS_ATTR_GET,                     /**< Get updated persistent system attributes after terminating a connection. */
+};
+
+/** @} */
+
+/** @addtogroup BLE_GATTS_DEFINES Defines
+ * @{ */
+
+/** @brief Only the default MTU size of 23 is currently supported. */
+#define GATT_RX_MTU 23
+
+/** @defgroup BLE_ERRORS_GATTS SVC return values specific to GATTS
+ * @{ */
+#define BLE_ERROR_GATTS_INVALID_ATTR_TYPE   (NRF_GATTS_ERR_BASE + 0x000) /**< Invalid attribute type. */
+#define BLE_ERROR_GATTS_SYS_ATTR_MISSING    (NRF_GATTS_ERR_BASE + 0x001) /**< System Attributes missing. */
+/** @} */
+
+/** @defgroup BLE_GATTS_ATTR_LENS_MAX Maximum attribute lengths
+ * @{ */
+#define BLE_GATTS_FIX_ATTR_LEN_MAX (510)  /**< Maximum length for fixed length Attribute Values. */
+#define BLE_GATTS_VAR_ATTR_LEN_MAX (512)  /**< Maximum length for variable length Attribute Values. */ 
+/** @} */
+
+/** @defgroup BLE_GATTS_SRVC_TYPES GATT Server Service Types
+ * @{ */
+#define BLE_GATTS_SRVC_TYPE_INVALID          0x00  /**< Invalid Service Type. */
+#define BLE_GATTS_SRVC_TYPE_PRIMARY          0x01  /**< Primary Service. */
+#define BLE_GATTS_SRVC_TYPE_SECONDARY        0x02  /**< Secondary Type. */
+/** @} */
+
+
+/** @defgroup BLE_GATTS_ATTR_TYPES GATT Server Attribute Types
+ * @{ */
+#define BLE_GATTS_ATTR_TYPE_INVALID         0x00  /**< Invalid Attribute Type. */
+#define BLE_GATTS_ATTR_TYPE_PRIM_SRVC_DECL  0x01  /**< Primary Service Declaration. */
+#define BLE_GATTS_ATTR_TYPE_SEC_SRVC_DECL   0x02  /**< Secondary Service Declaration. */
+#define BLE_GATTS_ATTR_TYPE_INC_DECL        0x03  /**< Include Declaration. */
+#define BLE_GATTS_ATTR_TYPE_CHAR_DECL       0x04  /**< Characteristic Declaration. */
+#define BLE_GATTS_ATTR_TYPE_CHAR_VAL        0x05  /**< Characteristic Value. */
+#define BLE_GATTS_ATTR_TYPE_DESC            0x06  /**< Descriptor. */
+#define BLE_GATTS_ATTR_TYPE_OTHER           0x07  /**< Other, non-GATT specific type. */
+/** @} */
+
+
+/** @defgroup BLE_GATTS_OPS GATT Server Operations
+ * @{ */
+#define BLE_GATTS_OP_INVALID                0x00  /**< Invalid Operation. */
+#define BLE_GATTS_OP_WRITE_REQ              0x01  /**< Write Request. */
+#define BLE_GATTS_OP_WRITE_CMD              0x02  /**< Write Command. */
+#define BLE_GATTS_OP_SIGN_WRITE_CMD         0x03  /**< Signed Write Command. */
+#define BLE_GATTS_OP_PREP_WRITE_REQ         0x04  /**< Prepare Write Request. */
+#define BLE_GATTS_OP_EXEC_WRITE_REQ_CANCEL  0x05  /**< Execute Write Request: Cancel all prepared writes. */
+#define BLE_GATTS_OP_EXEC_WRITE_REQ_NOW     0x06  /**< Execute Write Request: Immediately execute all prepared writes. */
+/** @} */
+
+/** @defgroup BLE_GATTS_VLOCS GATT Value Locations
+ * @{ */
+#define BLE_GATTS_VLOC_INVALID       0x00  /**< Invalid Location. */
+#define BLE_GATTS_VLOC_STACK         0x01  /**< Attribute Value is located in stack memory, no user memory is required. */
+#define BLE_GATTS_VLOC_USER          0x02  /**< Attribute Value is located in user memory. This requires the user to maintain a valid buffer through the lifetime of the attribute, since the stack
+                                                will read and write directly to the memory using the pointer provided in the APIs. There are no alignment requirements for the buffer. */
+/** @} */
+
+/** @defgroup BLE_GATTS_AUTHORIZE_TYPES GATT Server Authorization Types
+ * @{ */
+#define BLE_GATTS_AUTHORIZE_TYPE_INVALID    0x00  /**< Invalid Type. */
+#define BLE_GATTS_AUTHORIZE_TYPE_READ       0x01  /**< Authorize a Read Operation. */
+#define BLE_GATTS_AUTHORIZE_TYPE_WRITE      0x02  /**< Authorize a Write Request Operation. */
+/** @} */
+
+
+/** @} */
+
+/** @addtogroup BLE_GATTS_STRUCTURES Structures
+ * @{ */
+
+/**
+ * @brief BLE GATTS init options
+ */
+typedef struct
+{
+  uint8_t   service_changed:1;             /**< Include the Service Changed characteristic in the local attributes. */
+} ble_gatts_enable_params_t;
+
+/**@brief Attribute metadata. */
+typedef struct
+{
+  ble_gap_conn_sec_mode_t read_perm;       /**< Read permissions. */
+  ble_gap_conn_sec_mode_t write_perm;      /**< Write permissions. */
+  uint8_t                 vlen       :1;   /**< Variable length attribute. */
+  uint8_t                 vloc       :2;   /**< Value location, see @ref BLE_GATTS_VLOCS.*/
+  uint8_t                 rd_auth    :1;   /**< Read Authorization and value will be requested from the application on every read operation. */ 
+  uint8_t                 wr_auth    :1;   /**< Write Authorization will be requested from the application on every Write Request operation (but not Write Command). */
+} ble_gatts_attr_md_t;
+
+
+/**@brief GATT Attribute. */
+typedef struct
+{
+  ble_uuid_t*          p_uuid;          /**< Pointer to the attribute UUID. */
+  ble_gatts_attr_md_t* p_attr_md;       /**< Pointer to the attribute metadata structure. */
+  uint16_t             init_len;        /**< Initial attribute value length in bytes. */
+  uint16_t             init_offs;       /**< Initial attribute value offset in bytes. If different from zero, the first init_offs bytes of the attribute value will be left uninitialized. */
+  uint16_t             max_len;         /**< Maximum attribute value length in bytes, see @ref BLE_GATTS_ATTR_LENS_MAX for maximum values. */
+  uint8_t*             p_value;         /**< Pointer to the attribute data. Please note that if the @ref BLE_GATTS_VLOC_USER value location is selected in the attribute metadata, this will have to point to a buffer
+                                             that remains valid through the lifetime of the attribute. This excludes usage of automatic variables that may go out of scope or any other temporary location. 
+                                             The stack may access that memory directly without the application's knowledge. */
+} ble_gatts_attr_t;
+
+
+/**@brief GATT Attribute Context. */
+typedef struct
+{
+  ble_uuid_t           srvc_uuid;       /**< Service UUID. */
+  ble_uuid_t           char_uuid;       /**< Characteristic UUID if applicable (BLE_UUID_TYPE_UNKNOWN if N/A). */
+  ble_uuid_t           desc_uuid;       /**< Descriptor UUID if applicable (BLE_UUID_TYPE_UNKNOWN if N/A). */
+  uint16_t             srvc_handle;     /**< Service Handle. */
+  uint16_t             value_handle;    /**< Characteristic Handle if applicable (BLE_GATT_HANDLE_INVALID if N/A). */
+  uint8_t              type;            /**< Attribute Type, see @ref BLE_GATTS_ATTR_TYPES. */
+} ble_gatts_attr_context_t;
+
+
+/**@brief GATT Characteristic Presentation Format. */
+typedef struct
+{
+  uint8_t          format;      /**< Format of the value, see @ref BLE_GATT_CPF_FORMATS. */
+  int8_t           exponent;    /**< Exponent for integer data types. */
+  uint16_t         unit;        /**< UUID from Bluetooth Assigned Numbers. */
+  uint8_t          name_space;  /**< Namespace from Bluetooth Assigned Numbers, see @ref BLE_GATT_CPF_NAMESPACES. */
+  uint16_t         desc;        /**< Namespace description from Bluetooth Assigned Numbers, see @ref BLE_GATT_CPF_NAMESPACES. */
+} ble_gatts_char_pf_t;
+
+
+/**@brief GATT Characteristic metadata. */
+typedef struct
+{
+  ble_gatt_char_props_t       char_props;               /**< Characteristic Properties. */
+  ble_gatt_char_ext_props_t   char_ext_props;           /**< Characteristic Extended Properties. */
+  uint8_t*                    p_char_user_desc;         /**< Pointer to a UTF-8, NULL if the descriptor is not required. */
+  uint16_t                    char_user_desc_max_size;  /**< The maximum size in bytes of the user description descriptor. */
+  uint16_t                    char_user_desc_size;      /**< The size of the user description, must be smaller or equal to char_user_desc_max_size. */ 
+  ble_gatts_char_pf_t*        p_char_pf;                /**< Pointer to a presentation format structure or NULL if the descriptor is not required. */
+  ble_gatts_attr_md_t*        p_user_desc_md;           /**< Attribute metadata for the User Description descriptor, or NULL for default values. */
+  ble_gatts_attr_md_t*        p_cccd_md;                /**< Attribute metadata for the Client Characteristic Configuration Descriptor, or NULL for default values. */
+  ble_gatts_attr_md_t*        p_sccd_md;                /**< Attribute metadata for the Server Characteristic Configuration Descriptor, or NULL for default values. */
+} ble_gatts_char_md_t;
+
+
+/**@brief GATT Characteristic Definition Handles. */
+typedef struct
+{
+  uint16_t          value_handle;       /**< Handle to the characteristic value. */
+  uint16_t          user_desc_handle;   /**< Handle to the User Description descriptor, or BLE_GATT_HANDLE_INVALID if not present. */
+  uint16_t          cccd_handle;        /**< Handle to the Client Characteristic Configuration Descriptor, or BLE_GATT_HANDLE_INVALID if not present. */
+  uint16_t          sccd_handle;        /**< Handle to the Server Characteristic Configuration Descriptor, or BLE_GATT_HANDLE_INVALID if not present. */
+} ble_gatts_char_handles_t;
+
+
+/**@brief GATT HVx parameters. */
+typedef struct
+{
+  uint16_t          handle;             /**< Characteristic Value Handle. */
+  uint8_t           type;               /**< Indication or Notification, see @ref BLE_GATT_HVX_TYPES. */
+  uint16_t          offset;             /**< Offset within the attribute value. */
+  uint16_t*         p_len;              /**< Length in bytes to be written, length in bytes written after successful return. */
+  uint8_t*          p_data;             /**< Actual data content, use NULL to use the current attribute value. */
+} ble_gatts_hvx_params_t;
+
+/**@brief GATT Read Authorization parameters. */
+typedef struct
+{
+  uint16_t          gatt_status;        /**< GATT status code for the operation, see @ref BLE_GATT_STATUS_CODES. */
+  uint8_t           update : 1;         /**< If set, data supplied in p_data will be used in the ATT response. */
+  uint16_t          offset;             /**< Offset of the attribute value being updated. */
+  uint16_t          len;                /**< Length in bytes of the value in p_data pointer, see @ref BLE_GATTS_ATTR_LENS_MAX. */
+  uint8_t*          p_data;             /**< Pointer to new value used to update the attribute value. */
+} ble_gatts_read_authorize_params_t;
+
+/**@brief GATT Write Authorisation parameters. */
+typedef struct
+{
+  uint16_t          gatt_status;        /**< GATT status code for the operation, see @ref BLE_GATT_STATUS_CODES. */
+} ble_gatts_write_authorize_params_t;
+
+/**@brief GATT Read or Write Authorize Reply parameters. */
+typedef struct
+{
+  uint8_t                               type;   /**< Type of authorize operation, see @ref BLE_GATTS_AUTHORIZE_TYPES. */
+  union {
+    ble_gatts_read_authorize_params_t   read;   /**< Read authorization parameters. */
+    ble_gatts_write_authorize_params_t  write;  /**< Write authorization parameters. */
+  } params;
+} ble_gatts_rw_authorize_reply_params_t;
+
+
+/**
+ * @brief GATT Server Event IDs.
+ */
+enum BLE_GATTS_EVTS
+{
+  BLE_GATTS_EVT_WRITE = BLE_GATTS_EVT_BASE,       /**< Write operation performed. */
+  BLE_GATTS_EVT_RW_AUTHORIZE_REQUEST,             /**< Read/Write Authorization request. */
+  BLE_GATTS_EVT_SYS_ATTR_MISSING,                 /**< A persistent system attribute access is pending, awaiting a sd_ble_gatts_sys_attr_set(). */
+  BLE_GATTS_EVT_HVC,                              /**< Handle Value Confirmation. */
+  BLE_GATTS_EVT_SC_CONFIRM,                       /**< Service Changed Confirmation. */
+  BLE_GATTS_EVT_TIMEOUT                           /**< Timeout. */
+};
+
+
+/**@brief Event structure for BLE_GATTS_EVT_WRITE. */
+typedef struct
+{
+  uint16_t                    handle;             /**< Attribute Handle. */
+  uint8_t                     op;                 /**< Type of write operation, see @ref BLE_GATTS_OPS. */
+  ble_gatts_attr_context_t    context;            /**< Attribute Context. */
+  uint16_t                    offset;             /**< Offset for the write operation. */
+  uint16_t                    len;                /**< Length of the incoming data. */
+  uint8_t                     data[1];            /**< Incoming data, variable length. */
+} ble_gatts_evt_write_t;
+
+/**@brief Event structure for authorize read request. */
+typedef struct
+{
+  uint16_t                    handle;             /**< Attribute Handle. */
+  ble_gatts_attr_context_t    context;            /**< Attribute Context. */
+  uint16_t                    offset;             /**< Offset for the read operation. */
+} ble_gatts_evt_read_t;
+
+/**@brief Event structure for BLE_GATTS_EVT_RW_AUTHORIZE_REQUEST. */
+typedef struct
+{
+  uint8_t                     type;             /**< Type of authorize operation, see @ref BLE_GATTS_AUTHORIZE_TYPES. */
+  union {
+    ble_gatts_evt_read_t      read;             /**< Attribute Read Parameters. */
+    ble_gatts_evt_write_t     write;            /**< Attribute Write Parameters. */
+  } request;
+} ble_gatts_evt_rw_authorize_request_t;
+
+/**@brief Event structure for BLE_GATTS_EVT_SYS_ATTR_MISSING. */
+typedef struct
+{
+  uint8_t hint;
+} ble_gatts_evt_sys_attr_missing_t;
+
+
+/**@brief Event structure for BLE_GATTS_EVT_HVC. */
+typedef struct
+{
+  uint16_t          handle;                       /**< Attribute Handle. */
+} ble_gatts_evt_hvc_t;
+
+/**@brief Event structure for BLE_GATTS_EVT_TIMEOUT. */
+typedef struct
+{
+  uint8_t          src;                       /**< Timeout source, see @ref BLE_GATT_TIMEOUT_SOURCES. */
+} ble_gatts_evt_timeout_t;
+
+
+/**@brief GATT Server event callback event structure. */
+typedef struct
+{
+  uint16_t conn_handle;                                       /**< Connection Handle on which event occurred. */
+  union
+  {
+    ble_gatts_evt_write_t                 write;              /**< Write Event Parameters. */
+    ble_gatts_evt_rw_authorize_request_t  authorize_request;  /**< Read or Write Authorize Request Parameters. */
+    ble_gatts_evt_sys_attr_missing_t      sys_attr_missing;   /**< System attributes missing. */
+    ble_gatts_evt_hvc_t                   hvc;                /**< Handle Value Confirmation Event Parameters. */
+    ble_gatts_evt_timeout_t               timeout;            /**< Timeout Event. */
+  } params;
+} ble_gatts_evt_t;
+
+/** @} */
+
+/** @addtogroup BLE_GATTS_FUNCTIONS Functions
+ * @{ */
+
+/**@brief Add a service declaration to the local server ATT table.
+ *
+ * @param[in] type      Toggles between primary and secondary services, see @ref BLE_GATTS_SRVC_TYPES.
+ * @param[in] p_uuid    Pointer to service UUID.
+ * @param[out] p_handle Pointer to a 16-bit word where the assigned handle will be stored.
+ *
+ * @note Secondary Services are only relevant in the context of the entity that references them, it is therefore forbidden to
+ *       add a secondary service declaration that is not referenced by another service later in the ATT table.
+ *
+ * @return @ref NRF_SUCCESS Successfully added a service declaration.
+ * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
+ * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied, Vendor Specific UUIDs need to be present in the table.
+ * @return @ref NRF_ERROR_FORBIDDEN Forbidden value supplied, certain UUIDs are reserved for the stack.
+ * @return @ref NRF_ERROR_NO_MEM Not enough memory to complete operation.
+ */
+SVCALL(SD_BLE_GATTS_SERVICE_ADD, uint32_t, sd_ble_gatts_service_add(uint8_t type, ble_uuid_t const*const p_uuid, uint16_t *const p_handle));
+
+
+/**@brief Add an include declaration to the local server ATT table.
+ *
+ * @note It is currently only possible to add an include declaration to the last added service (i.e. only sequential addition is supported at this time). 
+ *
+ * @note The included service must already be present in the ATT table prior to this call.
+ *
+ * @param[in] service_handle    Handle of the service where the included service is to be placed, if BLE_GATT_HANDLE_INVALID is used, it will be placed sequentially.
+ * @param[in] inc_srvc_handle   Handle of the included service.
+ * @param[out] p_include_handle Pointer to a 16-bit word where the assigned handle will be stored.
+ *
+ * @return @ref NRF_SUCCESS Successfully added an include declaration.
+ * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
+ * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied, handle values need to match previously added services.
+ * @return @ref NRF_ERROR_INVALID_STATE Invalid state to perform operation.
+ * @return @ref NRF_ERROR_FORBIDDEN Forbidden value supplied, self inclusions are not allowed.
+ * @return @ref NRF_ERROR_NO_MEM Not enough memory to complete operation.
+ * @return @ref NRF_ERROR_NOT_FOUND Attribute not found.
+ */
+SVCALL(SD_BLE_GATTS_INCLUDE_ADD, uint32_t, sd_ble_gatts_include_add(uint16_t service_handle, uint16_t inc_srvc_handle, uint16_t *const p_include_handle));
+
+
+/**@brief Add a characteristic declaration, a characteristic value declaration and optional characteristic descriptor declarations to the local server ATT table.
+ *
+ * @note It is currently only possible to add a characteristic to the last added service (i.e. only sequential addition is supported at this time). 
+ *
+ * @note Several restrictions apply to the parameters, such as matching permissions between the user description descriptor and the writeable auxiliaries bits,
+ *       readable (no security) and writeable (selectable) CCCDs and SCCDs and valid presentation format values.
+ *
+ * @note If no metadata is provided for the optional descriptors, their permissions will be derived from the characteristic permissions.
+ *
+ * @param[in] service_handle    Handle of the service where the characteristic is to be placed, if BLE_GATT_HANDLE_INVALID is used, it will be placed sequentially.
+ * @param[in] p_char_md         Characteristic metadata.
+ * @param[in] p_attr_char_value Pointer to the attribute structure corresponding to the characteristic value.
+ * @param[out] p_handles        Pointer to the structure where the assigned handles will be stored.
+ *
+ * @return @ref NRF_SUCCESS Successfully added a characteristic.
+ * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
+ * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied, service handle, Vendor Specific UUIDs, lengths, and permissions need to adhere to the constraints.
+ * @return @ref NRF_ERROR_INVALID_STATE Invalid state to perform operation, a service context is required.
+ * @return @ref NRF_ERROR_FORBIDDEN Forbidden value supplied, certain UUIDs are reserved for the stack.
+ * @return @ref NRF_ERROR_NO_MEM Not enough memory to complete operation.
+ * @return @ref NRF_ERROR_DATA_SIZE Invalid data size(s) supplied, attribute lengths are restricted by @ref BLE_GATTS_ATTR_LENS_MAX.
+ */
+SVCALL(SD_BLE_GATTS_CHARACTERISTIC_ADD, uint32_t, sd_ble_gatts_characteristic_add(uint16_t service_handle, ble_gatts_char_md_t const*const p_char_md, ble_gatts_attr_t const*const p_attr_char_value, ble_gatts_char_handles_t *const p_handles));
+
+
+/**@brief Add a descriptor to the local server ATT table.
+ *
+ * @note It is currently only possible to add a descriptor to the last added characteristic (i.e. only sequential addition is supported at this time). 
+ *
+ * @param[in] char_handle   Handle of the characteristic where the descriptor is to be placed, if BLE_GATT_HANDLE_INVALID is used, it will be placed sequentially.
+ * @param[in] p_attr        Pointer to the attribute structure.
+ * @param[out] p_handle     Pointer to a 16-bit word where the assigned handle will be stored.
+ *
+ * @return @ref NRF_SUCCESS Successfully added a descriptor.
+ * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
+ * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied, characteristic handle, Vendor Specific UUIDs, lengths, and permissions need to adhere to the constraints.
+ * @return @ref NRF_ERROR_INVALID_STATE Invalid state to perform operation, a characteristic context is required.
+ * @return @ref NRF_ERROR_FORBIDDEN Forbidden value supplied, certain UUIDs are reserved for the stack.
+ * @return @ref NRF_ERROR_NO_MEM Not enough memory to complete operation.
+ * @return @ref NRF_ERROR_DATA_SIZE Invalid data size(s) supplied, attribute lengths are restricted by @ref BLE_GATTS_ATTR_LENS_MAX.
+ */
+SVCALL(SD_BLE_GATTS_DESCRIPTOR_ADD, uint32_t, sd_ble_gatts_descriptor_add(uint16_t char_handle, ble_gatts_attr_t const * const p_attr, uint16_t* const p_handle));
+
+/**@brief Set the value of a given attribute.
+ *
+ * @param[in] handle    Attribute handle.
+ * @param[in] offset    Offset in bytes to write from.
+ * @param[in,out] p_len Length in bytes to be written, length in bytes written after successful return.
+ * @param[in] p_value   Pointer to a buffer (at least len bytes long) containing the desired attribute value. If value is stored in user memory, only the attribute length is updated when p_value == NULL.
+ *
+ * @return @ref NRF_SUCCESS Successfully set the value of the attribute.
+ * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
+ * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied.
+ * @return @ref NRF_ERROR_NOT_FOUND Attribute not found.
+ * @return @ref NRF_ERROR_FORBIDDEN Forbidden handle supplied, certain attributes are not modifiable by the application.
+ * @return @ref NRF_ERROR_DATA_SIZE Invalid data size(s) supplied, attribute lengths are restricted by @ref BLE_GATTS_ATTR_LENS_MAX.
+ */
+SVCALL(SD_BLE_GATTS_VALUE_SET, uint32_t, sd_ble_gatts_value_set(uint16_t handle, uint16_t offset, uint16_t* const p_len, uint8_t const * const p_value));
+
+/**@brief Get the value of a given attribute.
+ *
+ * @param[in] handle     Attribute handle.
+ * @param[in] offset     Offset in bytes to read from.
+ * @param[in,out] p_len  Length in bytes to be read, total length of attribute value (in bytes, starting from offset) after successful return.
+ * @param[in,out] p_data Pointer to a buffer (at least len bytes long) where to store the attribute value. Set to NULL to obtain the complete length of attribute value.
+ *
+ * @note                 If the attribute value is longer than the size of the supplied buffer,
+ *                       p_len will return the total attribute value length (excluding offset),
+ *                       and not the number of bytes actually returned in p_data.
+ *                       The application may use this information to allocate a suitable buffer size.
+ * 
+ * @return @ref NRF_SUCCESS Successfully retrieved the value of the attribute.
+ * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
+ * @return @ref NRF_ERROR_NOT_FOUND Attribute not found.
+ */
+SVCALL(SD_BLE_GATTS_VALUE_GET, uint32_t, sd_ble_gatts_value_get(uint16_t handle, uint16_t offset, uint16_t *const p_len, uint8_t* const p_data));
+
+/**@brief Notify or Indicate an attribute value.
+ *
+ * @details This function checks for the relevant Client Characteristic Configuration descriptor value to verify that the relevant operation
+ *          (notification or indication) has been enabled by the client. It is also able to update the attribute value before issuing the PDU, so that
+ *          the application can atomically perform a value update and a server initiated transaction with a single API call.
+ *          If the application chooses to indicate an attribute value, a @ref BLE_GATTS_EVT_HVC will be sent up as soon as the confirmation arrives from
+ *          the peer.
+ *
+ * @note    The local attribute value may be updated even if an outgoing packet is not sent to the peer due to an error during execution. 
+ *          When receiveing the error codes @ref NRF_ERROR_INVALID_STATE, @ref NRF_ERROR_BUSY, @ref BLE_ERROR_GATTS_SYS_ATTR_MISSING and 
+ *          @ref BLE_ERROR_NO_TX_BUFFERS the ATT table has been updated.
+ *          The caller can check whether the value has been updated by looking at the contents of *(p_hvx_params->p_len).
+ *
+ * @note    It is important to note that a notification will <b>consume an application buffer</b>, and will therefore 
+ *          generate a @ref BLE_EVT_TX_COMPLETE event when the packet has been transmitted. An indication on the other hand will use the 
+ *          standard server internal buffer and thus will only generate a @ref BLE_GATTS_EVT_HVC event as soon as the confirmation 
+ *          has been received from the peer. Please see the documentation of @ref sd_ble_tx_buffer_count_get for more details.
+ *
+ * @param[in] conn_handle  Connection handle.
+ * @param[in] p_hvx_params Pointer to an HVx parameters structure. If the p_data member contains a non-NULL pointer the attribute value will be updated with
+ *                         the contents pointed by it before sending the notification or indication.
+ *
+ * @return @ref NRF_SUCCESS Successfully queued a notification or indication for transmission, and optionally updated the attribute value.
+ * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid Connection Handle.
+ * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
+ * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied.
+ * @return @ref BLE_ERROR_INVALID_ATTR_HANDLE Invalid attribute handle(s) supplied. Only attributes added directly by the application are available to notify and indicate.
+ * @return @ref BLE_ERROR_GATTS_INVALID_ATTR_TYPE Invalid attribute type(s) supplied, only characteristic values may be notified and indicated.
+ * @return @ref NRF_ERROR_NOT_FOUND Attribute not found.
+ * @return @ref NRF_ERROR_DATA_SIZE Invalid data size(s) supplied.
+ * @return @ref NRF_ERROR_INVALID_STATE Invalid state to perform operation, notifications or indications must be enabled in the CCCD.
+ * @return @ref NRF_ERROR_BUSY Procedure already in progress.
+ * @return @ref BLE_ERROR_GATTS_SYS_ATTR_MISSING System attributes missing, use @ref sd_ble_gatts_sys_attr_set to set them to a known value.
+ * @return @ref BLE_ERROR_NO_TX_BUFFERS There are no available buffers to send the data, applies only to notifications.
+ */
+SVCALL(SD_BLE_GATTS_HVX, uint32_t, sd_ble_gatts_hvx(uint16_t conn_handle, ble_gatts_hvx_params_t const*const p_hvx_params));
+
+/**@brief Indicate the Service Changed attribute value.
+ *
+ * @details This call will send a Handle Value Indication to one or more peers connected to inform them that the attribute
+ *          table layout has changed. As soon as the peer has confirmed the indication, a @ref BLE_GATTS_EVT_SC_CONFIRM event will
+ *          be issued.
+ *
+ * @note    Some of the restrictions and limitations that apply to @ref sd_ble_gatts_hvx also apply here.
+ *
+ * @param[in] conn_handle  Connection handle.
+ * @param[in] start_handle Start of affected attribute handle range.
+ * @param[in] end_handle   End of affected attribute handle range.
+ *
+ * @return @ref NRF_SUCCESS Successfully queued the Service Changed indication for transmission.
+ * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid Connection Handle.
+ * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied.
+ * @return @ref BLE_ERROR_INVALID_ATTR_HANDLE Invalid attribute handle(s) supplied, handles must be in the range populated by the application.
+ * @return @ref NRF_ERROR_INVALID_STATE Invalid state to perform operation, notifications or indications must be enabled in the CCCD.
+ * @return @ref NRF_ERROR_BUSY Procedure already in progress.
+ * @return @ref BLE_ERROR_GATTS_SYS_ATTR_MISSING System attributes missing, use @ref sd_ble_gatts_sys_attr_set to set them to a known value.
+ */
+SVCALL(SD_BLE_GATTS_SERVICE_CHANGED, uint32_t, sd_ble_gatts_service_changed(uint16_t conn_handle, uint16_t start_handle, uint16_t end_handle));
+
+/**@brief Respond to a Read/Write authorization request.
+ *
+ * @note This call should only be used as a response to a @ref BLE_GATTS_EVT_RW_AUTHORIZE_REQUEST event issued to the application.
+ *
+ * @param[in] conn_handle                 Connection handle.
+ * @param[in] p_rw_authorize_reply_params Pointer to a structure with the attribute provided by the application.
+ *
+ * @return @ref NRF_SUCCESS               Successfully queued a response to the peer, and in the case of a write operation, ATT table updated.
+ * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid Connection Handle.
+ * @return @ref NRF_ERROR_INVALID_STATE   No authorization request pending.
+ * @return @ref NRF_ERROR_INVALID_PARAM   Authorization op invalid,
+ *                                         or for Read Authorization reply: requested handles not replied with,
+ *                                         or for Write Authorization reply: handle supplied does not match requested handle.
+ */
+SVCALL(SD_BLE_GATTS_RW_AUTHORIZE_REPLY, uint32_t, sd_ble_gatts_rw_authorize_reply(uint16_t conn_handle, ble_gatts_rw_authorize_reply_params_t const*const p_rw_authorize_reply_params));
+
+
+/**@brief Update persistent system attribute information.
+ *
+ * @details Supply to the stack information about persistent system attributes.
+ *          This call is legal in the connected state only, and is usually 
+ *          made immediately after a connection is established and the bond identified.
+ *          usually as a response to a BLE_GATTS_EVT_SYS_ATTR_MISSING.
+ *
+ *          p_sysattrs may point directly to the application's stored copy of the struct.
+ *          If the pointer is NULL, the system attribute info is initialized, assuming that
+ *          the application does not have any previously saved data for this bond.
+ *
+ * @note The state of persistent system attributes is reset upon connection and then remembered for its duration. 
+ *
+ * @note If this call returns with an error code different from @ref NRF_SUCCESS, the storage of persistent system attributes may have been completed only partially.
+ *       This means that the state of the attribute table is undefined, and the application should either provide a new set of attributes using this same call or
+ *       reset the SoftDevice to return to a known state.
+ *
+ * @param[in]  conn_handle        Connection handle.
+ * @param[in]  p_sys_attr_data    Pointer to a saved copy of system attributes supplied to the stack, or NULL.
+ * @param[in]  len                Size of data pointed by p_sys_attr_data, in octets. 
+ *
+ * @return @ref NRF_SUCCESS Successfully set the system attribute information.
+ * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid Connection Handle.
+ * @return @ref NRF_ERROR_INVALID_DATA Invalid data supplied, the data should be exactly the same as retrieved with @ref sd_ble_gatts_sys_attr_get.
+ * @return @ref NRF_ERROR_NO_MEM Not enough memory to complete operation.
+ */ 
+SVCALL(SD_BLE_GATTS_SYS_ATTR_SET, uint32_t, sd_ble_gatts_sys_attr_set(uint16_t conn_handle, uint8_t const*const p_sys_attr_data, uint16_t len)); 
+
+ 
+/**@brief Retrieve persistent system attribute information from the stack.
+ *
+ * @details This call is used to retrieve information about values to be stored perisistently by the application
+ *          after a connection has been terminated. When a new connection is made to the same bond, the values
+ *          should be restored using @ref sd_ble_gatts_sys_attr_set.
+ *          The data should be read before any new advertising is started, or any new connection established. The connection handle for
+ *          the previous now defunct connection will remain valid until a new one is created to allow this API call to refer to it.
+ *
+ * @param[in]     conn_handle       Connection handle of the recently terminated connection.
+ * @param[in]     p_sys_attr_data   Pointer to a buffer where updated information about system attributes will be filled in. NULL can be provided to 
+ *                                  obtain the length of the data
+ * @param[in,out] p_len             Size of application buffer if p_sys_attr_data is not NULL. Unconditially updated to actual length of system attribute data.
+ *
+ * @return @ref NRF_SUCCESS Successfully retrieved the system attribute information.
+ * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid Connection Handle.
+ * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
+ * @return @ref NRF_ERROR_DATA_SIZE The system attribute information did not fit into the provided buffer.
+ */ 
+SVCALL(SD_BLE_GATTS_SYS_ATTR_GET, uint32_t, sd_ble_gatts_sys_attr_get(uint16_t conn_handle, uint8_t * const p_sys_attr_data, uint16_t* const p_len)); 
+
+/** @} */
+
+#endif // BLE_GATTS_H__
+
+/**
+  @}
+*/
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TARGET_ARCH_BLE/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/ble_hci.h	Fri Aug 15 15:28:31 2014 +0100
@@ -0,0 +1,96 @@
+/*
+  Copyright (c) 2012 Nordic Semiconductor. All Rights Reserved.
+
+  The information contained herein is confidential property of Nordic Semiconductor. The use,
+  copying, transfer or disclosure of such information is prohibited except by express written
+  agreement with Nordic Semiconductor.
+ */
+/**
+  @addtogroup BLE_COMMON 
+  @{
+*/
+
+
+#ifndef BLE_HCI_H__
+#define BLE_HCI_H__ 
+
+/** @defgroup BLE_HCI_STATUS_CODES Bluetooth status codes
+ * @{ */
+
+#define BLE_HCI_STATUS_CODE_SUCCESS                        0x00
+#define BLE_HCI_STATUS_CODE_UNKNOWN_BTLE_COMMAND           0x01
+#define BLE_HCI_STATUS_CODE_UNKNOWN_CONNECTION_IDENTIFIER  0x02 
+/*0x03 Hardware Failure
+0x04 Page Timeout
+*/
+#define BLE_HCI_AUTHENTICATION_FAILURE                     0x05
+#define BLE_HCI_STATUS_CODE_PIN_OR_KEY_MISSING             0x06
+#define BLE_HCI_MEMORY_CAPACITY_EXCEEDED                   0x07
+#define BLE_HCI_CONNECTION_TIMEOUT                         0x08
+/*0x09 Connection Limit Exceeded
+0x0A Synchronous Connection Limit To A Device Exceeded
+0x0B ACL Connection Already Exists*/
+#define BLE_HCI_STATUS_CODE_COMMAND_DISALLOWED             0x0C
+/*0x0D Connection Rejected due to Limited Resources
+0x0E Connection Rejected Due To Security Reasons
+0x0F Connection Rejected due to Unacceptable BD_ADDR
+0x10 Connection Accept Timeout Exceeded
+0x11 Unsupported Feature or Parameter Value*/
+#define BLE_HCI_STATUS_CODE_INVALID_BTLE_COMMAND_PARAMETERS 0x12
+#define BLE_HCI_REMOTE_USER_TERMINATED_CONNECTION           0x13
+#define BLE_HCI_REMOTE_DEV_TERMINATION_DUE_TO_LOW_RESOURCES 0x14
+#define BLE_HCI_REMOTE_DEV_TERMINATION_DUE_TO_POWER_OFF     0x15
+#define BLE_HCI_LOCAL_HOST_TERMINATED_CONNECTION            0x16
+/*
+0x17 Repeated Attempts
+0x18 Pairing Not Allowed
+0x19 Unknown LMP PDU
+*/
+#define BLE_HCI_UNSUPPORTED_REMOTE_FEATURE 0x1A
+/*
+0x1B SCO Offset Rejected
+0x1C SCO Interval Rejected
+0x1D SCO Air Mode Rejected*/
+#define BLE_HCI_STATUS_CODE_INVALID_LMP_PARAMETERS     0x1E
+#define BLE_HCI_STATUS_CODE_UNSPECIFIED_ERROR          0x1F
+/*0x20 Unsupported LMP Parameter Value
+0x21 Role Change Not Allowed
+*/
+#define BLE_HCI_STATUS_CODE_LMP_RESPONSE_TIMEOUT       0x22
+/*0x23 LMP Error Transaction Collision*/
+#define BLE_HCI_STATUS_CODE_LMP_PDU_NOT_ALLOWED        0x24
+/*0x25 Encryption Mode Not Acceptable
+0x26 Link Key Can Not be Changed
+0x27 Requested QoS Not Supported
+*/
+#define BLE_HCI_INSTANT_PASSED                         0x28
+#define BLE_HCI_PAIRING_WITH_UNIT_KEY_UNSUPPORTED      0x29
+#define BLE_HCI_DIFFERENT_TRANSACTION_COLLISION        0x2A
+/*
+0x2B Reserved
+0x2C QoS Unacceptable Parameter
+0x2D QoS Rejected
+0x2E Channel Classification Not Supported
+0x2F Insufficient Security
+0x30 Parameter Out Of Mandatory Range
+0x31 Reserved
+0x32 Role Switch Pending
+0x33 Reserved
+0x34 Reserved Slot Violation
+0x35 Role Switch Failed
+0x36 Extended Inquiry Response Too Large
+0x37 Secure Simple Pairing Not Supported By Host.
+0x38 Host Busy - Pairing
+0x39 Connection Rejected due to No Suitable Channel Found*/
+#define BLE_HCI_CONTROLLER_BUSY                        0x3A
+#define BLE_HCI_CONN_INTERVAL_UNACCEPTABLE             0x3B
+#define BLE_HCI_DIRECTED_ADVERTISER_TIMEOUT            0x3C
+#define BLE_HCI_CONN_TERMINATED_DUE_TO_MIC_FAILURE     0x3D
+#define BLE_HCI_CONN_FAILED_TO_BE_ESTABLISHED          0x3E
+
+/** @} */
+
+
+#endif // BLE_HCI_H__
+
+/** @} */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TARGET_ARCH_BLE/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/ble_l2cap.h	Fri Aug 15 15:28:31 2014 +0100
@@ -0,0 +1,144 @@
+/* Copyright (c) 2011 Nordic Semiconductor. All Rights Reserved.
+ *
+ * The information contained herein is confidential property of Nordic Semiconductor. The use,
+ * copying, transfer or disclosure of such information is prohibited except by express written
+ * agreement with Nordic Semiconductor.
+ *
+ */
+/**
+  @addtogroup BLE_L2CAP Logical Link Control and Adaptation Protocol (L2CAP)
+  @{
+  @brief Definitions and prototypes for the L2CAP interface.
+ */
+
+#ifndef BLE_L2CAP_H__
+#define BLE_L2CAP_H__ 
+
+#include "ble_types.h"
+#include "ble_ranges.h"
+#include "ble_err.h"
+#include "nrf_svc.h"
+
+/**@addtogroup BLE_L2CAP_ENUMERATIONS Enumerations
+ * @{ */
+
+/**@brief L2CAP API SVC numbers. */
+enum BLE_L2CAP_SVCS 
+{
+  SD_BLE_L2CAP_CID_REGISTER = BLE_L2CAP_SVC_BASE,  /**< Register a CID. */
+  SD_BLE_L2CAP_CID_UNREGISTER,                     /**< Unregister a CID. */
+  SD_BLE_L2CAP_TX                                  /**< Transmit a packet. */
+};
+
+/** @} */
+
+/**@addtogroup BLE_L2CAP_DEFINES Defines
+ * @{ */
+
+/**@defgroup BLE_ERRORS_L2CAP SVC return values specific to L2CAP
+ * @{ */
+#define BLE_ERROR_L2CAP_CID_IN_USE            (NRF_L2CAP_ERR_BASE + 0x000)  /**< CID already in use. */
+/** @} */
+
+/**@brief Default L2CAP MTU. */
+#define BLE_L2CAP_MTU_DEF           (23)    
+
+/**@brief Invalid Channel Identifier. */
+#define BLE_L2CAP_CID_INVALID       (0x0000) 
+
+/**@brief Dynamic Channel Identifier base. */
+#define BLE_L2CAP_CID_DYN_BASE      (0x0040) 
+
+/**@brief Maximum amount of dynamic CIDs. */
+#define BLE_L2CAP_CID_DYN_MAX       (8) 
+
+/** @} */
+
+/**@addtogroup BLE_L2CAP_STRUCTURES Structures
+ * @{ */
+
+/**@brief Packet header format for L2CAP transmission. */
+typedef struct
+{
+  uint16_t   len;                                 /**< Length of valid info in data member. */
+  uint16_t   cid;                                 /**< Channel ID on which packet is transmitted. */
+} ble_l2cap_header_t;
+
+/**@brief L2CAP Event IDs. */
+enum BLE_L2CAP_EVTS 
+{
+  BLE_L2CAP_EVT_RX  = BLE_L2CAP_EVT_BASE          /**< L2CAP packet received. */
+};
+
+
+/**@brief L2CAP Received packet event report. */
+typedef struct
+{
+  ble_l2cap_header_t header;                      /** L2CAP packet header. */
+  uint8_t    data[1];                             /**< Packet data, variable length. */
+} ble_l2cap_evt_rx_t;
+
+
+/**@brief L2CAP event callback event structure. */
+typedef struct
+{
+  uint16_t conn_handle;                           /**< Connection Handle on which event occured. */
+  union
+  {
+    ble_l2cap_evt_rx_t rx;                        /**< RX Event parameters. */
+  } params;
+} ble_l2cap_evt_t;
+
+
+/**@brief Register a CID with L2CAP.
+ *
+ * @details This registers a higher protocol layer with the L2CAP multiplexer, and is requried prior to all operations on the CID.
+ *          
+ * @param[in] cid L2CAP CID.
+ *
+ * @return @ref NRF_SUCCESS Successfully registered a CID with the L2CAP layer.
+ * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied, CID must be above @ref BLE_L2CAP_CID_DYN_BASE.
+ * @return @ref BLE_ERROR_L2CAP_CID_IN_USE L2CAP CID already in use.
+ * @return @ref NRF_ERROR_NO_MEM Not enough memory to complete operation.
+ */
+SVCALL(SD_BLE_L2CAP_CID_REGISTER, uint32_t, sd_ble_l2cap_cid_register(uint16_t cid));
+
+/**@brief Unregister a CID with L2CAP.
+ *
+ * @details This unregisters a previously registerd higher protocol layer with the L2CAP multiplexer.
+ *          
+ * @param[in] cid L2CAP CID.
+ *
+ * @return @ref NRF_SUCCESS Successfully unregistered the CID.
+ * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied.
+ * @return @ref NRF_ERROR_NOT_FOUND CID not previously registered.
+ */
+SVCALL(SD_BLE_L2CAP_CID_UNREGISTER, uint32_t, sd_ble_l2cap_cid_unregister(uint16_t cid));
+
+/**@brief Transmit an L2CAP packet.
+ *
+ * @note    It is important to note that a call to this function will <b>consume an application buffer</b>, and will therefore 
+ *          generate a @ref BLE_EVT_TX_COMPLETE event when the packet has been transmitted. 
+ *          Please see the documentation of @ref sd_ble_tx_buffer_count_get for more details.
+ *
+ * @param[in] conn_handle Connection Handle.
+ * @param[in] p_header    Pointer to a packet header containing length and CID.
+ * @param[in] p_data      Pointer to the data to be transmitted.
+ *
+ * @return @ref NRF_SUCCESS Successfully queued an L2CAP packet for transmission.
+ * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
+ * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied, CIDs must be registered beforehand with @ref sd_ble_l2cap_cid_register.
+ * @return @ref NRF_ERROR_NOT_FOUND CID not found.
+ * @return @ref NRF_ERROR_NO_MEM Not enough memory to complete operation.
+ * @return @ref BLE_ERROR_NO_TX_BUFFERS Not enough application buffers available.
+ * @return @ref NRF_ERROR_DATA_SIZE Invalid data size(s) supplied, see @ref BLE_L2CAP_MTU_DEF.
+ */
+SVCALL(SD_BLE_L2CAP_TX, uint32_t, sd_ble_l2cap_tx(uint16_t conn_handle, ble_l2cap_header_t const * const p_header, uint8_t const * const p_data));
+
+/** @} */
+
+#endif // BLE_L2CAP_H__
+
+/**
+  @}
+*/
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TARGET_ARCH_BLE/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/ble_ranges.h	Fri Aug 15 15:28:31 2014 +0100
@@ -0,0 +1,89 @@
+/*
+  Copyright (c) 2012 Nordic Semiconductor. All Rights Reserved.
+
+  The information contained herein is confidential property of Nordic Semiconductor. The use,
+  copying, transfer or disclosure of such information is prohibited except by express written
+  agreement with Nordic Semiconductor.
+ */
+/**
+  @addtogroup BLE_COMMON
+  @{
+  @defgroup ble_ranges Module specific SVC and event number subranges
+  @{
+
+  @brief Definition of SVC and event number subranges for each API module.
+
+  @note
+  SVCs and event numbers are split into subranges for each API module.
+  Each module receives its entire allocated range of SVC calls, whether implemented or not,
+  but return BLE_ERROR_NOT_SUPPORTED for unimplemented or undefined calls in its range.
+
+  Note that the symbols BLE_<module>_SVC_LAST is the end of the allocated SVC range,
+  rather than the last SVC function call actually defined and implemented.
+
+  Specific SVC and event values are defined in each module's ble_<module>.h file,
+  which defines names of each individual SVC code based on the range start value.
+*/
+
+#ifndef BLE_RANGES_H__
+#define BLE_RANGES_H__
+
+#define BLE_SVC_BASE           0x60
+#define BLE_SVC_LAST           0x6B       /* Total: 12. */
+
+#define BLE_RESERVED_SVC_BASE  0x6C
+#define BLE_RESERVED_SVC_LAST  0x6F       /* Total: 4. */
+
+#define BLE_GAP_SVC_BASE       0x70
+#define BLE_GAP_SVC_LAST       0x8F       /* Total: 32. */
+
+#define BLE_GATTC_SVC_BASE     0x90
+#define BLE_GATTC_SVC_LAST     0x9F       /* Total: 16. */
+
+#define BLE_GATTS_SVC_BASE     0xA0
+#define BLE_GATTS_SVC_LAST     0xAF       /* Total: 16. */
+
+#define BLE_L2CAP_SVC_BASE     0xB0
+#define BLE_L2CAP_SVC_LAST     0xBF       /* Total: 16. */
+
+
+#define BLE_EVT_INVALID        0x00
+
+#define BLE_EVT_BASE           0x01
+#define BLE_EVT_LAST           0x0F       /* Total: 15. */
+
+#define BLE_GAP_EVT_BASE       0x10
+#define BLE_GAP_EVT_LAST       0x2F       /* Total: 32. */
+
+#define BLE_GATTC_EVT_BASE     0x30
+#define BLE_GATTC_EVT_LAST     0x4F       /* Total: 32. */
+
+#define BLE_GATTS_EVT_BASE     0x50
+#define BLE_GATTS_EVT_LAST     0x6F       /* Total: 32. */
+
+#define BLE_L2CAP_EVT_BASE     0x70
+#define BLE_L2CAP_EVT_LAST     0x8F       /* Total: 32.  */
+
+#define BLE_OPT_INVALID        0x00       /**< Invalid BLE Option. */
+
+#define BLE_OPT_BASE           0x01       /**< Common BLE Option base. */
+#define BLE_OPT_LAST           0x1F       /**< Total: 31. */
+
+#define BLE_GAP_OPT_BASE       0x20       /**< GAP BLE Option base. */
+#define BLE_GAP_OPT_LAST       0x3F       /**< Total: 32. */
+
+#define BLE_GATTC_OPT_BASE     0x40       /**< GATTC BLE Option base. */
+#define BLE_GATTC_OPT_LAST     0x5F       /**< Total: 32. */
+
+#define BLE_GATTS_OPT_BASE     0x60       /**< GATTS BLE Option base. */
+#define BLE_GATTS_OPT_LAST     0x7F       /**< Total: 32. */
+
+#define BLE_L2CAP_OPT_BASE     0x80       /**< L2CAP BLE Option base. */
+#define BLE_L2CAP_OPT_LAST     0x9F       /**< Total: 32.  */
+
+#endif /* BLE_RANGES_H__ */
+
+/**
+  @}
+  @}
+*/
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TARGET_ARCH_BLE/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/ble_types.h	Fri Aug 15 15:28:31 2014 +0100
@@ -0,0 +1,169 @@
+/* Copyright (c) 2011 Nordic Semiconductor. All Rights Reserved.
+ *
+ * The information contained herein is confidential property of Nordic Semiconductor. The use,
+ * copying, transfer or disclosure of such information is prohibited except by express written
+ * agreement with Nordic Semiconductor.
+ *
+ */
+/**
+  @addtogroup BLE_COMMON
+  @{
+  @defgroup ble_types Common types and macro definitions
+  @{
+
+  @brief Common types and macro definitions for the S110 SoftDevice.
+ */
+
+#ifndef BLE_TYPES_H__
+#define BLE_TYPES_H__
+
+#include <stdint.h>
+
+/** @addtogroup BLE_COMMON_DEFINES Defines
+ * @{ */
+
+/** @defgroup BLE_CONN_HANDLES BLE Connection Handles
+ * @{ */
+#define BLE_CONN_HANDLE_INVALID 0xFFFF  /**< Invalid Connection Handle. */
+#define BLE_CONN_HANDLE_ALL     0xFFFE  /**< Applies to all Connection Handles. */
+/** @} */
+
+
+/** @defgroup BLE_UUID_VALUES Assigned Values for BLE UUIDs
+ * @{ */
+/* Generic UUIDs, applicable to all services */
+#define BLE_UUID_UNKNOWN                              0x0000 /**< Reserved UUID. */
+#define BLE_UUID_SERVICE_PRIMARY                      0x2800 /**< Primary Service. */
+#define BLE_UUID_SERVICE_SECONDARY                    0x2801 /**< Secondary Service. */
+#define BLE_UUID_SERVICE_INCLUDE                      0x2802 /**< Include. */
+#define BLE_UUID_CHARACTERISTIC                       0x2803 /**< Characteristic. */
+#define BLE_UUID_DESCRIPTOR_CHAR_EXT_PROP             0x2900 /**< Characteristic Extended Properties Descriptor. */
+#define BLE_UUID_DESCRIPTOR_CHAR_USER_DESC            0x2901 /**< Characteristic User Description Descriptor. */
+#define BLE_UUID_DESCRIPTOR_CLIENT_CHAR_CONFIG        0x2902 /**< Client Characteristic Configuration Descriptor. */
+#define BLE_UUID_DESCRIPTOR_SERVER_CHAR_CONFIG        0x2903 /**< Server Characteristic Configuration Descriptor. */
+#define BLE_UUID_DESCRIPTOR_CHAR_PRESENTATION_FORMAT  0x2904 /**< Characteristic Presentation Format Descriptor. */
+#define BLE_UUID_DESCRIPTOR_CHAR_AGGREGATE_FORMAT     0x2905 /**< Characteristic Aggregate Format Descriptor. */
+/* GATT specific UUIDs */
+#define BLE_UUID_GATT                                 0x1801 /**< Generic Attribute Profile. */
+#define BLE_UUID_GATT_CHARACTERISTIC_SERVICE_CHANGED  0x2A05 /**< Service Changed Characteristic. */
+/* GAP specific UUIDs */
+#define BLE_UUID_GAP                                  0x1800 /**< Generic Access Profile. */
+#define BLE_UUID_GAP_CHARACTERISTIC_DEVICE_NAME       0x2A00 /**< Device Name Characteristic. */
+#define BLE_UUID_GAP_CHARACTERISTIC_APPEARANCE        0x2A01 /**< Appearance Characteristic. */
+#define BLE_UUID_GAP_CHARACTERISTIC_PPF               0x2A02 /**< Peripheral Privacy Flag Characteristic. */
+#define BLE_UUID_GAP_CHARACTERISTIC_RECONN_ADDR       0x2A03 /**< Reconnection Address Characteristic. */
+#define BLE_UUID_GAP_CHARACTERISTIC_PPCP              0x2A04 /**< Peripheral Preferred Connection Parameters Characteristic. */
+/** @} */
+
+
+/** @defgroup BLE_UUID_TYPES Types of UUID
+ * @{ */
+#define BLE_UUID_TYPE_UNKNOWN       0x00 /**< Invalid UUID type. */
+#define BLE_UUID_TYPE_BLE           0x01 /**< Bluetooth SIG UUID (16-bit). */
+#define BLE_UUID_TYPE_VENDOR_BEGIN  0x02 /**< Vendor UUID types start at this index (128-bit). */
+/** @} */
+
+
+/** @defgroup BLE_APPEARANCES Bluetooth Appearance values
+ *  @note Retrieved from http://developer.bluetooth.org/gatt/characteristics/Pages/CharacteristicViewer.aspx?u=org.bluetooth.characteristic.gap.appearance.xml
+ * @{ */
+#define BLE_APPEARANCE_UNKNOWN                                0 /**< Unknown. */
+#define BLE_APPEARANCE_GENERIC_PHONE                         64 /**< Generic Phone. */
+#define BLE_APPEARANCE_GENERIC_COMPUTER                     128 /**< Generic Computer. */
+#define BLE_APPEARANCE_GENERIC_WATCH                        192 /**< Generic Watch. */
+#define BLE_APPEARANCE_WATCH_SPORTS_WATCH                   193 /**< Watch: Sports Watch. */
+#define BLE_APPEARANCE_GENERIC_CLOCK                        256 /**< Generic Clock. */
+#define BLE_APPEARANCE_GENERIC_DISPLAY                      320 /**< Generic Display. */
+#define BLE_APPEARANCE_GENERIC_REMOTE_CONTROL               384 /**< Generic Remote Control. */
+#define BLE_APPEARANCE_GENERIC_EYE_GLASSES                  448 /**< Generic Eye-glasses. */
+#define BLE_APPEARANCE_GENERIC_TAG                          512 /**< Generic Tag. */
+#define BLE_APPEARANCE_GENERIC_KEYRING                      576 /**< Generic Keyring. */
+#define BLE_APPEARANCE_GENERIC_MEDIA_PLAYER                 640 /**< Generic Media Player. */
+#define BLE_APPEARANCE_GENERIC_BARCODE_SCANNER              704 /**< Generic Barcode Scanner. */
+#define BLE_APPEARANCE_GENERIC_THERMOMETER                  768 /**< Generic Thermometer. */
+#define BLE_APPEARANCE_THERMOMETER_EAR                      769 /**< Thermometer: Ear. */
+#define BLE_APPEARANCE_GENERIC_HEART_RATE_SENSOR            832 /**< Generic Heart rate Sensor. */
+#define BLE_APPEARANCE_HEART_RATE_SENSOR_HEART_RATE_BELT    833 /**< Heart Rate Sensor: Heart Rate Belt. */
+#define BLE_APPEARANCE_GENERIC_BLOOD_PRESSURE               896 /**< Generic Blood Pressure. */
+#define BLE_APPEARANCE_BLOOD_PRESSURE_ARM                   897 /**< Blood Pressure: Arm. */
+#define BLE_APPEARANCE_BLOOD_PRESSURE_WRIST                 898 /**< Blood Pressure: Wrist. */
+#define BLE_APPEARANCE_GENERIC_HID                          960 /**< Human Interface Device (HID). */
+#define BLE_APPEARANCE_HID_KEYBOARD                         961 /**< Keyboard (HID Subtype). */
+#define BLE_APPEARANCE_HID_MOUSE                            962 /**< Mouse (HID Subtype). */
+#define BLE_APPEARANCE_HID_JOYSTICK                         963 /**< Joystiq (HID Subtype). */
+#define BLE_APPEARANCE_HID_GAMEPAD                          964 /**< Gamepad (HID Subtype). */
+#define BLE_APPEARANCE_HID_DIGITIZERSUBTYPE                 965 /**< Digitizer Tablet (HID Subtype). */
+#define BLE_APPEARANCE_HID_CARD_READER                      966 /**< Card Reader (HID Subtype). */
+#define BLE_APPEARANCE_HID_DIGITAL_PEN                      967 /**< Digital Pen (HID Subtype). */
+#define BLE_APPEARANCE_HID_BARCODE                          968 /**< Barcode Scanner (HID Subtype). */
+#define BLE_APPEARANCE_GENERIC_GLUCOSE_METER               1024 /**< Generic Glucose Meter. */
+#define BLE_APPEARANCE_GENERIC_RUNNING_WALKING_SENSOR      1088 /**< Generic Running Walking Sensor. */
+#define BLE_APPEARANCE_RUNNING_WALKING_SENSOR_IN_SHOE      1089 /**< Running Walking Sensor: In-Shoe. */
+#define BLE_APPEARANCE_RUNNING_WALKING_SENSOR_ON_SHOE      1090 /**< Running Walking Sensor: On-Shoe. */
+#define BLE_APPEARANCE_RUNNING_WALKING_SENSOR_ON_HIP       1091 /**< Running Walking Sensor: On-Hip. */
+#define BLE_APPEARANCE_GENERIC_CYCLING                     1152 /**< Generic Cycling. */
+#define BLE_APPEARANCE_CYCLING_CYCLING_COMPUTER            1153 /**< Cycling: Cycling Computer. */
+#define BLE_APPEARANCE_CYCLING_SPEED_SENSOR                1154 /**< Cycling: Speed Sensor. */
+#define BLE_APPEARANCE_CYCLING_CADENCE_SENSOR              1155 /**< Cycling: Cadence Sensor. */
+#define BLE_APPEARANCE_CYCLING_POWER_SENSOR                1156 /**< Cycling: Power Sensor. */
+#define BLE_APPEARANCE_CYCLING_SPEED_CADENCE_SENSOR        1157 /**< Cycling: Speed and Cadence Sensor. */
+#define BLE_APPEARANCE_GENERIC_PULSE_OXIMETER              3136 /**< Generic Pulse Oximeter. */
+#define BLE_APPEARANCE_PULSE_OXIMETER_FINGERTIP            3137 /**< Fingertip (Pulse Oximeter subtype). */
+#define BLE_APPEARANCE_PULSE_OXIMETER_WRIST_WORN           3138 /**< Wrist Worn(Pulse Oximeter subtype). */
+#define BLE_APPEARANCE_GENERIC_WEIGHT_SCALE                3200 /**< Generic Weight Scale. */
+#define BLE_APPEARANCE_GENERIC_OUTDOOR_SPORTS_ACT          5184 /**< Generic Outdoor Sports Activity. */
+#define BLE_APPEARANCE_OUTDOOR_SPORTS_ACT_LOC_DISP         5185 /**< Location Display Device (Outdoor Sports Activity subtype). */
+#define BLE_APPEARANCE_OUTDOOR_SPORTS_ACT_LOC_AND_NAV_DISP 5186 /**< Location and Navigation Display Device (Outdoor Sports Activity subtype). */
+#define BLE_APPEARANCE_OUTDOOR_SPORTS_ACT_LOC_POD          5187 /**< Location Pod (Outdoor Sports Activity subtype). */
+#define BLE_APPEARANCE_OUTDOOR_SPORTS_ACT_LOC_AND_NAV_POD  5188 /**< Location and Navigation Pod (Outdoor Sports Activity subtype). */
+/** @} */
+
+/** @brief Set .type and .uuid fields of ble_uuid_struct to specified uuid value. */
+#define BLE_UUID_BLE_ASSIGN(instance, value) do {\
+            instance.type = BLE_UUID_TYPE_BLE; \
+            instance.uuid = value;} while(0)
+
+/** @brief Copy type and uuid members from src to dst ble_uuid_t pointer. Both pointers must be valid/non-null. */
+#define BLE_UUID_COPY_PTR(dst, src) do {\
+            (dst)->type = (src)->type; \
+            (dst)->uuid = (src)->uuid;} while(0)
+
+/** @brief Copy type and uuid members from src to dst ble_uuid_t struct. */
+#define BLE_UUID_COPY_INST(dst, src) do {\
+            (dst).type = (src).type; \
+            (dst).uuid = (src).uuid;} while(0)
+
+/** @brief Compare for equality both type and uuid members of two (valid, non-null) ble_uuid_t pointers. */
+#define BLE_UUID_EQ(p_uuid1, p_uuid2) \
+            (((p_uuid1)->type == (p_uuid2)->type) && ((p_uuid1)->uuid == (p_uuid2)->uuid))
+
+/** @brief Compare for difference both type and uuid members of two (valid, non-null) ble_uuid_t pointers. */
+#define BLE_UUID_NEQ(p_uuid1, p_uuid2) \
+            (((p_uuid1)->type != (p_uuid2)->type) || ((p_uuid1)->uuid != (p_uuid2)->uuid))
+
+/** @} */
+
+/** @addtogroup BLE_TYPES_STRUCTURES Structures
+ * @{ */
+
+/** @brief 128 bit UUID values. */
+typedef struct
+{ 
+    unsigned char uuid128[16];
+} ble_uuid128_t;
+
+/** @brief  Bluetooth Low Energy UUID type, encapsulates both 16-bit and 128-bit UUIDs. */
+typedef struct
+{
+    uint16_t    uuid; /**< 16-bit UUID value or octets 12-13 of 128-bit UUID. */
+    uint8_t     type; /**< UUID type, see @ref BLE_UUID_TYPES. If type is BLE_UUID_TYPE_UNKNOWN, the value of uuid is undefined. */
+} ble_uuid_t;
+
+/** @} */
+
+#endif /* BLE_TYPES_H__ */
+
+/**
+  @}
+  @}
+*/
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TARGET_ARCH_BLE/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/nrf_error.h	Fri Aug 15 15:28:31 2014 +0100
@@ -0,0 +1,51 @@
+/*
+ * Copyright (c) 2012 Nordic Semiconductor. All Rights Reserved.
+ *
+ * The information contained herein is confidential property of Nordic Semiconductor. The use,
+ * copying, transfer or disclosure of such information is prohibited except by express written
+ * agreement with Nordic Semiconductor.
+ *
+ */
+ /**
+  @defgroup nrf_error SoftDevice Global Error Codes
+  @{
+   
+  @brief Global Error definitions
+*/
+
+/* Header guard */
+#ifndef NRF_ERROR_H__
+#define NRF_ERROR_H__
+
+/** @defgroup NRF_ERRORS_BASE Error Codes Base number definitions
+ * @{ */
+#define NRF_ERROR_BASE_NUM      (0x0)       ///< Global error base
+#define NRF_ERROR_SDM_BASE_NUM  (0x1000)    ///< SDM error base
+#define NRF_ERROR_SOC_BASE_NUM  (0x2000)    ///< SoC error base
+#define NRF_ERROR_STK_BASE_NUM  (0x3000)    ///< STK error base
+/** @} */
+
+#define NRF_SUCCESS                           (NRF_ERROR_BASE_NUM + 0)  ///< Successful command
+#define NRF_ERROR_SVC_HANDLER_MISSING         (NRF_ERROR_BASE_NUM + 1)  ///< SVC handler is missing
+#define NRF_ERROR_SOFTDEVICE_NOT_ENABLED      (NRF_ERROR_BASE_NUM + 2)  ///< SoftDevice has not been enabled
+#define NRF_ERROR_INTERNAL                    (NRF_ERROR_BASE_NUM + 3)  ///< Internal Error
+#define NRF_ERROR_NO_MEM                      (NRF_ERROR_BASE_NUM + 4)  ///< No Memory for operation
+#define NRF_ERROR_NOT_FOUND                   (NRF_ERROR_BASE_NUM + 5)  ///< Not found
+#define NRF_ERROR_NOT_SUPPORTED               (NRF_ERROR_BASE_NUM + 6)  ///< Not supported
+#define NRF_ERROR_INVALID_PARAM               (NRF_ERROR_BASE_NUM + 7)  ///< Invalid Parameter
+#define NRF_ERROR_INVALID_STATE               (NRF_ERROR_BASE_NUM + 8)  ///< Invalid state, operation disallowed in this state
+#define NRF_ERROR_INVALID_LENGTH              (NRF_ERROR_BASE_NUM + 9)  ///< Invalid Length
+#define NRF_ERROR_INVALID_FLAGS               (NRF_ERROR_BASE_NUM + 10) ///< Invalid Flags
+#define NRF_ERROR_INVALID_DATA                (NRF_ERROR_BASE_NUM + 11) ///< Invalid Data
+#define NRF_ERROR_DATA_SIZE                   (NRF_ERROR_BASE_NUM + 12) ///< Data size exceeds limit
+#define NRF_ERROR_TIMEOUT                     (NRF_ERROR_BASE_NUM + 13) ///< Operation timed out
+#define NRF_ERROR_NULL                        (NRF_ERROR_BASE_NUM + 14) ///< Null Pointer
+#define NRF_ERROR_FORBIDDEN                   (NRF_ERROR_BASE_NUM + 15) ///< Forbidden Operation
+#define NRF_ERROR_INVALID_ADDR                (NRF_ERROR_BASE_NUM + 16) ///< Bad Memory Address
+#define NRF_ERROR_BUSY                        (NRF_ERROR_BASE_NUM + 17) ///< Busy
+
+#endif // NRF_ERROR_H__
+
+/**
+  @}
+*/
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TARGET_ARCH_BLE/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/nrf_error_sdm.h	Fri Aug 15 15:28:31 2014 +0100
@@ -0,0 +1,33 @@
+/*
+ * Copyright (c) 2012 Nordic Semiconductor. All Rights Reserved.
+ *
+ * The information contained herein is confidential property of Nordic Semiconductor. The use,
+ * copying, transfer or disclosure of such information is prohibited except by express written
+ * agreement with Nordic Semiconductor.
+ *
+ */
+ /**
+  @addtogroup nrf_sdm_api
+  @{
+  @defgroup nrf_sdm_error SoftDevice Manager Error Codes
+  @{
+     
+  @brief Error definitions for the SDM API
+*/
+
+/* Header guard */
+#ifndef NRF_ERROR_SDM_H__
+#define NRF_ERROR_SDM_H__
+
+#include "nrf_error.h"
+
+#define NRF_ERROR_SDM_LFCLK_SOURCE_UNKNOWN              (NRF_ERROR_SDM_BASE_NUM + 0)  ///< Unknown lfclk source
+#define NRF_ERROR_SDM_INCORRECT_INTERRUPT_CONFIGURATION (NRF_ERROR_SDM_BASE_NUM + 1)  ///< Incorrect interrupt configuration (can be caused by using illegal priority levels, or having enabled SoftDevice interrupts)
+#define NRF_ERROR_SDM_INCORRECT_CLENR0                  (NRF_ERROR_SDM_BASE_NUM + 2)  ///< Incorrect CLENR0 (can be caused by erronous SoftDevice flashing)
+
+#endif // NRF_ERROR_SDM_H__
+
+/**
+  @}
+  @}
+*/
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TARGET_ARCH_BLE/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/nrf_error_soc.h	Fri Aug 15 15:28:31 2014 +0100
@@ -0,0 +1,49 @@
+/*
+ * Copyright (c) 2012 Nordic Semiconductor. All Rights Reserved.
+ *
+ * The information contained herein is confidential property of Nordic Semiconductor. The use,
+ * copying, transfer or disclosure of such information is prohibited except by express written
+ * agreement with Nordic Semiconductor.
+ *
+ */
+ /**
+  @addtogroup nrf_soc_api
+  @{
+  @defgroup nrf_soc_error SoC Library Error Codes
+  @{
+     
+  @brief Error definitions for the SoC library
+
+*/
+
+/* Header guard */
+#ifndef NRF_ERROR_SOC_H__
+#define NRF_ERROR_SOC_H__
+
+#include "nrf_error.h"
+
+/* Mutex Errors */
+#define NRF_ERROR_SOC_MUTEX_ALREADY_TAKEN                 (NRF_ERROR_SOC_BASE_NUM + 0)  ///< Mutex already taken
+
+/* NVIC errors */
+#define NRF_ERROR_SOC_NVIC_INTERRUPT_NOT_AVAILABLE        (NRF_ERROR_SOC_BASE_NUM + 1)  ///< NVIC interrupt not available
+#define NRF_ERROR_SOC_NVIC_INTERRUPT_PRIORITY_NOT_ALLOWED (NRF_ERROR_SOC_BASE_NUM + 2)  ///< NVIC interrupt priority not allowed
+#define NRF_ERROR_SOC_NVIC_SHOULD_NOT_RETURN              (NRF_ERROR_SOC_BASE_NUM + 3)  ///< NVIC should not return
+
+/* Power errors */
+#define NRF_ERROR_SOC_POWER_MODE_UNKNOWN                  (NRF_ERROR_SOC_BASE_NUM + 4)  ///< Power mode unknown
+#define NRF_ERROR_SOC_POWER_POF_THRESHOLD_UNKNOWN         (NRF_ERROR_SOC_BASE_NUM + 5)  ///< Power POF threshold unknown
+#define NRF_ERROR_SOC_POWER_OFF_SHOULD_NOT_RETURN         (NRF_ERROR_SOC_BASE_NUM + 6)  ///< Power off should not return
+
+/* Rand errors */
+#define NRF_ERROR_SOC_RAND_NOT_ENOUGH_VALUES              (NRF_ERROR_SOC_BASE_NUM + 7)  ///< RAND not enough values
+
+/* PPI errors */
+#define NRF_ERROR_SOC_PPI_INVALID_CHANNEL                 (NRF_ERROR_SOC_BASE_NUM + 8)  ///< Invalid PPI Channel
+#define NRF_ERROR_SOC_PPI_INVALID_GROUP                   (NRF_ERROR_SOC_BASE_NUM + 9)  ///< Invalid PPI Group
+
+#endif // NRF_ERROR_SOC_H__
+/**
+  @}
+  @}
+*/
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TARGET_ARCH_BLE/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/nrf_mbr.h	Fri Aug 15 15:28:31 2014 +0100
@@ -0,0 +1,155 @@
+/*
+ * Copyright (c) 2014 Nordic Semiconductor. All Rights Reserved.
+ *
+ * The information contained herein is confidential property of Nordic Semiconductor. The use,
+ * copying, transfer or disclosure of such information is prohibited except by express written
+ * agreement with Nordic Semiconductor.
+ *
+ */
+/**
+  @defgroup nrf_mbr_api Master Boot Record API
+  @{
+     
+  @brief APIs for updating SoftDevice and BootLoader
+ 
+*/
+
+/* Header guard */
+#ifndef NRF_MBR_H__
+#define NRF_MBR_H__
+
+#include "nrf_svc.h"
+#include <stdint.h>
+
+
+/** @addtogroup NRF_MBR_DEFINES Defines
+ * @{ */
+
+/**@brief MBR SVC Base number. */
+#define MBR_SVC_BASE 0x18   
+/** @} */
+
+/** @addtogroup NRF_MBR_ENUMS Enumerations
+ * @{ */
+
+/**@brief nRF Master Boot Record API SVC numbers. */
+enum NRF_MBR_SVCS
+{
+  SD_MBR_COMMAND = MBR_SVC_BASE, /**< ::sd_mbr_command */
+};
+
+/**@brief Possible values for ::sd_mbr_command_t.command */
+enum NRF_MBR_COMMANDS
+{
+  SD_MBR_COMMAND_COPY_BL,               /**< Copy a new a new BootLoader. @see sd_mbr_command_copy_bl_t */
+  SD_MBR_COMMAND_COPY_SD,               /**< Copy a new SoftDevice. @see ::sd_mbr_command_copy_sd_t*/
+  SD_MBR_COMMAND_INIT_SD,               /**< Init forwarding interrupts to SD, and run reset function in SD*/
+  SD_MBR_COMMAND_COMPARE,               /**< This command works like memcmp. @see ::sd_mbr_command_compare_t*/
+  SD_MBR_COMMAND_VECTOR_TABLE_BASE_SET, /**< Start forwarding all exception to this address @see ::sd_mbr_command_vector_table_base_set_t*/
+};
+
+/** @} */
+
+/** @addtogroup NRF_MBR_TYPES Types
+ * @{ */
+
+/**@brief This command copies part of a new SoftDevice
+ * The destination area is erased before copying. 
+ * If dst is in the middle of a flash page, that whole flash page will be erased.
+ * If (dst+len) is in the middle of a flash page, that whole flash page will be erased.
+ * 
+ * The user of this function is responsible for setting the PROTENSET registers.
+ * 
+ * @retval ::NRF_SUCCESS indicates that the contents of the memory blocks where copied correctly.
+ * @retval ::NRF_ERROR_INTERNAL indicates that the contents of the memory blocks where not verified correctly after copying.
+ */
+typedef struct
+{
+  uint32_t *src;  /**< Pointer to the source of data to be copied.*/
+  uint32_t *dst;  /**< Pointer to the destination where the content is to be copied.*/
+  uint32_t len;   /**< Number of 32 bit words to copy. Must be a multiple of 256 words*/
+}sd_mbr_command_copy_sd_t;
+
+
+/**@brief This command works like memcmp, but takes the length in words.
+ *
+ * @retval ::NRF_SUCCESS indicates that the contents of both memory blocks are equal.
+ * @retval ::NRF_ERROR_NULL indicates that the contents of the memory blocks are not equal.
+ */
+typedef struct
+{
+  uint32_t *ptr1; /**< Pointer to block of memory */
+  uint32_t *ptr2; /**< Pointer to block of memory */
+  uint32_t len;   /**< Number of 32 bit words to compare*/
+}sd_mbr_command_compare_t;
+
+
+/**@brief This command copies a new BootLoader.
+ *  With this command, destination of BootLoader is always the address written in NRF_UICR->BOOTADDR.
+ *
+ *  Destination is erased by this function.
+ *  If (destination+bl_len) is in the middle of a flash page, that whole flash page will be erased.
+ *
+ *  This function will use PROTENSET to protect the flash that is not intended to be written.
+ * 
+ *  On Success, this function will not return. It will start the new BootLoader from reset-vector as normal.
+ *
+ * @retval ::NRF_ERROR_INVALID_STATE indicates that something was wrong.
+ * @retval ::NRF_ERROR_INTERNAL indicates an internal error that should not happen.
+ * @retval ::NRF_ERROR_FORBIDDEN if NRF_UICR->BOOTADDR is not set
+ * @retval ::NRF_ERROR_INVALID_LENGTH is invalid.
+ */
+typedef struct
+{
+  uint32_t *bl_src;  /**< Pointer to the source of the Bootloader to be be copied.*/
+  uint32_t bl_len;   /**< Number of 32 bit words to copy for BootLoader */
+}sd_mbr_command_copy_bl_t;
+
+/**@brief Sets the base address of the interrupt vector table for interrupts forwarded from the MBR
+ * 
+ * Once this function has been called, this address is where the MBR will start to forward interrupts to after a reset.
+ *
+ * To restore default forwarding thiss function should be called with @param address set to 0.
+ * The MBR will then start forwarding to interrupts to the adress in NFR_UICR->BOOTADDR or to the SoftDevice if the BOOTADDR is not set.
+ *
+ * @retval ::NRF_SUCCESS
+ */
+typedef struct
+{ 
+  uint32_t address; /**< The base address of the interrupt vector table for forwarded interrupts.*/
+}sd_mbr_command_vector_table_base_set_t;
+
+typedef struct
+{
+  uint32_t command;  /**< type of command to be issued see @ref NRF_MBR_COMMANDS. */
+  union 
+  {
+    sd_mbr_command_copy_sd_t copy_sd;  /**< Parameters for copy*/
+    sd_mbr_command_copy_bl_t copy_bl;  /**< Parameters for copy SoftDevice and BootLoader*/
+    sd_mbr_command_compare_t compare;  /**< Parameters for verify*/
+    sd_mbr_command_vector_table_base_set_t base_set; /**< Parameters for vector table base set.*/
+  } params;
+}sd_mbr_command_t;
+
+/** @} */
+
+/** @addtogroup NRF_MBR_FUNCTIONS Functions
+ * @{ */
+
+/**@brief Issue Master Boot Record commands
+ *
+ * Commands used when updating a SoftDevice and bootloader
+ *
+ * @param[in]  param Pointer to a struct describing the command
+ *
+ *@note for retvals see ::sd_mbr_command_copy_sd_t ::sd_mbr_command_copy_bl_t ::sd_mbr_command_compare_t
+
+*/
+SVCALL(SD_MBR_COMMAND, uint32_t, sd_mbr_command(sd_mbr_command_t* param));
+
+/** @} */
+#endif // NRF_MBR_H__
+
+/**
+  @}
+*/
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TARGET_ARCH_BLE/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/nrf_sdm.h	Fri Aug 15 15:28:31 2014 +0100
@@ -0,0 +1,167 @@
+/*
+ * Copyright (c) 2011 Nordic Semiconductor. All Rights Reserved.
+ *
+ * The information contained herein is confidential property of Nordic Semiconductor. The use,
+ * copying, transfer or disclosure of such information is prohibited except by express written
+ * agreement with Nordic Semiconductor.
+ *
+ */
+/**
+  @defgroup nrf_sdm_api SoftDevice Manager API
+  @{
+     
+  @brief APIs for SoftDevice management.
+ 
+*/
+
+/* Header guard */
+#ifndef NRF_SDM_H__
+#define NRF_SDM_H__
+
+#include "nrf_svc.h"
+#include "nrf51.h"
+#include "nrf_soc.h"
+#include "nrf_error_sdm.h"
+
+/** @addtogroup NRF_SDM_DEFINES Defines
+ * @{ */
+
+/**@brief SoftDevice Manager SVC Base number. */
+#define SDM_SVC_BASE  (0x10)
+
+/** @} */
+
+/** @addtogroup NRF_SDM_ENUMS Enumerations
+ * @{ */
+
+/**@brief nRF SoftDevice Manager API SVC numbers. */
+enum NRF_SD_SVCS
+{
+  SD_SOFTDEVICE_ENABLE = SDM_SVC_BASE, /**< ::sd_softdevice_enable */
+  SD_SOFTDEVICE_DISABLE,               /**< ::sd_softdevice_disable */
+  SD_SOFTDEVICE_IS_ENABLED,            /**< ::sd_softdevice_is_enabled */
+  SD_SOFTDEVICE_VECTOR_TABLE_BASE_SET, /**< ::sd_softdevice_vector_table_base_set */
+  SVC_SDM_LAST                         /**< Placeholder for last SDM SVC */
+};
+
+/**@brief Possible lfclk oscillator sources. */
+enum NRF_CLOCK_LFCLKSRCS
+{
+  NRF_CLOCK_LFCLKSRC_SYNTH_250_PPM,                       /**< LFCLK Synthesized from HFCLK.                    */
+  NRF_CLOCK_LFCLKSRC_XTAL_500_PPM,                        /**< LFCLK crystal oscillator 500 PPM accuracy.       */
+  NRF_CLOCK_LFCLKSRC_XTAL_250_PPM,                        /**< LFCLK crystal oscillator 250 PPM accuracy.       */
+  NRF_CLOCK_LFCLKSRC_XTAL_150_PPM,                        /**< LFCLK crystal oscillator 150 PPM accuracy.       */
+  NRF_CLOCK_LFCLKSRC_XTAL_100_PPM,                        /**< LFCLK crystal oscillator 100 PPM accuracy.       */
+  NRF_CLOCK_LFCLKSRC_XTAL_75_PPM,                         /**< LFCLK crystal oscillator 75 PPM accuracy.        */
+  NRF_CLOCK_LFCLKSRC_XTAL_50_PPM,                         /**< LFCLK crystal oscillator 50 PPM accuracy.        */
+  NRF_CLOCK_LFCLKSRC_XTAL_30_PPM,                         /**< LFCLK crystal oscillator 30 PPM accuracy.        */
+  NRF_CLOCK_LFCLKSRC_XTAL_20_PPM,                         /**< LFCLK crystal oscillator 20 PPM accuracy.        */
+  NRF_CLOCK_LFCLKSRC_RC_250_PPM_250MS_CALIBRATION,        /**< LFCLK RC oscillator, 250ms  calibration interval.*/
+  NRF_CLOCK_LFCLKSRC_RC_250_PPM_500MS_CALIBRATION,        /**< LFCLK RC oscillator, 500ms  calibration interval.*/
+  NRF_CLOCK_LFCLKSRC_RC_250_PPM_1000MS_CALIBRATION,       /**< LFCLK RC oscillator, 1000ms calibration interval.*/
+  NRF_CLOCK_LFCLKSRC_RC_250_PPM_2000MS_CALIBRATION,       /**< LFCLK RC oscillator, 2000ms calibration interval.*/
+  NRF_CLOCK_LFCLKSRC_RC_250_PPM_4000MS_CALIBRATION,       /**< LFCLK RC oscillator, 4000ms calibration interval.*/
+  NRF_CLOCK_LFCLKSRC_RC_250_PPM_8000MS_CALIBRATION,       /**< LFCLK RC oscillator, 8000ms calibration interval.*/
+  NRF_CLOCK_LFCLKSRC_RC_250_PPM_TEMP_1000MS_CALIBRATION,  /**< LFCLK RC oscillator. Temperature checked every 1000ms, if changed above a threshold, a calibration is done.*/
+  NRF_CLOCK_LFCLKSRC_RC_250_PPM_TEMP_2000MS_CALIBRATION,  /**< LFCLK RC oscillator. Temperature checked every 2000ms, if changed above a threshold, a calibration is done.*/
+  NRF_CLOCK_LFCLKSRC_RC_250_PPM_TEMP_4000MS_CALIBRATION,  /**< LFCLK RC oscillator. Temperature checked every 4000ms, if changed above a threshold, a calibration is done.*/
+  NRF_CLOCK_LFCLKSRC_RC_250_PPM_TEMP_8000MS_CALIBRATION,  /**< LFCLK RC oscillator. Temperature checked every 8000ms, if changed above a threshold, a calibration is done.*/
+  NRF_CLOCK_LFCLKSRC_RC_250_PPM_TEMP_16000MS_CALIBRATION, /**< LFCLK RC oscillator. Temperature checked every 16000ms, if changed above a threshold, a calibration is done.*/
+};
+
+/** @} */
+
+/** @addtogroup NRF_SDM_TYPES Types
+ * @{ */
+
+/**@brief Type representing lfclk oscillator source. */
+typedef uint32_t nrf_clock_lfclksrc_t;
+
+
+/**@brief SoftDevice Assertion Handler type.
+ *
+ * When an unexpected error occurs within the SoftDevice it will call the SoftDevice assertion handler callback.
+ * The protocol stack will be in an undefined state when this happens and the only way to recover will be to
+ * perform a reset, using e.g. CMSIS NVIC_SystemReset().
+ *
+ * @note This callback is executed in HardFault context, thus SVC functions cannot be called from the SoftDevice assert callback.
+ *       
+ * @param[in] pc The program counter of the failed assert.
+ * @param[in] line_number Line number where the assert failed.
+ * @param[in] file_name File name where the assert failed.
+ */
+typedef void (*softdevice_assertion_handler_t)(uint32_t pc, uint16_t line_number, const uint8_t * p_file_name);
+
+/** @} */
+
+/** @addtogroup NRF_SDM_FUNCTIONS Functions
+ * @{ */
+
+/**@brief Enables the SoftDevice and by extension the protocol stack.
+ *
+ * Idempotent function to enable the SoftDevice.
+ *
+ * @note Some care must be taken if a low frequency clock source is already running when calling this function:
+ *       If the LF clock has a different source then the one currently running, it will be stopped. Then, the new
+ *       clock source will be started.
+ *
+ * @note This function has no effect when returning with an error.
+ *
+ * @post If return code is ::NRF_SUCCESS 
+ *       - SoC library and protocol stack APIs are made available
+ *       - A portion of RAM will be unavailable (see relevant SDS documentation)
+ *       - Some peripherals will be unavailable or available only through the SoC API (see relevant SDS documentation)
+ *       - Interrupts will not arrive from protected peripherals or interrupts
+ *       - nrf_nvic_ functions must be used instead of CMSIS NVIC_ functions for reliable usage of the softdevice.
+ *       - Interrupt latency may be affected by the SoftDevice  (see relevant SDS documentation)
+ *       - Chosen low frequency clock source will be running
+ *
+ * @param clock_source Low frequency clock source and accuracy. (Note: In the case of XTAL source, the PPM accuracy of the chosen clock source must be greater than or equal to the actual characteristics of your XTAL clock).
+ * @param assertion_handler Callback for SoftDevice assertions.
+ *
+ * @retval ::NRF_SUCCESS
+ * @retval ::NRF_ERROR_SDM_INCORRECT_INTERRUPT_CONFIGURATION SoftDeviceinterrupt is already enabled, or an enabled interrupt has an illegal priority level
+ * @retval ::NRF_ERROR_SDM_LFCLK_SOURCE_UNKNOWN Unknown low frequency clock source selected
+ */
+SVCALL(SD_SOFTDEVICE_ENABLE, uint32_t, sd_softdevice_enable(nrf_clock_lfclksrc_t clock_source, softdevice_assertion_handler_t assertion_handler));
+
+/**@brief Disables the SoftDevice and by extension the protocol stack.
+ * 
+ * Idempotent function to disable the SoftDevice.
+ *
+ * @post SoC library and protocol stack APIs are made unavailable.
+ * @post All interrupts that was protected by the SoftDevice will be disabled and initialized to priority 0 (highest).
+ * @post All peripherals used by the SoftDevice will be reset to default values.
+ * @post All of RAM become available.
+ * @post All interrupts are forwarded to the application.
+ * @post LFCLK source chosen in ::sd_softdevice_enable will be left running.
+ *
+ * @retval ::NRF_SUCCESS
+ */
+SVCALL(SD_SOFTDEVICE_DISABLE, uint32_t, sd_softdevice_disable(void));
+
+/**@brief Check if the SoftDevice is enabled.
+ *
+ * @param[out]  p_softdevice_enabled If the SoftDevice is enabled: 1 else 0.
+ *
+ * @retval ::NRF_SUCCESS
+ */
+SVCALL(SD_SOFTDEVICE_IS_ENABLED, uint32_t, sd_softdevice_is_enabled(uint8_t * p_softdevice_enabled));
+
+/**@brief Sets the base address of the interrupt vector table for interrupts forwarded from the SoftDevice
+ * 
+ * This function is only intended to be called when a bootloader is enabled.
+ *
+ * @param[in] address The base address of the interrupt vector table for forwarded interrupts.
+ 
+ * @retval ::NRF_SUCCESS
+ */
+SVCALL(SD_SOFTDEVICE_VECTOR_TABLE_BASE_SET, uint32_t, sd_softdevice_vector_table_base_set(uint32_t address)); 
+
+/** @} */
+
+#endif // NRF_SDM_H__
+
+/**
+  @}
+*/
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TARGET_ARCH_BLE/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/nrf_soc.h	Fri Aug 15 15:28:31 2014 +0100
@@ -0,0 +1,958 @@
+/* Copyright (c) 2011 Nordic Semiconductor. All Rights Reserved.
+ *
+ * The information contained herein is confidential property of Nordic Semiconductor. The use,
+ * copying, transfer or disclosure of such information is prohibited except by express written
+ * agreement with Nordic Semiconductor.
+ *
+ */
+ 
+/**
+ * @defgroup nrf_soc_api SoC Library API
+ * @{
+ * 
+ * @brief APIs for the SoC library.
+ * 
+*/
+
+#ifndef NRF_SOC_H__
+#define NRF_SOC_H__
+
+#include <stdint.h>
+#include <stdbool.h>
+#include "nrf_svc.h"
+#include "nrf51.h"
+#include "nrf51_bitfields.h"
+#include "nrf_error_soc.h"
+
+/** @addtogroup NRF_SOC_DEFINES Defines
+ * @{ */
+
+/**@brief The number of the lowest SVC number reserved for the SoC library. */
+#define SOC_SVC_BASE               (0x20)
+#define SOC_SVC_BASE_NOT_AVAILABLE (0x23)
+
+/**@brief Guranteed time for application to process radio inactive notification. */
+#define NRF_RADIO_NOTIFICATION_INACTIVE_GUARANTEED_TIME_US  (62)
+
+/**@brief The minimum allowed timeslot extension time. */
+#define NRF_RADIO_MINIMUM_TIMESLOT_LENGTH_EXTENSION_TIME_US (200)
+
+#define SOC_ECB_KEY_LENGTH            (16)                       /**< ECB key length. */
+#define SOC_ECB_CLEARTEXT_LENGTH      (16)                       /**< ECB cleartext length. */
+#define SOC_ECB_CIPHERTEXT_LENGTH     (SOC_ECB_CLEARTEXT_LENGTH) /**< ECB ciphertext length. */
+
+#define SD_EVT_IRQn                   (SWI2_IRQn)        /**< SoftDevice Event IRQ number. Used for both protocol events and SoC events. */
+#define SD_EVT_IRQHandler             (SWI2_IRQHandler)  /**< SoftDevice Event IRQ handler. Used for both protocol events and SoC events. */
+#define RADIO_NOTIFICATION_IRQn       (SWI1_IRQn)        /**< The radio notification IRQ number. */
+#define RADIO_NOTIFICATION_IRQHandler (SWI1_IRQHandler)  /**< The radio notification IRQ handler. */
+
+#define NRF_RADIO_LENGTH_MIN_US       (100)               /**< The shortest allowed radio timeslot, in microseconds. */
+#define NRF_RADIO_LENGTH_MAX_US       (100000)            /**< The longest allowed radio timeslot, in microseconds. */
+
+#define NRF_RADIO_DISTANCE_MAX_US         (128000000UL - 1UL) /**< The longest timeslot distance, in microseconds, allowed for the distance parameter (see @ref nrf_radio_request_normal_t) in the request. */
+
+#define NRF_RADIO_EARLIEST_TIMEOUT_MAX_US (128000000UL - 1UL) /**< The longest timeout, in microseconds, allowed when requesting the earliest possible timeslot. */
+
+#define NRF_RADIO_START_JITTER_US     (2)                 /**< The maximum jitter in NRF_RADIO_CALLBACK_SIGNAL_TYPE_START relative to the requested start time. */
+
+/** @} */
+
+/** @addtogroup NRF_SOC_TYPES Types
+ * @{ */
+
+/**@brief The SVC numbers used by the SVC functions in the SoC library. */
+enum NRF_SOC_SVCS
+{
+  SD_FLASH_PAGE_ERASE = SOC_SVC_BASE,
+  SD_FLASH_WRITE,
+  SD_FLASH_PROTECT,
+  SD_MUTEX_NEW = SOC_SVC_BASE_NOT_AVAILABLE,
+  SD_MUTEX_ACQUIRE,
+  SD_MUTEX_RELEASE,
+  SD_NVIC_ENABLEIRQ,
+  SD_NVIC_DISABLEIRQ,
+  SD_NVIC_GETPENDINGIRQ,
+  SD_NVIC_SETPENDINGIRQ,
+  SD_NVIC_CLEARPENDINGIRQ,
+  SD_NVIC_SETPRIORITY,
+  SD_NVIC_GETPRIORITY,
+  SD_NVIC_SYSTEMRESET,
+  SD_NVIC_CRITICAL_REGION_ENTER,
+  SD_NVIC_CRITICAL_REGION_EXIT,
+  SD_RAND_APPLICATION_POOL_CAPACITY,
+  SD_RAND_APPLICATION_BYTES_AVAILABLE,
+  SD_RAND_APPLICATION_GET_VECTOR,
+  SD_POWER_MODE_SET,
+  SD_POWER_SYSTEM_OFF,
+  SD_POWER_RESET_REASON_GET,
+  SD_POWER_RESET_REASON_CLR,
+  SD_POWER_POF_ENABLE,
+  SD_POWER_POF_THRESHOLD_SET,
+  SD_POWER_RAMON_SET,
+  SD_POWER_RAMON_CLR,
+  SD_POWER_RAMON_GET,
+  SD_POWER_GPREGRET_SET,
+  SD_POWER_GPREGRET_CLR,
+  SD_POWER_GPREGRET_GET,
+  SD_POWER_DCDC_MODE_SET,
+  SD_APP_EVT_WAIT,
+  SD_CLOCK_HFCLK_REQUEST,
+  SD_CLOCK_HFCLK_RELEASE,
+  SD_CLOCK_HFCLK_IS_RUNNING,
+  SD_PPI_CHANNEL_ENABLE_GET,
+  SD_PPI_CHANNEL_ENABLE_SET,
+  SD_PPI_CHANNEL_ENABLE_CLR,
+  SD_PPI_CHANNEL_ASSIGN,
+  SD_PPI_GROUP_TASK_ENABLE,
+  SD_PPI_GROUP_TASK_DISABLE,
+  SD_PPI_GROUP_ASSIGN,
+  SD_PPI_GROUP_GET,
+  SD_RADIO_NOTIFICATION_CFG_SET,
+  SD_ECB_BLOCK_ENCRYPT,
+  SD_RADIO_SESSION_OPEN,
+  SD_RADIO_SESSION_CLOSE,
+  SD_RADIO_REQUEST,
+  SD_EVT_GET,
+  SD_TEMP_GET,
+  SVC_SOC_LAST
+};
+
+/**@brief Possible values of a ::nrf_mutex_t. */
+enum NRF_MUTEX_VALUES
+{
+  NRF_MUTEX_FREE,
+  NRF_MUTEX_TAKEN
+};
+
+/**@brief Possible values of ::nrf_app_irq_priority_t. */
+enum NRF_APP_PRIORITIES
+{
+  NRF_APP_PRIORITY_HIGH = 1,
+  NRF_APP_PRIORITY_LOW = 3
+};
+
+/**@brief Possible values of ::nrf_power_mode_t. */
+enum NRF_POWER_MODES
+{
+  NRF_POWER_MODE_CONSTLAT,  /**< Constant latency mode. See power management in the reference manual. */
+  NRF_POWER_MODE_LOWPWR     /**< Low power mode. See power management in the reference manual. */
+};
+
+
+/**@brief Possible values of ::nrf_power_failure_threshold_t */
+enum NRF_POWER_THRESHOLDS
+{
+  NRF_POWER_THRESHOLD_V21,  /**< 2.1 Volts power failure threshold. */
+  NRF_POWER_THRESHOLD_V23,  /**< 2.3 Volts power failure threshold. */
+  NRF_POWER_THRESHOLD_V25,  /**< 2.5 Volts power failure threshold. */ 
+  NRF_POWER_THRESHOLD_V27   /**< 2.7 Volts power failure threshold. */
+};
+
+
+/**@brief Possible values of ::nrf_power_dcdc_mode_t. */
+enum NRF_POWER_DCDC_MODES
+{
+  NRF_POWER_DCDC_MODE_OFF,          /**< The DCDC is always off. */
+  NRF_POWER_DCDC_MODE_ON,           /**< The DCDC is always on. */
+  NRF_POWER_DCDC_MODE_AUTOMATIC     /**< The DCDC is automatically managed. */
+};
+
+/**@brief Possible values of ::nrf_radio_notification_distance_t. */
+enum NRF_RADIO_NOTIFICATION_DISTANCES
+{
+  NRF_RADIO_NOTIFICATION_DISTANCE_NONE = 0, /**< The event does not have a notification. */
+  NRF_RADIO_NOTIFICATION_DISTANCE_800US,    /**< The distance from the active notification to start of radio activity. */
+  NRF_RADIO_NOTIFICATION_DISTANCE_1740US,   /**< The distance from the active notification to start of radio activity. */
+  NRF_RADIO_NOTIFICATION_DISTANCE_2680US,   /**< The distance from the active notification to start of radio activity. */
+  NRF_RADIO_NOTIFICATION_DISTANCE_3620US,   /**< The distance from the active notification to start of radio activity. */
+  NRF_RADIO_NOTIFICATION_DISTANCE_4560US,   /**< The distance from the active notification to start of radio activity. */
+  NRF_RADIO_NOTIFICATION_DISTANCE_5500US    /**< The distance from the active notification to start of radio activity. */
+};
+
+
+/**@brief Possible values of ::nrf_radio_notification_type_t. */
+enum NRF_RADIO_NOTIFICATION_TYPES
+{
+  NRF_RADIO_NOTIFICATION_TYPE_NONE = 0,        /**< The event does not have a radio notification signal. */
+  NRF_RADIO_NOTIFICATION_TYPE_INT_ON_ACTIVE,   /**< Using interrupt for notification when the radio will be enabled. */
+  NRF_RADIO_NOTIFICATION_TYPE_INT_ON_INACTIVE, /**< Using interrupt for notification when the radio has been disabled. */
+  NRF_RADIO_NOTIFICATION_TYPE_INT_ON_BOTH,     /**< Using interrupt for notification both when the radio will be enabled and disabled. */
+};
+
+/**@brief SoC Events. */
+enum NRF_SOC_EVTS
+{
+  NRF_EVT_HFCLKSTARTED,                         /**< Event indicating that the HFCLK has started. */
+  NRF_EVT_POWER_FAILURE_WARNING,                /**< Event indicating that a power failure warning has occurred. */
+  NRF_EVT_FLASH_OPERATION_SUCCESS,              /**< Event indicating that the ongoing flash operation has completed successfully. */
+  NRF_EVT_FLASH_OPERATION_ERROR,                /**< Event indicating that the ongoing flash operation has timed out with an error. */
+  NRF_EVT_RADIO_BLOCKED,                        /**< Event indicating that a radio timeslot was blocked. */
+  NRF_EVT_RADIO_CANCELED,                       /**< Event indicating that a radio timeslot was canceled by SoftDevice. */
+  NRF_EVT_RADIO_SIGNAL_CALLBACK_INVALID_RETURN, /**< Event indicating that a radio signal callback handler return was invalid. */
+  NRF_EVT_RADIO_SESSION_IDLE,                   /**< Event indicating that a radio session is idle. */
+  NRF_EVT_RADIO_SESSION_CLOSED,                 /**< Event indicating that a radio session is closed. */
+  NRF_EVT_NUMBER_OF_EVTS
+};
+
+/** @} */
+
+/** @addtogroup NRF_SOC_TYPES Types
+ * @{ */
+
+/**@brief Represents a mutex for use with the nrf_mutex functions.
+ * @note Accessing the value directly is not safe, use the mutex functions!
+ */
+typedef volatile uint8_t nrf_mutex_t;
+
+/**@brief The interrupt priorities available to the application while the softdevice is active. */
+typedef uint8_t nrf_app_irq_priority_t;
+
+/**@brief Represents a power mode, used in power mode functions */
+typedef uint8_t nrf_power_mode_t;
+
+/**@brief Represents a power failure threshold value. */
+typedef uint8_t nrf_power_failure_threshold_t;
+
+/**@brief Represents a DCDC mode value. */
+typedef uint32_t nrf_power_dcdc_mode_t;
+
+/**@brief Radio notification distances. */
+typedef uint8_t nrf_radio_notification_distance_t;
+
+/**@brief Radio notification types. */
+typedef uint8_t nrf_radio_notification_type_t;
+
+/** @brief The Radio signal callback types. */
+enum NRF_RADIO_CALLBACK_SIGNAL_TYPE
+{
+  NRF_RADIO_CALLBACK_SIGNAL_TYPE_START,            /**< This signal indicates the start of the radio timeslot. */
+  NRF_RADIO_CALLBACK_SIGNAL_TYPE_TIMER0,            /**< This signal indicates the NRF_TIMER0 interrupt. */
+  NRF_RADIO_CALLBACK_SIGNAL_TYPE_RADIO,             /**< This signal indicates the NRF_RADIO interrupt. */
+  NRF_RADIO_CALLBACK_SIGNAL_TYPE_EXTEND_FAILED,     /**< This signal indicates extend action failed. */
+  NRF_RADIO_CALLBACK_SIGNAL_TYPE_EXTEND_SUCCEEDED   /**< This signal indicates extend action succeeded. */
+};
+
+/** @brief The actions requested by the signal callback.
+ *
+ *  This code gives the SOC instructions about what action to take when the signal callback has
+ *  returned.
+ */
+enum NRF_RADIO_SIGNAL_CALLBACK_ACTION
+{
+  NRF_RADIO_SIGNAL_CALLBACK_ACTION_NONE,            /**< Return without action. */
+  NRF_RADIO_SIGNAL_CALLBACK_ACTION_EXTEND,          /**< Request an extension of the current timeslot (maximum execution time for this action is when the extension succeeded). */
+  NRF_RADIO_SIGNAL_CALLBACK_ACTION_END,             /**< End the current radio timeslot. */
+  NRF_RADIO_SIGNAL_CALLBACK_ACTION_REQUEST_AND_END  /**< Request a new radio timeslot and end the current timeslot. */
+};
+
+/**@brief Radio timeslot high frequency clock source configuration. */
+enum NRF_RADIO_HFCLK_CFG
+{
+  NRF_RADIO_HFCLK_CFG_DEFAULT,                      /**< Use the currently selected oscillator as HF clock source during the timeslot (i.e. the source is not specified). */
+  NRF_RADIO_HFCLK_CFG_FORCE_XTAL,                   /**< Force external crystal to be used as HF clock source during whole the timeslot. */
+};
+
+/** @brief Radio timeslot priorities. */
+enum NRF_RADIO_PRIORITY
+{
+  NRF_RADIO_PRIORITY_HIGH,                          /**< High (equal priority as the normal connection priority of the SoftDevice stack(s)). */
+  NRF_RADIO_PRIORITY_NORMAL,                        /**< Normal (equal priority as the priority of secondary activites of the SoftDevice stack(s)). */
+};
+
+/** @brief Radio timeslot request type. */
+enum NRF_RADIO_REQUEST_TYPE
+{
+  NRF_RADIO_REQ_TYPE_EARLIEST,                      /**< Request timeslot as early as possible. This should always be used for the first request in a session. */
+  NRF_RADIO_REQ_TYPE_NORMAL                         /**< Normal timeslot request. */
+};
+
+/** @brief Parameters for a request for a timeslot as early as possible. */
+typedef struct
+{
+  uint8_t       hfclk;                              /**< High frequency clock source, see @ref NRF_RADIO_HFCLK_CFG. */
+  uint8_t       priority;                           /**< The radio timeslot priority, see @ref NRF_RADIO_PRIORITY. */
+  uint32_t      length_us;                          /**< The radio timeslot length (in the range 100 to 100,000] microseconds). */
+  uint32_t      timeout_us;                         /**< Longest acceptable delay until the start of the requested timeslot (up to @ref NRF_RADIO_EARLIEST_TIMEOUT_MAX_US microseconds). */
+} nrf_radio_request_earliest_t;
+
+/** @brief Parameters for a normal radio request. */
+typedef struct
+{
+  uint8_t       hfclk;                              /**< High frequency clock source, see @ref NRF_RADIO_HFCLK_CFG. */
+  uint8_t       priority;                           /**< The radio timeslot priority, see @ref NRF_RADIO_PRIORITY. */
+  uint32_t      distance_us;                        /**< Distance from the start of the previous radio timeslot (up to @ref NRF_RADIO_DISTANCE_MAX_US microseconds). */
+  uint32_t      length_us;                          /**< The radio timeslot length (in the range [100..100,000] microseconds). */
+} nrf_radio_request_normal_t;
+
+/** @brief Radio request parameters. */
+typedef struct
+{
+  uint8_t                         request_type;     /**< Type of request, see @ref NRF_RADIO_REQUEST_TYPE. */
+  union
+  {
+    nrf_radio_request_earliest_t  earliest;         /**< Parameters for a request for a timeslot as early as possible. */
+    nrf_radio_request_normal_t    normal;           /**< Parameters for a normal radio request. */
+  } params;
+} nrf_radio_request_t;
+
+/**@brief Return parameters of the radio timeslot signal callback. */
+typedef struct
+{
+  uint8_t               callback_action;            /**< The action requested by the application when returning from the signal callback, see @ref NRF_RADIO_SIGNAL_CALLBACK_ACTION. */
+  union
+  {
+    struct
+    {
+      nrf_radio_request_t * p_next;                 /**< The request parameters for the next radio timeslot. */
+    } request;                                      /**< Additional parameters for return_code @ref NRF_RADIO_SIGNAL_CALLBACK_ACTION_REQUEST_AND_END. */
+    struct
+    {
+      uint32_t              length_us;              /**< Requested extension of the timeslot duration (microseconds) (for minimum time see @ref NRF_RADIO_MINIMUM_TIMESLOT_LENGTH_EXTENSION_TIME_US). */
+    } extend;                                       /**< Additional parameters for return_code @ref NRF_RADIO_SIGNAL_CALLBACK_ACTION_EXTEND. */
+  } params;
+} nrf_radio_signal_callback_return_param_t;
+
+/**@brief The radio signal callback type.
+ *
+ * @note In case of invalid return parameters, the radio timeslot will automatically end
+ *       immediately after returning from the signal callback and the
+ *       @ref NRF_EVT_RADIO_SIGNAL_CALLBACK_INVALID_RETURN event will be sent.
+ * @note The returned struct pointer must remain valid after the signal callback
+ *       function returns. For instance, this means that it must not point to a stack variable.
+ *
+ * @param[in] signal_type Type of signal, see @ref NRF_RADIO_CALLBACK_SIGNAL_TYPE.
+ *
+ * @return Pointer to structure containing action requested by the application.
+ */
+typedef nrf_radio_signal_callback_return_param_t * (*nrf_radio_signal_callback_t) (uint8_t signal_type);
+
+/**@brief AES ECB data structure */
+typedef struct
+{
+  uint8_t key[SOC_ECB_KEY_LENGTH];                  /**< Encryption key. */
+  uint8_t cleartext[SOC_ECB_CLEARTEXT_LENGTH];      /**< Clear Text data. */
+  uint8_t ciphertext[SOC_ECB_CIPHERTEXT_LENGTH];    /**< Cipher Text data. */
+} nrf_ecb_hal_data_t;
+
+/** @} */
+
+/** @addtogroup NRF_SOC_FUNCTIONS Functions
+ * @{ */
+
+/**@brief Initialize a mutex.
+ *
+ * @param[in] p_mutex Pointer to the mutex to initialize.
+ *
+ * @retval ::NRF_SUCCESS
+ */
+SVCALL(SD_MUTEX_NEW, uint32_t, sd_mutex_new(nrf_mutex_t * p_mutex));
+
+/**@brief Attempt to acquire a mutex.
+ *
+ * @param[in] p_mutex Pointer to the mutex to acquire.
+ *
+ * @retval ::NRF_SUCCESS The mutex was successfully acquired.
+ * @retval ::NRF_ERROR_SOC_MUTEX_ALREADY_TAKEN The mutex could not be acquired.
+ */
+SVCALL(SD_MUTEX_ACQUIRE, uint32_t, sd_mutex_acquire(nrf_mutex_t * p_mutex));
+
+/**@brief Release a mutex.
+ *
+ * @param[in] p_mutex Pointer to the mutex to release.
+ *
+ * @retval ::NRF_SUCCESS
+ */
+SVCALL(SD_MUTEX_RELEASE, uint32_t, sd_mutex_release(nrf_mutex_t * p_mutex));
+
+/**@brief Enable External Interrupt.
+ * @note Corresponds to NVIC_EnableIRQ in CMSIS.
+ *
+ * @pre{IRQn is valid and not reserved by the stack}
+ *
+ * @param[in] IRQn See the NVIC_EnableIRQ documentation in CMSIS.
+ *
+ * @retval ::NRF_SUCCESS The interrupt was enabled.
+ * @retval ::NRF_ERROR_SOC_NVIC_INTERRUPT_NOT_AVAILABLE The interrupt is not available for the application.
+ * @retval ::NRF_ERROR_SOC_NVIC_INTERRUPT_PRIORITY_NOT_ALLOWED The interrupt has a priority not available for the application.
+ */
+SVCALL(SD_NVIC_ENABLEIRQ, uint32_t, sd_nvic_EnableIRQ(IRQn_Type IRQn));
+
+/**@brief  Disable External Interrupt.
+ * @note Corresponds to NVIC_DisableIRQ in CMSIS.
+ *
+ * @pre{IRQn is valid and not reserved by the stack}
+ *
+ * @param[in] IRQn See the NVIC_DisableIRQ documentation in CMSIS
+ *
+ * @retval ::NRF_SUCCESS The interrupt was disabled.
+ * @retval ::NRF_ERROR_SOC_NVIC_INTERRUPT_NOT_AVAILABLE The interrupt is not available for the application.
+ */
+SVCALL(SD_NVIC_DISABLEIRQ, uint32_t, sd_nvic_DisableIRQ(IRQn_Type IRQn));
+
+/**@brief  Get Pending Interrupt.
+ * @note Corresponds to NVIC_GetPendingIRQ in CMSIS.
+ *
+ * @pre{IRQn is valid and not reserved by the stack}
+ *
+ * @param[in]   IRQn          See the NVIC_GetPendingIRQ documentation in CMSIS.
+ * @param[out]  p_pending_irq Return value from NVIC_GetPendingIRQ.
+ *
+ * @retval ::NRF_SUCCESS The interrupt is available for the application.
+ * @retval ::NRF_ERROR_SOC_NVIC_INTERRUPT_NOT_AVAILABLE IRQn is not available for the application.
+ */
+SVCALL(SD_NVIC_GETPENDINGIRQ, uint32_t, sd_nvic_GetPendingIRQ(IRQn_Type IRQn, uint32_t * p_pending_irq));
+
+/**@brief  Set Pending Interrupt.
+ * @note Corresponds to NVIC_SetPendingIRQ in CMSIS.
+ *
+ * @pre{IRQn is valid and not reserved by the stack}
+ *
+ * @param[in] IRQn See the NVIC_SetPendingIRQ documentation in CMSIS.
+ *
+ * @retval ::NRF_SUCCESS The interrupt is set pending.
+ * @retval ::NRF_ERROR_SOC_NVIC_INTERRUPT_NOT_AVAILABLE IRQn is not available for the application.
+ */
+SVCALL(SD_NVIC_SETPENDINGIRQ, uint32_t, sd_nvic_SetPendingIRQ(IRQn_Type IRQn));
+
+/**@brief  Clear Pending Interrupt.
+ * @note Corresponds to NVIC_ClearPendingIRQ in CMSIS.
+ *
+ * @pre{IRQn is valid and not reserved by the stack}
+ *
+ * @param[in] IRQn See the NVIC_ClearPendingIRQ documentation in CMSIS.
+ *
+ * @retval ::NRF_SUCCESS The interrupt pending flag is cleared.
+ * @retval ::NRF_ERROR_SOC_NVIC_INTERRUPT_NOT_AVAILABLE IRQn is not available for the application.
+ */
+SVCALL(SD_NVIC_CLEARPENDINGIRQ, uint32_t, sd_nvic_ClearPendingIRQ(IRQn_Type IRQn));
+
+/**@brief Set Interrupt Priority.
+ * @note Corresponds to NVIC_SetPriority in CMSIS.
+ *
+ * @pre{IRQn is valid and not reserved by the stack}
+ * @pre{priority is valid and not reserved by the stack}
+ *
+ * @param[in] IRQn      See the NVIC_SetPriority documentation in CMSIS.
+ * @param[in] priority  A valid IRQ priority for use by the application.
+ *
+ * @retval ::NRF_SUCCESS The interrupt and priority level is available for the application.
+ * @retval ::NRF_ERROR_SOC_NVIC_INTERRUPT_NOT_AVAILABLE IRQn is not available for the application.
+ * @retval ::NRF_ERROR_SOC_NVIC_INTERRUPT_PRIORITY_NOT_ALLOWED The interrupt priority is not available for the application.
+ */
+SVCALL(SD_NVIC_SETPRIORITY, uint32_t, sd_nvic_SetPriority(IRQn_Type IRQn, nrf_app_irq_priority_t priority));
+
+/**@brief Get Interrupt Priority.
+ * @note Corresponds to NVIC_GetPriority in CMSIS.
+ *
+ * @pre{IRQn is valid and not reserved by the stack}
+ *
+ * @param[in]  IRQn         See the NVIC_GetPriority documentation in CMSIS.
+ * @param[out] p_priority   Return value from NVIC_GetPriority.
+ *
+ * @retval ::NRF_SUCCESS The interrupt priority is returned in p_priority.
+ * @retval ::NRF_ERROR_SOC_NVIC_INTERRUPT_NOT_AVAILABLE - IRQn is not available for the application.
+ */
+SVCALL(SD_NVIC_GETPRIORITY, uint32_t, sd_nvic_GetPriority(IRQn_Type IRQn, nrf_app_irq_priority_t * p_priority));
+
+/**@brief System Reset.
+ * @note Corresponds to NVIC_SystemReset in CMSIS.
+ *
+ * @retval ::NRF_ERROR_SOC_NVIC_SHOULD_NOT_RETURN
+ */
+SVCALL(SD_NVIC_SYSTEMRESET, uint32_t, sd_nvic_SystemReset(void));
+
+/**@brief Enters critical region.
+ *
+ * @post Application interrupts will be disabled.
+ * @sa sd_nvic_critical_region_exit
+ *
+ * @param[out]  p_is_nested_critical_region  1: If in a nested critical region.
+ *                                           0: Otherwise.
+ *
+ * @retval ::NRF_SUCCESS
+ */
+SVCALL(SD_NVIC_CRITICAL_REGION_ENTER, uint32_t, sd_nvic_critical_region_enter(uint8_t * p_is_nested_critical_region));
+
+/**@brief Exit critical region.
+ *
+ * @pre Application has entered a critical region using ::sd_nvic_critical_region_enter.
+ * @post If not in a nested critical region, the application interrupts will restored to the state before ::sd_nvic_critical_region_enter was called. 
+ *
+ * @param[in] is_nested_critical_region If this is set to 1, the critical region won't be exited. @sa sd_nvic_critical_region_enter.
+ *
+ * @retval ::NRF_SUCCESS
+ */
+SVCALL(SD_NVIC_CRITICAL_REGION_EXIT, uint32_t, sd_nvic_critical_region_exit(uint8_t is_nested_critical_region));
+
+/**@brief Query the capacity of the application random pool.
+ *
+ * @param[out] p_pool_capacity The capacity of the pool.
+ *
+ * @retval ::NRF_SUCCESS
+ */
+SVCALL(SD_RAND_APPLICATION_POOL_CAPACITY, uint32_t, sd_rand_application_pool_capacity_get(uint8_t * p_pool_capacity));
+
+/**@brief Get number of random bytes available to the application.
+ *
+ * @param[out] p_bytes_available The number of bytes currently available in the pool.
+ *
+ * @retval ::NRF_SUCCESS
+ */
+SVCALL(SD_RAND_APPLICATION_BYTES_AVAILABLE, uint32_t, sd_rand_application_bytes_available_get(uint8_t * p_bytes_available));
+
+/**@brief Get random bytes from the application pool.
+ *
+ * @param[out]  p_buff  Pointer to unit8_t buffer for storing the bytes.
+ * @param[in]   length  Number of bytes to take from pool and place in p_buff.
+ *
+ * @retval ::NRF_SUCCESS The requested bytes were written to p_buff.
+ * @retval ::NRF_ERROR_SOC_RAND_NOT_ENOUGH_VALUES No bytes were written to the buffer, because there were not enough bytes available.
+*/
+SVCALL(SD_RAND_APPLICATION_GET_VECTOR, uint32_t, sd_rand_application_vector_get(uint8_t * p_buff, uint8_t length));
+
+/**@brief Gets the reset reason register. 
+ *
+ * @param[out]  p_reset_reason  Contents of the NRF_POWER->RESETREAS register.
+ *
+ * @retval ::NRF_SUCCESS
+ */
+SVCALL(SD_POWER_RESET_REASON_GET, uint32_t, sd_power_reset_reason_get(uint32_t * p_reset_reason));
+
+/**@brief Clears the bits of the reset reason register. 
+ *
+ * @param[in] reset_reason_clr_msk Contains the bits to clear from the reset reason register.
+ *
+ * @retval ::NRF_SUCCESS
+ */
+SVCALL(SD_POWER_RESET_REASON_CLR, uint32_t, sd_power_reset_reason_clr(uint32_t reset_reason_clr_msk));
+
+/**@brief Sets the power mode when in CPU sleep.
+ *
+ * @param[in] power_mode The power mode to use when in CPU sleep. @sa sd_app_evt_wait
+ *
+ * @retval ::NRF_SUCCESS The power mode was set.
+ * @retval ::NRF_ERROR_SOC_POWER_MODE_UNKNOWN The power mode was unknown.
+ */
+SVCALL(SD_POWER_MODE_SET, uint32_t, sd_power_mode_set(nrf_power_mode_t power_mode));
+
+/**@brief Puts the chip in System OFF mode. 
+ *
+ * @retval ::NRF_ERROR_SOC_POWER_OFF_SHOULD_NOT_RETURN
+ */
+SVCALL(SD_POWER_SYSTEM_OFF, uint32_t, sd_power_system_off(void));
+
+/**@brief Enables or disables the power-fail comparator.
+ *
+ * Enabling this will give a softdevice event (NRF_EVT_POWER_FAILURE_WARNING) when the power failure warning occurs.
+ * The event can be retrieved with sd_evt_get();
+ *
+ * @param[in] pof_enable    True if the power-fail comparator should be enabled, false if it should be disabled.
+ *
+ * @retval ::NRF_SUCCESS
+ */
+SVCALL(SD_POWER_POF_ENABLE, uint32_t, sd_power_pof_enable(uint8_t pof_enable));
+
+/**@brief Sets the power-fail threshold value.
+ *
+ * @param[in] threshold The power-fail threshold value to use.
+ *
+ * @retval ::NRF_SUCCESS The power failure threshold was set.
+ * @retval ::NRF_ERROR_SOC_POWER_POF_THRESHOLD_UNKNOWN The power failure threshold is unknown.
+ */
+SVCALL(SD_POWER_POF_THRESHOLD_SET, uint32_t, sd_power_pof_threshold_set(nrf_power_failure_threshold_t threshold));
+
+/**@brief Sets bits in the NRF_POWER->RAMON register.
+ *
+ * @param[in] ramon Contains the bits needed to be set in the NRF_POWER->RAMON register.
+ *
+ * @retval ::NRF_SUCCESS
+ */
+SVCALL(SD_POWER_RAMON_SET, uint32_t, sd_power_ramon_set(uint32_t ramon));
+
+/** @brief Clears bits in the NRF_POWER->RAMON register.
+ *
+ * @param ramon Contains the bits needed to be cleared in the NRF_POWER->RAMON register.
+ *
+ * @retval ::NRF_SUCCESS
+ */
+SVCALL(SD_POWER_RAMON_CLR, uint32_t, sd_power_ramon_clr(uint32_t ramon));
+
+/**@brief Get contents of NRF_POWER->RAMON register, indicates power status of ram blocks.
+ *
+ * @param[out] p_ramon Content of NRF_POWER->RAMON register.
+ *
+ * @retval ::NRF_SUCCESS
+ */
+SVCALL(SD_POWER_RAMON_GET, uint32_t, sd_power_ramon_get(uint32_t * p_ramon));
+
+/**@brief Set bits in the NRF_POWER->GPREGRET register.
+ *
+ * @param[in] gpregret_msk Bits to be set in the GPREGRET register.
+ *
+ * @retval ::NRF_SUCCESS
+ */
+SVCALL(SD_POWER_GPREGRET_SET, uint32_t, sd_power_gpregret_set(uint32_t gpregret_msk));
+
+/**@brief Clear bits in the NRF_POWER->GPREGRET register.
+ *
+ * @param[in] gpregret_msk Bits to be clear in the GPREGRET register.
+ *
+ * @retval ::NRF_SUCCESS
+ */
+SVCALL(SD_POWER_GPREGRET_CLR, uint32_t, sd_power_gpregret_clr(uint32_t gpregret_msk));
+
+/**@brief Get contents of the NRF_POWER->GPREGRET register.
+ *
+ * @param[out] p_gpregret Contents of the GPREGRET register.
+ *
+ * @retval ::NRF_SUCCESS
+ */
+SVCALL(SD_POWER_GPREGRET_GET, uint32_t, sd_power_gpregret_get(uint32_t *p_gpregret));
+
+/**@brief Sets the DCDC mode.
+ *
+ * Depending on the internal state of the SoftDevice, the mode change may not happen immediately.
+ * The DCDC mode switch will be blocked when occurring in close proximity to radio transmissions. When
+ * the radio transmission is done, the last mode will be used.
+ *
+ * @param[in] dcdc_mode The mode of the DCDC.
+ *
+ * @retval ::NRF_SUCCESS
+ * @retval ::NRF_ERROR_INVALID_PARAM The DCDC mode is invalid.
+ */
+SVCALL(SD_POWER_DCDC_MODE_SET, uint32_t, sd_power_dcdc_mode_set(nrf_power_dcdc_mode_t dcdc_mode));
+
+/**@brief Request the high frequency crystal oscillator.
+ *
+ * Will start the high frequency crystal oscillator, the startup time of the crystal varies
+ * and the ::sd_clock_hfclk_is_running function can be polled to check if it has started.
+ *
+ * @see sd_clock_hfclk_is_running
+ * @see sd_clock_hfclk_release
+ *
+ * @retval ::NRF_SUCCESS
+ */
+SVCALL(SD_CLOCK_HFCLK_REQUEST, uint32_t, sd_clock_hfclk_request(void));
+
+/**@brief Releases the high frequency crystal oscillator.
+ *
+ * Will stop the high frequency crystal oscillator, this happens immediately.
+ *
+ * @see sd_clock_hfclk_is_running
+ * @see sd_clock_hfclk_request
+ *
+ * @retval ::NRF_SUCCESS
+ */
+SVCALL(SD_CLOCK_HFCLK_RELEASE, uint32_t, sd_clock_hfclk_release(void));
+
+/**@brief Checks if the high frequency crystal oscillator is running.
+ *
+ * @see sd_clock_hfclk_request
+ * @see sd_clock_hfclk_release
+ *
+ * @param[out] p_is_running 1 if the external crystal oscillator is running, 0 if not.
+ *
+ * @retval ::NRF_SUCCESS
+ */
+SVCALL(SD_CLOCK_HFCLK_IS_RUNNING, uint32_t, sd_clock_hfclk_is_running(uint32_t * p_is_running));
+
+/**@brief Waits for an application event.
+ * 
+ * An application event is either an application interrupt or a pended interrupt when the
+ * interrupt is disabled. When the interrupt is enabled it will be taken immediately since
+ * this function will wait in thread mode, then the execution will return in the application's
+ * main thread. When an interrupt is disabled and gets pended it will return to the application's 
+ * thread main. The application must ensure that the pended flag is cleared using 
+ * ::sd_nvic_ClearPendingIRQ in order to sleep using this function. This is only necessary for
+ * disabled interrupts, as the interrupt handler will clear the pending flag automatically for
+ * enabled interrupts.
+ *
+ * In order to wake up from disabled interrupts, the SEVONPEND flag has to be set in the Cortex-M0
+ * System Control Register (SCR). @sa CMSIS_SCB
+ *
+ * @note If an application interrupt has happened since the last time sd_app_evt_wait was
+ *       called this function will return immediately and not go to sleep. This is to avoid race
+ *       conditions that can occur when a flag is updated in the interrupt handler and processed
+ *       in the main loop.
+ *
+ * @post An application interrupt has happened or a interrupt pending flag is set.
+ *
+ * @retval ::NRF_SUCCESS
+ */
+SVCALL(SD_APP_EVT_WAIT, uint32_t, sd_app_evt_wait(void));
+
+/**@brief Get PPI channel enable register contents.
+ *
+ * @param[out] p_channel_enable The contents of the PPI CHEN register.
+ *
+ * @retval ::NRF_SUCCESS
+ */
+SVCALL(SD_PPI_CHANNEL_ENABLE_GET, uint32_t, sd_ppi_channel_enable_get(uint32_t * p_channel_enable));
+
+/**@brief Set PPI channel enable register.
+ *
+ * @param[in] channel_enable_set_msk Mask containing the bits to set in the PPI CHEN register.
+ *
+ * @retval ::NRF_SUCCESS
+ */
+SVCALL(SD_PPI_CHANNEL_ENABLE_SET, uint32_t, sd_ppi_channel_enable_set(uint32_t channel_enable_set_msk));
+
+/**@brief Clear PPI channel enable register.
+ *
+ * @param[in] channel_enable_clr_msk Mask containing the bits to clear in the PPI CHEN register.
+ *
+ * @retval ::NRF_SUCCESS
+ */
+SVCALL(SD_PPI_CHANNEL_ENABLE_CLR, uint32_t, sd_ppi_channel_enable_clr(uint32_t channel_enable_clr_msk));
+
+/**@brief Assign endpoints to a PPI channel.
+ *
+ * @param[in] channel_num Number of the PPI channel to assign.
+ * @param[in] evt_endpoint Event endpoint of the PPI channel.
+ * @param[in] task_endpoint Task endpoint of the PPI channel.
+ *
+ * @retval ::NRF_ERROR_SOC_PPI_INVALID_CHANNEL The channel number is invalid.
+ * @retval ::NRF_SUCCESS
+ */
+SVCALL(SD_PPI_CHANNEL_ASSIGN, uint32_t, sd_ppi_channel_assign(uint8_t channel_num, const volatile void * evt_endpoint, const volatile void * task_endpoint));
+
+/**@brief Task to enable a channel group.
+ *
+ * @param[in] group_num Number of the channel group.
+ *
+ * @retval ::NRF_ERROR_SOC_PPI_INVALID_GROUP The group number is invalid
+ * @retval ::NRF_SUCCESS
+ */
+SVCALL(SD_PPI_GROUP_TASK_ENABLE, uint32_t, sd_ppi_group_task_enable(uint8_t group_num));
+
+/**@brief Task to disable a channel group.
+ *
+ * @param[in] group_num Number of the PPI group.
+ *
+ * @retval ::NRF_ERROR_SOC_PPI_INVALID_GROUP The group number is invalid.
+ * @retval ::NRF_SUCCESS
+ */
+SVCALL(SD_PPI_GROUP_TASK_DISABLE, uint32_t, sd_ppi_group_task_disable(uint8_t group_num));
+
+/**@brief Assign PPI channels to a channel group.
+ *
+ * @param[in] group_num Number of the channel group.
+ * @param[in] channel_msk Mask of the channels to assign to the group.
+ *
+ * @retval ::NRF_ERROR_SOC_PPI_INVALID_GROUP The group number is invalid.
+ * @retval ::NRF_SUCCESS
+ */
+SVCALL(SD_PPI_GROUP_ASSIGN, uint32_t, sd_ppi_group_assign(uint8_t group_num, uint32_t channel_msk));
+
+/**@brief Gets the PPI channels of a channel group.
+ *
+ * @param[in]   group_num Number of the channel group.
+ * @param[out]  p_channel_msk Mask of the channels assigned to the group.
+ *
+ * @retval ::NRF_ERROR_SOC_PPI_INVALID_GROUP The group number is invalid.
+ * @retval ::NRF_SUCCESS
+ */
+SVCALL(SD_PPI_GROUP_GET, uint32_t, sd_ppi_group_get(uint8_t group_num, uint32_t * p_channel_msk));
+
+/**@brief Configures the Radio Notification signal.
+ *
+ * @note
+ *      - The notification signal latency depends on the interrupt priority settings of SWI used
+ *        for notification signal.
+ *      - In the period between the ACTIVE signal and the start of the Radio Event, the SoftDevice
+ *        will interrupt the application to do Radio Event preparation.
+ *      - Using the Radio Notification feature may limit the bandwidth, as the SoftDevice may have
+ *        to shorten the connection events to have time for the Radio Notification signals.
+ *
+ * @param[in]  type      Type of notification signal.
+ *                       @ref NRF_RADIO_NOTIFICATION_TYPE_NONE shall be used to turn off radio
+ *                       notification. Using @ref NRF_RADIO_NOTIFICATION_DISTANCE_NONE is
+ *                       recommended (but not required) to be used with
+ *                       @ref NRF_RADIO_NOTIFICATION_TYPE_NONE.
+ *
+ * @param[in]  distance  Distance between the notification signal and start of radio activity.
+ *                       This parameter is ignored when @ref NRF_RADIO_NOTIFICATION_TYPE_NONE or 
+ *                       @ref NRF_RADIO_NOTIFICATION_TYPE_INT_ON_INACTIVE is used.
+ *
+ * @retval ::NRF_ERROR_INVALID_PARAM The group number is invalid.
+ * @retval ::NRF_SUCCESS
+ */
+SVCALL(SD_RADIO_NOTIFICATION_CFG_SET, uint32_t, sd_radio_notification_cfg_set(nrf_radio_notification_type_t type, nrf_radio_notification_distance_t distance));
+
+/**@brief Encrypts a block according to the specified parameters.
+ *
+ * 128-bit AES encryption.
+ *
+ * @param[in, out] p_ecb_data Pointer to the ECB parameters' struct (two input
+ *                            parameters and one output parameter).
+ *
+ * @retval ::NRF_SUCCESS
+ */
+SVCALL(SD_ECB_BLOCK_ENCRYPT, uint32_t, sd_ecb_block_encrypt(nrf_ecb_hal_data_t * p_ecb_data));
+
+/**@brief Gets any pending events generated by the SoC API.
+ *
+ * The application should keep calling this function to get events, until ::NRF_ERROR_NOT_FOUND is returned.
+ *
+ * @param[out] p_evt_id Set to one of the values in @ref NRF_SOC_EVTS, if any events are pending.
+ *
+ * @retval ::NRF_SUCCESS An event was pending. The event id is written in the p_evt_id parameter.
+ * @retval ::NRF_ERROR_NOT_FOUND No pending events. 
+ */
+SVCALL(SD_EVT_GET, uint32_t, sd_evt_get(uint32_t * p_evt_id));
+
+/**@brief Get the temperature measured on the chip
+ * 
+ * This function will block until the temperature measurement is done.
+ * It takes around 50us from call to return.
+ *
+ * @note Pan #28 in PAN-028 v 1.6 "Negative measured values are not represented correctly" is corrected by this function.
+ *
+ * @param[out] p_temp Result of temperature measurement. Die temperature in 0.25 degrees celsius.
+ *
+ * @retval ::NRF_SUCCESS A temperature measurement was done, and the temperature was written to temp
+ */
+SVCALL(SD_TEMP_GET, uint32_t, sd_temp_get(int32_t * p_temp));
+
+/**@brief Flash Write
+ *
+ * Commands to write a buffer to flash
+ *
+ * This call initiates the flash access command, and its completion will be communicated to the
+ * application with exactly one of the following events:
+ *      - NRF_EVT_FLASH_OPERATION_SUCCESS - The command was successfully completed.
+ *      - NRF_EVT_FLASH_OPERATION_ERROR   - The command could not be started.
+ *
+ * @note
+ *      - This call takes control over the radio and the CPU during flash erase and write to make sure that
+ *        they will not interfere with the flash access. This means that all interrupts will be blocked
+ *        for a predictable time (depending on the NVMC specification in nRF51 Series Reference Manual
+ *        and the command parameters).
+ *
+ *
+ * @param[in]  p_dst Pointer to start of flash location to be written.
+ * @param[in]  p_src Pointer to buffer with data to be written
+ * @param[in]  size  Number of 32-bit words to write. Maximum size is 256 32bit words.
+ *
+ * @retval ::NRF_ERROR_INVALID_ADDR   Tried to write to a non existing flash address, or p_dst or p_src was unaligned.
+ * @retval ::NRF_ERROR_BUSY           The previous command has not yet completed.
+ * @retval ::NRF_ERROR_INVALID_LENGTH Size was 0, or more than 256 words.
+ * @retval ::NRF_ERROR_FORBIDDEN      Tried to write to or read from protected location.
+ * @retval ::NRF_SUCCESS              The command was accepted.
+ */
+SVCALL(SD_FLASH_WRITE, uint32_t, sd_flash_write(uint32_t * const p_dst, uint32_t const * const p_src, uint32_t size));
+
+
+/**@brief Flash Erase page
+ *
+ * Commands to erase a flash page
+ *
+ * This call initiates the flash access command, and its completion will be communicated to the
+ * application with exactly one of the following events:
+ *      - NRF_EVT_FLASH_OPERATION_SUCCESS - The command was successfully completed.
+ *      - NRF_EVT_FLASH_OPERATION_ERROR   - The command could not be started.
+ *
+ * @note
+ *      - This call takes control over the radio and the CPU during flash erase and write to make sure that
+ *        they will not interfere with the flash access. This means that all interrupts will be blocked
+ *        for a predictable time (depending on the NVMC specification in nRF51 Series Reference Manual
+ *        and the command parameters).
+ *
+ *
+ * @param[in]  page_number Pagenumber of the page to erase
+ * @retval ::NRF_ERROR_INTERNAL      If a new session could not be opened due to an internal error.
+ * @retval ::NRF_ERROR_INVALID_ADDR  Tried to erase to a non existing flash page.
+ * @retval ::NRF_ERROR_BUSY          The previous command has not yet completed.
+ * @retval ::NRF_ERROR_FORBIDDEN     Tried to erase a protected page.
+ * @retval ::NRF_SUCCESS             The command was accepted.
+ */
+SVCALL(SD_FLASH_PAGE_ERASE, uint32_t, sd_flash_page_erase(uint32_t page_number));
+
+
+/**@brief Flash Protection set
+ *
+ * Commands to set the flash protection registers PROTENSETx
+ *
+ * @note To read the values in PROTENSETx you can read them directly. They are only write-protected.
+ *
+ * @param[in]  protenset0 Value to be written to PROTENSET0
+ * @param[in]  protenset1 Value to be written to PROTENSET1
+ *
+ * @retval ::NRF_ERROR_FORBIDDEN Tried to protect the SoftDevice
+ * @retval ::NRF_SUCCESS Values successfully written to PROTENSETx
+ */
+SVCALL(SD_FLASH_PROTECT, uint32_t, sd_flash_protect(uint32_t protenset0, uint32_t protenset1));
+
+/**@brief Opens a session for radio requests.
+ *
+ * @note Only one session can be open at a time.
+ * @note p_radio_signal_callback(NRF_RADIO_CALLBACK_SIGNAL_TYPE_START) will be called when the radio timeslot
+ *       starts. From this point the NRF_RADIO and NRF_TIMER0 peripherals can be freely accessed
+ *       by the application.
+ * @note p_radio_signal_callback(NRF_RADIO_CALLBACK_SIGNAL_TYPE_TIMER0) is called whenever the NRF_TIMER0
+ *       interrupt occurs.
+ * @note p_radio_signal_callback(NRF_RADIO_CALLBACK_SIGNAL_TYPE_RADIO) is called whenever the NRF_RADIO
+ *       interrupt occurs.
+ * @note p_radio_signal_callback() will be called at ARM interrupt priority level 0. This
+ *       implies that none of the sd_* API calls can be used from p_radio_signal_callback().
+ *
+ * @param[in] p_radio_signal_callback The signal callback.
+ *
+ * @retval ::NRF_ERROR_INVALID_ADDR p_radio_signal_callback is an invalid function pointer.
+ * @retval ::NRF_ERROR_BUSY If session cannot be opened.
+ * @retval ::NRF_ERROR_INTERNAL If a new session could not be opened due to an internal error.
+ * @retval ::NRF_SUCCESS Otherwise.
+ */
+ SVCALL(SD_RADIO_SESSION_OPEN, uint32_t, sd_radio_session_open(nrf_radio_signal_callback_t p_radio_signal_callback));
+
+/**@brief Closes a session for radio requests.
+ *
+ * @note Any current radio timeslot will be finished before the session is closed.
+ * @note If a radio timeslot is scheduled when the session is closed, it will be canceled.
+ * @note The application cannot consider the session closed until the NRF_EVT_RADIO_SESSION_CLOSED
+ *       event is received.
+ *
+ * @retval ::NRF_ERROR_FORBIDDEN If session not opened.
+ * @retval ::NRF_ERROR_BUSY If session is currently being closed.
+ * @retval ::NRF_SUCCESS Otherwise.
+ */
+ SVCALL(SD_RADIO_SESSION_CLOSE, uint32_t, sd_radio_session_close(void));
+
+ /**@brief Requests a radio timeslot.
+ *
+ * @note The timing of the radio timeslot is specified by p_request->distance_us. For the first
+ *       request in a session, p_request->distance_us is required to be 0 by convention, and
+ *       the timeslot is scheduled at the first possible opportunity. All following radio timeslots are
+ *       requested with a distance of p_request->distance_us measured from the start of the
+ *       previous radio timeslot.
+ * @note A too small p_request->distance_us will lead to a NRF_EVT_RADIO_BLOCKED event.
+ * @note Timeslots scheduled too close will lead to a NRF_EVT_RADIO_BLOCKED event.
+ * @note See the SoftDevice Specification for more on radio timeslot scheduling, distances and lengths.
+ * @note If an opportunity for the first radio timeslot is not found before 100ms after the call to this
+ *       function, it is not scheduled, and instead a NRF_EVT_RADIO_BLOCKED event is sent.
+ *       The application may then try to schedule the first radio timeslot again.
+ * @note Successful requests will result in nrf_radio_signal_callback_t(NRF_RADIO_CALLBACK_SIGNAL_TYPE_START).
+ *       Unsuccessful requests will result in a NRF_EVT_RADIO_BLOCKED event, see @ref NRF_SOC_EVTS.
+ * @note The jitter in the start time of the radio timeslots is +/- NRF_RADIO_START_JITTER_US us.
+ * @note The nrf_radio_signal_callback_t(NRF_RADIO_CALLBACK_SIGNAL_TYPE_START) call has a latency relative to the
+ *       specified radio timeslot start, but this does not affect the actual start time of the timeslot.
+ * @note NRF_TIMER0 is reset at the start of the radio timeslot, and is clocked at 1MHz from the high frequency
+ *       (16 MHz) clock source. If p_request->hfclk_force_xtal is true, the high frequency clock is 
+ *       guaranteed to be clocked from the external crystal.
+ * @note The SoftDevice will neither access the NRF_RADIO peripheral nor the NRF_TIMER0 peripheral
+ *       during the radio timeslot.
+ *
+ * @param[in] p_request Pointer to the request parameters.
+ *
+ * @retval ::NRF_ERROR_FORBIDDEN If session not opened or the session is not IDLE.
+ * @retval ::NRF_ERROR_INVALID_ADDR If the p_request pointer is invalid.
+ * @retval ::NRF_ERROR_INVALID_PARAM If the parameters of p_request are not valid.
+ * @retval ::NRF_SUCCESS Otherwise.
+ */
+ SVCALL(SD_RADIO_REQUEST, uint32_t, sd_radio_request(nrf_radio_request_t * p_request ));
+
+/** @} */
+
+#endif // NRF_SOC_H__
+
+/**@} */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TARGET_ARCH_BLE/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/nrf_svc.h	Fri Aug 15 15:28:31 2014 +0100
@@ -0,0 +1,33 @@
+#ifndef NRF_SVC__
+#define NRF_SVC__
+
+#ifdef SVCALL_AS_NORMAL_FUNCTION
+#define SVCALL(number, return_type, signature) return_type signature
+#else
+
+#ifndef SVCALL
+#if defined (__CC_ARM)
+#define SVCALL(number, return_type, signature) return_type __svc(number) signature
+#elif defined (__GNUC__)
+#define SVCALL(number, return_type, signature) \
+  _Pragma("GCC diagnostic ignored \"-Wreturn-type\"") \
+  _Pragma("GCC diagnostic ignored \"-Wunused-function\"") \
+  __attribute__((naked)) static return_type signature \
+  { \
+    __asm( \
+        "svc %0\n" \
+        "bx r14" : : "I" (number) : "r0" \
+    ); \
+  }
+#elif defined (__ICCARM__)
+#define PRAGMA(x) _Pragma(#x)
+#define SVCALL(number, return_type, signature) \
+PRAGMA(swi_number = number) \
+ __swi return_type signature;
+#else
+#define SVCALL(number, return_type, signature) return_type signature  
+#endif
+#endif  // SVCALL
+
+#endif  // SVCALL_AS_NORMAL_FUNCTION
+#endif  // NRF_SVC__
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TARGET_ARCH_BLE/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/softdevice_assert.h	Fri Aug 15 15:28:31 2014 +0100
@@ -0,0 +1,46 @@
+/*
+ * Copyright (c) 2012 Nordic Semiconductor. All Rights Reserved.
+ *
+ * The information contained herein is confidential property of Nordic Semiconductor. The use,
+ * copying, transfer or disclosure of such information is prohibited except by express written
+ * agreement with Nordic Semiconductor.
+ *
+ */
+
+/** @brief Utilities for verifying program logic
+ */
+
+#ifndef SOFTDEVICE_ASSERT_H_
+#define SOFTDEVICE_ASSERT_H_
+
+#include <stdint.h>
+
+/** @brief This function handles assertions.
+ *
+ *
+ * @note
+ * This function is called when an assertion has triggered.
+ * 
+ *
+ * @param line_num The line number where the assertion is called
+ * @param file_name Pointer to the file name
+ */
+void assert_softdevice_callback(uint16_t line_num, const uint8_t *file_name);
+
+
+/*lint -emacro(506, ASSERT) */ /* Suppress "Constant value Boolean */ 
+/*lint -emacro(774, ASSERT) */ /* Suppress "Boolean within 'if' always evaluates to True" */ \
+/** @brief Check intended for production code
+ *
+ * Check passes if "expr" evaluates to true. */
+#define ASSERT(expr) \
+if (expr)                                                                     \
+{                                                                             \
+}                                                                             \
+else                                                                          \
+{                                                                             \
+  assert_softdevice_callback((uint16_t)__LINE__, (uint8_t *)__FILE__);        \
+  /*lint -unreachable */                                                      \
+}
+
+#endif /* SOFTDEVICE_ASSERT_H_ */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TARGET_ARCH_BLE/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_softdevice.hex	Fri Aug 15 15:28:31 2014 +0100
@@ -0,0 +1,5290 @@
+:020000040000FA
+:10000000C0070000D1060000D1000000B1060000CA
+:1000100000000000000000000000000000000000E0
+:100020000000000000000000000000005107000078
+:100030000000000000000000DB000000E500000000
+:10004000EF000000F9000000030100000D010000B6
+:1000500017010000210100002B0100003501000004
+:100060003F01000049010000530100005D01000054
+:1000700067010000710100007B01000085010000A4
+:100080008F01000099010000A3010000AD010000F4
+:10009000B7010000C1010000CB010000D501000044
+:1000A000DF010000E9010000F3010000FD01000094
+:1000B00007020000110200001B02000025020000E0
+:1000C0001FB5C046C04600F0EFFA04B00FB41FBD24
+:1000D00008205A49096809580847382057490968CB
+:1000E000095808473C2055490968095808474020E5
+:1000F0005249096809580847442050490968095875
+:10010000084748204D490968095808474C204B4981
+:10011000096809580847502048490968095808479C
+:100120005420464909680958084758204349096836
+:10013000095808475C204149096809580847602068
+:100140003E4909680958084764203C49096809582C
+:100150000847682039490968095808476C20374919
+:100160000968095808477020344909680958084740
+:100170007420324909680958084778202F490968CE
+:10018000095808477C202D490968095808478020EC
+:100190002A490968095808478420284909680958E4
+:1001A0000847882025490968095808478C202349B1
+:1001B00009680958084790202049096809580847E4
+:1001C00094201E4909680958084798201B49096866
+:1001D000095808479C201949096809580847A02070
+:1001E0001649096809580847A4201449096809589C
+:1001F0000847A8201149096809580847AC200F4949
+:10020000096809580847B0200C4909680958084787
+:10021000B4200A49096809580847B82007490968FD
+:1002200009580847BC2005490968095808470000D3
+:1002300003480449024A034B7047000000000020B5
+:10024000C0070000C00700000122D84B5A6000BF61
+:10025000D74A1268002AFBD0016000BFD44A126856
+:10026000002AFBD00022D14B5A6000BFD04A12684E
+:10027000002AFBD07047F0B505460E46174600240D
+:1002800006E0A200B158A2005019FFF7DDFF641C80
+:10029000BC42F6D30020F0BD0120C043C549086030
+:1002A000401048607047014601229204086890425D
+:1002B00001D9102070470020FCE7F0B505460C4638
+:1002C0001646002706E028462168FFF7BDFF2D1DD2
+:1002D000241D7F1CB742F6D3F0BD70B505460C4611
+:1002E0002E460BE0304600F075F9FF2C01D80024B3
+:1002F00001E0FF3C013C012080023618002CF1D1C6
+:1003000070BD0146012292044868904201D909203B
+:100310007047A9484069401C01D10F20F8E7002030
+:10032000F6E7FEB504462068030000F037FA05043E
+:100330002B4249598B00201DFFF7E3FF0546002D96
+:1003400001D02846FEBDFFF7A7FF0120C00200F044
+:1003500041F9042221469948FFF78DFF002801D07A
+:100360000320EFE708222146944800F06DF90028A9
+:1003700006D1002192480068FFF766FF00F00CF9F3
+:100380000320DFE7A768E6686068019031463846D9
+:10039000FFF7A3FF324638460199FFF78EFFB20000
+:1003A0003846019900F050F9002800D1CAE703202F
+:1003B000C8E700F0E3F9834800688349086041E03A
+:1003C00060680190E668A0680090B200009901980A
+:1003D00000F03AF90746002F00D1B3E70E20B1E74D
+:1003E000201DFFF760FF0546002D01D02846A9E734
+:1003F0006068002807D1FFF74FFF0320800200F05C
+:10040000E9F800F0C9F8FFF747FF0120C00200F04B
+:10041000E1F8042221466948FFF72DFF002801D0AA
+:1004200003208FE708222146644800F00DF90028D8
+:1004300006D1002162480068FFF706FF00F0ACF823
+:1004400003207FE700BF00207CE770B505460C461F
+:10045000182D04D12068FFF764FF206002E001201E
+:10046000206000BF00BF70BDF0B589B05248406940
+:1004700003905248806881000398081802900398FE
+:10048000000B01900121090302984018401E000B47
+:1004900000900124002520462946019A00F0C4F866
+:1004A0000022401E91410791069001260027304608
+:1004B0003946009A00F0B8F80022401E914105919B
+:1004C0000490049BDB43059AD2430698184307998E
+:1004D00011430791069037490698086007984860CD
+:1004E00009B0F0BD70B53448446934488568466841
+:1004F000AA003146204600F0A7F8002801D00020CD
+:1005000070BD0120FCE72D484068002801D0012083
+:1005100000E000200546FFF7E5FF002807D0FFF7C1
+:10052000BBFE0320800200F055F800F035F8FFF71D
+:100530009BFF002D0ED020484669204884684768FC
+:1005400021463046FFF7C9FE224639463046FFF7BE
+:10055000B4FE00BF00F020F810B5184844681A48EF
+:100560000460204600F0DCF810BD15480068006803
+:10057000401C01D100BFFEE710480068002802D0EF
+:10058000042806D101E0FFF7BEFFFFF7E5FF00BF3B
+:10059000FEE700BF00BFFEE7BFF34F8F0B480C49DB
+:1005A000C860BFF34F8F00BFFEE7000000E50140C9
+:1005B00000E40140000600400010001000080000A8
+:1005C000B8070000BC070000000000200400FA0586
+:1005D00000ED00E010B50146104B1A6808460223F2
+:1005E0000F4C636000BF0F4B1B68002BFBD0531CEC
+:1005F00004D0904202D20A4B186101E0084B986087
+:1006000000BF084B1B68002BFBD00023044C636029
+:1006100000BF044B1B68002BFBD010BD0010001066
+:1006200000E5014000E4014010B5202A04DB01464A
+:10063000203A9140002010BD914020239C1A03468F
+:10064000E3401943904010BD034610B50B439B0790
+:100650000FD1042A0DD308C810C9121FA342F8D025
+:1006600018BA21BA884201D9012010BD0020C04328
+:1006700010BD002A03D0D30703D0521C07E000208E
+:1006800010BD03780C78401C491C1B1B07D1037854
+:100690000C78401C491C1B1B01D1921EF1D118463D
+:1006A00010BD70477047704710B500F007F810BDD7
+:1006B000014B1B68DB6818470000002019481A49E5
+:1006C0007047FFF7FBFFFFF7FBFC00BD20BFFDE716
+:1006D0001649174C24688C420BD1164B1B68994263
+:1006E0000CD1154B154A1360186810498842EDD09B
+:1006F0000AE0134880F30888124B18470F4A13602A
+:1007000018680A498842E1D080F308880E49884277
+:1007100004DD0E48026802210A4302605B68184744
+:100720000346DFE7C0070000C0070000FFFFFFFF30
+:10073000000C000014100010001000000000002049
+:10074000000400206B05000000200020240500406C
+:100750000D48704502D1EFF3098101E0EFF3088104
+:10076000886902380078182802D1C046074A104725
+:10077000074A12682C3212681047000000B5054B7A
+:10078000054A9B58984700BDFDFFFFFF4B04000042
+:1007900000000020001000000400000030B4744687
+:1007A000641E2578641CAB4204D3635D5B00E318D0
+:1007B00030BC18471D46F8E7000C00000010000090
+:10100000901D002079500100ED3D0000DF4F0100F0
+:1010100000000000000000000000000000000000D0
+:10102000000000000000000000000000E950010086
+:101030000000000000000000ED3D0000ED3D00005C
+:10104000555101005B510100ED3D0000ED3D0000F8
+:10105000ED3D0000ED3D0000ED3D0000ED3D0000E8
+:1010600061510100ED3D0000ED3D000067510100C0
+:10107000ED3D00006D5101007351010079510100F7
+:10108000ED3D0000ED3D0000ED3D0000ED3D0000B8
+:10109000ED3D0000ED3D0000ED3D0000ED3D0000A8
+:1010A0007F51010085510100ED3D0000ED3D000044
+:1010B000ED3D0000ED3D0000ED3D0000ED3D000088
+:1010C00000F002F813F0B9FF0CA030C8083824185B
+:1010D0002D18A246671EAB4654465D46AC4201D170
+:1010E00013F0ABFF7E460F3E0FCCB64601263342CF
+:1010F00000D0FB1AA246AB463343184744410100D7
+:1011000074410100103A02D378C878C1FAD8520766
+:1011100001D330C830C101D504680C6070470000AD
+:101120000023002400250026103A01D378C1FBD803
+:10113000520700D330C100D50B6070471FB5C046C1
+:10114000C04613F01BFF04B00FB41FBD82690249F3
+:1011500081610248104470476111000001000000E5
+:1011600001B41EB400B510F02FFC01B401988646FE
+:1011700001BC01B01EBD0000F0B4404649465246D5
+:101180005B460FB402A0013001B50648004700BF1E
+:1011900001BC86460FBC8046894692469B46F0BC01
+:1011A00070470000C1100000401E00BF00BF00BF1C
+:1011B00000BF00BF00BF00BF00BF00BF00BF00BF37
+:1011C00000BFF1D17047000070B505460C461646C9
+:1011D00002E00FCC0FC5103E102EFAD2082E02D31B
+:1011E00003CC03C5083E042E07D301CC01C5361F2E
+:1011F00003E021782970641C6D1C761EF9D270BD45
+:101200008307FF22DB0E9A408907090E99400028C8
+:101210000BDA0007000F0838830828489B001B18CA
+:10122000D86990430843D8617047830824489B00DD
+:101230001B181868904308431860704710B504469F
+:1012400000210120FFF7DCFF00211820FFF7D8FF65
+:1012500000210B20FFF7D4FF02211920FFF7D0FF58
+:1012600002210D20FFF7CCFF02210E20FFF7C8FF5F
+:1012700002210F20FFF7C4FF0221C81FFFF7C0FFA4
+:1012800003211620FFF7BCFF03211520FFF7B8FF4D
+:10129000204600F019F8002010BD4F210180704752
+:1012A00010B500F03AF810BD0648704710B500F0D0
+:1012B00035F810BD704770477047000000ED00E042
+:1012C00000E400E003F900C330B50446374D95B0A3
+:1012D00007202870A81CFFF7E0FF5920A880344899
+:1012E00001F020FC0546072000F0DCF929462F48D4
+:1012F00000F08CFA641E072C0AD830216846017071
+:10130000847001F0DDFA002802D009A800F0DDFCAD
+:10131000284601F083FE15B030BD7047F8B5234E66
+:101320000446B61E307801270D46002807D0204617
+:1013300060380B2808D8204601F096FB2BE0602C83
+:10134000F9D01C480860F8BD20466C38032803D843
+:10135000204601F0CBFB1EE0204670381F2803D842
+:10136000204600F037F816E0204690380F2803D8C2
+:10137000204600F0BBF80EE02046A0380F2803D826
+:10138000204600F023F906E02046B0380F2804D8A4
+:10139000204600F000F9286000E02F60602CD2D1D8
+:1013A00028680028CFD13770F8BD00001A0000204F
+:1013B000C33300000130000070477047704770472A
+:1013C000704770477047704710B5012801D100F091
+:1013D00042FA10BD10B57038030013F0EBFE150C87
+:1013E00012161E22252C33383D41454950555C6468
+:1013F0006C747B8085004A680878114603F081FF91
+:1014000010BD086803F0F9FF10BD0C790B7B8A68EA
+:101410000868214604F005F810BD086804F07EF85D
+:1014200010BD03F05BFC10BD08884A6880B211460D
+:1014300004F043FA10BD0A790888114680B204F01E
+:1014400091FA10BD087840B204F09CFA10BD0888EB
+:1014500080B204F0B8FA10BD086804F0C7FA10BDF5
+:10146000086804F0DFFA10BD086804F00AFB10BD3C
+:10147000088982B209C9194604F034FB10BD05C9B8
+:10148000114604F082FB10BD08884A6880B21146FC
+:1014900004F0A0FB10BD0B7908888A6880B2194659
+:1014A00004F0FDFB10BD0B7908888A6880B21946EC
+:1014B00004F0B3FC10BD08884B688A6880B21946F6
+:1014C00004F0F3FC10BD08884A6880B2114604F0AD
+:1014D0003EFD10BD088880B204F056FD10BD08889E
+:1014E00080B204F076FD10BD012010BD10B590381B
+:1014F000030013F05FFE09060F161D242C363F462D
+:101500004E0088888A6883B20888194680B205F040
+:1015100093F910BD08884A6880B2114605F0E9F9D0
+:1015200010BD08884A6880B2114605F02DFA10BD3A
+:1015300008884A6880B2114605F063FA10BD088831
+:101540004B688A6880B2194605F094FA10BD088984
+:1015500082B2888883B20888194680B205F0C9FA39
+:1015600010BD08894B6882B20888194680B205F020
+:10157000FEFA10BD08884A6880B2114605F02EFBBD
+:1015800010BD888882B20888114680B205F0C2FB7F
+:1015900010BD012010BD10B5B02805D0B12808D06D
+:1015A000B2280BD0012010BD088880B205F0A6FE3D
+:1015B00010BD088880B205F0D1FE10BD08884B68C8
+:1015C0008A6880B2194605F0DAFE10BD10B5A03861
+:1015D000030013F0EFFD0B070E172028323C434D9C
+:1015E000545D65004B6808788A68194607F017FA59
+:1015F00010BD88888A6883B20888194680B207F0CF
+:1016000023FA10BD08884C68CB688A6880B22146EE
+:1016100007F02AFA10BD08884B688A6880B219461C
+:1016200007F044FA10BD8888CB6884B208888A68BD
+:1016300080B2214607F064FA10BD8888CB6884B276
+:1016400008888A6880B2214607F089FA10BD0888A8
+:101650004A6880B2114607F0BDFA10BD088982B20F
+:10166000888883B20888194680B207F0BDFA10BD99
+:1016700008884A6880B2114607F0DAFA10BD088976
+:101680004B6882B20888194680B207F057FB10BD3C
+:1016900008884B688A6880B2194607F014FC10BDB0
+:1016A000012010BD10B507F0FAFC0FF0A7FF00F005
+:1016B00007F810F0F5F808F0F5F908F081F910BD19
+:1016C00001202B49C00308602A490020087003202C
+:1016D0002949800288607047F8B5264D044628786D
+:1016E000A04207D0002C05D0002803D023A14D2014
+:1016F00013F06FFC2878A04213D02C700325002330
+:101700002349AD021C48002C27D01B4A214E4032F1
+:10171000214F012C06D0022C13D018A16E2013F0FB
+:1017200058FCF8BD0B6002230B604E6185601B49BD
+:1017300011625762091D91621749091DD162456006
+:10174000F8BD0B6003230B604E610121C90281606B
+:10175000134B9362D7624160F8BD0B600B608560EC
+:10176000F8BD10B505A1772013F033FC10BD0000C3
+:1017700080E100E02000002000F501407372635C0E
+:1017800068616C5F63636D5F6161722E630000006E
+:1017900000F500407C01002000F0004000110040F6
+:1017A000488100401CB50446002069460870204668
+:1017B00009F0F6F86946204608F0B4FF002803D186
+:1017C000FBA1B62013F005FC01A9204608F009FF93
+:1017D000002803D1F6A1BB2013F0FBFB684600787C
+:1017E0001CBD70B5F74D002428462C76203084713E
+:1017F000C47113F0EDFC2846403804702030847327
+:10180000847484762C74AC7070BDEAE710B50C4615
+:10181000ED4982888A8042884A80007808700846AC
+:101820000A38847008F0B3FEFFF7DBFF20460AF0A9
+:101830002FFAE44AE0321146383908461446813816
+:1018400009F020F92146E0480BF0C2FC09F09FF8AE
+:1018500013F0BEFC10BD10B50120FFF7ADFD10BDAB
+:10186000F8B509F083FDD84DD64C0A3D022802D0C8
+:10187000207C00287CD0207E0026102819D1A0785A
+:10188000002803D0CAA1D14813F0A3FBCD48E83803
+:10189000817A89070DD50146267160398989E180F1
+:1018A000C17A217281896181C089A0810120A070E3
+:1018B0002676C44F203FB87C002859D1C4486946D9
+:1018C000808908F02FFF002805D0694668780978DC
+:1018D0004018687004E0BD48B5A11D3013F079FBD5
+:1018E000207C002838D0BA488189FF300930406D0B
+:1018F0008089814204D0B548ADA1223013F069FB44
+:10190000B348808908F0B4FF002804D1AF48A8A1EB
+:10191000283013F05EFB09F022F800281CD0AC48F8
+:101920008089FFF73FFF697840186870A548403804
+:10193000416D20318A7C012A0DD1A54A3E779289DA
+:10194000C287C87C20700120B876207E102801D084
+:10195000282800D1267626746978002908D09C486A
+:101960008289FF300930C28601870120B8746E7009
+:1019700009F0CCFC002805D1207C002802D0A878F2
+:1019800001F0F4F8F8BDF8B50F460446FFF768FF1C
+:101990008C4D403D28788B4E002813D0002F10D15D
+:1019A000307E002804D0FF2081A1C63013F011FB47
+:1019B0002C22A91C204613F06FF90E202070002065
+:1019C00028708FE07F4D203DA87B002818D0002F85
+:1019D000F7D1307E102808D0282806D0002804D05F
+:1019E000FF2073A1D23013F0F4FA0120E070E87BFD
+:1019F000A070287C60700F2020700020A87371E018
+:101A00000121204608F0E4FF002807D0307C0028A0
+:101A100051D13946204608F0DBFFF8BDA97C694862
+:101A20000C38009068480A38002913D0017805293D
+:101A300010D2002F56D1491C0170002666700D206F
+:101A40002070012028750622A01C009913F024F9AB
+:101A5000AE7447E05C4800210A380170B078002875
+:101A600014D0002F3ED1307E002803D050A1594819
+:101A700013F0AFFA002565700120524920700A2248
+:101A8000091DA01C13F008F9B5702BE0394620465B
+:101A90000BF008FB002825D1A87C002805D0002FDA
+:101AA00020D149480A380178C5E7A87E002802D02D
+:101AB000307C002801D00020F8BD002F12D1307EEC
+:101AC000002804D08F203AA1800013F082FA00266B
+:101AD00066700A203B4920700622091FA01C13F0E3
+:101AE000DBF8AE760120F8BD10B53648017E00293E
+:101AF00008D1007C012805D001210020FFF743FF19
+:101B0000002801D0072010BD012010BD10B5012410
+:101B10000AF006F90443FFF7E7FF044308F038FF33
+:101B200001462143084610BDF8B51D4614460E4631
+:101B300008F077FD002807D0684608F07DFD0028F2
+:101B400003D0002C07D101E00120F8BD9B2018A193
+:101B5000800013F03EFA08F01BFDA04204D21D489D
+:101B600013A1583013F035FA009808F089F931467E
+:101B7000009808F097F9E2B22946009808F04EFB69
+:101B800008F06CFD002804D19F2009A1800013F00B
+:101B900020FA08F0FFFE0E4800244030417C002966
+:101BA00002D044740AF0A7F90948C480CCE70000C9
+:101BB0007372635C6C6C5F6374726C2E73302E6333
+:101BC00000000000200300202C00002082060000FE
+:101BD000D80100201502000010B50179002908D0B5
+:101BE00001290BD0FF20FE49043013F0F2F9002048
+:101BF00010BD831D42880488022103E042880488C6
+:101C0000831D01212046FFF78FFF10BDF8B51F4649
+:101C100015460E46044609F0A9FB022803D0F148F8
+:101C2000007C00281FD0F0488089208008F020FE2A
+:101C3000002803D1EA49ED4813F0CBF905246846A2
+:101C400008F021FE00280ED0009808F063F93070EB
+:101C5000022809D0012807D008F055FE641E24068A
+:101C6000240EECD10020F8BD3946009808F0EEFAB9
+:101C70002880002804D1AF20D949800013F0A9F9A9
+:101C800008F041FE002804D1D848D549193013F096
+:101C9000A0F90120F8BD38B50446831D821C6946B1
+:101CA000FFF7B4FF00280DD000206071684600786F
+:101CB000012808D0022806D0FF20C949253013F09A
+:101CC00088F9012038BD2071FBE700215BE670B583
+:101CD000C44C0546403C2078002803D1C148007E12
+:101CE000002804D0C120BE49C00013F072F9287842
+:101CF00008F085FF28780BF0C1FB0020207101203F
+:101D000060713921E170207070BD70B5B54D044629
+:101D1000403D2878002803D1B248007E002804D036
+:101D20005F20AF49000113F054F9AF4E2188B0890C
+:101D3000884203D109F01AFB022807D0022028713B
+:101D4000012068713821E970287070BD7F2070769D
+:101D5000A548E17820304174A17801740020EEE7B5
+:101D600010B5A04C403C207800280BD19D48007E47
+:101D7000002807D109F0FAFA032803D009F0FAFA8B
+:101D8000032804D199489649653013F022F9954902
+:101D900000202031C8712071012060713A21E1706A
+:101DA000207010BD70B58F4C0646403C207800284E
+:101DB0000BD18C48007E002807D109F0D7FA032800
+:101DC00003D009F0D7FA032804D1884884497B302E
+:101DD00013F0FFF8834D2035E87908280CD2E87914
+:101DE0001022000100196830314600F025FEE87924
+:101DF000401CE871002000E0072020710120607184
+:101E00003B21E170207070BDF8B5764D0446403D31
+:101E10002878002803D17348007E002803D0704939
+:101E2000734813F0D6F8704F2188B889884203D1DF
+:101E300009F09CFA022801D0022022E03E8C64883E
+:101E40007200788CF98B521C944217D3694A514323
+:101E50009200504312F09AFF401EFF2180B2F531EC
+:101E6000884200D90846844200D22046711C401C9A
+:101E700012F08CFF761C7043401E86B2FE85EE8009
+:101E800000202871012068713C21E9702870F8BD9C
+:101E9000F8B5544C0546403C2078002803D1514801
+:101EA000007E002804D052484D492C3813F091F898
+:101EB000A878002801D0012804D1A888FF21F53195
+:101EC000884204D959204649000113F082F8464E51
+:101ED0002988B089884203D109F048FA022807D03E
+:101EE00002202071012060713621E1702070F8BD60
+:101EF0003D48002720308772A988B18501213176BD
+:101F0000A978012900D00021817237484030407CF7
+:101F1000002801D009F0EFFF2771E3E770B5314CDD
+:101F20000546403C2078002807D12E48007E002836
+:101F300003D109F01BFA002804D02D482849533852
+:101F400013F047F8287809F0EEFE002020710120F8
+:101F500060713021E170207070BD70B5214C054674
+:101F6000403C2078002803D11E48007E002804D081
+:101F70001F481B495F3013F02CF8287800280BD03D
+:101F8000012809D0022807D06878402804D31848CF
+:101F90001349663013F01DF8284609F0DEF90028D1
+:101FA00001D0002000E00C2020710120607134215C
+:101FB000E170207070BD70B50A4C0546403C207839
+:101FC000002807D10748007E002803D109F0CEF988
+:101FD000002804D057200249000112F0FAFF0BE05C
+:101FE000B01B000020030020D8010020AA0200003E
+:101FF000B6050000C40900002978002913D00A2979
+:1020000011D014290FD01E290DD028290BD0322928
+:1020100009D04B2907D0642905D0FF2903D0FE49F8
+:10202000FE4812F0D6FF284609F0FCFE0020207181
+:10203000012060713321E170207070BD70B5F84CE3
+:1020400006462078251D002804D120464030007E19
+:10205000002804D05520F049000112F0BAFF3146A3
+:10206000002008F0A1FD2870002804D10622314686
+:10207000EC4812F011FE012060713221E1702070F5
+:1020800070BD70B5E64C05462078002804D1204686
+:102090004030007E002804D0A720DF49C00012F0A5
+:1020A00098FF00216956042914D0002912D0081D78
+:1020B00010D0001D0ED0001D0CD0001D0AD0001D38
+:1020C00008D00A3006D0283104D0D448D249443848
+:1020D00012F07FFFD448297801700120607131210E
+:1020E000E170207070BD10B5CD4C2078002804D16F
+:1020F00020464030007E002803D0C749CB4812F06C
+:1021000068FF08F045FAE08008F00AFB2072002022
+:102110002071012060710521E170207010BDF8B5BB
+:10212000BF4C07462034A07B25462035002805D12A
+:10213000287E002802D1A878002804D0B748B649E4
+:10214000703812F046FF09F011F91026022822D14A
+:10215000B7483988808988421DD1B1494839084635
+:102160000A7F6038807A002A03D080070CD40C20C4
+:102170000CE0800708D406200877AD484030407C4A
+:10218000002801D009F0B7FE2E760020E0732674F7
+:102190000120A073F8BD0220F8E710B5A04C20780C
+:1021A000002804D120464030007E002804D09B48FF
+:1021B0009949823812F00DFF002020710E20A07086
+:1021C0000F20E070FF20A0710020C04320819548BF
+:1021D000C01D0178A1728188A1814088E081012021
+:1021E0006071207010BD10B58D4C2078002804D18E
+:1021F00020464030007E002803D087498D4812F0E9
+:10220000E8FE0821A01D0FF095FA002020710120A2
+:1022100060712B21E170207010BD70B5804D0446B7
+:102220002878002804D128464030007E002804D0B9
+:102230007A487949B13012F0CCFE7D48102221460F
+:10224000303800F0F9FB7A481022A118203800F04D
+:10225000F3FB774830380FF074FB754910221039C2
+:102260002C46A81D00F0E8FB002020710E20A07075
+:102270002A20E07001206071207070BDF8B5684CB4
+:1022800005462034A07B26462036002802D1307E29
+:10229000002804D067486049E53012F09AFEA9781A
+:1022A000052912D0132910D014290ED015290CD0CD
+:1022B0001A290AD0292908D03D2906D03B2904D063
+:1022C0005C485549ED3012F084FE28885A4988420E
+:1022D00004D958485049F63012F07BFE09F046F810
+:1022E0000C212827022809D151482A888089904248
+:1022F00015D14B484838027E002A01D0E17310E026
+:10230000A97841760121017637760020E0734848AC
+:102310004030407C002804D009F0EDFD01E00220AF
+:10232000E07327740120A073F8BDF8B53C4F064652
+:1023300038783D1D002804D138464030007E002802
+:1023400004D089203449C00012F043FE31460120F8
+:1023500008F02AFC01242870002807D13048062202
+:1023600060303146054612F097FCAC717C71172045
+:10237000F8703C70F8BDF0B52B4F85B0403F3D7A0A
+:10238000064627480078002804D13846A038007E49
+:10239000002804D0D3202049800012F01AFE3078A3
+:1023A000002806D0012804D022481B492C3812F0FE
+:1023B00010FE082D4CD21C4820380190C46930789A
+:1023C00000283FD0012804D01A4813491E3812F0C3
+:1023D00000FE294608310120884004430120A8401E
+:1023E00020430090B1790E4C0802727969000919F6
+:1023F0001043FF3101318881B01C12F0AEFC7178BE
+:1024000000020843A9000919C031C862387A401C8B
+:1024100038720199009811E0B01B00007E050000A1
+:10242000E00200202500002000040020E706000054
+:10243000D801002079030000FF0E0000C8610020D1
+:10244000207108E029460831012088408443C5E70F
+:10245000FE48072101710121FC480B224171C27025
+:10246000017005B0F0BD10B5F84C2078002804D1FB
+:1024700020464030007E002803D0F549F54812F090
+:10248000A8FD12F0A5FE00202071012060710A2134
+:10249000E170207010BD10B509F0DDFB002804D0FC
+:1024A000EC48EB49583812F094FD08F06FFA08F048
+:1024B00052F80AF07EFE002804D0BD20E4498000D6
+:1024C00012F087FD08F0B3FA002804D05F20E0493D
+:1024D000C00012F07EFD12F07BFEDF480024047085
+:1024E000FFF77FF9D9480121047141710222C270BE
+:1024F000017010BD70B5D54D04462878002804D170
+:1025000028464030007E002804D0F320D0498000C7
+:1025100012F05FFD20781F2801D8601C04D1CD483F
+:10252000CB498F3012F055FD002028712078611CB6
+:1025300008F054FB012068712021E970287070BDFB
+:10254000F8B5C24C0646207825464035002802D111
+:10255000287E002804D0BF48BD499C3012F039FDC8
+:102560003078012806D0002804D0BA48B8499D30F8
+:1025700012F02FFD012060710C20207130780027AF
+:10258000B64E012808D008F0F1FE032867D008F005
+:10259000F1FE032871D076E008F0E8FE002803D1B0
+:1025A00008F0E8FE002804D008F0E0FE02283DD044
+:1025B00069E008F07EFA002865D0287C002862D106
+:1025C000A64802210C300FF03EF8002806D00F215B
+:1025D000B089090212F0DAFBB18100E0B781012273
+:1025E00003219E4807F05AFE9C4808F006FCB0897B
+:1025F00007F0D0FF002804D196489549B83012F072
+:10260000E8FCB089002108F0C9F9002804D09148FD
+:102610008F49BC3012F0DDFC297F688B09F087FB05
+:1026200000282FD08B488A49C03015E008F0A2FE60
+:10263000002828D1287F002825D0012823D008F0A1
+:1026400038FA00281FD0297F688B09F070FB00281A
+:1026500018D080487E49D33012F0BBFC12E0002035
+:1026600009F098FA00280ED12771287C00280AD199
+:10267000B089FFF797F806E0FFE7002009F08AFA33
+:10268000002800D127711B20E07001202070F8BDC8
+:1026900070B56E4D04462878002804D12846403095
+:1026A000007E002804D06B486949803012F091FC0C
+:1026B00020781F2801D8601C04D166486449813005
+:1026C00012F087FC002028712078611C08F09AFA2B
+:1026D000012068711A21E970287070BDF8B55B4D52
+:1026E000044628780C272E46403600280AD1307E32
+:1026F000002807D108F03AFE032803D008F03AFE7C
+:10270000032804D153485249473012F062FC6079E3
+:10271000002801D001282FD1A079002801D001285C
+:102720002AD1A07B002805D0012803D0022801D09F
+:10273000032821D1607B40071ED0618801208003DF
+:10274000814202D82288824201D920790CE0207986
+:10275000002804D0022805D0032803D004E0202953
+:1027600004D209E0A02A01D2012805D1208888429C
+:1027700007D92079012804D0364835495C3012F059
+:1027800028FC20887083207930776079002802D077
+:10279000012803D00CE0324A002105E02B4A6032C8
+:1027A0009079002804D00121204608F086F90746D8
+:1027B00001202F7168711821E9702870F8BD70B57B
+:1027C000224C05462078002804D120464030007E67
+:1027D000002803D01E49234812F0FBFB08F0C6FD79
+:1027E0000C2102280ED11D482A8883899A4219D1CA
+:1027F0000246C032137F002B04D1807E0E2803D006
+:102800000F2801D0217103E00520107700202071EE
+:102810000E20A0702E20E0702888E08001206071DA
+:10282000207070BD0220F2E770B5084C0546207894
+:10283000002804D120464030007E002804D00948FA
+:1028400003492C3812F0C5FB0EE00000E002002026
+:10285000B01B00003E03000000040020D80100204F
+:1028600025000020D104000008F080FD0C21022882
+:102870000ED178482A8883899A421FD10646C036ED
+:10288000327F002A04D1807E0E2803D00F2801D089
+:10289000217109E06F481022A91CEA3012F0FCF9FE
+:1028A00004203077002020710E20A0702D20E070D1
+:1028B0002888E08001206071207070BD0220F2E75E
+:1028C00010B501780B0012F075FC3D8787388787BB
+:1028D00058878787873B3E878787515487878787B5
+:1028E00087874228872C3087878787348787878721
+:1028F00087878746874A4E872024876B5B5F63679D
+:10290000876F877E827B77738700801CFFF78CFF41
+:1029100060E0801CFFF753FF5CE0801CFFF7DEFEE9
+:1029200058E0801CFFF7B4FE54E0801CFFF708FE5F
+:1029300050E0801CFFF7DEFD4CE0FFF7ACFD49E006
+:10294000FFF791FD46E0801CFFF715FD42E0801C7B
+:10295000FFF7EBFC3EE0801CFFF790FC3AE0801CA8
+:10296000FFF75BFC36E0FFF73EFC33E0FFF715FCBA
+:1029700030E0801CFFF7D3FB2CE0FFF7B4FB29E02D
+:10298000801CFFF77EFB25E0801CFFF757FB21E052
+:10299000801CFFF710FB1DE0801CFFF7DEFA19E03A
+:1029A000801CFFF7BBFA15E0801CFFF771FA11E0FD
+:1029B000801CFFF729FA0DE0801CFFF7F3F909E00E
+:1029C000FFF7CEF906E0801CFFF79FF902E0801CBC
+:1029D000FFF77DF9012010BD002010BD10B51E4984
+:1029E0001E4812F0F6FA10BD70B51D4A01241146BA
+:1029F000184D4031030012F0DDFB05191C1C0419B1
+:102A00001C0001220021134807F048FC1448002153
+:102A1000483801774177C03809F005FA002804D01A
+:102A20000E480D49D33012F0D4FA70BD0C745565C0
+:102A300070BD09490B48F6E730B5134606E0CC18DF
+:102A4000203CE47FD51A44555B1EDBB2002BF6D147
+:102A500030BD0000D8010020B01B0000410600007E
+:102A6000E00200204707000010B56038030012F0B4
+:102A7000A1FB0A060A0F13181F262A31363B0868E5
+:102A800000F093FD10BD05C9114600F0ADFD10BD6D
+:102A9000086800F04CFE10BD05C9114600F054FE58
+:102AA00010BD4B6808788A68194600F065FE10BDB5
+:102AB0004B688A680868194600F07FFE10BD0868F8
+:102AC00000F09AFE10BD08884A6880B2114600F0F6
+:102AD000EAFE10BD05C9114600F00AFF10BD05C988
+:102AE000114600F01DFF10BD012010BD10B56C286F
+:102AF00001D0012010BD087800F0B8FE10BD000024
+:102B000001203F49400608603E4908603E490A6886
+:102B1000FF231B029A4383121A430A603849803903
+:102B20000860704710B502460420384904E0C3002D
+:102B30005B181B79002B0AD00346401EC0B2002B45
+:102B4000F5D133A1432012F044FAFF2010BDC30099
+:102B5000CA50002259184A718A7101220A7110BDA7
+:102B60002A4A0021C00080180171704710B5044640
+:102B7000042803D326A1522012F02BFA2348E100A7
+:102B80000C182079012803D021A1532012F021FA3A
+:102B90006079A179401CC0B2814200D060710120EF
+:102BA000174940068031086010BD70B516480068AE
+:102BB0000004800F022803D015A1692012F009FA41
+:102BC000124E194C03252078C10088190279012A78
+:102BD00007D1427983799A4203D042798271705841
+:102BE00080472078401CC0B22070042801D3002008
+:102BF000207028466D1EEDB20028E4D170BD0000A3
+:102C000080E100E080E200E018E400E02C12002007
+:102C10007372635C736F635F7369676E616C6C6919
+:102C20006E672E63000000003C00002010B5EFF33B
+:102C30001080C407E40F72B6D6484178491C417031
+:102C40004078012801D10FF065F9002C00D162B65F
+:102C500010BD70B5CF4CE07800280AD10125E57091
+:102C6000FFF7E4FF0FF05EF9002804D000200FF01A
+:102C700031F9002070BDC84865714560F9E770B54D
+:102C8000EFF31080C507ED0F72B6C24C60780028D4
+:102C900003D1C2A18F2012F09CF96078401E6070B1
+:102CA0006078002801D10FF039F9002D00D162B60B
+:102CB00070BD10B5B748C178002904D0002141711A
+:102CC000C170FFF7DCFF002010BD10B504460FF007
+:102CD00029F9B049C978084000D0012020600020BF
+:102CE00010BDF8B50246AB4C0026A67108200421A1
+:102CF00001251027130012F05DFA0D080A0C0E10C2
+:102D00001214161E262123252800257122E00220F8
+:102D100001E021711EE020711CE027711AE02020E3
+:102D2000F9E7012616E0FFF781FF0FF0FBF8002816
+:102D3000FBD002260EE02171A5710BE02771FBE7A5
+:102D4000202000E040202071F6E7FF2093A17E3094
+:102D500012F03FF90FF0F2F8002809D00FF0F4F864
+:102D6000B04205D130460FF0F2F80028FAD024E046
+:102D700001208007C5608D4A002151608C4A966110
+:102D8000854B02225A6085608A4803690569DB43E6
+:102D9000DB06DB175B1C10273D430561834D00E01C
+:102DA00020BF6F68002FFBD0002B03D107691023D1
+:102DB0009F430761784882606960A07900280CD041
+:102DC0000FF0B0F805460FF00DF87B4A002D02D049
+:102DD000A260E06001E0E260A060002E01D100F09E
+:102DE000B1F8F8BD10B504460FF0A2F8002805D0E0
+:102DF00068490120C8704A78521C4A702046FFF783
+:102E000070FF10BDF8B5694FB8680025012802D1E0
+:102E1000BD600FF05FF87868012800D17D603868E8
+:102E200001265C4C012814D13D606079002803D054
+:102E300000200FF04FF865712078002809D00FF0BE
+:102E400071F8002805D05948C0388663000606612D
+:102E5000A670386901282CD13D6100F068F8012086
+:102E600080074661A079002815D00FF05BF800902C
+:102E70000EF0B8FF0099002901D0E16800E0A168D8
+:102E8000411A022901DA8A1C13DC0099002901D0B9
+:102E9000E06000E0A060FFF7C9FE0FF043F80028F3
+:102EA00006D04248C038866300060661A67000E07E
+:102EB0002670F868012819D100F039F800F037F8C9
+:102EC00000F035F8A078002804D1FF2033A10530A8
+:102ED00012F07FF8FD60A5702570FFF7D0FE0EF0B0
+:102EE000F8FA002802D03148C038C663F8BD10B5E2
+:102EF000284CE078002801D10FF010F8012081075C
+:102F0000886100F014F8A07800280BD0274CE06806
+:102F1000002803D10FF01BF80028F8D10020E06052
+:102F200000F005F800201C49C043886010BD08B5BA
+:102F30005020694608806A461088411E118000288A
+:102F4000F9D108BDF8B51448192787601749002042
+:102F50000860C8600EF0E6FFBD0701240D4E002892
+:102F600005D01248C03884632C61B47000E034701E
+:102F7000FFF75CFE084847600D4930798863FFF72A
+:102F8000D6FFAC61FFF7D3FF0849002008616C61F0
+:102F9000F8BD000040000020000300407372635C35
+:102FA000736F635F636C6F636B2E6300000100409F
+:102FB0000005004000ED00E0FFFFFF7F10B510F0BE
+:102FC00064F810BD00200449C8630120012181403C
+:102FD000024A116000BF7047C01F004080E200E05D
+:102FE00010B504460BF095F820460CF0AAF810BD79
+:102FF0007047704770477047704770477047704719
+:1030000010FFFFFFDBE5B151006001004F00FFFF43
+:1030100003B40148019001BD09000020FE49487039
+:10302000704710B5030012F0C5F8080E050E080829
+:103030000B0B0E1104F07DF810BDFFF7D1FF10BD92
+:103040000DF0E8FF10BD01F095FE10BDFF20F3A1CB
+:10305000713011F0BEFF10BD7FB5F44905464868D8
+:103060008968082301910090F14A1946F1480EF051
+:103070008BFD0024F0480EF0A5FD641CE4B2082C82
+:10308000F8D3EB490320803140020CF02FF90028DF
+:1030900003D0E2A1962011F09CFF1E220221E748F6
+:1030A0000AF0E7FCE5481E22032110300BF05BFA22
+:1030B000E2480722342174300AF034FCDF484C2106
+:1030C000283011F048FEDD496A46743108464C3814
+:1030D0000164FF317B31416401211172039002F0E0
+:1030E000B4F802A80CF050FC002803D0CBA1AA2011
+:1030F00011F06FFFCF4802222421A8380AF012FCF9
+:10310000CC4802222C215C380AF00CFCCC490B2064
+:103110000EF082F8002803D0C0A1B72011F059FFAB
+:1031200003F0F4FF03F0F8F904F05AFE6B460022B6
+:103130000821C4A001F070FF002803D0B7A1BE2071
+:1031400011F047FF284605F071F9002803D0B3A11C
+:10315000C02011F03EFF8521C900BD4811F0FBFDE4
+:10316000BB49B24A0020135C0C18401CC0B2E3708B
+:103170000428F8D3A849002048608870C8707FBD33
+:1031800070B5B44E0546706A94B00C46401C04D12C
+:10319000B06AC0430004000C0BD0306AC007C00FF7
+:1031A0002870706A11F0EAFDB06A2071000A60713F
+:1031B00013E02B206946087009A968460AF0F8FB5D
+:1031C000002803D095A1E42011F003FF012028700E
+:1031D00006220AA9204611F05FFD2878002803D0B6
+:1031E0006079C0210843607114B070BDF0B5994C8E
+:1031F0000646206895B00D463746401C0837002823
+:1032000008D16068401C05D1A068401C02D1E0686C
+:10321000401C11D02068314611F0B0FD6068311DAE
+:1032200011F0ACFDA068394611F0A8FDE068314608
+:103230000C3111F0A3FD25E02B206946087009A987
+:1032400068460AF0B5FB002804D0FF2073A10E30B9
+:1032500011F0BFFE08220AA9304611F01DFD2B20F7
+:103260006946087009A968460AF0A2FB002804D044
+:10327000FF206AA1153011F0ACFE08220AA93846D9
+:1032800011F00AFD20692E46401C0836002808D19E
+:103290006069401C05D1A069401C02D1E069401C56
+:1032A00012D02069294611F069FD6069291D11F0CD
+:1032B00065FDA069314611F061FDE06929460C31D8
+:1032C00011F05CFD15B0F0BD2B246846047009A90F
+:1032D0000AF06EFB002804D0FF2050A1333011F01B
+:1032E00078FE082209AF0AA9284611F0D5FC6846E5
+:1032F000047009A90AF05CFB002804D0FF2047A154
+:103300003A3011F066FE0822391D304611F0C4FC37
+:10331000D8E710B5002108460EF00CFD0021012071
+:103320000EF008FD002102200EF004FD0021032014
+:103330000EF000FD002104200EF0FCFC0021052011
+:103340000EF0F8FC10BD10B5414CA0780B2804D34A
+:10335000FF2032A18A3011F03CFE207860214843E2
+:1033600000190830002101704178E722C908C9001E
+:10337000C91C11404170284A0121917010BD70B5DF
+:10338000254CA07800280ED0314800250178491C32
+:10339000C9B201700B2900D105708178491C817078
+:1033A0000EF093FDA57070BD70B51B4C05466068AE
+:1033B000002804D0FF2019A1B33011F00AFE656087
+:1033C00070BD70B5144E224DFFF7BDFF7168044605
+:1033D000002907D06022FDF7F7FEFFF7D0FF00209D
+:1033E0007060F1E72879002876D012485C380AF03E
+:1033F000A9FA6060002804D1FF2008A1D13011F0A3
+:10340000E8FD60680AF0FCFA002831D0204600F0A0
+:103410006FFF607801071FE0340000207372635C67
+:10342000686F73745F636F72652E6300E051010013
+:10343000040400200C12002023300000840A002025
+:10344000B41000206E524635313832320000000090
+:103450008C0C00208000001007D5C008C000401C64
+:1034600060702879401E287127E0F74861682AE0DB
+:10347000F54861680AF06FFA687900282CD0F248A4
+:103480004C380AF05FFA6060002804D1FF20EF4951
+:10349000F43011F09EFD60680AF0B6FA002816D0EC
+:1034A000204603F085FE6078010709D5C008C000FA
+:1034B000801C60706879401E6871FFF760FF83E7C9
+:1034C000E14861684C380AF046FA7DE704E0DE48DE
+:1034D00061684C380AF03FFA70BDF7B505460078D0
+:1034E000002700090C463E46062803D0D749D84895
+:1034F00011F06FFD287A00280ED0012814D0D4488E
+:10350000D249213011F065FD0298002C068001D0CF
+:10351000278066800020FEBD02270926002C0ED0E1
+:10352000A889A080A87B08E003271426002C06D0D9
+:103530002869E060A88A2082287B2072E4E702984C
+:103540000680E7E770B50E4600211C461980154637
+:10355000030011F02FFE0723050B1711231D230075
+:1035600022462946304603F0EFFD70BD224629462B
+:10357000304601F078F970BD22462946304604F005
+:103580002AFB70BD22462946304602F0F9FF70BD85
+:10359000224629463046FFF7A0FF70BD9720AB4971
+:1035A000800011F016FD032070BD10B5A94C2178E4
+:1035B000002901D0082010BDFFF74EFD012020702A
+:1035C000002010BD0146A04810B54C380AF0C3F9E0
+:1035D000A1494879401CC0B24871012803D19D48D7
+:1035E0004078FFF7C3FA10BDF8B50546072040073D
+:1035F0000F460A18012189038A4209D2002D02D000
+:103600002818884204D2E81C80088000A84201D013
+:103610001020F8BD90488178002911D03988009198
+:103620004178602251430C18083420783B4600074B
+:10363000000F00222146FFF785FF060004D015E0A9
+:10364000002038800520F8BD002D13D0398800985F
+:10365000814201D90C260DE020783B460007000F7F
+:103660002A462146FFF76EFF060005D00C2E01D03A
+:10367000002038803046F8BD774D6878401CC0B2D5
+:1036800068700B2801D100206870A878401EA870CF
+:1036900061784807400F022810D00128EAD16A4813
+:1036A00061680AF058F92879401CC0B228710128D5
+:1036B000E0D168484078FFF759FADBE7C806D9D46B
+:1036C0006068FFF77FFFD5E770B50446634816468C
+:1036D0000D46814204D15E485C49C53011F079FC49
+:1036E000012E05D05A485949D53011F072FC70BDF1
+:1036F00058480121C1706620207000202072A581E9
+:10370000A17370BD70B516460D46040001D1FFF7D8
+:103710001AFE662101700121017229680161A988E0
+:1037200081820673002C01D1FFF729FE70BD0721AD
+:103730004907012241189203914201D3102070479A
+:103740000721017000207047454A10B590420ED302
+:1037500001239B04C21A434B9A4208D3424B98421E
+:1037600005D2072252078A18DB139A4201D3102090
+:1037700010BD0DF08AFD10BD394B10B599420ED326
+:1037800001239B04374CCB1AA34208D3364B9942F2
+:1037900005D2E3020124D318A403A34201D31020CD
+:1037A00010BD022803D0102801D0092010BD0DF053
+:1037B00092FD0028FAD0052010BD70B5284B984224
+:1037C00012D301239B04274CC31AA3420CD3264BCC
+:1037D000984209D2E4020D19DB139D4204D2002A5B
+:1037E00004D014199C4201D3102070BD0DF099FD36
+:1037F0000028FAD0072070BD10B504460720400706
+:1038000001212018890394B0884202D3102014B0FB
+:1038100010BD01F06AFD002801D01120F7E70F204C
+:1038200008A9087369460BA80AF0C2F80028EED16F
+:103830006846007A207068464089608068468089C2
+:10384000A0800020E3E70000B01100201C3400003D
+:1038500015020000340000208C0C0020FFFF000047
+:10386000006001000000FC1F0040002010B594B073
+:10387000044601F03AFD002801D01120C7E7002CD2
+:1038800001D00720C3E7392168460170002181700B
+:1038900009A90AF08DF8002803D02B492B4811F014
+:1038A00098FB0020B3E770B5294C0846E178002961
+:1038B00013D000280FD007225207012385189B033D
+:1038C0009D4203D20568AA189A4201D3102070BD08
+:1038D0008288002A03D0012903D0082070BD092066
+:1038E00070BD04F0E1FA0028FAD10021E17070BD4A
+:1038F000184A10B5914208D301229204164B8A1A35
+:103900009A4202D3154A914201D3102010BD0246BB
+:10391000203A1F2A02D801F01FFC10BD072010BD5D
+:1039200007225207012310B58A189B039A4201D33C
+:10393000102010BD0246203A1F2A02D801F068FC70
+:1039400010BD072010BD00001C34000079030000EA
+:1039500034000020006001000000FC1F0040002037
+:103960008107C90E002808DA0007000F0838800810
+:103970002C4A80008018C06904E080082A4A800030
+:1039800080180068C8400006800F704710B50D20F1
+:10399000FFF7E6FFC4B20420C043FFF7E1FFC0B267
+:1039A000844203D021A11A2011F013FB10BD012184
+:1039B000234A48031060234B00221A60224A5160B8
+:1039C000224A1060224A11601D4980390860704700
+:1039D00001211B4A480310601D4A5160194A002109
+:1039E00011601A490860704710B516490868012827
+:1039F00004D00EA1562011F0ECFA10BD15488068D5
+:103A00000022C0B20A600DF0BBFE10BD10B50D481B
+:103A100001680029FCD0FFF7E7FF01200B494003B4
+:103A2000086010BD00ED00E000E400E07372635C2C
+:103A3000736F635F68616C5F726E672E6300000076
+:103A400080E100E000D1004000D3004080E200E0CF
+:103A500000D0004000D5004030B40121BC48C9026C
+:103A60000160CD1005604A030260BA4803681B027A
+:103A70001B0A036004680023240A24020460B64879
+:103A80000468240A24020460B44801244460846069
+:103A9000B34C23606360A360B24B19601D601A6071
+:103AA000B14B19601A600121016030BC704710B43D
+:103AB0000121A748CC0204600A0202600B060360E1
+:103AC000A64841608160A64900200860486088607F
+:103AD000A44804600260036010BC70470121A14843
+:103AE000C9020160C91001607047002805D0012893
+:103AF00005D0022805D19D4870479D4870479D48D4
+:103B0000704710B59CA18B2011F063FA002010BD06
+:103B100070B500219F4CA04DA04A914B002808D0C1
+:103B200001281DD0022822D093A1B32011F051FA10
+:103B300070BD01200004A060A86011601960984B5E
+:103B400042109A60974A9060814A0012106096482D
+:103B5000016087480160954801609548017070BD1B
+:103B600001204004A060A8605160596070BD012030
+:103B70008004A060A8609160996070BDF8B594461B
+:103B8000844A854D00240127754E002808D001285D
+:103B900036D0022844D078A1E82011F01AFAF8BDF6
+:103BA000891E0902090A01200004906034606860DF
+:103BB0007A4A1160012B21D000217D4A7D4B517042
+:103BC00061463D31DC63DF637B4B5C6002249C60BB
+:103BD00004241C61744B196074490F60614B891592
+:103BE0001960704B58606048016075487349C16046
+:103BF00086606B49600348601770F8BD0121DCE7FF
+:103C000001205C4E40046F4F012B04D134605060A2
+:103C100068603960F8BD9060346068603960F8BDF4
+:103C20000120524E8004684F012BF4D1EEE7674823
+:103C30004068704770B54A4D28680026554C0128E9
+:103C400006D1A068C00303D501200004A0602E6047
+:103C50006868012809D1A068800306D501204004C6
+:103C6000A0606E6001200FF04CF9A868012809D10E
+:103C7000A068400306D501208004A060AE60022049
+:103C80000FF03FF970BD10B549490878002818D0E9
+:103C90000120434AC0039060424A400090602C4A91
+:103CA00000121060404A00201060314A10603F4A04
+:103CB000106008704A78002A02D048700FF021F98D
+:103CC00010BD0320FAE70120414900060860704753
+:103CD0000120244900060860704701203C49400546
+:103CE0000860704701201F4940050860704731494E
+:103CF0000020C86388151B4908607047410A354A8F
+:103D0000C005C00D5043801C5143400A081870473D
+:103D100010B4314C430B63431B0C5C020C602D4C04
+:103D20006343C31A2D485C0258432A4B400D43435A
+:103D3000E31A0124DB0324041B191B1613700A6801
+:103D40001018086010BC704710B50FF0B2F910BD24
+:103D500080E100E008E400E018E400E000B000408A
+:103D600040B1004080E200E000E100E048B10040E6
+:103D70004081004044B100407372635C72656D5FC6
+:103D800068616C5F6576656E745F74696D65722ECF
+:103D90006300000000B3004040B3004040B5004065
+:103DA00000F5014000830040408500400082004053
+:103DB00050000020C08F004000850040008000407F
+:103DC00080F5014044B5004048B5004000B50040D2
+:103DD00000E200E0093D0000378600006F0C0100A2
+:103DE0000E4A12680C498A420AD118470B4A1268D7
+:103DF000094B9A4204D101B50DF0DDFD03BC8E469E
+:103E0000074909680958084706480749054A064B03
+:103E10007047000000000000BEBAFECA1C0100206E
+:103E200004000020901D0020901D002010B5FA4CC9
+:103E300094B02168087A002836D017206A4610709E
+:103E400000A806220931023010F026FF09A96846B1
+:103E500009F0AEFD112825D02168C03189790629E5
+:103E600020D007291ED008291CD004291AD00929DE
+:103E700018D00A2916D00B2914D0052912D00028F1
+:103E800003D0E6A1F32011F0A4F82168B82040582F
+:103E900006221C30093110F0FFFE2068017A8030C4
+:103EA000806BC17614B010BD3220C7E770B5DA4D13
+:103EB000044629680300C03111F07CF90C077C0B23
+:103EC0001A212E3B48515C677080FF20D3A1093036
+:103ED0006EE0887901286DD009286BD0052869D05B
+:103EE0000A2867D00B2865D0FF20CCA10E305FE0F8
+:103EF000887901285ED0FF20C8A1153058E0887964
+:103F0000062857D0072855D0082853D0052851D067
+:103F1000FF20C2A118304BE0887909284AD00A282E
+:103F200048D00B2846D0042844D0FF20BBA11E3027
+:103F30003EE0887903283DD007283BD0082839D0B7
+:103F4000092837D0FF20B5A1243031E08879062830
+:103F500030D00A282ED0FF20B0A12A3028E088795E
+:103F6000062827D0072825D00B2823D0FF20ABA177
+:103F70002E301DE0887906281CD00A281AD00B287C
+:103F800018D0FF20A5A1333012E08879092811D07C
+:103F90000A280FD0FF20A1A1383009E0887909282C
+:103FA00008D00A2806D0082804D0FF209BA13C3066
+:103FB00011F00FF82868C030847170BDFF2097A100
+:103FC0004130F5E79449C9220968525CD206920F44
+:103FD00005D1A0318A8B824201D1887F70470020B1
+:103FE000704770B504461120207000218A4D617021
+:103FF0002968C031897A002908D003290ED0042904
+:1040000010D0FF2085A16A3010F0E3FF207800096E
+:10401000012802D92868807D607070BD0007000FFC
+:10402000203002E00007000F30302070EEE730B59E
+:1040300003887E497E4C8B4202D09A1FA2421ED238
+:1040400042888A4202D0951FA54218D2934216D8C0
+:1040500083887D24E400A34211D8C088884205D01B
+:10406000734D04460A3C2D1FAC4208D2884208D04A
+:104070008A4206D05B1C5A43C000824201DD072001
+:1040800030BD002030BDFFB50022099B002802D0C2
+:10409000994205DC5CE0002902D1002004B0F0BDAB
+:1040A0000920FBE7845C002C12D085186F780D2F57
+:1040B0004CD010DC3B0011F07DF80A421B2A2A305C
+:1040C0003032323A3A42835C002B3FD1521CD2B29A
+:1040D0008A42F8DBE1E7122F31D004DC0E2F35D015
+:1040E0000F2F2CD132E0142F11D0152F27D116E02D
+:1040F000022CD5D1AB78039C072B237001D25B0730
+:1041000001D40A20CAE7029B01241B7814E0E34390
+:10411000DB0708E0012C08D011E00620BEE70F25E0
+:1041200023072D075B19002BF4D03046B6E7029B1E
+:104130001B789C070AD402242343029C2370835CCF
+:10414000521C9A18D2B28A4204DDA9E70B20A5E7D7
+:10415000192676028A42A5DB9FE705E00278401C1B
+:10416000002A01D0002070470A46491E89B2002A61
+:10417000F4D10120704730B5274D0021286887B061
+:10418000C943A030818300248477214606200DF0A6
+:10419000D1FD002105200DF0CDFD002102200DF004
+:1041A000C9FD0120FFF782FE28686946C030C4714E
+:1041B00004720120087068460BF007FC07B030BDA0
+:1041C00030B5154C95B02268C0329279042A0CD0D3
+:1041D000052A0AD028236A4613705080132906D076
+:1041E0003B2904D0072015B030BD0820FBE7117132
+:1041F000104609A909F0DCFB05000BD12068C0308E
+:104200008179062916D0082914D0072912D0052053
+:10421000FFF74CFE2846E6E7540000207372635C0B
+:104220006761705F636F72652E630000FFFF0000BF
+:104230007B0C00000420EBE730B587B0040003D00E
+:10424000002107200DF076FDFE4D012128686A4609
+:1042500001720421117003210C300DF06BFA2968F2
+:104260004022887B8006800E1043887368460BF0DE
+:10427000ACFB00280DD12968098A00299ED0002CAA
+:104280009CD08B000122002107200DF0AEFC0728F6
+:1042900001D0032092E7002090E770B50025064684
+:1042A000002803D0002107200DF044FDE54C01213A
+:1042B00020680172062109300DF03CFA2068817BEC
+:1042C0008906890E8173FFF7B1FD2068008A0028F6
+:1042D0000AD0002E08D083000122002107200DF013
+:1042E00084FC072802D00325284670BD0025FBE783
+:1042F000F0B59BB0040004D11920D349400110F05F
+:1043000068FE72202070616800260A780825521F16
+:104310000127CC48130010F04DFF0F0976D9FD7628
+:1043200078FCFBB576767676FAF97600C5480068B3
+:10433000C0308079032803D0C349C44810F049FE37
+:10434000002108460DF0F6FC002107200DF0F2FCDC
+:104350006078BC4A28436070106810250146C0315F
+:104360004B7A2B434B7263689D783C2D48D00246B4
+:104370009D88A032977763688030DB890B80636803
+:104380001B8A4B8063685B8A8B8095836168826B34
+:10439000C97911756168806B08311530062210F0FB
+:1043A0007BFC0620FFF782FDA648CA210068FB229D
+:1043B0000E54017E11400176B82109588A7A92087C
+:1043C00092008A724682284602F0ACFE002804D091
+:1043D0009E489D491A3010F0FCFD284602F0BCF8BA
+:1043E000002804D0994898491D3010F0F2FD284665
+:1043F00003F008FD002806D069209349C0003EE183
+:104400000120FFF753FD1BB0F0BD064600688F8802
+:10441000C0308079062812D0072810D008280ED086
+:1044200004280CD009280AD00A2808D00B2806D066
+:10443000052804D0D5208449800010F0CAFD60789A
+:10444000284360703068C030417A294341728079D6
+:10445000092811D00A280FD00B280DD005280BD021
+:10446000FFF789FE384602F062FE384602F07AF81D
+:10447000384603F0FDFCC6E7FFF77DFE0220FFF79C
+:1044800015FDEFE70068C0308079062812D00728B4
+:1044900010D008280ED004280CD009280AD00A28E9
+:1044A00008D00B2806D0052804D06F206649C0002C
+:1044B00010F08FFD6068807902F0F1FE0028A2D034
+:1044C0006178294361706168C8809CE7074600688D
+:1044D000C0308079062812D0072810D008280ED0C6
+:1044E00004280CD009280AD00A2808D00B2806D0A6
+:1044F000052804D055485449623010F06AFD6078B0
+:10450000284360706068C188386804E032E197E150
+:1045100084E084E00FE0C030018061680989418057
+:10452000616849898180002102200DF003FC386810
+:10453000C030C67167E706460068C030807906283B
+:1045400019D0072817D0082815D0042893D0092897
+:1045500011D00A280FD00B280DD005288BD03B484E
+:104560003949793010F035FD3068C0308079042841
+:10457000ABD00528A9D03068807C40063AD5606869
+:1045800002210C30FFF7E9FD002833D060680821D4
+:10459000001DFFF7E2FD00282CD03168B8204058FC
+:1045A000807A800708D1CA20405C002808D1488A58
+:1045B000C20505D5C00703D14A8A402082434A82FA
+:1045C0004A8A802082434A822D2268460270BC209B
+:1045D000425A684642801022973101A810F05CFBD5
+:1045E00009A9684609F0E4F90028A3D0174816493C
+:1045F000A03044E062683068AC2192890A52616858
+:104600000822091DAE3010F047FB10A80574306871
+:10461000AE30159014A80BF0D8F9F4E68F71064669
+:104620000068C030807906281FD007281DD00828D0
+:104630001BD00428F1D0092817D00A2815D00B2840
+:1046400013D005E0540000201C42000029030000A4
+:104650000528E2D0F949FA4810F0BBFC3068C030B8
+:1046600080790428D9D00528D7D0606881790029BD
+:1046700002D08078002805D0F148F0496C3010F065
+:10468000A8FCC0E66078B8212843607030680958FB
+:10469000897A8907890F012952D1817C09064FD473
+:1046A000017E490701D5042100E00321C030817259
+:1046B0002B206946087009A9684609F079F9002895
+:1046C00004D0DF48DD49213010F083FC69463068B2
+:1046D000098D81820E2210A90A74DA49B822159137
+:1046E000125808324A61024660324A6092790A7072
+:1046F000024614320A61521D8A601032CA60133AAF
+:104700008A619632CA61921C0A62473A4A62103242
+:104710008A621032CA62473ACA63521E0A64921F02
+:1047200050304A64886414A80CF038FB022815D075
+:10473000002813D0C248C1494A3010F04AFC0DE0AD
+:10474000817C4906017E490701D5042100E003214F
+:10475000C0308172002106200DF0ECFA3068418AE9
+:104760000A0602D440229143418289B280229143B9
+:10477000418248E6B4480068C0308079032804D0FC
+:10478000AF48AE49783010F024FC002108460DF007
+:10479000D1FA002107200DF0CDFA6078AA4A28430B
+:1047A0006070106810250146C0314B7A2B434B7264
+:1047B00063689D783C2D00D122E602469D88A03298
+:1047C000977763688030DB890B8063681B8A4B8036
+:1047D00063685B8A8B8095836168826BC979117588
+:1047E0006168806B08311530062210F055FA0620FA
+:1047F000FFF75CFB9448CA210068FB220E54017E3F
+:10480000114001764682284602F08CFC002804D034
+:104810008B488A49923010F0DCFB284601F09CFE60
+:10482000002804D086488549953010F0D2FB2846F0
+:1048300003F0E8FA00289CD08148804997301EE7B1
+:10484000607828436070DEE500290BD088807E48C0
+:104850000068C0300288CA8002880A8142884A8182
+:10486000808888817047F7B5064600780C46002797
+:10487000010982B03D46012974D073480068009058
+:10488000C03002296FD0072904D00A296CD06B49A7
+:104890006E48E3E171680A78521F130010F08AFC39
+:1048A0000F09A551A5A52F585847A5A5A5A5656F22
+:1048B000A5008A783C2A1BD010271625002C7DD015
+:1048C0008888A0807068A21DC08920827068C08915
+:1048D000E0817068008A60827068408AA082716896
+:1048E00008460831C07901F09FFB0020607375E035
+:1048F00019270725002CE2D00021A17171E01127B2
+:104900000725002CDBD089880091A1807168F722EF
+:104910008979A171417A11404172009802F008FC36
+:10492000009801F023FE009803F0B0FAC1E10127DE
+:104930000925002CC3D08888A080706880792072F7
+:10494000B7E1888812270E252146FFF77DFFB0E1E9
+:1049500018270825002CB2D08888A080A01DFFF75A
+:1049600040FBA6E145E0A1E15DE01A270725002C08
+:10497000A5D04888A08070680079A07199E18A78F4
+:104980003C2AB5D010271625002C98D08888A08006
+:104990007068C08920827068C089E0817068008A70
+:1049A00060827068408AA0827168607B497D40089F
+:1049B0004000C907C90F0843607300E036E1716821
+:1049C000C007497DC00F49084900084360737168FA
+:1049D000A21D08460831C07901F026FB1A4800687C
+:1049E000C030417AEF22114046E1532013490001C3
+:1049F00034E1307A012803D014481049C5382DE13C
+:104A000012270E2570892146FFF71EFF002C91D03A
+:104A100070784007400F032888D10B480068C030E9
+:104A2000417AFB22DFE708490968A031002C01D058
+:104A30008A8BA280327A921E0AE000001C4200009B
+:104A4000ED030000AC120020540000200C06000012
+:104A5000130010F0AFFB073D4853EDEE6F05ED007E
+:104A600013270C25002C90D0009900224A82F1686F
+:104A700089788907890F0129217A26D049084900B8
+:104A80002172FD231940F3689B785B07DB0F5B0005
+:104A900019432172E323E2801940F3681B785B0716
+:104AA000DB0E19432172DF231940F3685B78DB07C3
+:104AB0009B0E194321726272F1680122C978A172BA
+:104AC000017A1143F7221140ADE001231943D7E7E2
+:104AD00015270C25002C9AD0F06806220068A11D2D
+:104AE0000EF07CFFE5E016270725002C8FD0317BE8
+:104AF000A171017A08221BE00172DAE01427122565
+:104B0000002C84D00098A21D8030806B01461531A6
+:104B1000007D01F089FAB089E081207C0121084301
+:104B2000F92108402074FE480068C030017A022252
+:104B30001143E1E717273825002C77D03221A01D3B
+:104B400010F007F90020A071207A03210843207299
+:104B5000FB210840F24909680A7E5207D20F9200F1
+:104B600010432072B8204058807A800757D0A07A2E
+:104B70008A7C4008D2074000D20F1043FD2210402B
+:104B8000A0728B7CFB229B07DB0F10409B0018431D
+:104B9000A0728B7CF7269B07DB0F3040DB001843AD
+:104BA000EF231840A072E07A10408A7CD206D20F20
+:104BB00092001043E0728A7C3040D206D20FD200BD
+:104BC0001043E072888AA0812046102267310E309F
+:104BD00010F062F8D249A07F0968C0078A7DC00F33
+:104BE00052001043A0770A7E400852074000D20FBF
+:104BF0001043A077084640304DC820344DC4303CA7
+:104C00003F20405C22463032393101F00DFAC44871
+:104C100000688030806B817A890889008172C04881
+:104C20000068C030017AFB22114065E737E000E000
+:104C300038E0327B022A14D017273825002C2ED0DA
+:104C4000017AFB2319400172012A17D0032A17D0D9
+:104C5000042A18D0052A16D0B249B34810F0B9F981
+:104C600027E019270725002C19D0898BA180012165
+:104C7000A171417A4908490041721AE0012000E01F
+:104C80000220A07106E0707B0007000F8030A07149
+:104C9000052A02D00020E0710BE00120FBE7049818
+:104CA00005800CE0A0489F490A30D7E7317A0029F7
+:104CB00008D00498002C058001D027806580002052
+:104CC00005B0F0BD19270725002CE8D00021C94305
+:104CD000A1800021A171417AFD2284E610B5904C9B
+:104CE00094B02068C0308079022809D0032807D00A
+:104CF000052805D0092803D00A2801D00B2837D170
+:104D00001B2108A801730021817369460BA808F0D4
+:104D10004FFE002804D1684640781B2802D00320AB
+:104D200014B010BD002108460DF004F80021072042
+:104D30000DF000F868468078002819D12068C0304E
+:104D40008079801E030010F035FA0A060613081356
+:104D500013130D0F1113012000E00420FFF7A6F834
+:104D60000020DDE70620F9E70720F7E70820F5E750
+:104D70000820D5E770B50025694C002807D0022827
+:104D800017D0072828D033206649400146E0FFF7B6
+:104D9000A5FF00280CD1FEF7D6FA2221017005727A
+:104DA000FEF7EDFA2068C030417A022211434172C9
+:104DB00070BDFEF7C8FA122101700121017221684D
+:104DC000BC22525A4281C031CD71FEF7D8FA206818
+:104DD000C030417A0422E9E72168C620405C0228FD
+:104DE00009D0032807D0092805D00A2803D00B28AA
+:104DF00001D00528DCD1887B8109012911D08009E7
+:104E000004D0494847496E3010F0E3F80020FFF71E
+:104E100044FA0028CCD044484249723010F0D9F806
+:104E200070BD0020FFF708FAF3E770B50D460400E7
+:104E300004D1CD203B49C00010F0CBF820780128E8
+:104E400005D0394837499D3010F0C3F870BDA188AE
+:104E50003648334E814209D1E288824206D1306819
+:104E60001321A030808BFFF7ABF970BD814202D1D6
+:104E7000E08800280AD012202870687808210843AA
+:104E8000687007CC083507C5002106E000227823AA
+:104E9000114602200CF0A9FE02213068C030C17119
+:104EA00070BD1F480068C030807A704738B51C4C10
+:104EB00005460278206813000146C03110F07AF9E7
+:104EC00009A8060909A21945728AA800FEF7AEFFD3
+:104ED00038BD8879062806D0092804D0124811491F
+:104EE000B53010F076F820680422017E1143017677
+:104EF00088E0A9880029EBD0A030808B0B4988423C
+:104F0000E6D0A868002804D107480649C53010F04B
+:104F100060F8A8680A38A8600090AB88206807E0AD
+:104F2000540000201C420000E9050000FFFF0000C3
+:104F3000A030808B0622042102F028F80028C7D078
+:104F4000F849F94810F045F838BD287902288879E1
+:104F50000DD00428F8D00528F6D0284601F075F8C1
+:104F600020681321A030808BFFF72AF938BD07286D
+:104F700006D00A2804D0EC48EA490A3010F029F893
+:104F8000284601F062F820680122C030417A1143BE
+:104F900041728079072803D00920FEF787FF38BDCA
+:104FA0000620FAE7887906280AD0042808D00928BC
+:104FB00006D0052804D0DC48DA49313010F009F871
+:104FC0000ECDDA480361C2608160A2210170FEF754
+:104FD000EBF938BD8879062818D0072816D009289B
+:104FE0000DD00A280BD0D048CE4944300FF0F1FF45
+:104FF0002068C0308079062808D0072806D00B200A
+:10500000FEF754FF284601F020F838BD0820F7E7E6
+:10501000C548C449583095E7FFB593B001246846A8
+:1050200003218470C9021D4601800AF0A6F90022FE
+:105030006946012003F0ABF906460AF0A2F9002EFA
+:105040005CD16846152184704902018000271C212B
+:1050500001A808970FF07FFE01200146103108A833
+:1050600001700020014608A841708178F9200140B4
+:10507000891C214308A881706846017902263143C2
+:10508000017114998185C7851F21018608A80A909E
+:1050900013980D90684609900AF06FF90EAA09A9B5
+:1050A00001A802F036FF07460AF06BF9002F02D084
+:1050B000384617B0F0BD9E4F68463968008F48806B
+:1050C000684684709B49018008A88078F9210840CF
+:1050D000801C4108490008A88170684686850686BC
+:1050E00015A80D900AF049F90EAA09A901A802F025
+:1050F00010FF06460AF045F9002E01D03046D8E7E9
+:1051000068463968008F88808A4968468470C91C5F
+:105110000180298810A8018069884180A988818040
+:10512000E988C180082168468185018610A80D9014
+:105130000AF023F90EAA09A901A802F0EAFE044622
+:105140000AF01FF9002C01D02046B2E76846396802
+:10515000008FC8800020ACE7F0B5774D95B00C46C5
+:10516000A9423FD30126B604744FA11BB94239D3DB
+:1051700073498C4236D2202806D0212827D02228F5
+:1051800042D0072015B0F0BD3C216846017021884F
+:1051900041806188818009A908F00AFC0028F1D1CA
+:1051A00008A98979002903D002290ED00320E9E754
+:1051B0006168A942E6D38A1BBA42E3D3604A9142AE
+:1051C000E0D26A46128D0A80DCE75E48DAE72068A2
+:1051D000574C002813D00721490701224118920398
+:1051E000914201D31020CDE706210EF0E1FB2168AA
+:1051F000A82250500120A03188750020C2E7206805
+:105200000021A0308175F8E7204600F02AFFB9E7B9
+:10521000494A10B5914208D301229204474B8A1A99
+:105220009A4202D3464A914201D3102010BD202851
+:1052300005D0212803D0222803D0072010BD062046
+:1052400010BD084600F051FF10BD70B50446374848
+:10525000CC21AC300FF07FFD3448354EAC3000210E
+:105260003060C943A0308183002585770120FEF797
+:105270001DFE3068C7210D54E121C57389000182EC
+:10528000B6210D54014609310830FDF779FF316828
+:10529000084629311930FDF7A9FF002C24D03068C9
+:1052A00080308463FEF7C2FD1E20E081607A8F218A
+:1052B0000840303060723068014614312161983105
+:1052C0006162933921601031616025721339A162E6
+:1052D000091FE1628531E163303921631031616377
+:1052E00010310930A163A06470BD11480068C0305E
+:1052F0008079042803D0052801D0002070470120C0
+:10530000704770B506460C480C46814208D3012010
+:1053100080040A49201A884202D30948844213D3E0
+:10532000102070BD1C420000B30600004C1200208B
+:1053300054000020012A0000006001000000FC1F52
+:105340000040002002300000FFF7CFFF002801D00E
+:105350001120E6E7FD48FE4D002E02D0012E46D179
+:105360002FE02278002A0AD00121012A09D0022A3E
+:1053700014D0032AD5D1A2799209D2D112E000210A
+:1053800003E0A2799209032ACBD128680622017290
+:1053900060308171611C0FF07FFC05E0A2799209F9
+:1053A000012ABED128680172002107200CF0C2FC3E
+:1053B00028680622611C09300FF06EFCFEF736FDEE
+:1053C00011E02178002912D0012910D0022910D033
+:1053D0000329A6D10120FEF760FF002803D0DD4994
+:1053E000DD480FF0F6FD2868C673002099E7072016
+:1053F00097E70120FEF720FFEFE707214907012289
+:1054000010B541189203914201D3102010BDD0492C
+:10541000024609680B7A0931184600F005FE0020A3
+:1054200010BDFFB599B005460020694608710872A5
+:1054300008A9087408751E4614460121C748890446
+:10544000C74AC84B002D06D085420DD36F1A97422C
+:105450000AD39D4208D2002C09D0844204D3601A9A
+:10546000904201D39C4202D310201DB0F0BD2846CB
+:10547000204318D01F270CAB01AA009728461A9981
+:10548000FEF701FE0028F0D10DAB02AA31462046FE
+:105490000097FEF7F8FD0028E7D16846007AC107BB
+:1054A00003D00A20E1E70720DFE7800705D568463B
+:1054B0000079800701D50B20D7E7FFF716FF0028FA
+:1054C00001D01120D1E703AF002D0FD01A2069467B
+:1054D00008731A9888732946F81C1A9A0FF0DCFB97
+:1054E0000EA903A808F064FA0028BED1002C0ED043
+:1054F000202168460173867332462146F81C0FF05E
+:10550000CBFB0EA903A808F053FA0028ADD19049AF
+:1055100008A80968007C08700020A6E7F0B50446DA
+:105520008E48002795B084426FD301208004211A51
+:105530008B488142F8D38B48844266D22378012B72
+:105540000BD1864960688842EED39904421A844997
+:105550008A42E9D383498842EFD27D490A681546D9
+:10556000C035A879022814D0032812D0052810D0FD
+:1055700009280ED00A280CD00B280AD0012803D005
+:10558000002B06D0012B04D0687AC506AD0F06D1DA
+:1055900001E00820F6E5850701D4400701D5112078
+:1055A000F0E5012B15D0208A6F4E0546203DB5420F
+:1055B0007ED2022B01D0032B01D1A02878D3012B5E
+:1055C00007D01078C00704D0608A002870D0B428B3
+:1055D0006ED8002B06D0012B08D0022B04D0032B51
+:1055E00066D110E0002512E0022510E06068012578
+:1055F000007800280BD0012808D0022806D0032804
+:1056000004D05248BEE5032501E066E00127D07BC7
+:1056100001281CD1108A002819D0907B810901290A
+:1056200011D0800904D04C484A49E4300FF0D1FC35
+:105630000120FEF732FE00280BD047484549E830EC
+:105640000FF0C7FC05E00120FEF7F6FDF3E7FEF7DB
+:10565000EDFB207A002806D0012806D0022806D0CB
+:10566000032825D105E0002604E0012602E00226F9
+:1056700000E00326002D01D0022D42D1002E40D0A3
+:10568000E068002814D00179002928D008290FD813
+:10569000027B9446082A0BD800290ED02F4A0168B5
+:1056A00091421AD3012292048B1A2D4A934200E0B0
+:1056B00084E012D32B4A91420FD26146002912D0C6
+:1056C00080682649884208D301218904421A244966
+:1056D0008A4202D32349884205D3102052E5027B37
+:1056E000002A6BD0D4E71A4800680078800702D0FF
+:1056F0001648401E46E5022D03D1022E5ED0032E31
+:105700005CD0182168460170218A4180218A8180FD
+:1057100085710F480068007A002801D0012870D1F7
+:105720006946C8716846077221780930012932D06C
+:1057300006210FF00EFB07216846C173067409A904
+:1057400008F036F90028C9D10A210FE00232000022
+:10575000540000201C4200005F08000000600100AF
+:105760000000FC1F00400020E13F0000684601707F
+:1057700009A908F01DF90028B0D13A20694608703F
+:1057800009A9684608F014F90028A7D1002D08D00F
+:10579000022D06D04CE061680622491C0FF07CFA0D
+:1057A000C9E7002E44D00026374623E00168B00048
+:1057B00009580978002903D0012904D00720E1E421
+:1057C00069468F7002E001216A469170E168062205
+:1057D0000968095800A8491C03300FF05DFA0B2036
+:1057E0006946087009A9684608F0E2F80028E6D181
+:1057F000761CF6B2E0680179B142D7D800266F4630
+:1058000012E050E08068B10041581022B81C0FF03F
+:1058100043FA3B206946087009A9684608F0C8F8B1
+:105820000028CCD1761CF6B2E068017BB142E9D801
+:105830001B20694608700120887009A9684608F095
+:10584000B7F80028BBD108A840791B282BD1002D20
+:105850000AD0012D04D0022D08D0032D18D105E067
+:105860000320FEF723FB26E003200FE0FE4800683C
+:10587000C030807903000FF09DFC0916061616183B
+:1058800016081A1C1600022000E00920FEF70EFB85
+:10589000608A00280FD000228300114610460CF0C9
+:1058A000A4F9002807D003206CE40520EEE70A20C5
+:1058B000ECE70B20EAE7002064E470B586B00C004A
+:1058C00006460BD0E94884424AD301208004E849C7
+:1058D000201A884244D3E748844241D2E24D2868E6
+:1058E000C030C179022902D0407A400702D5112088
+:1058F00006B016E5002C04D02046FEF798FB0028E1
+:10590000F6D13046FEF75EFB012803D0022823D0F3
+:10591000D948EDE721001BD1082069468882286814
+:1059200001ABC08805AA002103F019F90028DFD1D6
+:105930006846808A082801D00320D9E76846818814
+:105940008181C188C181018901824189418203A984
+:10595000304601F074FCCBE7002C01D00620C7E7ED
+:105960001020C5E770B50C460546FEF72BFB012855
+:1059700003D0022801D0C048D3E421462846FEF7D0
+:105980001FFCCEE400B50146143095B0192801D2B1
+:10599000880707D008461E3004D00A3002D00720FE
+:1059A00015B000BDFFF7A1FC002801D01120F7E7DA
+:1059B000AD4831220068417068460270817009A9C3
+:1059C00007F0F6FFECE701B582B0022069460880D7
+:1059D000A54802AB00686A468088002102F02AFFD1
+:1059E00069460988022900D003200EBD38B502217E
+:1059F0006A4611800721490701224118920391420A
+:105A000001D3102038BD9849034609686A468C883E
+:105A10000021204603F0A3F8694609880229F1D045
+:105A2000032038BD3EB504460820694608808F48EB
+:105A3000844208D3012080048D49201A884202D371
+:105A40008C48844201D310203EBD2046FEF7EFFA79
+:105A50000028F9D12088694688806088C880A0889D
+:105A60000881E0884881804801AB00686A46C088A8
+:105A7000002102F0DFFE694609880829E4D00320EE
+:105A80003EBD1FB504460820694688817748844298
+:105A900008D3012080047649201A884202D3754831
+:105AA000844202D3102004B010BD6F486B460068DA
+:105AB00003AAC088002103F052F80028F3D16946F8
+:105AC0008989082901D00320EDE7694609882180EA
+:105AD00069464988618069468988A1806946C98884
+:105AE000E180E0E7FEB50546604817460E46814274
+:105AF00008D3012189045E4A731A934202D35D4B95
+:105B00009E4201D31020FEBD1F2F01D90C20FEBDE7
+:105B1000554C85422AD3681A904227D39D4225D2FC
+:105B2000206801A9408802F037FE0028EFD12878CC
+:105B300069464871206801A9408802F010FE0028DB
+:105B4000E5D169460090087802210843694608704B
+:105B50004979090703D0082108436946087020687D
+:105B60006946408802F0A5FD0028D0D169460F8122
+:105B700020683346408802AA002102F05BFE694695
+:105B80000989B942C3D00320FEBD38B50C460721B0
+:105B9000012249079203002802D04318934202D2FF
+:105BA0006118914201D3102038BD21886A461180C6
+:105BB000002801D000290BD02B49034609684D88E5
+:105BC0000021284602F0CBFF69460988218038BDB4
+:105BD0000C2038BD30B50C46244987B08C4208D320
+:105BE00001218904224A611A914202D321498C423F
+:105BF00002D3102007B030BD1B4D2968C0310A7A8E
+:105C0000520708D48979491F0B000FF0D3FA050415
+:105C10000604040604000820ECE7FEF7D3F9012887
+:105C200003D0022839D01448E4E720881E2801D286
+:105C30000720DFE72868C030807906282BD00A20AB
+:105C4000FEF734F90520694608700879A1788008C4
+:105C5000C9078000C90F084369460871FB21084045
+:105C6000A1788907C90F09E05400002000600100F5
+:105C70000000FC1F004000200230000089000843A3
+:105C8000694608712088C880684609F09EFE002891
+:105C9000B0D00320AEE70720D2E70620AAE7F0B590
+:105CA00087B014460D46FEF78DF9012804D002286E
+:105CB00002D0FE4807B0F0BDFD4B18680146C03168
+:105CC0000A7AD20707D08A79042A04D0052A02D09A
+:105CD000002D02D052E00820ECE7F64A944208D3A7
+:105CE00001229204F44BA21A9A4202D3F34A94423C
+:105CF00001D31020DEE7A278D206520F042A0CD876
+:105D0000E378072B09D3102B07D822799A4204D3C2
+:105D1000102A02D822881E2A01D00720CAE702468C
+:105D20008032966BF727F372966B23793373966BF9
+:105D3000737A3B40A778BF06FF0FFF003B437372A7
+:105D4000966B2388F381966BA778B37AFF079B083D
+:105D50009B00FF0F3B43B372FB273B40A778966B3A
+:105D6000BF07FF0FBF003B43B372926BA478537A17
+:105D7000E406DB08DB00640F234353720B226B46FF
+:105D80001A70852D22D008DC002D17D0812D17D058
+:105D9000822D17D0832D08D116E0862D18D0882D9E
+:105DA00018D0892D18D08A2D18D00B221A71B6223E
+:105DB000125CBF4C002A13D0A83012E00022F5E795
+:105DC0000122F3E70222F1E70322EFE70522EDE7E4
+:105DD0000622EBE70822E9E70922E7E70A22E5E7DE
+:105DE00000200290887907280BD0082809D00920C4
+:105DF000FEF75CF8684609F0E8FD002803D00320B0
+:105E000058E70620F4E720680422C030017A4908E8
+:105E100049001143017200204CE770B5A44E0D46B5
+:105E2000316886B0C031097A1446090701D40820C8
+:105E30005EE5FEF7C7F8012803D0022801D09B4891
+:105E400056E5002D12D09B48844208D301208004DF
+:105E50009949201A884202D39848844201D31020DD
+:105E600046E5012D0BD0022D02D106E0002C01D019
+:105E700007203DE50020029005E0022000E001201F
+:105E8000694608710294032069460870684609F063
+:105E90009CFD002801D003202AE53068F722C0309D
+:105EA000017A11400172002022E570B594B01446C9
+:105EB0000E46FEF787F8012804D0022802D07B485E
+:105EC00014B059E57A4D2868C030007A800701D4B3
+:105ED0000820F5E7002C01D00720F1E7FFF705FACD
+:105EE000002801D01120EBE7002E1DD02D2168469F
+:105EF00001702C68BC20015B684641801022B11CF7
+:105F000001A80EF0C9FE207EFB210840B17CC90724
+:105F1000490F08432076B07CFF214008A075608AB5
+:105F200082310843608207E02E21684601702868AC
+:105F3000A030818B6846418009A9684607F038FD8A
+:105F40002968FD23C0310A7A1A400A72B8E710B5F1
+:105F50000C46FEF737F8012803D0022801D0534839
+:105F600010BD5448844208D3012080045249201AAD
+:105F7000884202D35148844201D3102010BD2046EC
+:105F8000FEF72FF8002010BD10B594B00446FEF7C0
+:105F900019F8012804D0022802D0444814B010BDDA
+:105FA00043480068C0308179042910D005290ED0FB
+:105FB0003820694608704C8001200871487109A991
+:105FC000684607F0F5FC0028E8D00B20E6E7002043
+:105FD000E4E710B594B00446FDF7F4FF012803D0C0
+:105FE000022801D03148D9E731480068C0308179B2
+:105FF00004290DD005290BD03820694608704C8043
+:1060000000200871487109A9684607F0D1FCC5E76E
+:106010000020C3E726480068C0308079062801D3F5
+:10602000012070470020704708B51346002806D0AD
+:1060300023A00068009048796A468009105C1870B7
+:106040000622581C0EF028FE08BD10B50446FDF7C8
+:106050007AF9A22101700ECC08300EC0FDF78FF93D
+:1060600010BD70B5124C054601682068002913D098
+:10607000104A914208D3012292040F4B8A1A9A4285
+:1060800002D30E4A914201D3102075E410227730DA
+:106090000EF002FE206801218030806B01722068C2
+:1060A000A9880182C17B012919D10BE002300000CF
+:1060B00054000020006001000000FC1F0040002090
+:1060C0000302FF01807B800901280AD00120FEF72E
+:1060D000E4F8002803D01A491A480EF07AFF00208D
+:1060E0004AE40120FEF7A8F8F3E770B5054600681A
+:1060F000154C00281ED007214907401801218903AB
+:10610000884201D3102037E42068B8210958097A61
+:10611000012909D00146773129300AF08EFF206825
+:1061200001218030806B017221681022286877314C
+:106130000EF0B2FD2068008AA88000201CE4000058
+:106140001C420000FD02000054000020FFB581B099
+:1061500001980E46C078174610360E37022809D02F
+:10616000032840D005287DD0F2A1F7480EF031FF7A
+:1061700005B0F0BDCC890A2060430E301880312371
+:106180000A98002A0380F3D0486800889080002095
+:10619000D0801081097B9481891FCDB21AE03088AC
+:1061A0007168388048780A7800021043F880C8780F
+:1061B0008A78000210433881BA1C091D28460BF06A
+:1061C0008AF8002D01D0002802D000203871788094
+:1061D00008360A372046641EA4B20028DFD1019990
+:1061E0000020C870C4E7CC890A2060430E301880B4
+:1061F00032230A98002A0380BAD048680025008814
+:106200009080D5801581087B401FC0B2009094819A
+:1062100042E0716832880878FA803A79C3075208F8
+:106220005200DB0F1A43FD231A408307DB0F5B008C
+:106230001A43FB231A404307DB0F9B001A43F72343
+:106240001A400307DB0FDB001A43EF231A40C30693
+:10625000DB0F1B011A43DF231A408306DB0F5B01B0
+:106260001A4300E020E0BF231A404306DB0F9B01E6
+:106270001A433A71C00978718A784B781002184332
+:1062800038813A46C91C00980BF025F8002801D047
+:10629000BD703D8008360A372046641EA4B200282F
+:1062A000B7D10198C57063E7087BCC89801E85B2A1
+:1062B0002846083060431030188034230A98002A9A
+:1062C00003808FD048681746008890800020D080D7
+:1062D000108194811037E000D581C0190CE030881E
+:1062E0003880009878602A46716800980EF0D4FCD7
+:1062F000009808360837401900902046641EA4B262
+:106300000028ECD16BE7FFB50546C07881B00C469C
+:106310000A9E03000EF04EFF0BA3071733414F6D8B
+:106320008F9D9D9DA300207B1746082806D003283B
+:1063300004D085487FA154300EF04BFE04990E2006
+:10634000088030200CE0207B1746042804D07E48CB
+:1063500078A171300EF03DFE04990E2008803120A6
+:106360003080002F44D060680088B880607AFF30A9
+:106370000130F880E08938810020B88137E0207B47
+:106380001746042804D070486AA18D300EF021FE13
+:1063900004990E2008803220E2E7207B174602286D
+:1063A00004D0694863A1A9300EF013FE04990E20B1
+:1063B00008803320D4E7207B1746042804D06248A5
+:1063C0005CA1C4300EF005FE049810210180342039
+:1063D0003080002F0CD060680088B880607AFF3071
+:1063E0000130F880E08938810020B881F881E870B8
+:1063F000BEE6207B1746052806D0062804D0524862
+:106400004CA1E1300EF0E5FD049812210180352009
+:106410003080002FECD060680088B880607AFF3050
+:106420000130F880E0893881E089B8810020388225
+:10643000A988F981DBE7207B1746072804D042486A
+:106440003CA1F8300EF0C5FD04990E2008803620DE
+:1064500086E700962846049B00F02DFD88E635A1CE
+:106460003A480EF0B6FD83E670B5054600780C4656
+:10647000082603000EF09EFE124C3434241C380A09
+:106480000A0A0A0A0A0A0A0A0A0A0A4C687800284A
+:1064900004D02E4827A12C300EF09BFD002C03D1F8
+:1064A0001F2024A1400108E060783043607020E0A4
+:1064B000002CF9D17D201FA1C0000EF08AFDF3E76A
+:1064C000002904D03F201BA100010EF082FDFCF743
+:1064D0003AFF0446407830436070FCF750FF08E014
+:1064E0001A4814A1473002E0184812A14C300EF0AF
+:1064F00070FD002C0AD06078000707D5932020702B
+:106500002046582229460830FAF75EFE002070BD6A
+:106510000E4808A15030EAE710B500200C4C0D4998
+:106520000346C2008C525218401C0006D370000E65
+:10653000F7D010BD7372635C67617474635F636FDF
+:1065400072652E63000000005A020000B3030000D1
+:10655000FFFF000058000020FE49088001208870DD
+:1065600000207047FB4900208870704710B500215B
+:10657000F848C94301800021C17007F053FAD8E7F9
+:10658000F7B584B0054600276846078187806868AC
+:106590000C46008800F0ECFB0646287A032805D05C
+:1065A000002E03D1EC49ED480EF013FD297A204668
+:1065B000C91E123000900B000EF0FCFD0FF2F1F03E
+:1065C0003D09AA465C6D34B3CDF38B8BF000F078B7
+:1065D000012803D0E049AD200EF0FBFCA8896946F4
+:1065E000C0000E30888030200881002C22D06868DE
+:1065F0000188A180E7802781A989A18100200DE081
+:10660000C100B27909190A74B288CA81820052198C
+:10661000D3894B82128A401C8A8280B2A18981422E
+:10662000EED8D7E002A8009001AB224629463046BA
+:1066300000F0CCFBF1E002A8009001AB2246294615
+:10664000304600F005FCE8E0F07806281AD0FF207C
+:10665000C149223014E068680188A180E780278161
+:10666000A989A181B188E181E9892182EA89296921
+:1066700000982BE0F078062804D0FF20B6493C3083
+:106680000EF0A7FCE8896946123088803520088121
+:10669000002CE0D1C1E0F078072804D0FF20AE49FB
+:1066A00056300EF096FCA88969460E308880362058
+:1066B0000881002CBED068680188A180E78027810E
+:1066C000A989A1812046AA890E3029690EF0E4FA31
+:1066D00080E0E8896946123080B2382288800A81D9
+:1066E000002C79D068680188A180E7802781A9897A
+:1066F000A181287A102809D00221A173E989218279
+:10670000EA89296900980EF0C7FA86E00121F4E7CA
+:1067100002A8009001AB224629463046FFF716FD3D
+:106720007BE0F078082803D08B498D480EF051FCAF
+:1067300014206946888037200881002C6DD0686855
+:106740000188A180E7802781A989A18167822782AA
+:106750000120A0733EE0F078092804D080487E49EB
+:1067600018300EF036FC288A6946143088803720AD
+:106770000881002C51D068680188A180E78004213D
+:106780002781A173A989A181E9892182298A61824E
+:1067900020462A8A1430696998E702E038E01CE054
+:1067A00024E0F0780A2804D06D486B4933300EF0AD
+:1067B00010FC14206946888037200881002C2CD0DA
+:1067C00068680188A180E78027810521A173A781DE
+:1067D00027826782F77020E017E002A8009001ABE3
+:1067E000224629463046FFF78EFD16E00D20694609
+:1067F000392288800A81002C07D00120E08055488A
+:106800000188A1802781277307E00699088010E09E
+:106810008F205149C0000EF0DCFB68460699808845
+:106820000880002C05D06846008920806846808852
+:106830006080002007B0F0BDF7B594B015460F4654
+:10684000149800F0A0FA04000AD0032000F088FB9E
+:10685000022802D2E078002804D0112017B0F0BD41
+:106860004048FBE71720694601260883002D0FD01A
+:106870000321684601711021018210A8024605908B
+:1068800004A928460AF04DFD00280DD00720E5E7B1
+:1068900008216846017100210781C9434181052112
+:1068A0008673C90281810CE0A878A0712888A08035
+:1068B000684605218673C902818100210781C94389
+:1068C000418109AA023206A901A807F0E4F80028CC
+:1068D00002D000F06BFAC1E707A800906846038B6E
+:1068E00004220321149800F051FB0028B6D1E67071
+:1068F000B4E770B592B00D0006460ED000F043FA32
+:1069000004000CD0032000F02BFB022802D2E07818
+:10691000002806D0112012B070BD1020FBE71148EE
+:10692000F9E7172168468180042101722988818155
+:106930006988C181012181740B4901820AAA02324E
+:1069400001A902A807F0A7F800280FD000F02EFA3E
+:10695000E1E7000058000020346500003C0400001E
+:1069600063020000023000000228000008A8009026
+:106970006846838804220321304600F007FB002884
+:10698000C9D10221E170C6E770B592B00D0006468C
+:106990000DD000F0F8F904000BD0032000F0E0FA6D
+:1069A000022802D2E078002805D01120B3E7102099
+:1069B000B1E7FA48AFE717216846818004210172E8
+:1069C000298881816988C18101218174F44901820A
+:1069D0000AAA023201A902A807F05DF8002802D035
+:1069E00000F0E4F997E708A800906846838804223D
+:1069F0000321304600F0CAFA00288CD10321E1704F
+:106A000089E770B592B00D0006460DD000F0BBF9D5
+:106A100004000BD0032000F0A3FA022802D2E07891
+:106A2000002805D0112076E7102074E7DB4872E7D4
+:106A3000022168460172298881816988C1811721F4
+:106A400081800AAA023201A902A807F024F80028CE
+:106A500002D000F0ABF95EE708A800906846838892
+:106A600004220321304600F091FA0028DBD10421F2
+:106A7000E17050E7F0B591B015000E4607460ED014
+:106A800000F081F904000CD0032000F069FA02281C
+:106A900002D2E078002806D0112011B0F0BD1020FD
+:106AA000FBE7BE48F9E7172168468180042101729F
+:106AB000298881816988C181B17881743188018296
+:106AC0000AAA023201A902A806F0E5FF002802D0B6
+:106AD00000F06CF9E1E708A800906846838804227A
+:106AE0000321384600F052FA0028D6D10521E17082
+:106AF000D3E7F7B592B015460E46129800F043F969
+:106B000004000AD0032000F02BFA022802D2E07819
+:106B1000002804D0112015B0F0BDA048FBE70627DF
+:106B2000002D12D0684607728681C581A580172086
+:106B3000694688800AAA023201A902A806F0ABFFC2
+:106B4000002807D000F032F9E5E705216846017218
+:106B50008681EBE708A80090684683880422032119
+:106B6000129800F013FA0028D5D1E770D3E7F7B5F3
+:106B700092B016460D000ED0129800F004F90400F1
+:106B80000BD0032000F0ECF9022802D2E0780028B4
+:106B900005D01120BFE71020BDE78048BBE70727DD
+:106BA0006846077286811721049581800AAA0232FD
+:106BB00001A902A806F06FFF002802D000F0F6F845
+:106BC000A9E708A800906846838804220321129848
+:106BD00000F0DCF900289ED1E7709CE7F3B51720A0
+:106BE00091B00C46002915D021780B000EF0E2FA86
+:106BF000062B05051A041C2B1520C01EE28880B246
+:106C0000002A02D0A368002B04D0824204D90C20B1
+:106C100013B0F0BD1020FBE7042905D0A0880028A0
+:106C200011D101E00620F3E7119800F0ACF805005F
+:106C30000BD02078092701281AD0022807D0042871
+:106C400024D0052835D00720E2E75448E0E768461D
+:106C5000077161880181E1884181A068082603905D
+:106C6000304600F07DF9072829D34C48801CCFE737
+:106C70000C216846017161880181E1884181A06829
+:106C800003900EE0E878002811D118E00D21684645
+:106C9000017161880181A1884181E1888181A068B9
+:106CA00004900326304600F05BF90228EAD3112055
+:106CB000AEE70E2168460171217B0172F1E71721D1
+:106CC0006846018309AA023206A901A806F0E3FE7C
+:106CD000002802D000F06AF89AE707A800906846FA
+:106CE000038B04223146119800F050F900288FD10F
+:106CF0002178012907D002298AD0042905D0052945
+:106D000005D0032084E7082102E0EF7080E70A2124
+:106D1000E9707DE730B591B00C46054600F033F8D8
+:106D2000002808D0032000F01BF9022805D31B48D7
+:106D3000801C11B030BD1948FBE70F216846017176
+:106D400004811721018309AA023206A901A806F0CD
+:106D5000A2FE002802D000F029F8EAE707A8009078
+:106D60006846038B04220321284600F00FF9E0E770
+:106D70000C49884205D00C490988814201D10A4852
+:106D800070470020704710B5FFF7F2FF002802D0CF
+:106D90008178C90700D1002010BD0000023000003A
+:106DA00003280000FFFF000058000020002806D044
+:106DB000012805D0052805D0062805D003207047F6
+:106DC00011207047082070475C487047FFB583B0BA
+:106DD00003980C9EC0781D4614460F46012803D028
+:106DE0005749D2200EF0F5F8F889C0000E302880FF
+:106DF00030203080387B001FC0B20190002C26D09C
+:106E000078680088A0800020E0802081F889A08137
+:106E1000002616E0F0000519C01900902A464169C5
+:106E20000E3201980AF057FA002802D00020287488
+:106E3000E8810098761C008A68820098B6B2408A81
+:106E4000A882A089B042E5D803990020C870F1E477
+:106E5000F8B50646C0781F4614460D46042804D0EF
+:106E6000FF20374903300EF0B4F8A88906214843C3
+:106E70000E30388033210698002C01801AD06868C3
+:106E80000088A0800020E0802081A989A18103469C
+:106E90000CE01946062251434A190919D789CF81B6
+:106EA000977C8F74128A5B1C0A829BB2A1899942DB
+:106EB000EFD8F070F8BD70B514460546142204985A
+:106EC0001A8037220280002C18D0486800260088DB
+:106ED000A080487AFF300130E080C8892081C889CD
+:106EE000A0816682E878082809D0092811D00A28EC
+:106EF00019D0134913480EF06CF8EE7070BD087B82
+:106F00000C2804D00F480E490C380EF062F801200E
+:106F100012E0087B0D2804D00A48094908380EF011
+:106F200058F8042008E0087B0E2804D005480449DE
+:106F3000001F0EF04EF80520A073DEE703300000BE
+:106F4000346500008203000001460020FA4A02E096
+:106F5000401C082803D24300D35A8B42F8D1704713
+:106F600030B50446F44A0020163A117953790AE004
+:106F70005518AD79A54201D1401CC0B2491CC9B217
+:106F8000102900D100218B42F2D130BDFFB5EA4873
+:106F900081B0163841790A9C491CCDB21E46102D8D
+:106FA00000D10025E44816380079A84202D1042017
+:106FB00005B0F0BD0820FFF7D3FF0746072804D926
+:106FC000FF20DEA1A5300EF004F80298082801D1B8
+:106FD000072F17D001982080301D6080002060713D
+:106FE0002071E68003982081204606F005FD0028E8
+:106FF0000AD0D148029916384379821D99544571B7
+:107000000020D5E7D248D3E7FF20CCA1B7300DF060
+:10701000E0FF0320CCE7F0B58DB0044600256846BC
+:10702000057116468C460620FFF79AFF00281CD1F2
+:1070300021780127C807002801D0132917D96846ED
+:1070400087766178C17602218183C58304A8009088
+:1070500070680C23008805220621FFF797FF00289F
+:1070600003D0B6A185200DF0B4FF0DB0F0BDB2483D
+:1070700016380278002AF8D0427863789A42F4D120
+:10708000012918D0132919D16146062916D1057096
+:10709000002101200AF04EFE6846077170680188E1
+:1070A0006846C1800021C9430181607922790102CB
+:1070B000114368461AE06146062908D068460079FF
+:1070C0000028D2D0314601A8FDF7AFFECDE705700C
+:1070D000002101200AF02EFE6846077160792279AE
+:1070E00001021143684601810021C9434181E9E75A
+:1070F000914810B50021163801704A1E4280417037
+:107100000171417101200AF015FE10BD10B5FFF7A5
+:10711000EFFF0020884902464300401CCA5208285D
+:10712000FAD310BD84491639488000207047DFE744
+:1071300070470EB501216846017086498180C18083
+:107140000021FDF772FE0EBDF7B505460078002759
+:1071500000090C463E46012804D0FF2077A1683084
+:107160000DF037FF287A02280CD0FF2073A17E3063
+:107170000DF02FFF0298002C068001D0278066803A
+:107180000020FEBDEA89702710460A3086B2002C26
+:107190000BD068680088A080A8892081E280204602
+:1071A0000A3029690DF078FDE4E702980680E7E7E8
+:1071B000F0B543680246D9799C79090221435C7A8B
+:1071C0001E7A25025C88981D3543241F87B0A14292
+:1071D0001DD11B79022B1AD1042D1AD0052D2AD0CE
+:1071E000062D1AD0402D12D3061D0F4614462846F0
+:1071F000FFF7AAFE08280AD0112020700220207272
+:10720000A581E7812661607808210843607007B096
+:10721000F0BD001D00F0E1F8F9E7041D0D46FEF792
+:10722000F9FE0028F3D0062168460170019405722A
+:1072300008F0CBFBEBE7001DFFF7EDFEE7E710B52D
+:107240003D4C8AB0163C2278012A26D012236A4689
+:10725000937363789B1CD373082313820B88538228
+:107260004B8893828B88D382C988118301A90091AE
+:107270000C2305220721FFF789FE00280BD10022ED
+:10728000F023114601200AF0B0FC01202070607844
+:10729000801C607000200AB010BD1120FBE7F0B523
+:1072A000254C0027163C87B00646A51D1FE06079D7
+:1072B0002179884204D1112020A140010DF089FEDE
+:1072C0002079405D042804D0082808D17F1CFFB233
+:1072D00005E0072069460870684608F076FB2079CB
+:1072E000401CC0B22071102801D10020207130460E
+:1072F000761EF6B20028DAD1384688E710B5044683
+:10730000402801D2072010BDFFF71EFE082802D03A
+:107310003120000210BD0021074802E0491C082965
+:1073200003D24A00825A002AF8D1082914D0490011
+:107330004452002010BD0000DA1300207372635C19
+:107340006C326361705F636F72652E6300000000D2
+:1073500004300000FFFF00000420EBE700B54028E8
+:1073600001D2072000BDFFF7EFFD082805D000215E
+:107370003B4A40001152084600BD052000BDF0B553
+:107380008BB016460C00074607D0002E05D061884A
+:10739000402904D207200BB0F0BD1020FBE7208865
+:1073A000002801D0172801D90C20F4E70846FFF780
+:1073B000CBFD08280FD0258803A82A463146023085
+:1073C0000DF06AFC01A8009062882B46082138461F
+:1073D000FFF7DCFDDFE70520DDE7F0B50E460746E9
+:1073E00001468BB014460125304606F0D1FC082832
+:1073F0001DD10020694608850120FFF7B1FD002856
+:1074000002D117206946088503AB02330AAA394620
+:107410003046009407F0CFF800280AD0022819D08F
+:10742000032804D0FF200F4902300DF0D2FD28467A
+:10743000B1E76846038D002BF9D001A80090606881
+:10744000042200880121FFF7A1FD0028EFD00549A3
+:10745000EC20EAE760780025102108436070E6E739
+:10746000DA1300203C730000002803D08178012942
+:1074700039D101E0102070470188FA4A881A9142F8
+:1074800033D01BDCF84A881A91422ED00BDC00293D
+:107490002BD00320C002081A27D0012825D00121B3
+:1074A0000903401A07E001281FD002281DD0FF2839
+:1074B0001BD0FF380138002815D116E0FF22013219
+:1074C000811A904211D008DC01280ED002280CD07D
+:1074D000FE280AD0FF2806D107E0012905D002299D
+:1074E00003D0032901D0002070470F20704700B55A
+:1074F0000A2821D008DC03000DF05CFE0A1C2024C1
+:10750000241A24282224261A102819D008DC0B2833
+:1075100016D00C2814D00D281AD00F2808D111E04D
+:1075200011280FD0822807D084280DD085280DD0AF
+:10753000032000BD002000BD052000BDCB4800BDDC
+:10754000072000BD0F2000BD042000BD062000BDA7
+:107550000C2000BD70B500290BD0CB1FFA3B812455
+:107560001E46CDB2112B1BD2012805D0022806D011
+:1075700009E0002010701DE0FF20043001E0FF2032
+:107580000330814218D033000DF014FE111613138E
+:1075900016131616131616161313131316131600B6
+:1075A0000846FF3881381F2803D9FF39FE390229E0
+:1075B00002D81570002070BD1470072070BD00B592
+:1075C00003000DF0F7FD060406040C080A0C002069
+:1075D00000BD112000BD072000BD082000BD032014
+:1075E00000BD00780207120F04D0012A05D0022A3C
+:1075F0000AD10EE0000907D108E00009012805D0F2
+:10760000022803D0032801D007207047087000200B
+:10761000704706207047002807D0012807D00228AD
+:1076200007D0032807D007207047002004E011206E
+:1076300002E0212000E0312008700020704738B5BA
+:107640000C4605004FD06946FFF7CBFF002822D13A
+:107650002088032189028843694609788907090D32
+:10766000084320806946681CFFF7BBFF002812D141
+:107670002188032000038143684600788007800C3E
+:1076800001432180A8784007820F2020012A03D0DF
+:10769000022A03D0072038BD814300E00143218046
+:1076A00088B20105890F08D0012189038843A97890
+:1076B0000907C90F89030843208080B28104890F1C
+:1076C0000AD0A9784004C906C90F400CC903084371
+:1076D00020808004800F02D12088400403D52088B8
+:1076E000402108432080002038BD70B504460020AA
+:1076F000088015466068FFF7A2FF002815D1218990
+:10770000A089814210D86168594E8978C90707D08D
+:10771000711E884208D831460DF038FB298009E0F7
+:10772000FF21FF31884201D90C2070BDFF30FF30AE
+:107730000330288060688078C007A08903D0314674
+:107740000DF024FB03E0FF30FF30033081B22980CD
+:1077500020688178474801732068464900882039AD
+:107760004885002070BD10B5137804785B08E407E5
+:107770005B00E40F23431370FD2423400478A40727
+:10778000E40F640023431370FB2423400478640750
+:10779000E40FA40023431370F72423400478240744
+:1077A000E40FE40023431370EF2423400478E4063D
+:1077B000E40F240123431370DF2423400478A4063C
+:1077C000E40F6401234313700078BF244006C00F08
+:1077D0002340800103431370002906D00878C107B5
+:1077E00001D1800701D5012000E00020C001590629
+:1077F000490E0843107010BD30B50A8803239B0260
+:1078000004889A4323059D0F02D1A3049C0F01D045
+:107810009B0F00E001239B021A4303230A801B03F2
+:107820009A4303889804840F02D11805830F01D06E
+:10783000800F00E00120000302430A8030BDF3B551
+:1078400091B00D0018D01198002818D012212846A8
+:107850000DF07FFA01A9012007F0A9FE00242646B9
+:10786000374677E0022900000128000003300000BD
+:10787000010200000C140020102013B0F0BD0720FE
+:10788000FBE76846007C01280BD16846C1890520CA
+:10789000C002081A0AD001280AD002280CD00328F6
+:1078A0000CD0042C0ED0052C0FD10DE0012400E0EB
+:1078B00002246846868908E0032406E0684604241A
+:1078C000878902E0052400E0062468468189119832
+:1078D00081423FD12C74002E3AD00BA800900CAB03
+:1078E00010220021304607F0F4FE002820D168461F
+:1078F000808D2A46C0B20CA909F0EDFC002817D1F2
+:10790000AE81002F24D00BA8009006AB13220021DB
+:10791000384607F0DEFE00280AD16846808D06A9A9
+:10792000C01E0331C0B22A1D09F0D5FC002801D0C9
+:107930000320A2E76846817E427E08021043E88168
+:10794000062C05D16846007CA8726846C08928814B
+:10795000002092E701A807F032FE002891D0FFF73F
+:10796000C6FD8AE7002804D0012903D0022904D0EB
+:1079700003207047F949C98D02E0F8494031C988B0
+:10798000814201D1002070470720704730B5F34C89
+:107990000025608B91B0C00B2ED1216900292BD01E
+:1079A000207B800728D401226846027102720022DF
+:1079B0004272228B8281A28A8282049117210183E2
+:1079C00009AA0023023206A901A807F0A7F9002896
+:1079D00003D0FFF7F4FD11B030BD207B0221084336
+:1079E000207307A8009069460B8B20880422012190
+:1079F000FFF7CCFA05460BE0FBF7A5FC84210170EC
+:107A00000921017218341ECC0C301EC0FBF7B7FCE4
+:107A10002846E0E710B5D14C034621690020002933
+:107A200009D02146012210311846FBF76BFE0020D9
+:107A30002061A0820120217BF9221140217310BD19
+:107A400070B50C4605461C2120460DF082F9002039
+:107A50002080002D08D0012D04D0C1A1C5480DF013
+:107A6000B8FA70BD062000E00520A07070BD10B50A
+:107A700007F07CFB10BDFEB50546007800260C46DD
+:107A8000374603000DF096FB0C91070C1D962F4610
+:107A90002F46486C899168680A38FBF793FD89E0A6
+:107AA000002904D0B348AEA11B300DF092FAFBF7C9
+:107AB0004AFC04464078082108436070FBF75FFCED
+:107AC00078E0002C04D1BB20A5A180000DF081FA44
+:107AD000284601F0B1FA00286CD0607808210843EC
+:107AE0006070022666E0E888694608800190002CF4
+:107AF00004D1A0489AA12F300DF06BFA28780728FE
+:107B00001CD10198C00B19D0944800218171A9881B
+:107B1000818012E003264DE0002C04D1C52090A105
+:107B200080000DF056FA8D48017B89070BD500695E
+:107B3000002802D0E888C00B3CD0022660780821DB
+:107B40000843607036E0291D8EC918308EC0283871
+:107B50000188022601222046FBF7B6FD0127EDE74A
+:107B6000002C04D183487EA164300DF032FA7B48AA
+:107B70000821007B4007C00F460060780843607012
+:107B8000002E17D12879012802D16879002811D058
+:107B90002046FFF73FFF07460CE0002CCED10D201A
+:107BA0006FA180010DF015FAC8E772486CA17A3018
+:107BB0000DF00FFA002C0CD06078000709D5002FCB
+:107BC00007D1842020702046582229460830F9F732
+:107BD000FBFA3046FEBDF7B5027A88B00C46054682
+:107BE00020460C300490069216300027921E029018
+:107BF0003E460A31594813000DF0DCFA0ADF06E66A
+:107C00002AE62AE66A98C6E64288002A02D0522767
+:107C10000726DDE051271E26002C7DD06A684F48DC
+:107C20001288A2800122A2718079C0004019C08907
+:107C3000FFF705FE002877D148488179C900491926
+:107C4000C98921818079C0004019408AA083BFE0A2
+:107C5000688A00900698072817D1E889C00B14D0CD
+:107C600000985127223086B2002C55D0A88904995B
+:107C7000FFF7E5FD002857D168680088A080022042
+:107C8000A071A8892081012041E000985027203070
+:107C900086B2002C40D0A889FFF7D1FD002843D13F
+:107CA00068680088A080A889E080287A07280AD020
+:107CB00002202072288AA0830098E0832046696908
+:107CC0002030009A01E00120F3E70CF0E5FF7FE0AF
+:107CD000698A00910169002902D0E989C90B22D083
+:107CE0000099512722318EB200218171A9898180AA
+:107CF000002C5FD00088A080A8890499FFF79FFD21
+:107D0000002811D10220A071A88920810420A0722E
+:107D1000288AE083009801E04CE005E0208469694E
+:107D2000009A0298D1E703200BB0F0BD007B40071A
+:107D300002D55127222601E050272026002C39D0D9
+:107D40006868502F0088A08016D00220A0712146BC
+:107D5000287B0831FFF774FE3AE00000EC130020A6
+:107D60007372635C67617474735F636F72652E63B3
+:107D700000000000CB020000287BA11DFFF760FE81
+:107D80000020FFF747FE23E0A9890089884207D138
+:107D900054270626002C0DD068680088A08017E0C4
+:107DA00053270826002C05D068680088A080A88981
+:107DB000E0800DE00A98068010E055270726002C89
+:107DC000F8D00020A07103E0FD49FE480DF001F954
+:107DD0000A98002C068001D0278066800020A3E747
+:107DE000F94800210172203801814181418081716F
+:107DF0008180027BF923520852001A40027301610C
+:107E00008182704770B5F04C86B0203C2080002005
+:107E10006080A071A0806946012007F0C8FB102691
+:107E200008E00199088802461207D20FB0431201F8
+:107E300010430880684607F0C2FB0500F1D02069B6
+:107E4000002804D0DF48DE4933300DF0C2F8207B33
+:107E5000800704D5DB48DA4934300DF0BAF8822DBA
+:107E600004D02846FFF743FB06B070BD0020FBE7B7
+:107E7000D54810B52038017B012211430173002140
+:107E800041808171818006F045FB10BD10B5CE4C5C
+:107E90000020C043203C20800020FFF7BBFD207B5A
+:107EA00040084000207310BD70B5C74D0446203D0A
+:107EB000287B800704D5C348C1494B300DF089F8B1
+:107EC000287BC00706D12888C049884202D028698B
+:107ED000002801D0082070BD002C08D0A0881628EA
+:107EE00001D2092070BD20682861A088A882FFF710
+:107EF0004DFD70BD10B50C4607F02DFB002804D0D9
+:107F0000C520AF49C0000DF064F82046FFF7EFFA36
+:107F100010BDF0B5AC4D0446203591B0002008905E
+:107F200068820E462882E8812946E8804039088622
+:107F3000694608830885088688838882A2480E904F
+:107F4000007A1746012808D0022806D0032804D05A
+:107F5000042802D0082011B0F0BD9D48844269D3A6
+:107F600001239B049B49E21A8A4263D39A4A9442B2
+:107F700060D286425ED31001331A0846834259D339
+:107F80001046864256D26068002815D09049884233
+:107F900050D31101421A8F498A424BD38E498842ED
+:107FA00048D260892189884203D801225202914235
+:107FB00001D90C20CFE7089010AA0CA93046FFF792
+:107FC00094FB0028C7D106A92069FFF738FB0028D9
+:107FD000C1D1206900280CD060788007002868464D
+:107FE000008B03DA8004800F75D002E08004800FDC
+:107FF00071D16846008B81061ED58004800F6068B1
+:1080000009D0002818D00721490740180121890309
+:1080100088420FD201E000280ED06D496068884286
+:1080200008D301218904421A6A498A4202D36A4963
+:10803000884201D310208EE705A96069FFF7FFFA97
+:10804000002888D16069002808D06846808A010528
+:10805000890F01293FD18004800F3CD007A9A06976
+:10806000FFF7EDFA0028A5D16846808A800632D451
+:108070006846808B81062ED4A169002906D00105AF
+:10808000890F012927D18004800F24D0E0680028BF
+:1080900004D0007800281ED01C281CD24A4A611C3B
+:1080A000123220460992FFF75EFB0321002089026D
+:1080B000884301218902411868460D9101850121FB
+:1080C000817446490182404A0FA91532306809F08F
+:1080D00028F9002801D007203DE708A8007F3A4989
+:1080E000C01CC2B26A7100201031FF3200900190B2
+:1080F000FF3203460291039003320AA904A807F055
+:10810000C5F9002827D130482038008E0B902E4822
+:108110003389383032690146123902910093019255
+:10812000039010A90A8873890CA9306807F0AEF98A
+:1081300001007CD12448E98811308170090AC1709E
+:108140000026009631386A79008E3146099B07F087
+:108150001CF9002802D0FFF7CAF9FCE60E98807CD3
+:10816000C00928D068460D99018501218174292113
+:1081700009020182AE81287B61784008C90740006E
+:10818000C90F08432873FD2108406178022289073E
+:10819000C90F4900084328730B4900922A31881CF3
+:1081A00002910190002303960D4A0AA904A807F042
+:1081B0006DF901003BD1606800283DD0206911E0D5
+:1081C000607D0000220400000C140020FFFF00006E
+:1081D000006001000000FC1F004000200328000098
+:1081E0000302000000280DD106A90CA8FFF704FB2C
+:1081F0006078800706D46946088B03210903884309
+:1082000069460883012069468874FD4808822089F0
+:10821000FC490CF0BBFD6268089BFB48019200938F
+:1082200002900A460396002306A904A800E081E014
+:1082300007F02CF901007DD12078C10601D4800619
+:108240002ED568460684606900280DD105A90CA8C2
+:10825000FFF7D2FA6846818A032080028143012019
+:1082600080020918684681826946888A4821084345
+:108270006946888201208874E14808AA401C088267
+:10828000E1490192891C0220DE4A029100900023FC
+:108290000396921C05A904A807F0F8F8010063D121
+:1082A0002078C0072ED068460684A06900280DD12A
+:1082B00007A90CA8FFF7A0FA6846818B032080026B
+:1082C0008143012080020918684681836846818BBA
+:1082D000402001436846818301218174C84908AA6E
+:1082E000891C0182C8480192001D0221C54A0091E3
+:1082F000029000230396921C07A904A807F0C6F871
+:10830000010031D1E068002832D068460D9901851E
+:1083100001218174BA49C91C0182E16808A80A7860
+:10832000027049784170E068418868464184E0689D
+:10833000017900E018E008A80171E0680722C1880F
+:1083400008A84171090A8171AF4808A9801D0092EF
+:1083500001910290412200230396D2000AA904A8A9
+:1083600007F094F8010003D00B98FFF7C3FDF2E586
+:1083700003210E98002F017207D0E8883880E88921
+:108380007880288AB880688AF8800020E3E5F0B514
+:1083900001248BB016460F46012802D002281BD1BB
+:1083A00004E0684605218474C90202E068469749E2
+:1083B00084740182002F11D0032100208902884398
+:1083C0000121890241186846018506AA05A9384697
+:1083D00008F0A7FF002803D00720A5E41020A3E49D
+:1083E000894DB8782E3D287338882F46203F7885F0
+:1083F0006A46127D0020294606AB00920E31019399
+:10840000FF32029103900346FF3203320AA904A807
+:1084100007F03CF8002802D0FFF769F884E4002E4A
+:1084200001D0F88D30802C7200207DE470B592B0C0
+:108430000446012508A8857075496846018406F040
+:108440009CFF002208A90120FFF7A1FF064606F0C5
+:1084500098FF30003AD120780024C00700283FD090
+:108460001C2168460CF077FC684601782020014307
+:108470006846017008A885706649684601841194B1
+:108480000794817FF9200140891C6846817700208C
+:10849000014668460177002001466846417704217D
+:1084A0008185C485018607A80A9011A80D9008A8A7
+:1084B000099006F062FF0EAA09A96846FFF729FD98
+:1084C000054606F05EFF002D02D0284612B070BDB2
+:1084D0004D486946098F4E3801816946898F41812F
+:1084E00049482E3804720020F0E7F7B5464E9CB09C
+:1084F00000212E3E0091317A012904D0022902D0B8
+:1085000008201FB0F0BD40494E39CA8D824201D0CB
+:108510000620F6E71D98824201D10720F1E73B488B
+:10852000012110AA9176401C1083002003239B0296
+:1085300002469A438B02D31810AA93846A46918408
+:108540003549D18410AA9077908317AA0A926A4677
+:1085500091850C9009A807F051F80024254627467C
+:1085600004A909A807F04DF8002810D082287BD173
+:10857000002C7CD0002D7AD010A8048145810024E5
+:10858000047518A8807812AD012872D07AE0684688
+:10859000807D002F1FD0012862D16846818A1B4848
+:1085A000401C814219D114A800906846408A0EAB45
+:1085B0001022002107F08DF8002877D110A8008A3A
+:1085C000042801D006285BD16846018F1D9881429E
+:1085D00046D10F2095E7012842D16846808A0521BF
+:1085E000C902884202D0491C884239D106484E3817
+:1085F000C18D6846408A814210D101270FE00000FA
+:1086000001290000010200003A14002001280000A6
+:1086100001180000052A0000FFFF00000027002CC1
+:1086200001D0002D0DD01D99884219D114A90091B7
+:1086300004460EAB1022002107F04BF8002835D17C
+:1086400001E0009D0CE010A8008A022801D010284B
+:1086500016D1C0B218AA0EA908F03DFE00280FD10D
+:108660006846408A00907BE720E000E001E00520BA
+:1086700047E72A1D15A918A808F053FE002801D0C5
+:1086800003203EE710A8007D0023001DC2B210A801
+:1086900002751E98029019A901950394009216A8DC
+:1086A00006F0F4FE002801D102213172FEF71FFF0F
+:1086B00027E73EB50B46401E84B201AA00211846AA
+:1086C000FFF751F806F059FE02A8009001AB012215
+:1086D0000021204606F059FE044606F052FE684688
+:1086E0000089012803D0FE49FE480CF072FC2046A8
+:1086F000FEF7FDFE3EBDF0B5FB4E0446307A89B074
+:108700000F46032804D0042802D0082009B0F0BD89
+:1087100004AA06A92046FEF7E8FF0500F6D1F248B4
+:108720002389383022690146103902910093019261
+:10873000039069460A8A638906A9206806F0A6FEA6
+:10874000002802D0FEF7D3FEE0E7002F03D0E64872
+:10875000203000893880042030722846D6E738B5AA
+:108760000C00054608D00022694607F00CF80028E6
+:1087700004D0FEF7BCFE38BD102038BD6946204647
+:10878000FEF75DFF0028F8D1A0786946C207D20F36
+:10879000284607F013F8ECE73EB50C0008D002AA13
+:1087A000694606F0F0FF002804D0FEF7A0FE3EBDAB
+:1087B00010203EBD032120460CF0CBFA684600880D
+:1087C00001A90005800FFEF726FF00280BD168469F
+:1087D000007920706846008801A98004800FFEF7A8
+:1087E0001AFF002801D003203EBD68460079607062
+:1087F000A278EF20024068460088C10B09010A43B5
+:10880000F7210A404104C90FC9000A43A270F921A7
+:108810000A40800601D5012000E0022040006946A0
+:108820000243097A50084000C907C90F0843A070E5
+:1088300000203EBDFEB51D4614460E46074606F016
+:108840009CFD01A8009022882B463146384606F050
+:108850009CFD054668468088208006F092FD2846EB
+:10886000FEF745FEFEBDF0B50C46002199B0074667
+:10887000684681850D46002C11D0E068002806D09E
+:10888000A06800280BD002886B469A850180A078EA
+:10889000012806D0022804D0072019B0F0BD10200E
+:1088A000FBE72088002807D0401E80B201A906F00F
+:1088B0007EFE002842D136E08C48EEE769468A8980
+:1088C00021888A420BD26846007C002501282CD1E1
+:1088D0006846C0898649884227D1012525E08A4219
+:1088E00003D1002D2FD06D1C01E0022D02D0032DED
+:1088F0001BD31FE06946097C012916D169467C4BD0
+:10890000CA895B1ED11A9A421DD005DC7948101A1B
+:1089100019D0012809D116E0012914D0FF390139F5
+:1089200003D1032506E00D26B60201A806F047FE96
+:108930000028C3D0822804D0002806D0FEF7D7FD37
+:10894000ABE7022DFAD13046A7E7E068002813D044
+:1089500006F013FD0BA800906A46A1882088928D2E
+:10896000E36806F012FD054606F00BFD002D19D157
+:108970006846A168808D088002980078C00601D5FD
+:108980005D488AE706F0F9FC0EA8009068468089E9
+:108990000CAB0222002106F09CFE054606F0F1FC1D
+:1089A000002D01D02846C9E76846008F022801D073
+:1089B000032072E7A078012808A8007C03D0800774
+:1089C0000ED4082069E7C007FBD00820FEF7C8FADC
+:1089D000072802D34548401C5FE70825022001E034
+:1089E000022503206946087621886846818317217D
+:1089F000818611AA002302320DA906A806F08EF97D
+:108A0000002802D0FEF7DBFD47E70FA8009068467C
+:108A1000838E042229463846FEF7B8FA3DE770B542
+:108A2000064615460C460846FEF71EFD00280AD1EC
+:108A300006F0A3FC2A4621463046FFF7A8FC044670
+:108A400006F09FFC204670BD70B514460D460646E4
+:108A500006F093FC224629463046FFF746FD0446C1
+:108A600006F08FFC204670BD70B51E4614460D0002
+:108A70001AD0002C18D06168002915D00121FEF70A
+:108A800071FF00280FD12068FEF7EEFC00280AD104
+:108A900006F073FC324621462846FFF73AFA0446B0
+:108AA00006F06FFC204670BD102070BD70B51546F5
+:108AB0000C0023D00221FEF755FF00280ED12068BC
+:108AC000FEF7D2FC002809D106F057FC29462046C3
+:108AD000FFF711FE044606F054FC204670BD00006E
+:108AE000607D00003E0600000C14002003300000F2
+:108AF0000328000000280000013400001020EDE7EA
+:108B0000FEB507460E4607201546400701211218FC
+:108B100089031C468A4219D2002C02D020188842B0
+:108B200014D2384600F045FA00280AD1002C0FD1A3
+:108B300001AA6946384606F026FE002802D0FEF754
+:108B4000D6FCFEBD68460088800601D41020FEBD1C
+:108B500023462A4631463846FFF76CFEFEBDFFB578
+:108B600085B01E4614000F4609D003AA02A9059835
+:108B700006F009FE002804D0FEF7B9FCC6E5102077
+:108B8000C4E568460089C00601D5FB48BEE506F08D
+:108B9000F4FB01A800900023F84A3946059806F036
+:108BA00098FD054606F0EDFB002D11D1002E0CD0EE
+:108BB00006F0E3FB002000902288334639460598F2
+:108BC00006F087FD054606F0DCFB684680882080BD
+:108BD0002846D1E7002906D0E94B0A885B899A42EA
+:108BE00001D8E84870473EE610B586B004236C46CD
+:108BF000A382E34B1C89002C07D05B898B4201D2F6
+:108C0000914204D9DF4806B010BD0620FBE76B4651
+:108C100019825A820021009101911C8002219970D1
+:108C200005A9029104A903916946FFF71CFEEAE732
+:108C3000F0B591B00D4681206946087105F09CFCA5
+:108C40000646002D08D02878CD4C012806D00228F1
+:108C500028D0072011B0F0BD1020FBE7A98801AA99
+:108C6000FEF778FC0028F5D1B00734D568460079C6
+:108C7000002820D1A879C0071DD006F07EFB002077
+:108C800000906A892989A088EB6806F07EFB694616
+:108C9000087106F076FB6946087900280BD0FEF7CC
+:108CA00026FCD7E7A98801AAFEF754FC0028D1D1F9
+:108CB000342006420FD00121684601720173017908
+:108CC0004173F00609D5A18868460182A18A018313
+:108CD0002069059004E00820BCE7A0886946088266
+:108CE000FAF731FB05461720694688830AAA2B4606
+:108CF000023207A902A806F011F8074668780007B3
+:108D000001D5FAF73CFB002F03D03846FEF757FC9D
+:108D1000A0E7F00603D5207B062108432073B006A8
+:108D200002D50020FEF776FE08A8009069468B8BDE
+:108D3000208804220121FEF729F98BE7F0B50026EF
+:108D400095B014460D4600290FD0022C4FD3A71E14
+:108D5000BAB28A480AF052FE29191039CA7B8B7BB5
+:108D600011021943884242D1BCB201A9012006F088
+:108D70001EFC7AE0029F3888010776D5002D41D08D
+:108D8000A9190691CA788B78361D1102B6B219431B
+:108D90008919A1422BD869468A8906994B780978A6
+:108DA0001B020B439A4222D1C00623D506F0E5FAF6
+:108DB00007A800900698AB19C17880780A02069936
+:108DC00002434878097800020843002106F0DDFAE2
+:108DD000009006F0D6FA009800283ED10698C17897
+:108DE000827808026946898B1043884202D00B20A2
+:108DF00015B0F0BD0698C17882780802104380193A
+:108E000086B22EE0C0062CD5002007AA01461154D8
+:108E1000401C80B21028FAD306F0AFFA06A80090E2
+:108E20006846002380891022194606F052FC009003
+:108E3000002803D006F0A5FA00980EE00BA86946BA
+:108E4000009088890A8B07AB002106F09EFA0090FB
+:108E500006F097FA0098002803D0FEF748FBC7E712
+:108E600003E0388810218843388001A806F0A7FB6A
+:108E7000002800D17EE7424D6988002921D00122D7
+:108E800068460276027700244477018417218185A1
+:108E90000EAA234602320BA906A805F03FFF0028C0
+:108EA00002D0FEF78CFBA3E70CA8009069468B8DDF
+:108EB000288804220121FEF769F8002898D16C80E7
+:108EC00096E7002094E7F0B5002487B015460E46DB
+:108ED000002A04D002A9012006F069FB41E010201D
+:108EE00007B0F0BD0398007800073AD506F045FAC0
+:108EF00001A8009068460023008A204A194606F01F
+:108F0000E8FB074606F03DFA002F23D1002E23D0C0
+:108F100068468088298820183719001D814239D376
+:108F20006946098A3970090A797069468988B97071
+:108F3000090AF97006F021FA01A869460090088A2A
+:108F40008A883B1D002106F0C4FB074606F019FA8B
+:108F5000002F01D00320C3E7684680882018001D39
+:108F600084B202A806F02BFB0028BBD082280BD0CD
+:108F7000FEF7BDFAB4E7000001340000FFFF000077
+:108F8000EC13002003300000002E0ED02988A01C16
+:108F9000814201D20C20A3E72246314639480AF02B
+:108FA0002DFD31190870000A4870A41C2C80002087
+:108FB00096E700B585B06946FEF741FC00280AD166
+:108FC0006846007C03000CF0F5F808052F2F2F2FC2
+:108FD00008080531032005B000BD684680780128E7
+:108FE00007D1684600880321C902401A1CD0012815
+:108FF0001AD068468079012806D1684680881521F4
+:109000004902401A05280FD96846807A012811D1F3
+:109010006846018929200002081A05D0022803D0D9
+:10902000032801D0042805D10F20D4E7164917489A
+:109030000BF0CFFF0020CEE738B5154A0021518054
+:1090400003791AE0CC002418A46800946C462488A4
+:10905000250707D5E50605D5D90008182038C08BA7
+:10906000508006E0640406D59171C9000818C088D4
+:109070009080012038BD491CC9B28B42E2D8002043
+:1090800038BD0000FFFF0000607D000033020000DB
+:10909000EC1300200120F8494006C861704770B504
+:1090A000F54D0024AC7028466C7020304470047478
+:1090B0006C61AC72AC6209F01AFFA86128463430CA
+:1090C0000AF0B4FD002804D0FF20ECA13A300BF0E8
+:1090D00080FFEE48C46301204006E86170BD70B5B2
+:1090E0000125EB4902260E60E849CD63E949C96ACA
+:1090F00009070ED4E7494031CB6AE74A53620B6B4C
+:1091000093624B6BD3628B6B1363C96BD3051943AB
+:109110005163D949E14CC96900282BD001282DD0D1
+:10912000FF20D6A169300BF054FFDD48A063FF207B
+:10913000043060632563DB49032008602061D74960
+:10914000962040314860D948D7494163D549FC3918
+:109150000163D549091FC163D249F03981630320F6
+:10916000D249000340394860D14910204860D148B5
+:10917000066070BDD0486061D04804E0CF48E03060
+:109180006061CE48801F0143A161CEE7BA4901204A
+:1091900008707047B84900200870704770477047E2
+:1091A000BE4940310028086802D00122104301E086
+:1091B000400840000860704770B50C46AE4D01464F
+:1091C0000622E81C0BF068FD6C7270BDAA482030C6
+:1091D00040787047A84A91705070704770B50D463E
+:1091E0000446082904D9FF20A4A1C6300BF0F1FEE3
+:1091F0000022B34809E09100635809180B6053003E
+:109200001B191B8C0B62521CD2B2AA42F3D3206BE7
+:10921000AB494031086070BD0B23DB4310B5C21A67
+:109220009E4998421FD008DC1C3222D00A2A20D046
+:10923000142A1CD0182A08D117E0083011D00428AD
+:109240000DD0082809D00C2805D0FF208BA1F230C2
+:109250000BF0BFFE10BD04200CE000200AE0FC2053
+:1092600008E0F82006E0F42004E0F02002E0EC2022
+:1092700000E0D820C86010BD7F482030007B7047D8
+:1092800010B5864CC17861620BF067FD0002E061A9
+:1092900010BD252808D0262808D0272808D041004E
+:1092A0000A2807D8091D06E0022105E01A2103E07B
+:1092B000502101E0891DC9B2784A91607749403157
+:1092C000486170476C494861704770B56A4CA0723C
+:1092D00000F01FFBA07AC00740D0724D28688007BD
+:1092E00003D466A177480BF074FEA07A01061DD561
+:1092F000800707D5734861A1801C0BF06AFEA07A35
+:10930000000613D52078694E012816D0002804D015
+:109310006C485AA111300BF05CFE6B487061A0697B
+:109320003061FF206149013040394860A07A8007F0
+:1093300014D52868C00708D102E06348001FEDE794
+:1093400060484EA11A300BF044FEA07A400728680E
+:1093500001D5042100E008210843286070BD70B5E4
+:109360000124454D002807D0012818D002281AD022
+:10937000232042A100010BE000F0CBFA52482978EB
+:10938000001F012907D0002907D04E483BA15738BC
+:109390000BF01FFE70BD046070BD446070BD812085
+:1093A000FFF793FF70BD00F0B4FA6869002804D19C
+:1093B000444832A14F380BF00CFE6969A86A401886
+:1093C0004249C86039484249403001603E490C3149
+:1093D00041600814354940394860274820300474FA
+:1093E00070BDF8B50C2069460870314C6068C00645
+:1093F000C50F1026A66034480021FC300161324BB5
+:1094000001221B1F1A610BE000BF00BF00BF00BF9D
+:1094100000BF00BF00BF00BF6B461A78521E1A7013
+:109420006A461278002A02D00269002AECD0016153
+:1094300068460078002804D1912010A180000BF02C
+:10944000C8FD002D00D06660F8BD0B490020C86142
+:10945000704710B50BF081FC00021049000AC86388
+:1094600010BD0B49022008607047094902200860BE
+:109470001049086070470000481400207372635C54
+:1094800068616C5F7263732E63000000C01F004050
+:1094900080E100E08000001000170040001500404F
+:1094A0005B060000001200404480004040F501408F
+:1094B0000013004080E200E00601020025000300E6
+:1094C0000016004075020000041000404085004076
+:1094D0004C810040F74902200860CBE7F64908704C
+:1094E000C8E710B5F5480AF0A9FB002803D0F449F5
+:1094F000F4480BF06EFD10BD10B5F0480AF0B6FB55
+:1095000010BDF1494860B5E7EC4910B53439EF4B6F
+:109510000022C8605A60896A0818ED49486000F066
+:10952000FFF910BDE54810B5C2213438C160E74AE3
+:1095300000215160806AE649C230486000F0F0F9CD
+:1095400010BD0120E34940028860DC490020343925
+:10955000C860DF4948608DE7D84900203439886207
+:1095600088E7D648DA493438806AFE30886081E777
+:10957000D749002088607DE7D748016810229143D1
+:109580000160D6490120886174E7D5490020C8618F
+:10959000D14801681022114301606BE700B5FFF765
+:1095A000EBFFC64900203439087400BD00B5FFF751
+:1095B000ECFFC24901203439087400BDC849CA69AA
+:1095C000012A01D0002055E7BF4A40329268520676
+:1095D000520E524202700020C86101204AE7F8B5DD
+:1095E000BF4C2069012806D00021B44834380078E7
+:1095F000012802D004E04021F7E7E268012A04D004
+:1096000000220A43012802D004E02022F9E7616821
+:10961000012905D000211143B24A002802D007E0F9
+:109620001021F8E71368012B02D1E368012B04D065
+:1096300000230B43002802D007E00823F9E7116854
+:10964000002902D1E168012905D000221A439F4E6A
+:10965000002802D004E00422F8E77168012904D050
+:1096600000211143002802D004E00221F9E76068DC
+:10967000012829D000259C480D4301680906090EE0
+:1096800002D06169012900D000218C4F143F397349
+:1096900000680006000E02D0A069012800D000205A
+:1096A00078738B488068002803D000F03DFA0128C9
+:1096B00000D00020B8730021E16021616160616128
+:1096C000A16171602846F8BD0125D4E77B480121DE
+:1096D0001438C173CEE6F8B5784E0127143E307CBD
+:1096E0000025002825D07C4C206800902560FFF7DD
+:1096F00078FE009820607A48C56005614560456144
+:1097000085617449001488603046203801787348B8
+:1097100001290AD000290AD0D920694980000BF01C
+:1097200058FCF9F775FC3574F8BD0760F9E7476038
+:10973000F7E7FFF754FF04460020F07364484268DF
+:109740005E4D343D6A620068A8622978002909D11B
+:10975000A978002906D05C4B5B681B780B406978C0
+:10976000994309D000213170E10707D0104602F07B
+:1097700029FD0121A86A08E03770F5E7A10601D5A7
+:10978000022102E0A10702D5002102F02AFD4E4F7E
+:10979000796806220931E81C0BF051FA002807D13C
+:1097A000687A79680978C909884201D1012000E006
+:1097B00000207070204600F0BDF83F48C2270078B6
+:1097C000002815D0012828D002283BD003285AD0E1
+:1097D0003B4946480BF0FDFB287C002804D0287844
+:1097E000002865D0FFF7C8FE2878002861D089E0FE
+:1097F000A00701D501F0CCFB200703D50120EF60C5
+:1098000001F0FEFB600703D50020EF6001F0F8FBDC
+:10981000A006E1D501F068FBDEE7A00701D503F063
+:1098200026FF200703D50120EF6003F09FFE6007AD
+:1098300003D50020EF6003F099FEA006CCD503F01D
+:1098400020FEC9E7A00703D5BF200440F9F7D2FBEB
+:10985000200705D5BF2004400120EF60F9F7C9FBC0
+:10986000600705D5BF2004400020EF60F9F7C1FB79
+:10987000A00603D5BF200440F9F7BAFB6006ABD5BC
+:10988000F9F7B9FBA8E7A00701D5F9F7B7FB20075F
+:1098900003D50120EF60F9F7B0FB600703D5002086
+:1098A000EF60F9F7AAFBA00696D5F9F7A5FB93E7B9
+:1098B0001EE020E000E100E0600000207C140020B9
+:1098C0007C940000AB020000001500404081004085
+:1098D0004085004000F501400012004000100040AB
+:1098E00000110040001400404016004094040000A5
+:1098F000FFF74BFE78E7E868002803D0A96A09184B
+:1099000028484160F07B002800D10DE7F9F780FB83
+:10991000F8BD254903200860881524498860A9E519
+:10992000224823494030C161224981611F494015C5
+:1099300048609FE570B50546FFF7EBFF1E4CA17A26
+:10994000080701D568071CD41C4AC80605D5507BFA
+:10995000002802D0907B002813D0880602D510780A
+:1099600000280ED1480602D55078002809D00020E2
+:109970008A070026002A07DA4A0704D50122227046
+:1099800002E00120F4E72670CA0709D0AA0705D42F
+:10999000890705D5002803D0A80601D4FFF721FDCB
+:1099A000A67270BD408500400012004000F50140E5
+:1099B000101000404481004048140020681400202A
+:1099C0002E48002101704170704770B5064614465C
+:1099D0000D460120F7F780FE28490120284B08702A
+:1099E0009E60DC601D6170BDF8B504460120F7F78C
+:1099F00073FE22490120087021494C60214900264C
+:109A00004E600321204D8902A960204F002C0AD00E
+:109A1000012C03D01EA140200BF0DBFA3E60032096
+:109A200080026860F8BD386001208002F9E710B557
+:109A30001248017800290ED00321134A890291604F
+:109A400010494A680021002A03D0154A1268427062
+:109A500000E0417001700020F7F73EFE10BD07489E
+:109A60000178002907D007484068002802D00C4838
+:109A70000068C0B270474078704700006100002065
+:109A800000F5004000F1004000F5014000F2004008
+:109A90007372635C68616C5F63636D2E63000000CA
+:109AA00000F400403648002101704170102181709F
+:109AB000704770B5064614460D460220F7F70CFEB7
+:109AC00001202F492F4A0870E41E146196605560EA
+:109AD00070BD10B50220F7F7FFFD2949012008707D
+:109AE000294800210160416081602849C014486014
+:109AF00010BD10B5224C2078002811D00120234938
+:109B0000C002886000F02EF80021002804D0012057
+:109B100060701F48006801E061701020A070217023
+:109B20000020F7F7D9FD10BD10B5154801780029C0
+:109B300005D000F017F8002800D0012010BD4078B3
+:109B400010BD10B50E480178002909D000F00AF8C0
+:109B5000002803D00E480068C0B210BD102010BD10
+:109B6000807810BD08480168002905D041680029A7
+:109B700002D08068002801D0002070470120704783
+:109B80006300002000F5004000F1004000F50140B6
+:109B900000F4004010B528210BF0DBF810BD407830
+:109BA0008006800E704740788006800EC01C70478B
+:109BB0002820704770B5054600780A0700090001A3
+:109BC000120F104328700B000BF0F4FA070507057D
+:109BD000070509050B00062408E00C2406E02224F2
+:109BE00004E00024FEA158200BF0F3F96878800906
+:109BF00080012043687070BD00780007000F704737
+:109C000010B50622C01C0BF047F810BD0B4610B56E
+:109C1000C11C062218460BF03FF810BD10B50622F5
+:109C200009300BF039F810BD0B46014610B506227D
+:109C3000093118460BF030F810BD0278BF23C90770
+:109C40001A40490E0A430270704700784006C00F60
+:109C5000704702785206520EC9010A4302707047DB
+:109C60000078C009704770B50C460546C11C2046F7
+:109C7000062209300BF010F820784006400E2070C4
+:109C800029784906C90FC9010843207070BD70B515
+:109C900015460E4604461F2A03D9D1A1A9200BF070
+:109CA00098F920462A46314609300AF0F5FF6078D7
+:109CB000AD1D80098001A906890E0843607070BD42
+:109CC00070B5054640780E468406A40E062C03D2D5
+:109CD000C3A1B9200BF07DF9A41FE4B21F2C00D959
+:109CE0001F2429462246093130460AF0D5FF204676
+:109CF00070BD70B515460E4604461F2A03D9B8A19B
+:109D0000CD200BF066F920462A46314609300AF08C
+:109D1000C3FF6078AD1D80098001A906890E084344
+:109D2000607070BD70B5044640780E468506AD0E75
+:109D3000062D03D2AAA1DE200BF04BF9AD1FEDB228
+:109D40001F2D03D9A6A1E2200BF043F921462A4694
+:109D5000093130460AF0A0FF284670BD10B5042234
+:109D60000F300AF099FF10BD0B46014610B50422D2
+:109D70000F3118460AF090FF10BD10B503221330C2
+:109D80000AF08AFF10BD0B46014610B503221331BD
+:109D900018460AF081FF10BD4176090A81767047A6
+:109DA000817E427E080210437047C176090A01771E
+:109DB0007047017FC27E0802104370474177090A4D
+:109DC00081777047817F427F080210437047C175D9
+:109DD000090A01767047017EC27D08021043704770
+:109DE00081757047807D704720300279C90652091D
+:109DF0005201C90E0A430271704720300079C00633
+:109E0000C00E704720300279D206D20E49010A43B3
+:109E100002717047203000794009704710B5052263
+:109E20001F300AF039FF10BD0B46014610B5052260
+:109E30001F3118460AF030FF10BD30B5411C837E3B
+:109E40000A461902D37D447E927D1B0221431343AF
+:109E5000674D827D8C1FAC4210D8002A0ED0082A94
+:109E60000CD88A420AD28B4208D8817F427F0802EE
+:109E70001043A91D884201D8012030BD002030BD0B
+:109E800000210A464254491C2229FBDB70474078D6
+:109E9000C006C00E70474078C006C00EC01C704798
+:109EA0002220704710B502788B07920892009B0F12
+:109EB0001A4302704278520952014270012908D0B7
+:109EC000022906D0032905D0FF2045A1A3300BF0BD
+:109ED00080F810BD01210A43427010BD10B5027810
+:109EE0008B07920892009B0F1A4302704278520926
+:109EF00052014270012908D0022906D0032905D059
+:109F0000FF2037A1BD300BF064F810BD01210A43DA
+:109F1000427010BD00788007800F70470278FB23E5
+:109F2000C9071A40490F0A4302707047007840077A
+:109F3000C00F70470278F723C9071A40090F0A4378
+:109F40000270704700780007C00F70470278EF2357
+:109F5000C9071A40C90E0A43027070470078C0064C
+:109F6000C00F704770B50546C1700B000BF022F9A9
+:109F70000E080A0C0E1012120C14141212160C18E1
+:109F80000C2413E0082411E002240FE017240DE054
+:109F90000D240BE0012409E0092407E0062405E074
+:109FA000452000240EA1C0000BF013F8687840098A
+:109FB00040012043687070BDC078704770B504469A
+:109FC00040780E46C506ED0E1B2D03D904A10948A5
+:109FD0000AF0FFFF6019C01C042231460CE00000AB
+:109FE0007372635C756C5F7064752E6300000000B3
+:109FF0007A0C00003A0200000AF04EFE70BD70B507
+:10A00000044640780E46C506ED0E1B2D03D9A04927
+:10A01000A0480AF0DEFF6119C91C042230460AF08C
+:10A020003BFE70BDC171090A01727047017AC279A5
+:10A030000802104370474172090A81727047817AA1
+:10A04000427A080210437047C172090A01737047CF
+:10A05000017BC27A0802104370474171090A81717D
+:10A060007047817942790802104370470171704747
+:10A07000007970474173090A81737047817B427B85
+:10A0800008021043704730B5411C037A0A46C47970
+:10A0900019022143537914791B0223437E4D007921
+:10A0A0008C1FAC4210D800280ED008280CD888424B
+:10A0B0000AD28B4208D8D07A917A00020843A91DAF
+:10A0C000884201D8012030BD002030BD10B50522E6
+:10A0D000001D0AF0E1FD10BD0B4610B5011D052263
+:10A0E00018460AF0D9FD10BD4172090A8172704705
+:10A0F000817A427A080210437047017170470079F3
+:10A10000704710B50822001D0AF0C6FD10BD0B46B1
+:10A1100010B5011D082218460AF0BEFD10BD0A78D0
+:10A120000273497841737047027B0A70407B487024
+:10A13000704710B508220E300AF0AEFD10BD0B4678
+:10A14000014610B508220E3118460AF0A5FD10BDD3
+:10A1500010B5042216300AF09FFD10BD0B460146D3
+:10A1600010B50422163118460AF096FD10BD10B540
+:10A170000822001D0AF090FD10BD0B4610B5011D10
+:10A18000082218460AF088FD10BD10B504220C30D4
+:10A190000AF082FD10BD0B46014610B504220C31B9
+:10A1A00018460AF079FD10BD017170474171090A26
+:10A1B00081717047C171090A017270470079704757
+:10A1C00081794279080210437047017AC279080206
+:10A1D00010437047017170470079704701717047F3
+:10A1E0000079704710B50822001D0AF055FD10BD1A
+:10A1F0000B4610B5011D082218460AF04DFD10BD92
+:10A2000010B50822001D0AF047FD10BD0B4610B521
+:10A21000011D082218460AF03FFD10BD70B5154615
+:10A220000E4604461B2A04D93720194900010AF0BA
+:10A23000D0FE2A463146E01C0AF02EFD6078E90681
+:10A2400040094001C90E0843607070BD70B50546F5
+:10A2500040780E46C406E40E1B2C04D9DF200C49BE
+:10A2600080000AF0B6FE2246E91C30460AF014FDD2
+:10A27000204670BD4078C006C00E1B2801D80120C2
+:10A2800070470020704710B522220AF005FD10BD6E
+:10A29000E09F0000430200007A0C0000FEB50F466C
+:10A2A00004460146064620302546C031603640351A
+:10A2B0000190032F04D0002F2DD0012F2BD04BE085
+:10A2C00000206080A080E08020816081A082E08505
+:10A2D000E0826874A074E074A076E076A073E07306
+:10A2E00020746074019B987401232B74A8822883C6
+:10A2F0000876E883B0706883A873E8732077607786
+:10A30000019988720199087430727072B072327457
+:10A31000B074A883FEBD0020A8822883012F52D0EC
+:10A32000E08B0090608C0290C00000990AF02EFD36
+:10A33000401C80B2E8820099192241439202914266
+:10A3400001DD401EE8827D20000200990AF01EFD1A
+:10A35000401C3080002F01D0022FDBD10198007A01
+:10A36000C1060198C90E01720020687322182421C9
+:10A370008B5C4032D9075B08DE07C90FF60F7118F6
+:10A380005B08DE07F60F71185B08DE07F60F711821
+:10A390005B08DE07F60F71185B08DE07F60F711811
+:10A3A0005B08DE07F60F76185908891911726A7B67
+:10A3B000401C5118C0B269730528D7D3002FA9D10A
+:10A3C0000020A874FEBD4A7F2046E030022A12D049
+:10A3D000097F022913D050A173200AF0FAFD012051
+:10A3E00000900290E08BA98B484300990AF0DCFCB6
+:10A3F000A883029898E7818800910089F1E7018A93
+:10A400000091808AEDE770B504464034667B0546CE
+:10A41000002E68D0252E66D8002964D03E20405DED
+:10A42000A27B4843101825210AF0B0FC0846A1730E
+:10A430004207C908520F3C4B691820319A5C0979D0
+:10A440008A4367D031460AF0A1FC491CCAB20020F9
+:10A4500006E0002804D029184031C979511ACAB23F
+:10A46000291848235B5C93423AD320310979C943C8
+:10A47000CB07DB17D21A521E1206120E34D08B07EE
+:10A48000DB17D21A521E1206120E2FD04B07DB1703
+:10A49000D21A521E1206120E2BD00B07DB17D21A3D
+:10A4A000521E1206120E27D0CB06DB17D21A521EEE
+:10A4B0001206120E23D08B06DB17D21A521E12067A
+:10A4C000120E1FD04B06DB17D21A521E1206120EA6
+:10A4D0001BD00906C917511A491E0A06120E17D0B9
+:10A4E000401C0528B5DB70BDC00013E0C000401C57
+:10A4F00010E0C000801C0DE0C000C01C0AE0C000DD
+:10A50000001D07E0C000401D04E0C000801D01E008
+:10A51000C000C01DE07370BD7372635C6C6C5F75CE
+:10A5200074696C2E63000000EC51010010B5FF4807
+:10A530000021017041708170C17041718171C171E0
+:10A54000083009F073FB002804D0FF20F8A1843004
+:10A550000AF03FFD10BD10B5F44900204872081DF7
+:10A5600009F064FB002804D0FF20F1A1C3300AF0F9
+:10A5700030FDFFF7DBFFF148FFF782FC0021EF48D9
+:10A58000FFF7E4FC0121ED48FFF78CFC10BDE2E78A
+:10A590001B207047E5494A7A002A01D00020704705
+:10A5A000488101204872704710B5E0494A7A002A74
+:10A5B00002D04989814201D0002010BDDB48001D36
+:10A5C00009F03CFB002804D0FF20D9A1B4300AF0E8
+:10A5D00000FDD648001D09F049FBFFF7A7FF012049
+:10A5E00010BD70B5D14C0025627A002A02D0628974
+:10A5F000824201D00D700DE0227863789A4203D335
+:10A6000022786378D21A04E062782378D21A102371
+:10A610009A1A0A70FFF7C8FF002801D0657201205E
+:10A6200070BDC2494A7A002A04D04989814201D1C9
+:10A630000120704700207047BC490A784B78521CB3
+:10A640001207120F9A4207D0097822225143BC4ABE
+:10A65000891801600120704700207047B3480178D5
+:10A660004278491C0907090F914206D00178491C1C
+:10A670000907090F01700120704700207047AB499E
+:10A680004A7A002A04D04989814201D101207047C9
+:10A6900000207047A5490A784B789A4207D049783C
+:10A6A00022225143A64A89180160012070470020E8
+:10A6B000704710B59D4C20786178884216D060783C
+:10A6C000401C0007000F6070201D09F0B7FA002839
+:10A6D00004D0E078401CE070012010BDA078401C40
+:10A6E000A0709248001D09F0C1FAF5E7002010BDE6
+:10A6F0008E4801784078814201D1012070470020C6
+:10A7000070478A4801784278914202D301784078B4
+:10A7100003E041780078081A1021081AC0B2704787
+:10A720000F20704770B5814C0D46617A002916D014
+:10A730006189814213D100262E70201D09F07EFA16
+:10A74000002805D1A0782870A670201D09F08EFA87
+:10A750002878E17840182870E670012070BD00204C
+:10A7600070BD76490160704770494A7A002A04D06A
+:10A770004989814201D101207047002070476B490F
+:10A780004979002901D0002070476E4901600120FD
+:10A79000704766484179002901D0002070470121A7
+:10A7A00041710846704761494A7A002A04D04989B4
+:10A7B000814201D101207047002070475B494979EF
+:10A7C000012901D0002070475E49016001207047D7
+:10A7D00056484179012901D000207047002141717C
+:10A7E0000120704751484079012801D0012070476D
+:10A7F000002070474D494A7A002A04D04989814295
+:10A8000001D1012070470020704770B5474C0546C4
+:10A81000A0790721401C0AF0B9FAE079814208D0FA
+:10A82000A07922214843474922314018286001205D
+:10A8300070BD002070BD10B53C4C0721A079401CB4
+:10A840000AF0A4FAE079814207D0A0790721401CE0
+:10A850000AF09CFAA171012010BD002010BD334800
+:10A860008179C079814201D1012070470020704771
+:10A870002E494A7A002A04D04989814201D1012017
+:10A8800070470020704710B504462848083009F08A
+:10A89000D5F9002815D125498879CA7990420CD07C
+:10A8A000C8792221484327492231401820601F4897
+:10A8B000083009F0DBF9012010BD1C48083009F010
+:10A8C000D5F9002010BD10B504461848083009F02D
+:10A8D000B5F9002815D115498879CA7990420CD06C
+:10A8E000C8792221484317492231401820600F4877
+:10A8F000083009F0BBF9012010BD0C48083009F000
+:10A90000B5F9002010BD094810B5083009F096F9D6
+:10A91000002822D1054CA079E17988421AD0E0794B
+:10A920000721401C0AF032FAE1710DE066000020B8
+:10A930007372635C646D5F712E630000B01700205A
+:10A9400080140020A01600202046083009F08EF95F
+:10A95000012010BD0C4809F089F9002010BD0A48FB
+:10A9600008388179C079814201D1012070470020E7
+:10A970007047054808388179C079814201D10120AA
+:10A9800070470020704700006E000020704770473D
+:10A99000FF207047704770470020704700207047C5
+:10A9A000002070470020704700207047002070474B
+:10A9B000002070470020704700207047012070473A
+:10A9C000002070470020704700207047002070472B
+:10A9D000F8B5FF4D0446A87F002600280CD00029BA
+:10A9E00023D1667010202070E87FA07028462030A8
+:10A9F0000078E070AE7718E0287A012801D00020B6
+:10AA0000F8BD002911D16670F149687A01270A3131
+:10AA1000002801D0132000E0052020701422A01C83
+:10AA20000AF03AF9A7716E722E720120F8BDF8B5DE
+:10AA3000E8480078002802D00C273846F8BD0027E7
+:10AA4000E34D3C46203DAF74EF746F75AF752F75C5
+:10AA500028466F732038DE4E47737771E87D0028F3
+:10AA600004D0FEF785FDFFF744F8EC75347274727C
+:10AA7000B477D7482430FFF78DF8D5484C30FFF72E
+:10AA800089F8DAE710B5D34C00232370D04C203C72
+:10AA9000E375CF4B01241C71603B583307C3FFF7AC
+:10AAA000C6FF002804D0FF20CBA102300AF091FAA3
+:10AAB00010BDC7482038807C7047F8B5C44D0646A5
+:10AAC000407B203DE873C24837791346AF73B27BB1
+:10AAD00082710446603C217006221946601C0AF00F
+:10AAE000DBF8B07960730622F11DE01D0AF0D4F89E
+:10AAF000687B0126002800D0EE74B5484038407BC2
+:10AB0000002800D02E75002F09D0012F09D0022F68
+:10AB100024D0032F46D0FF20AFA14D3013E00021F9
+:10AB20001DE0AB4801212430FFF744F8A848E11D9F
+:10AB30002430FFF773F8607B002807D0012807D086
+:10AB4000FF20A5A143300AF044FA0CE0002100E008
+:10AB500001219F482430FFF77CF804E006219C483F
+:10AB60002430FFF727F800206875A8759848611C05
+:10AB70002430FFF745F8964821782430FFF75DF838
+:10AB8000934804214C30FFF715F89148611C4C3074
+:10AB9000FFF736F88E4821784C30FFF74EF8AE7448
+:10ABA0000020F8BD0221DAE770B5894C0125203C70
+:10ABB0000246A5758648007A002801D03A2070BD6B
+:10ABC000834860380378934206D1002262750622DA
+:10ABD000401C0AF061F86575002070BD70B5044630
+:10ABE0007B4D0020203D28752846224632380AF049
+:10ABF00053F82846203844730120287570BD7449E5
+:10AC00000871704710B5724C0022203CE2746073EA
+:10AC10000246204612380AF03FF80120E07410BDC9
+:10AC2000F8B500F04CFB6A4C0025203CE07D002884
+:10AC300004D0FEF79DFCFEF75CFFE575654E3570B0
+:10AC4000FEF75AFCA07B012804D00021084601F041
+:10AC500082FAF8BD0021022001F07DFA5C4C207AD6
+:10AC60000127002809D0A07F0028F2D10520E07735
+:10AC7000204620300570A777F8BD70780028FBD0FB
+:10AC8000534906226039487BE073C91D0846693084
+:10AC90000AF002F83C20A07227727570F8BD10B55A
+:10ACA0004B4C203CE17B207CCA0701D0C2070BD073
+:10ACB0008A070FD582070DD42620FEF7EAFA207CFA
+:10ACC00002210843207410BD2520FEF7E2FA207C03
+:10ACD0000121F6E74907F6D54007F4D42720FEF70F
+:10ACE000D8FA207C0421ECE770B53A4D287800288A
+:10ACF0007CD1374C203CA07C00287CD0FEF7F1FBB7
+:10AD00000026267466746E703046FEF7E7FB00205E
+:10AD1000FEF7E5F93448FEF7B3FA2546403D296EC3
+:10AD20008857FEF779FA3048C01EFEF792FBFEF70F
+:10AD300008FCFFF7B4FFFEF729FAFEF7CBFB012072
+:10AD4000FEF70DFB0F210520FEF744FA2978681C59
+:10AD5000FEF732FAA07B01280AD0E07C002807D059
+:10AD6000214612390846627B5630FEF790FFE674A2
+:10AD7000207D002808D0164840380146427B123911
+:10AD80008C30FEF7B6FF2675607D00280BD010488A
+:10AD9000691C2430FEF734FF0D48691C4C30FEF767
+:10ADA0002FFF6675A675E86D0178002903D001783C
+:10ADB000001DFEF713FAA86D0178002907D001786D
+:10ADC000034A401C7732FEF774FE0120E0750EE066
+:10ADD00034180020740000207372635C6C6C5F6137
+:10ADE00064762E6300000000F751010003E0FEF7D7
+:10ADF00083FB002070BD0C2070BDFB49486070478C
+:10AE000070B50546FEF79DFB002D06D00020FEF72D
+:10AE10005CFAFEF7BBF9FFF742FFF44C607C0028B8
+:10AE200009D0A07B012803D1F149F2480AF0D1F8FA
+:10AE3000FFF7F6FE70BD0126002D05D00220FEF7BB
+:10AE40008EFAEA4820304671E8484430FEF759FB54
+:10AE5000012008F0A8FDFEF7A1F9A07B00280FD083
+:10AE600001280DD002280BD003280BD0E148E0497F
+:10AE70001E300AF0AEF8E07B217C884306D009E062
+:10AE8000032000E00120FEF720FAF4E7A07B012870
+:10AE900003D06674D448067070BD00202074F9E7B2
+:10AEA00010B5FEF71EFBD048007800280ED1CF4821
+:10AEB000807C00280AD00020FFF7A2FFF6F781FA75
+:10AEC000CA4820300079012806D007E000F0F7F9E1
+:10AED000FEF712FB0C2010BDF8F79AF8002010BD09
+:10AEE000C14901204870704770B500F0DAFF0028B2
+:10AEF0001BD0FF202D30FEF7E5F9BB4E3078BB4C60
+:10AF00002034012814D0022801D003282ED0A520F7
+:10AF1000B74980000AF05DF83078002807D0F6F7CE
+:10AF200050FA207901282BD02FE0FFF779FE70BD71
+:10AF3000AE4DA87B032819D0FEF7F4FAE87D00286F
+:10AF400003D0FEF7C6FDFEF70CFBA8489430FEF7D1
+:10AF5000D8FA012008F028FDA87B01280BD0A179A0
+:10AF60006F20012906D0032904D004E00120FFF757
+:10AF700047FFD1E77F20FEF7A8F902203070CBE72A
+:10AF80006079002801D1FEF7A1FB0020607170BD3F
+:10AF900070B5964CE07D002803D0FEF7E9FAFEF785
+:10AFA000A8FD00F07EFF00281CD08F4D28780228D5
+:10AFB00003D08F4990480AF00CF8A07B012814D0E8
+:10AFC000FF202D30FEF77EF90120FFF719FF2878CA
+:10AFD000002809D0F6F7F5F9844C203420790128AF
+:10AFE00006D00AE0FFF71CFE70BD99208000E9E75B
+:10AFF0006079002801D1FEF769FB0020607170BD07
+:10B00000F8B50446FEF738F90746FEF78DFD01282E
+:10B0100027D0002674480078022804D07648744966
+:10B020003C3009F0D6FF714DE87D002803D0FEF7D3
+:10B030009FFAFEF75EFDFEF784FA6C489430FEF747
+:10B04000DBFD21006D4C009064D0FEF7BFF80028B6
+:10B0500060D0009803000AF0ADF8065D5D5D065D06
+:10B060001E5D0126D6E7A87B012853D0374304D1C3
+:10B07000A079002801D002284CD160484C30FEF75E
+:10B0800040FA012008F08FFC0120FEF71EF9564817
+:10B090000321017045E059487430C178D438C27931
+:10B0A00091421DD10146D4310A79037A9A4217D1CF
+:10B0B0004A79437A9A4213D18A79837A9A420FD194
+:10B0C000CA79C37A9A420BD10A7A037B9A4207D192
+:10B0D0000978407B4906C90F814201D1012100E076
+:10B0E0000021A87B012802D0002803D012E000290B
+:10B0F00007D10FE0374304D1A079002801D00128FF
+:10B1000008D13E487430FEF798FE002802D0A87D92
+:10B11000002810D0FF202D30FEF7D4F80120FFF7D3
+:10B120006FFE3148007800286AD0F6F74AF9207996
+:10B1300001286ED0C0E02C4F30497868042283315A
+:10B14000343009F0A9FD2D484021743000784006C4
+:10B15000C20F78680A54294906227731413009F034
+:10B160009BFD2649786803228731383009F094FD29
+:10B1700022483B217430827D78680A541F4974311B
+:10B180000A7ECB7D12021A4382878A7E4B7E120290
+:10B190001A43C2830A7FCB7E1102194301841749E7
+:10B1A00074318A7F4B7F1102194341841349052270
+:10B1B0009331243009F070FD10497F68943108798B
+:10B1C000C20638462030D20E0090827709794909AC
+:10B1D000C177207A00281DD0A07F00285BD1607A3B
+:10B1E00000280ED013200DE0740000201418002059
+:10B1F000D8AD0000F9030000BF02000034180020A1
+:10B200005CE00520E0773449002008700120A07739
+:10B2100041E04CE03048E97D1038002924D000217D
+:10B22000A172B989A1814021C95DE1733946062225
+:10B23000413109F031FDF88BE082388C2083788C25
+:10B2400060830098C07F2077607F400840003043D3
+:10B250006077FEF776FC617F4000C907C90F0143A4
+:10B2600061770120607215E00021A172B989A18186
+:10B270004021C95DE17339460622413109F00CFDD8
+:10B28000F88BE082388C2083788C60830098C07FB4
+:10B29000207701202072114D0020287000F00FF857
+:10B2A000FEF72AF90120696800F055FF39E7607957
+:10B2B000002801D1FEF70AFA00206071F8BD10B530
+:10B2C000FEF74AF9FEF73DF9FEF78BF80020FDF78F
+:10B2D000FCFFFEF7CAF810BD5418002074000020CF
+:10B2E0008107C90E002808DA0007000F0838800817
+:10B2F000FD4A80008018C06904E08008FB4A800095
+:10B3000080180068C8400006800F704710B500F034
+:10B310007BFF10BD70B5F64C0546A26800290DD024
+:10B32000002A04D0FF20F3A14C3009F052FEA560A2
+:10B33000F6F748F80220F6F73FF870BD002A04D16E
+:10B34000FF20ECA1543009F044FE0020A060F6F785
+:10B350003AF80120F6F738F870BDE5481030C07EA5
+:10B36000002801D00020704701207047E0481030CD
+:10B37000C07E7047DE483430C07E70470021C17601
+:10B38000817601600162DA481030C07E002807D162
+:10B39000D7483430C07E002802D1D549012008703A
+:10B3A000704710B50B46C17E847EA14204D0114681
+:10B3B000184607F0B4FB10BDFFF7E0FF10BD38B52D
+:10B3C000CB4C606801684978012924D00121684686
+:10B3D00006F05EF968460078CA49000209F0D6FC1A
+:10B3E00060680268C0685268511807F0B5F9616872
+:10B3F000C860BF49606834310022884215D0018B93
+:10B40000002912D04272032101720271021D017FD4
+:10B41000FFF7C7FF38BD7D21C068C90007F09CF960
+:10B420006168C860B8480861E3E7018B491C018383
+:10B4300002214172E7E7FFB5AD4F02461037386A87
+:10B440003C68056889B060680790A948C1680291A6
+:10B450006B880B98C01A80B208900C98002804D012
+:10B46000264638362046483002E03E1D28466430E5
+:10B47000059003203071002A15D0012A7ED0022ABF
+:10B4800052D0032A7BD09BA1A04809F0A2FD0C98C2
+:10B490000028307974D0032804D09C4895A1093045
+:10B4A00009F097FD40E1002904D1984891A169383D
+:10B4B00009F08FFD9549A88FA839484340180A998B
+:10B4C00000F0A8FEA0619149E88BA83948430A9989
+:10B4D00000F0A0FEE06186488C4AC068A98FA83AB7
+:10B4E000514384464118A069894A091A8A183B21A8
+:10B4F000A262864B495DA83B594341180818FF30AA
+:10B500001630206260626046101AFF38ED2135382F
+:10B51000C9008842BBD27F49884204D27B4875A1CA
+:10B520005C3809F056FDBAE0784AA88FA83AE1687D
+:10B53000504308180A9900F06DFEA0617349E88B2A
+:10B54000A83948430A9900F065FEE0616848C06880
+:10B55000002804D16D4867A1543809F03AFD5820FD
+:10B56000405B6D4A0028A88FE16822D0504308183C
+:10B57000A169401AA0622169A06802E022E051E0BE
+:10B58000CDE04843A169644A40183B21495D5143DD
+:10B5900041180818FF3014302062E88BE1695043ED
+:10B5A000411A0F208001081A60625148A16AC068E0
+:10B5B0006DE050430818A169401A3968D3384968CA
+:10B5C0004018D7E7284640300290008B002801D071
+:10B5D000002904D14D4847A13C3809F0FAFCE88B1A
+:10B5E0004D494843E169401AA062029A138B2269CF
+:10B5F0009B1A9C46A3685343A2699A186346594311
+:10B6000051183B22525D444B5A438A185118FF315E
+:10B61000143121620F218901411A61623449C968DC
+:10B62000401A35E00C98002803D03420005D002833
+:10B6300074D1E88B38494843E169401A0899484376
+:10B64000A062284640300690008B0028079829D039
+:10B65000002804D02D4827A1163809F0BAFC069816
+:10B660002D4A018B08980818E16948434000FF30D3
+:10B6700014302062E88B5043411A0F208001081AD1
+:10B68000606200F0C1FD00281CD0A16A0298081A6F
+:10B69000FF38ED212338C900884200D3F7E60220A5
+:10B6A0003071F4E6002802D00298002804D117482F
+:10B6B00010A11D3809F08DFC0798A16AD33808182D
+:10B6C000A062CCE706F0B1FD7A690146104607F0AA
+:10B6D000D5FFA16A081AFF38ED211E38C90088423B
+:10B6E000DCD201200DB0F0BD00ED00E000E400E090
+:10B6F000D01800207372635C6C6C5F6C6D2E7330BD
+:10B700002E63000010270000B78913008A0500008F
+:10B7100036040000A3020000E20400002AE003282F
+:10B7200002D1FD4807210170A16A786907F014F879
+:10B73000B060616A206A884202D90598016001E020
+:10B74000059908600598F54900680818F060A9880F
+:10B750000B98081A00B2002801DD022000E000204A
+:10B7600070710C9830700C98002805D03420005D62
+:10B77000002801D00220B5E70C9801214840203470
+:10B780006075397F32463846FFF70BFE0020A9E787
+:10B7900010B5E14900284A68116A096807D01268A3
+:10B7A000C98BDF4BD2695943891A09F0EFFA10BDF2
+:10B7B000F8B5D94F35227868016A0C680168525C87
+:10B7C000002A0AD0498E6288914206D1407A002828
+:10B7D00003D1D449D44809F0FCFB06F026FD01460C
+:10B7E0007868406907F04AFFFFF7D2FF79686588FB
+:10B7F0000B682E185A8EB24202DB521C5A8602E0A7
+:10B80000401C2818588608683622125C002A05D188
+:10B81000428E23899A4201D1521C4286088B03280A
+:10B8200002D2401C088302E00868408EA0802046B7
+:10B830004030C18A808A081A6188401E401885B24B
+:10B84000203416E0096AE67F097976004B00B74993
+:10B85000007DCB5A895BC91889B20023FFF7EBFD45
+:10B86000002811D0012810D0AF48AE493A3009F075
+:10B87000B0FB79680868428EAB1A1BB2002BE1DA84
+:10B880000820E07400F00BFEF8BD78680068418E77
+:10B89000491C4186EDE770B51F209F4D002128709F
+:10B8A000E960A868C27E130009F084FC04545403C4
+:10B8B0004654026A14680268117002685160006898
+:10B8C0002030407D002808D106F0AFFCA968096847
+:10B8D000096C07F0D3FE002815DCA86801684A8EC1
+:10B8E00061888A4204D12289511A6181628004E010
+:10B8F000511A61810168498E61800268C1681164D2
+:10B90000C16841610FE0A8680168098E6288891AE0
+:10B9100061810168098E618001680A6CC2600A6CED
+:10B920004261886C6066204601F06DFC00280ED0F4
+:10B930007B487C49BD3808E0C1684161FFF7D4F914
+:10B94000002804D076487749B73809F042FBF5F76C
+:10B9500038FD70BD72487349B038F6E710B56E4ACD
+:10B960000B00526809F026FC0906090F1E0C2D2D4C
+:10B97000082A2D00FFF78FFF10BD00F059FC10BD05
+:10B98000FDF7A9FE10BDD07E022805D0D07E032889
+:10B9900005D0644966480EE0FFF70AFF10BDFFF7C7
+:10B9A0000EFD10BDD07E0228F6D0D07E0328F6D042
+:10B9B0005F485C490B3009F00CFBF0E706F01BFC1C
+:10B9C00010BD23205749000109F003FB10BDF3B55A
+:10B9D00081B0514C029825460026012710350300FE
+:10B9E00009F0E8FB0906313C3C3143433C3C430051
+:10B9F000494801211030FFF78DFC02990198FFF7AB
+:10BA0000ADFFE87E022828D1A0680468006A0668B5
+:10BA100006F0EAFBF18B424A5143E269891AD339B5
+:10BA2000FF223232E162904202D24248081802E01C
+:10BA3000081A41494018E0624048E16A814200D852
+:10BA40000846E06206E001460198FFF787FFE87EBE
+:10BA5000022802D1286820300775FEBD01466560C6
+:10BA60000198FFF77BFF6660FEBDFF202D49C130C6
+:10BA700009F0AFFAFEBDF8B5064627480D4600248A
+:10BA80003430254F0B0009F095FB09060C10100C03
+:10BA9000161610101600204801213430FFF73AFC2A
+:10BAA00029463046FFF75AFFF8BD78603046FFF769
+:10BAB00055FF7C60F8BDFF201A49F53009F089FA7E
+:10BAC000F8BDF0B5144C0020616885B003268E7671
+:10BAD000CA7E0746032A03D0C97E00293FD03FE033
+:10BAE000087F002804D112480E49D93009F071FAB4
+:10BAF0006068057F684606710221417106F095FB7A
+:10BB00000290FF20F53003900121684601706946DC
+:10BB1000284607F004F814E0D0180020EF160000C3
+:10BB2000E2040000F4B6000074060000FC510100BD
+:10BB30001602000084F8FFFFB5F9FFFF161200009F
+:10BB400020BF6068007F07F025FE0028F8D06068FD
+:10BB5000007F06F050FB60680777FFF70FFC0120BD
+:10BB600061688F7605B0BEE5FD494A68907600E0D1
+:10BB700020BF4A68D07E002803D0D07E937E9842B2
+:10BB8000F6D0D07E002803D00020002191767047A7
+:10BB90000120FAE770B5F24900241031CA7EF04D59
+:10BBA000032A03D02431CA7E032A17D169600028F2
+:10BBB00010D001280AD0EB49EB4809F00AFA00201E
+:10BBC0006968002C0860686008D070BD0320FFF72A
+:10BBD000CBFF01E0FFF775FF0446F0E70C2070BDD6
+:10BBE000F8B5DF4F04461F25E67E330009F0E2FA80
+:10BBF000042A20031B20DA481030844203D0D9499C
+:10BC0000DA4809F0E6F902207C60FFF7ADFF002872
+:10BC100005D07968002008600862786012E00C2581
+:10BC2000002078600BE00120FFF7B4FF054604E038
+:10BC3000CE48CC490C3009F0CCF9002D02D0E07E82
+:10BC4000B042D1D1E07E002804D0C848C5491230A6
+:10BC500009F0BFF9F8BDC24810B51030FFF7C0FFBA
+:10BC6000BF483430FFF7BCFFBD490020583108758C
+:10BC7000BF494870BA49103148610A4624325061C0
+:10BC800088769076012210390A708860486010BD6D
+:10BC900070B504460120FFF723FBC5B20B20FFF768
+:10BCA0001FFBC0B2854204D0B048AE49343809F019
+:10BCB00090F90120FFF714FBC5B21820FFF710FB25
+:10BCC000C0B2854204D0A948A649333809F081F9A9
+:10BCD0000420C043FFF704FBC5B21920FFF700FBA7
+:10BCE000C0B2854204D0A1489E49323809F071F9AA
+:10BCF0009F489B490C38047000201031C876887624
+:10BD00000A462432D0769076994B0124083B1C7168
+:10BD100018600862106208601060FFF79CFF70BD39
+:10BD20008F48007870479249083908717047F3B519
+:10BD30000D468B4983B01031CA7E08462430884CAA
+:10BD4000002A02D1C27E002A03D0C97E022903D074
+:10BD500005E08848616006E0C17E002901D00C2022
+:10BD600000E76060844806F0F2F96168087760686F
+:10BD70007F490160007F002804D17B4879496238FF
+:10BD800009F027F906F030FA7C49884200D20846CB
+:10BD9000FF30C83086B260680321C1760027012DCC
+:10BDA0002FD0724A0399121D5143026851600068F6
+:10BDB00001210170684605F06BFC68460078704907
+:10BDC000000208F0E3FF019106F02FFA01997118C3
+:10BDD00006F0C2FC6168032DC86021D06948086183
+:10BDE000606803210172022141720771021D017F07
+:10BDF000FFF7D7FA6068078307202070002067608C
+:10BE0000B0E606F012FA314606F0A6FC6168C8609A
+:10BE10005D48086108680770096801204870DFE71D
+:10BE20005A48DCE77047F8B54D4E1036F17E0029D0
+:10BE300004D131462431C97E002901D00C20F8BD3F
+:10BE40000221F176464C4A4F5834083F376234603D
+:10BE5000002538602575397920304A004C49C07F6B
+:10BE60008A5A4000085A2B46101881B22A462846A2
+:10BE7000FFF7E1FA002804D03B483A49323009F094
+:10BE8000A8F825610120A5602075658625863448BF
+:10BE90007830857539684888401E48803583002091
+:10BEA000F8BD10B52E4901248868827E032A0CD083
+:10BEB00000684078002806D0C8683649884202D910
+:10BEC0000024FFF70DF8204610BD0024FBE72448AE
+:10BED000826813681978491C1970C1681068C26AB1
+:10BEE000914204D8007D012801D001207047002034
+:10BEF000704700207047F8B51948194C1030606041
+:10BF0000016A00260D68006834212F460E54403720
+:10BF1000B97C002963D1007D032860D106F085F942
+:10BF200001466068406907F0A9FB002857DDFFF76C
+:10BF30002FFC6988401C41186068026811860068FF
+:10BF40002989028E91424AD9012120308175F88ACF
+:10BF5000B98A401A6988401E401887B238E000004C
+:10BF6000D0180020F4B600008D0300006D02000020
+:10BF700088000020CFB9000077BA0000F605000065
+:10BF800010270000CB120000B7891300B70800008B
+:10BF9000FC5101002E841300096A09794A00CD4939
+:10BFA0008B5A028E007D94463F22525D5200895A80
+:10BFB000C91889B201236246FFF73DFA00280ED066
+:10BFC00001280ED002280AD0C349C44809F001F85C
+:10BFD00061680868028EBA1A12B2002ADCDA66605A
+:10BFE000F8BD60680068018E491C0186F0E7F8B56D
+:10BFF000BB4D0026AA680128116A0C6810D00720E2
+:10C00000287006F05DF8B7480078F6F7AFFDA8682D
+:10C010000683026861885186006820308675F8BD05
+:10C02000087913684100AB481F7D415A032F18D08F
+:10C030001A7D022A22D01A7D012AE2D13F231B5DFC
+:10C0400022895B00C05A0023401881B20120FFF70B
+:10C05000F2F90028D5D0A1489F49B53008F0B9FFC2
+:10C06000CFE71E6112683F2396601B5D22895B004B
+:10C07000C05A0023401881B20320E8E75822125B1F
+:10C080001A613F231B5D22895B00C05A00234018C0
+:10C0900081B20220FFF7CFF9AA6801211268117559
+:10C0A000D7E738B58E4C0021A0680D46006842786D
+:10C0B000002A01D045701FE00078002809D0012136
+:10C0C000684605F0E5FA684600788749000208F0FE
+:10C0D0005DFEA0680268C0685268511806F03CFB1B
+:10C0E0000146A068C160057102214172021D017FF5
+:10C0F000FFF757F9A068058305F0E2FF794800785B
+:10C10000F6F734FD38BD10B50146754A0B0090684E
+:10C1100009F050F8060D150408190C1C012100F057
+:10C12000A6F807E00021506800F0A1F810BD01203A
+:10C13000FFF75DFF00210846FFF7ECF810BD00682F
+:10C140000321017510BD00F0A5F810BD62496748D4
+:10C1500008F03FFF10BD70B5614C002809D00128E0
+:10C1600016D0022821D061485B49243008F031FF05
+:10C1700070BDFFF796FF00210846FFF7CBF8A068D7
+:10C18000807E002801D01F2000E00720207070BDB5
+:10C19000A068002501684D70FFF7F0F80320F6F75E
+:10C1A00023FC05F08DFFA56070BDFFF77AFFA06846
+:10C1B000FFF7E4F800210846FFF7ACF80420F6F793
+:10C1C00013FC70BD46498968CA7E022A08D10A68F4
+:10C1D0001378002B04D150600968CA6A1018C8622D
+:10C1E000704710B53E4A00290CD0012907D002291A
+:10C1F00007D03E483849443008F0EBFE10BD401EE1
+:10C2000000E0401FD06010BD35488068002800D095
+:10C210000120704710B504460020002907D034489B
+:10C2200008F0B4FD0146204608F0B0FD401C10BDEA
+:10C2300010B52B488068C07E030008F0BBFF0414D3
+:10C2400014030A1401F0F2F800280BD022492948FF
+:10C2500006E0FEF725FE002804D026481E49001DF2
+:10C2600008F0B7FE10BD23481B490B30F8E710B5A6
+:10C270000446002903D00020FFF7B9FE03E0194867
+:10C280000078F6F773FC2046FFF778F80020F6F701
+:10C29000ABFB10BD10B512488268106A11680068C7
+:10C2A000CB698B60134BC18B9B3359431368D960A7
+:10C2B0000146E0314B8883870C783B231C548B88E4
+:10C2C000C383CB88038409894184116802200875DF
+:10C2D00010BD0000FC510100F4B600005A06000039
+:10C2E000D01800207C00002010270000B2070000BA
+:10C2F00040420F0047040000F8B5FEF702FA064678
+:10C30000FEF770FAF94D07466879F94C002809D014
+:10C31000012823D0022826D003282ED0FF20F5A103
+:10C32000C63033E0F2481830FEF748FA002801D052
+:10C3300003200FE0EE481830FEF7ACF9002804D0D7
+:10C3400060696030007A002806D0E9481830FEF7AE
+:10C3500008FA012068711BE00220FBE7E44818306E
+:10C36000FEF7FFF914E0E2481830FEF793F90028D1
+:10C370000ED1FF20DFA1B83008E0DD481830FEF70D
+:10C380001DFA002804D1FF20DAA1C03008F021FEF8
+:10C39000A169F722087810400870AA79D207120F15
+:10C3A0001043FB2210400870EA79D207520F104365
+:10C3B00008706B79EF22022B04D0012B07D0032BDE
+:10C3C00007D00CE0012E06D8002F04D007E07F1E16
+:10C3D0003E43002E03D010401022104300E01040D6
+:10C3E0000870287C002811D0687901280ED0BF4839
+:10C3F0005438FDF786F8BD49606954397830A26930
+:10C40000FDF7E3FA0020FDF7EFFA04E00846FDF738
+:10C4100078F8FDF70CFBA0690078C00606D4E06947
+:10C420000078C00602D4E079002802D0A079002864
+:10C4300001D0012000E00320FCF747FF032020701B
+:10C4400001202071F8BDAA4810B51C30FEF7DDF9B7
+:10C45000A74C002802D00020607004E0012060702A
+:10C46000A2485438E061A148407C002802D060789E
+:10C47000002805D0E069FDF744F8FDF7D8FA10BDB3
+:10C480009A485438FDF73DF8984A6069543AA0300C
+:10C49000E169FDF79AFA0120FDF7A6FA10BD10B583
+:10C4A00093490022486932238276C27601221A54C7
+:10C4B0004030807C002803D00A700021022001E077
+:10C4C00000210320FFF71FFE10BD70B5884C607976
+:10C4D000C2062046416908464030002A01DA00229F
+:10C4E00002E0028B4B89D2180B460283C0331A7EBE
+:10C4F000002A03D0828B4D8952198283627A002AE6
+:10C5000003D03D2001F0C9F852E08A7E032A4FD0C3
+:10C51000227A002A13D0500701D4D00601D51E205C
+:10C5200036E0100701D53D2032E0D00705D1900755
+:10C5300003D470A1734808F04CFD2A2028E0603134
+:10C540008A78002A05D0C28B551CC5830D88AA4263
+:10C550000FD25A7F062A02D01A7F062A05D1428BB3
+:10C56000531C438309888A4203D2828BC18A8A4240
+:10C5700001D322200CE0027C808A002A0FD00628FA
+:10C580000FD35A48C07B012801D03E2000E008208C
+:10C5900001F083F86069807E032809D001E08842B9
+:10C5A000F5D20120207000210846FFF7ACFD70BDD8
+:10C5B000FFF775FF70BD10B54C494D48CA7B002A86
+:10C5C0002BD0012A29D0022A27D0032A04D049A13E
+:10C5D0004D4808F0FEFC10BD897B02290FD00729C9
+:10C5E0001BD0406901464031CA8A898A511A891E86
+:10C5F00089B2032900D30321028951180BE0406955
+:10C60000014640318A8A032A01D2018903E0428827
+:10C61000C98A5118491C818010BD4069F5E700B5F1
+:10C62000030008F0C7FD0604070B0F1212170029BC
+:10C630000ED00FE0491E02290AD90BE0491F01293B
+:10C6400006D907E0072903D004E00A390C2901D8EC
+:10C65000012000BD002000BDFEB50546244818306D
+:10C66000FEF78DF8002804D1274822A1CF3808F022
+:10C67000B0FC1F4CA069FDF703FC0321A069FDF786
+:10C680002DFCA069EF220178114001702946FDF7C9
+:10C6900069FC002601272B0008F08CFD0E5D5D086B
+:10C6A0005D1D6161155D4D5D613D385D60697121A4
+:10C6B000095C002901D0062101E0C030417EA0695B
+:10C6C000FDF71BFD4BE0E069FDF776FC0146A06934
+:10C6D000FDF784FD43E06169A069D031FDF747FDB6
+:10C6E0006169A0699531FDF750FD38E0C819002057
+:10C6F000900000207372635C6C6C5F736C61766594
+:10C700002E6300006B020000780800000621A0697B
+:10C71000FDF760FD23E020690178A069FDF744FD85
+:10C7200020698188A069FDF741FD20694188A069E1
+:10C73000FDF740FD13E00096019660696030007CD3
+:10C74000002803D069460878384308706946A06914
+:10C75000FDF756FD03E0FE49FE4808F03AFCFEF7FF
+:10C7600018F8002804D1FB48F949801D08F031FC75
+:10C770000C2D07D0072D04D060695E210E52603069
+:10C780008770FEBD606940304683FEBDF0B5F24C57
+:10C79000DC2061698DB0405C042809D0052834D1C3
+:10C7A0006031487A002829D001204874022026E010
+:10C7B0001022EA31684600F0A8FF61691022C831F2
+:10C7C00004A800F0A2FF684605F0BBF8616908AA5A
+:10C7D0006CCA0F46CB6778378A670846FE608030A0
+:10C7E000BD60074620376CC7002303634363012005
+:10C7F000A0310876D9494874052000E00D20FFF7E4
+:10C800002BFF61690020C03108770DB0F0BDF8B58D
+:10C81000D1481830FDF7B3FF002842D0CE4C207A23
+:10C8200000283ED160690025C030007ECB4E002834
+:10C830000BD0B17B0120FFF7F2FE002805D1B17BC0
+:10C840000420FFF7ECFE002806D060690127C03005
+:10C85000407F062807D00CE060695C210D526030F3
+:10C86000457402202FE0B17B0420FFF7D8FE00289A
+:10C8700010D0B07B030008F09DFC173F3F3F3F1EE8
+:10C880003F3F3F3D3F203F3F3F292C3F3F3F3F3F02
+:10C890003F2F3F0060696A21095CC90702D0C030A0
+:10C8A0004577F8BD0C20FFF7D7FE60696030817ACC
+:10C8B00039438172F8BD072005E0FDF7D0FF00285D
+:10C8C000F8D075740B20FFF7C7FEF8BD00F02CFF01
+:10C8D000F8BDFFF75BFFF8BD606900218030816023
+:10C8E000C160057437740620FFF7B6FE60696030DA
+:10C8F0008570F8BD0920E6E700F0D8FEF8BD70B5F8
+:10C90000964DA87B072834D1934CDE22606941887C
+:10C91000125A491C91422CD1217A002929D1014671
+:10C92000E0318B88C28B934207D1CA88068CB24211
+:10C9300003D10A89468CB2420DD0884A8689303AA2
+:10C9400056819381CB88D3810989118201462E318A
+:10C9500051600121117001221146FDF79FFC002159
+:10C960000420FFF7D0FB61690020C0314877A8732D
+:10C97000E87370BD70B5794CA07B162803D074495C
+:10C98000774808F026FB74480021426973486032FA
+:10C99000117291703038067E0B250123002E06D0CF
+:10C9A000027D002A12D14575817503750EE0567A15
+:10C9B000002E06D051722288828381760C22027664
+:10C9C00004E022888283817683770576A17370BD27
+:10C9D000F8B5614DA879800723D5287A002820D1A1
+:10C9E0005E4C0120A17BFFF71AFE002819D1A8692F
+:10C9F0000127C0780026030008F0DCFB0E62620805
+:10CA0000622E3B4F0A62146220524562022021E0EE
+:10CA1000A07B042804D052484D49333808F0D9FA95
+:10CA2000A673F8BDA07B082804D04D4848492D388E
+:10CA300008F0CFFA686960308670F1E7A07B0A28B9
+:10CA400004D047484249263808F0C3FA6869603084
+:10CA500007720B20A073F8BDA07B0E2804D0AB207A
+:10CA60003B49C00008F0B5FA6869603007720F20D2
+:10CA7000F0E7A07B0F2804D039483549183808F072
+:10CA8000A8FA1120E6E7A07B0F2804D034483049EB
+:10CA9000123808F09EFA1320DCE7FFF76BFFF8BDB1
+:10CAA00069690846C0310A7F062A04D16030807A5D
+:10CAB000800700D50E77487F0628F0D14E77F8BD65
+:10CAC000274823496E3008F084FAF8BD10B5234C8E
+:10CAD0000020A17BFFF7A3FD002804D11E480122FE
+:10CAE000017A114301720420A07310BD10B51A4CD5
+:10CAF00060690146C0314A7F002A06D0097F0629B5
+:10CB000003D0217A0122114321726030807A80079C
+:10CB100015D4E069FDF752FB61696031C872E069C4
+:10CB2000FDF74EFB616960318881E069FDF74DFBDF
+:10CB3000616902226031C881887A10438872606915
+:10CB400000220146C0310B7F062B00D10A7709E095
+:10CB5000F4C60000ED07000090000020C819002076
+:10CB6000770500006A231B5CDB0703D106234B77A4
+:10CB70004030428310BDF8B5FE48817B0020FFF7AE
+:10CB80004EFDFD4C0126002807D160696030407AD7
+:10CB9000002802D1207A30432072616900255E208E
+:10CBA000455262204654C831E069FDF7C8FA616910
+:10CBB000E0699131FDF7D2FA6169042208469131AA
+:10CBC000B93008F069F8EB483038017E08270029B1
+:10CBD00006D0017D002912D14775857506750EE0D6
+:10CBE0006169054689894183E249E0691439FDF7A5
+:10CBF0008EFAE049E0690C39FDF796FA2F76DD48A8
+:10CC00000E218173F8BD70B5DA4D0020A97BFFF7C6
+:10CC100006FDD94C002803D1207A01210843207257
+:10CC2000E069FDF730FA00280ED0E069FDF726FA3A
+:10CC30006169DE225052498800F0C1FD002806D00B
+:10CC4000282000F02AFD70BDFFF740FF70BDE069AD
+:10CC5000FDF70EFA6169E0310870E069FDF701FA4D
+:10CC60006169E0314880E069FDF7E0F96169E03130
+:10CC70008880E069FDF7E3F96169E031C880E06927
+:10CC8000FDF7E6F96169E03108810720A87370BDFE
+:10CC9000F8B5B94CA079C0076FD0207A00286CD1C4
+:10CCA000B44D0120A97BFFF7BAFC002853D1E069FD
+:10CCB0000027C178022201260B0008F07BFA0D162E
+:10CCC0001308354A4A384C474A1929444A00FDF7A7
+:10CCD00016FA6169DA225054AE735E204752603111
+:10CCE0008E7038E000F076FD35E0FFF78CFF32E023
+:10CCF000A97B0020FFF793FC002802D1207A304363
+:10CD0000207260695E210F52603086700A2018E040
+:10CD1000A87B0B2802D0207A104320722F74606900
+:10CD2000603046720C200CE0FFF725FF13E0A87B73
+:10CD3000112802D0207A1043207260696030877019
+:10CD40001620A87307E0FFF7D1FE04E000F00FFD06
+:10CD500001E0FFF7BBFEFDF76EFD002804D14F2078
+:10CD60008649000108F035F9606900238030016BC5
+:10CD7000426B491C5A4142630163F8BDF8B57D4FCF
+:10CD8000012814D1787C002802D1387C002801D0F9
+:10CD9000FCF74DFEFCF7E0FBFCF7D3FB0020FCF7B3
+:10CDA00094FAFCF71EFBFCF760FBFCF7A5FBF87B95
+:10CDB00001260025704C00280FD16079C10705D0ED
+:10CDC0000220F87360694030057402E0800717D5CF
+:10CDD000FE7300210120FFF796F9F87B012802D0AD
+:10CDE000022808D00CE06079C00709D00220F8734F
+:10CDF0006069403005746079000701D50320F8733D
+:10CE000000F018FDFFF703FD2079002801D03D81D7
+:10CE100002E03889401C38816079C007606904D01D
+:10CE200072210D544030858203E04030818A491CD4
+:10CE30008182E079002806D061696031887C02280F
+:10CE400006D8401C887460696030807C022804D950
+:10CE50003D817D81606960308574B97B0020FFF77A
+:10CE6000DEFB002802D1B87B06284BD16069014661
+:10CE7000C0310A7F062A45D0497F062942D03D4964
+:10CE8000C97B03293ED16030807C00283AD1FDF770
+:10CE90002FFC002836D0FDF7A5FC002832D06169B0
+:10CEA000C88801282ED90A4640325674D08A978AFB
+:10CEB000831E9F4201DB012002E0C01B401E80B2A6
+:10CEC0002C4B1F89A3899F4201D3012302E0DB1B66
+:10CED0005B1C9BB2984200D91846012800D15574BA
+:10CEE0002A22525C002A11D0224A898D52898A4214
+:10CEF00001D3012102E0891A491C89B2884205D96F
+:10CF0000084603E06169012040314D7461694A8837
+:10CF100010180881FFF74FFB6069122215490C3089
+:10CF200007F0BAFEFFF7D1FAFEF7E3FF00280AD0B8
+:10CF3000104810388179002905D161690246898934
+:10CF4000203A118586710C481C30FDF7BCFC002886
+:10CF50000FD0E06900788007800F012809D00228EF
+:10CF600007D0FDF7D0FC002803D10449044808F09D
+:10CF700030F807E0C819002090000020F4C6000037
+:10CF80007F030000606940308574F8BD70B5FE4CC9
+:10CF9000607900283CD0FD4D022810D1FDF789FBB7
+:10CFA000002803D1FA49FB4808F013F86A69002306
+:10CFB00080329068D168401C5941D1609060002651
+:10CFC00066712079012804D12671A87910210843BF
+:10CFD000A871E078012816D1E670A87908210843E5
+:10CFE000A871FDF7F5FB002804D1EA48E84918309C
+:10CFF00007F0EFFF6969002380318A68C868521C16
+:10D0000058418A60C860A079012802D00120A0712F
+:10D0100070BDA67170BDF8B5DC4CDB4DE269002730
+:10D020001078042183079B0FE8790126012B11D08A
+:10D03000022B0FD0032B01D0207A30E06178002939
+:10D0400005D1AE70A1793143A17123E0EF71F8BD34
+:10D05000EE71F8BD5278D3061CD060780028F8D164
+:10D06000D006C00E1B2818D8607908436071FDF700
+:10D07000E2FB002804D1C748C5494B3007F0A9FF9F
+:10D08000606900238030026B416B521C594102637E
+:10D090004163E8790128DBD1D8E7207A10210843E1
+:10D0A0002072F8BDF8B5B84D0446303D287D002704
+:10D0B00000280AD0002978D1677010202070687D80
+:10D0C000A070A87DE0702F756FE02878002814D03C
+:10D0D00000296AD1072067702E462070083607E0C5
+:10D0E000686807802F700A223146A01C07F0D4FD23
+:10D0F00028780028F4D1A77057E0287EA24E143E6D
+:10D10000002837D0002950D1297EA0480B0008F014
+:10D1100051F80D2C2C2C2C2C2C2C2C112C2C2008C8
+:10D120002C0067700C212170A97EA1704069808954
+:10D13000A08018E008216770217040690A46808944
+:10D14000914960801439201D07F0A6FD3089A08127
+:10D1500009E067700B212170A97EA1704069808968
+:10D16000A080A87FA0712F761FE089498A4807F028
+:10D1700030FF1AE0844810388279002A08D000294C
+:10D1800013D1677011212170B189618087710CE022
+:10D19000827A002A0BD0002907D1677012212170F2
+:10D1A000318A6180718AA18087720120F8BD0020D8
+:10D1B000F8BD76480078012801D00C2070477249EC
+:10D1C0000020303908700875087620318871704762
+:10D1D00070B56E4C064620780D46002804D093208A
+:10D1E0006B49000107F0F5FE01202661E07225621F
+:10D1F0002070FFF7DEFF002804D0674864494930FB
+:10D2000007F0E7FE70BDF8B5604C2178012902D126
+:10D210002178012901D00C20F8BD01460546606146
+:10D2200012220C31584807F037FD01274035AF7402
+:10D23000554D2888FDF723FA002827D02888FDF7C8
+:10D24000D9FA002822D02888FDF78EFA00281DD0B0
+:10D250002888FDF7A8FA002818D0FCF742F9606981
+:10D260000026C088002825D048481830FDF787FAE6
+:10D2700000281FD06069C030007E00281AD0A97B2A
+:10D280000120FFF7CCF9002802D013E01220F8BDEE
+:10D29000A97B0420FFF7C3F900280BD16069014680
+:10D2A0004030868360314E740220FFF7D5F9606903
+:10D2B00040304674344830380078002806D1606920
+:10D2C000C18D008C814201D9A18102E06069008C8E
+:10D2D000A08160694189491E8AB2298989182981FA
+:10D2E000297B002902D06E812E7302E0698989189A
+:10D2F0006981014640318B8A9B188B82C388012B40
+:10D3000001D85B1CC380002A01D060308674A87BE2
+:10D31000032816D0487C002815D02889A189884286
+:10D3200011D2FDF7E5F900280DD060692A21095CCA
+:10D3300000290BD06989808D814207D3A670E770E0
+:10D340000CE0A7700AE0A670E67007E0688900218B
+:10D35000401C6881A7700520FEF7D5FE6069512149
+:10D360000E54A97B052901D0062920D1DE2142884F
+:10D37000095A511A09B2002919DB01460522E03188
+:10D380002430F3F721FF09E0C819002090000020A5
+:10D39000F4C6000039070000F10800000122022154
+:10D3A0006069FCF77BFF6069C0304677AE736069E7
+:10D3B0004189FDF728F8A07800282AD1606920303B
+:10D3C000807A002800D06E810120FBF788FE60691A
+:10D3D0003830FCF73EF860693430FBF751FF216AC2
+:10D3E00000200856FBF718FF0120FCF777F8FBF741
+:10D3F000D1FEFCF76FF80120FBF7B1FF6069406ECA
+:10D40000FCF782F8FFF71FF860694030C07BFBF73C
+:10D4100040FF6671E671A6712672A6726672267169
+:10D4200002202070FCF768F80020F8BD10B5F74C1A
+:10D430002078022801D00C2010BDA078002803D04D
+:10D440000020FFF79BFC17E0FCF74BF800F01DF9FC
+:10D4500060692030007C012809D0FCF79FF8FBF7B9
+:10D460009EFEF3F7AEFFE07A012803D004E0FCF75C
+:10D470009DF8F4E7F5F7CCFD002010BDE349C87234
+:10D48000704710B5E14C2078032803D0E049E1480B
+:10D4900007F09FFDE04801218278002A06D0002293
+:10D4A00082700171A27904231A43A271A2691378D0
+:10D4B000DB439B0707D1C378002B04D1C170A0794F
+:10D4C00002210843A0711078C00606D4E0690078F4
+:10D4D000C00602D4E07900280CD06078002809D179
+:10D4E000A079002806D1FEF7F2FC002802D0207AAD
+:10D4F000002803D00120FFF741FC03E0FEF7A3FF63
+:10D5000000F0C3F82078012806D0F3F75AFFE07A3C
+:10D51000012801D1FCF7DAF810BD38B5BB4C6069C1
+:10D520002030007C012820D1A07A00281DD1684637
+:10D53000FCF744F8002818D061693120405C0128CC
+:10D5400010D1B54A0D236D460020D356285683428C
+:10D5500008D050738989303A9185114620318873FB
+:10D5600001208872A07A401CA07238BD70B5A74C0B
+:10D5700006462078042804D0A648A549553007F06F
+:10D5800028FD607910210843A34D6071002E47D01B
+:10D59000FCF765FA61780126084300280ED1687C03
+:10D5A00000280BD0E0694178C90607D00078E979F6
+:10D5B0000007C00F884201D1667247E0E07800287A
+:10D5C00009D0E0694178C90605D10078C00602D4C7
+:10D5D000FFF7A3FF3AE0FFF7A0FFE069A979007821
+:10D5E0004007C00F884205D0FFF7D0FC60790821C2
+:10D5F00008436071E069E97900780007C00F88424C
+:10D6000001D1FFF708FD6079304360710020E071BF
+:10D61000A079000702D5A87B022817D0207A13E052
+:10D62000022108436071E079401CC0B2E07101281A
+:10D630000CD8687C00280DD0774854384078C10653
+:10D64000C90E052906D2C006002803D00120FFF725
+:10D6500095FB01E0FEF750FE2078012806D0F3F795
+:10D66000B0FEE07A012801D1FCF730F870BD10B5AA
+:10D6700066480078042804D066486549B73007F04A
+:10D68000A8FC0120FFF77AFB10BD10B50720FBF7BF
+:10D690001CFE5E490420087010BD5C4933224969B4
+:10D6A00050545D4A032090738876704710B5574CEC
+:10D6B0006069C030007F00281CD0062806D056487C
+:10D6C000817B0020FEF7ABFF002813D06069014684
+:10D6D000C0310A7F130007F06DFD070D0D0D0D0D14
+:10D6E0000D050D006030807AC20704D0C04380076A
+:10D6F00000D1087710BD0C20FEF7AEFF6069012253
+:10D700006030817A1143817210BD10B5002A0AD0B1
+:10D71000002306E0D41A6418203CE47FC4545B1C48
+:10D72000DBB29342F6D310BD10B503F0B0FF0C2866
+:10D730001CD3364C08216069D03003F0A9FF0028C3
+:10D7400006D060690421953003F0A2FF002803D1C0
+:10D750002F49324807F03DFC6169042208469531A3
+:10D76000BD3007F099FA0420FEF776FF10BD7CB5B6
+:10D77000294E0020B17BFEF752FF0125234C0028E3
+:10D7800002D1207A284320726946E069FCF73EFD09
+:10D79000684600780021C207D20F684602706069AF
+:10D7A000002A02D06030057401E0603001746069C5
+:10D7B0005E221152603085700820B0737CBD401A23
+:10D7C000174900B2884201DC002801DC01207047C3
+:10D7D0000020704770B5104D0020A97BFEF71FFF99
+:10D7E0000A4C002803D1207A012108432072E06905
+:10D7F000FCF77EFC6169DE2250524988FFF7DFFFAB
+:10D8000000280FD02820FFF748FF70BD90000020AF
+:10D81000F4C60000330A0000C819002062060000A8
+:10D82000FE7F00006169E069E031FCF755FC0520EE
+:10D83000A873EAE770B500F047F8384C384D6079C6
+:10D84000400709D5A97B0520FEF7E9FE002803D093
+:10D85000207A082108432072FFF71AFA00F012F824
+:10D86000FFF7B6F8A079C00609D5A87B030007F03A
+:10D87000A1FC06060606060604060620A873FFF7A6
+:10D880003EF8C2E710B525488179490714D5017AD9
+:10D89000002911D12249897B0B0007F08BFC080D70
+:10D8A000050D0D0D0E0D100D4069002262210A5468
+:10D8B000C030807EFFF7F1FE10BD012100E00221A3
+:10D8C0004069C030417710BD10B51448817909070F
+:10D8D0001DD5017A00291AD1114A947B230007F043
+:10D8E00069FC1416160B16161616161616161616AC
+:10D8F0001616161616161716406960308170407C91
+:10D90000002801D0062000E01620FFF7C6FE10BD5B
+:10D910004069603001728170917310BD90000020E9
+:10D92000C819002010B5031D03600020521E04E03A
+:10D930005C181C60401C2346C0B29042F8DB0020FB
+:10D94000186010BD01460A680020002A02D0104667
+:10D9500012680A60704702680A6001607047000040
+:10D9600000B51A2822D00ADC030007F023FC0D11B1
+:10D970001F131F1F191915171F1F1F1B1F002A28F0
+:10D9800014DD3A38030007F015FC030F11091100EC
+:10D99000002000BD1E4800BD042000BD0D2000BDBC
+:10D9A0000F2000BD082000BD112000BD032000BDD8
+:10D9B00010B50C46F4F784FF00281AD02046F4F77F
+:10D9C00084F9002812D020780E280BD00F2809D017
+:10D9D000022807D0032805D00EA1772007F0F9FA16
+:10D9E000002010BDA078FFF7BBFF10BD09A17D206E
+:10D9F000F4E708A18320F1E710B5F4F7EDF810BDC6
+:10DA000010B5F4F762F910BD10B5F4F744F910BD84
+:10DA1000023000007372635C686F73745F686369DF
+:10DA20002E630000F0B597B00021032004F082F9C6
+:10DA30000025FE4E022775807574347C12E0F06874
+:10DA4000E1004018818800290CD0858069460F705C
+:10DA50004D7001680291808869468880002168467F
+:10DA6000F8F702FD2046641EE4B20028E7D117B0A3
+:10DA7000F0BDEE4BD86019741A80D3E7EB49EC4B3C
+:10DA80004A8800201A4200D00120497C002901D098
+:10DA9000082108437047F7B504460E460078012177
+:10DAA000E34A8140521C114098B0E04A00915188ED
+:10DAB000E04B994205D0009B002B05D0DC4B19426E
+:10DAC00002D001201BB0F0BD009BD84A1943518001
+:10DAD0001A9D002D11D00020287022781A98002756
+:10DAE000401C130007F066FB10EF0D152137555D44
+:10DAF0006A39AFAB85B3EEEDECEF0B28EDD0042027
+:10DB0000E0E702212970A1880170090A4170032011
+:10DB100093E004212970A1880170090A4170E1880D
+:10DB20008170090AC170052087E006212970A1884B
+:10DB30000170090A4170E1888170090AC170218968
+:10DB40000171090A4171A289E81D216907F0A4F851
+:10DB5000A089C01D71E0082129702178082901D110
+:10DB600010212970A1880170090A4170E188817033
+:10DB7000090AC1700520308020466A1D01A90830BD
+:10DB800003F0CFFB00287DD1694630880979401821
+:10DB900053E00A212970A1880170090A417003200D
+:10DBA0000AE00C212970A1880170090A4170E188FE
+:10DBB0008170090AC170052030809DE0A0888446EC
+:10DBC0004000401C81B2308888425BD3052959D37C
+:10DBD0000E202870002008E0A36842009B5A5219CA
+:10DBE00053701B0A401C937080B26045F4D331809F
+:10DBF000B6E08E49487C002873D0401E4874C8683F
+:10DC000021790822C9004518A988286840180838D1
+:10DC1000A16807F041F802216846017100214171B5
+:10DC200028680390A98868460181002101A8F8F7B7
+:10DC30001BFC0020A880002E00D0308090E02978C6
+:10DC400080221143297029784022114329702978B4
+:10DC50008909890112312970A1880170090A41706E
+:10DC6000E288E81CA16807F017F8E088C01C308043
+:10DC70002878410640D5C00972D00121684601715B
+:10DC8000002100E02BE041713188ED1C091D01816C
+:10DC90001A980390E08840190490001D634D059088
+:10DCA000297C68460176002101A8F8F7DDFB0746CC
+:10DCB00030880C303080022F06D0002F50D060E02A
+:10DCC0003CE032E01CE059E06946097EE868CA00A1
+:10DCD00080182A7C914202D28188002902D0042730
+:10DCE0004FE02EE0697C491C69741A990160318803
+:10DCF00081800020308044E04C48A188C1802FE022
+:10DD000029788909890116312970A1880170090AC9
+:10DD10004170E1888170090AC1702289681DE1683B
+:10DD200006F0BAFF2089401D46E728788009800167
+:10DD3000183028702079687002207EE73B480A047A
+:10DD400001D405271DE00289A3889A4201D0062745
+:10DD500017E01E222A70012249043280490C4180BA
+:10DD6000009800280DD0314D0022288811468300EC
+:10DD7000032003F03AFF2078287107E0002030806C
+:10DD800003272A48009942888A434280384699E608
+:10DD9000F7B59AB002000C4606D0172A04D82348DB
+:10DDA000244B4088984202D107201DB0F0BD237853
+:10DDB0005D0601D4DB0901D00820F6E700236D469B
+:10DDC0002B706B701D462378611C9F06931E189361
+:10DDD000531E19939BB2169302AB1793134BBF0EAE
+:10DDE000DE883B0007F0E6F9208511F15EF16BF16A
+:10DDF000A3F1C6F1F2F1FBF1EEF1EDF1ECF1F1F18D
+:10DE0000EBF1EAF1E9F1E8F185F1052A71D104229B
+:10DE100069460A7005490A7969460A71E178A3786A
+:10DE20000A021A436946CA80227905E0DC190020FB
+:10DE3000FE710000FFFF00004A7061788906890EBC
+:10DE40000C2923D009DC891E0B0007F0B3F9091354
+:10DE500052155219521B521D520012291CD004DCBB
+:10DE60000E2915D01029D1D114E0162916D0182961
+:10DE7000CCD115E0800700E04007002839DA2AE11C
+:10DE80000007FAE7C006F8E78006F6E74006F4E781
+:10DE90000006F2E7C005F0E7C004EEE78004ECE717
+:10DEA0004004EAE7800724D5032AAFD105206A465B
+:10DEB0001070487809780002084390800BE1400711
+:10DEC000F1D5062A15D31898617880B2012902D0BD
+:10DED00002299BD101E0022700E0102706226946B3
+:10DEE0000A7000228A8001AEA11C0236BA1C179269
+:10DEF00018E0B6E04A780B7812021A433280801E8E
+:10DF0000891C1890B21C1691384603F0E4F9169952
+:10DF100018986B469A88C919C01BB61D521C9A8066
+:10DF2000179A80B28242E5D900289CD1D3E000073D
+:10DF3000B9D51998694682B20720087000208880F8
+:10DF4000601C891D11E0437806781B0233430B8067
+:10DF5000C37886781B0233434B806E46121FB3880A
+:10DF6000001D091D5B1C92B2B380042AEBD2002A6B
+:10DF700077D1B0E0C00674D5022A72D31898082170
+:10DF800082B2684601700021C18063780371A01CD1
+:10DF900017990EE04678077836023E430E80861CBD
+:10DFA0004E606F46D21AFE88C0180831761C92B2B5
+:10DFB000FE809342EED9DAE76FE076E065E051E06B
+:10DFC00046E01EE014E00AE000E0A0E0800648D54C
+:10DFD00009206A46107096801698D0800FE040069F
+:10DFE0003FD50A22684602708680169AC28006E0F3
+:10DFF000000636D50B206A46107016989080029164
+:10E0000069E0C0052DD5022A7FD318980C2182B271
+:10E01000684601700021C18063780371A01C1799C4
+:10E0200013E04678077836023E430E80C67887783C
+:10E0300036023E434E80061D4E606F46D21AFE8861
+:10E04000C0180831761C92B2FE809342E9D98EE75F
+:10E05000C0045AD5012A58D10D2168460170868026
+:10E0600039E052E0800450D5052A4ED30E2368468D
+:10E0700003708680C8788B78010219436846C18096
+:10E08000521F0281601D039025E040043DD5012A06
+:10E090003BD10F20694608701DE0030435D44B784E
+:10E0A0000E781B023343244E3381032A2DD31B2FBA
+:10E0B00027D011236E46337001261F4BF6033043E1
+:10E0C000588048780B780102194368468180D21E37
+:10E0D000C280E01C029020788006800E1B280AD0A7
+:10E0E0001D2808D00021032003F024FE1248418897
+:10E0F000C90BC903418068461C99F8F7B5F9284651
+:10E1000053E610206B461870DBE70725F7E7082574
+:10E11000F5E700B50022D243074997B04A800328AB
+:10E1200007D1032268460270097901710021F8F7CE
+:10E130009BF917B000BD0000DC190020FFB589B0C5
+:10E140000020019009981027FE4C1E46154608280D
+:10E1500006D0E06901F05EF8002809D03770BEE013
+:10E16000288809213843108013980227017016E08F
+:10E17000E169012088710521E269C9029180E169A4
+:10E180008872E169F0480881E16900208873288875
+:10E190002021084328801121139804270170139827
+:10E1A0000225801C0290307806900A203070E548E5
+:10E1B0001830049001F022FA0020059020462C30FF
+:10E1C00003906DE00998102808D1022D06D001991E
+:10E1D0000298A28D401A8270110AC170E08D0A99CE
+:10E1E000884202D901F0CDF806E0884204D10698B1
+:10E1F000002801D030701CE00298E18D0170090AFE
+:10E20000417012980088401BC01B82B2FF20C01BC7
+:10E21000904200D2024607A8009002980021C3193C
+:10E22000E08D01F056FA3070002805D0C0B2832886
+:10E2300058D0E08D20833EE00598002804D0206C63
+:10E2400000790A282CD336E06846808BC119C9B200
+:10E250000191022D0DD01399019A4978914202D172
+:10E26000228F824208D00191206C0178032908D0C6
+:10E2700023E0084613994870206C0178042906D0E1
+:10E2800007E000790A2818D20120059008E0E18D06
+:10E29000818002990198081802900198281885B287
+:10E2A0000399049801F0ADF9002804D11298008870
+:10E2B000401BB84286DA022D0DD00998102806D1ED
+:10E2C00002990198A28D081A8270110AC1701298E1
+:10E2D000058000203070206C0078032802D00020D8
+:10E2E0000DB0F0BD0220FBE7F8B5964A0026126D8E
+:10E2F000002A2ED0401F934D84B24035E88A234631
+:10E300000833AF8AC318BB4222D88B784F781B02E0
+:10E3100010183B4303701B0A43700B79CF781A0225
+:10E320003A438270120AC2700471220A4271224674
+:10E33000491D801D06F0B0FCE88AA41D001980B2BA
+:10E340008049E882096D002208180270427000E0DE
+:10E3500009263046F8BD30B57A4B028840339B8A97
+:10E36000934213D9774B1C6DA3185C781D78240257
+:10E370002C430BD05C791D7924022C436404640C7B
+:10E38000A41D1219028000200B6030BD822030BD18
+:10E39000F0B585B0074600266846068155E001982D
+:10E3A000417802780D021543417902790802104341
+:10E3B00000044AD43D8003A80023012200905202A9
+:10E3C0001946284601F085F9040044D168460189C0
+:10E3D0000182019841790279090211434378027858
+:10E3E0001C021443AC421CD10A041AD44A04012171
+:10E3F000520C89030A430096C178807809020143D0
+:10E400000023204600F0C1FF040010D10199487993
+:10E410000A79000210430122D20310430871000A56
+:10E42000487101A904A8FFF796FF0400D1D0019913
+:10E4300000964878097800020843694600238A89D3
+:10E44000194600F0A2FF822C05D101A902A8FFF70E
+:10E4500082FF0400A3D06846068109E0019948794B
+:10E460000A79000210434004400C0871000A487108
+:10E4700001A902A8FFF76FFF0028EFD0822C02D07D
+:10E48000204605B0F0BD0020FBE7F7B584B0144688
+:10E490000646002700F071FF2A480025006D00287D
+:10E4A0002FD0059801282CD12046FFF771FF0700D7
+:10E4B00027D1002E29D06846058118E001994878B7
+:10E4C0000978000208432080019B0095587919794A
+:10E4D0000202D8780A4301029F78587839431F789E
+:10E4E00000029B1D384300F050FF002805D101A910
+:10E4F00002A8FFF730FF0028E0D0822800D10020DA
+:10E500000746002E01D00F48056500F03AFF384657
+:10E5100007B0F0BDF0B597B00021042003F00AFC6D
+:10E52000084F00243D467C8040356C73AC73287BDB
+:10E53000B96CC00008380E18B08800280DD0012032
+:10E54000694603E0F01900200128000008703068D7
+:10E55000019000216846F9F78EFAB4803C65AC82E0
+:10E56000EC8217B0F0BDFE4B986418464030017342
+:10E570001A803838D861CDE7F949002049880A0760
+:10E5800000D501200A06120F01D002221043CA054D
+:10E5900001D5042210438A0501D5102210434905F4
+:10E5A00001D520210843EE494031497B002901D0A3
+:10E5B000082108437047FFB5A7B004002898164605
+:10E5C0001B9022D00178E6484D06428822920246EE
+:10E5D00040320092002D14DB8A06920E1E2A0ED0C5
+:10E5E000229A5205520E10D13288172A0DD3009A62
+:10E5F000927B002A09D1DB4D229AAA4205D0CA0992
+:10E6000006D08A06920E122A02D003202BB0F0BD4B
+:10E61000D348826C0098007B2590C0000838101801
+:10E620001F9048060CD40098407B002808D0009921
+:10E6300088731F99289808601F9884800220E5E756
+:10E64000002718A90F7069460F72C54902AA0A640B
+:10E65000309A4A6410A90F850F861B981D460078D2
+:10E6600020908106BE4B601F24901A462C322192C6
+:10E670002898DA691833890E1E93401C0B0006F0A7
+:10E6800099FD1FFDFD11FD1AFD90FDFCFDFBFDFA3E
+:10E69000FDF9FDFCFDF8FDFDFDF7FDF6FDFDFDFDC1
+:10E6A000FDF5FD00032C7BD10320287017226A7032
+:10E6B0000022AA70E0E2052CF5D141780278090227
+:10E6C0001143A74B10AA19831185C27880781202D2
+:10E6D00002435A8300297DD091427BD800211846FD
+:10E6E00081720181491E01841E9800F087FF052078
+:10E6F0002870A81C1D900220009021991E9800F0FF
+:10E7000080FF002803D047E018A90870F0E2944881
+:10E710002030807C012803D002206870102002E0A5
+:10E7200001206870022022908D4830302390002212
+:10E7300020A9239802F0F5FD00282AD120A800780E
+:10E740002299814225D132880099801C511A814238
+:10E750001FDB83481D99C08D0870000A48701D9802
+:10E7600020A9801C1D9000981D9A801C0090239861
+:10E7700002F0D7FD20A909781D9840181D90009837
+:10E78000401880B2009021991E9800F03AFF0028AE
+:10E79000CDD0009802288DD10A2018A908706CE20B
+:10E7A0006DE0072C6BD341780378090219436C4B59
+:10E7B0008446198310AB1985C37880781B021843EF
+:10E7C000674B0029588305D0814203D801211846A0
+:10E7D000817200E0A4E061464B7909791B020B438A
+:10E7E000038100218173104600F014FD00280FD131
+:10E7F0005B480121C26991710522C369D2029A80E6
+:10E80000C2699172C26958491181C069002181733E
+:10E810005349E01F08841B98C01D48621E9800F0F1
+:10E82000EDFE07202870681C009001201D904C48C8
+:10E830000021C18530E01D98012815D04848C169E4
+:10E84000897901292FD000981038C17B807B09027B
+:10E85000014300980170090A41700098801C0090E3
+:10E860001D98801C80B21D903D4809E013E2BEE176
+:10E870007AE1D8E00DE2A0E080E03BE01EE2B6E005
+:10E88000C18D00980170090A41700098801C0090A9
+:10E890001D98801C80B21D9021991E9800F0B1FE39
+:10E8A000002802D006E0818DD3E731881D98081A30
+:10E8B0000428C0DA1D98012800D16DE72848C169F5
+:10E8C0008979012903D0828D26498A4205D1818D1B
+:10E8D00000980170090A417009E000981038C17B66
+:10E8E000827B0802009910430870000A48701D9846
+:10E8F000801CC1E1072C01D0152C78D14178037818
+:10E9000009021943164B198310AB1985C378807817
+:10E910001B02034312480029438301D0994201D9C5
+:10E920000120F1E60E4801218172002101818173ED
+:10E93000052C07D024981B99C0B2491D02F0CBFCCE
+:10E940000028BAD100200649C04308841B980096CD
+:10E950000195007818AB8006800E1CAA002105E006
+:10E96000F0190020FFFF000001280000FFF7E6FB80
+:10E970000746FE4810A9008B08857EE1032CBCD118
+:10E98000402210A90A86417802780802F74910430C
+:10E99000088310A9088520A9009131886B1C491EA5
+:10E9A0008AB2002100F095FE18A90870002830D125
+:10E9B0000B20287020A8008833E0052C9DD18021F1
+:10E9C00010AB1986014640780B780202E7481A43DB
+:10E9D0000283CB7889781B021943E44B10461984D3
+:10E9E00010AB1A85E24A914202D307208CE697E0E9
+:10E9F0003F23DE4A9B021943118421AA00923288E8
+:10EA00006B1C521E92B200F064FE18A90870002818
+:10EA100003D08328B1D102272FE10D20287020A830
+:10EA20008088401C28E120990C22C9095143C91C47
+:10EA30001E91A14204D92098400671D500201BE107
+:10EA4000417800780902014310A801851B980078DD
+:10EA500042062898C01C1D90002A62DA05206A46EA
+:10EA600010721B980078C00944D0082268460272D0
+:10EA70008181A01A87B268468782289806901E98DE
+:10EA8000201A81B26846C1811D980490401806F092
+:10EA900064F9079006982599C0190890491E08A89E
+:10EAA000017102A83099F8F7E6FF07460021684691
+:10EAB0000172002F1BD0022F18D1009808A9007BEB
+:10EAC0000979401E884210DDA848289A836CC90045
+:10EAD0005A50816C08A80079C000001D0C520098A3
+:10EAE0000099407B401C4873C7E00527EAE00620F8
+:10EAF00069460872002000901E980021201A20907C
+:10EB000082B21B9B10A8DB1C008D00F03EFC01466E
+:10EB100018A80170002268460272832903D003E01E
+:10EB200093E00720E4E702271B98007840060ED503
+:10EB30008E484188C90506D510AA018B128D9142D5
+:10EB400001D100214162002018A9087094E0FF2142
+:10EB5000013110A80186018D844801832099018428
+:10EB60001D994162132085E0052C6ED3417803780E
+:10EB70000A021A4310A90A859446092269460A72B4
+:10EB80000021009101222499D20311438AB2C17855
+:10EB9000807809021B9B01435B1D604600F0F5FB7A
+:10EBA00018A90870002269460A720122520210A9AF
+:10EBB0000A86832802D0002805D099E06B48098D89
+:10EBC000018302277EE06948006D002807D02046B7
+:10EBD0001B99FFF789FB18A9087000284DD12B4617
+:10EBE000324620461B9900F024FB074645E01B985F
+:10EBF000022C4078009064D1002801D0012860D117
+:10EC00000A2168460172009901731AAA002000992E
+:10EC1000FFF73BFC0146684641730021817302A85F
+:10EC20003099F8F728FF0746002168460172012154
+:10EC3000890210A80186022F08D04C48006C807908
+:10EC4000002807D018A9087020E04BE04749009839
+:10EC5000088337E0002F03D0812018A9087031E025
+:10EC60001AAA01200099FFF710FC18A908700028C3
+:10EC700003D119202870012030806846007A0028CE
+:10EC800004D002A83099F8F7F6FE0746002F2BD0E3
+:10EC900018E0062038E522993448090711D5012CDF
+:10ECA0000FD10B2269460A72C08888810021042096
+:10ECB00003F040F8082010A90886BFE62098400617
+:10ECC00010D50327294810AA4188128E114341808C
+:10ECD0005005400E04D01F99289808601F98848022
+:10ECE000384693E404200FE518A8007800280ED0D9
+:10ECF000012028701B980078687010A8008DA870FB
+:10ED0000000AE87018A8007828710520308017489C
+:10ED100010AA4188128E91434180E1E7FFB5064673
+:10ED20009FB000201B903178012088401149124A81
+:10ED3000084010A908860D494988914203D000284F
+:10ED400004D0080702D5012023B0F0BD219D002783
+:10ED50002F7020983C46018810A8018418A80771DC
+:10ED600000F00BFB6846077202A907E0F0190020CB
+:10ED70000102000009F80000FFFF0000FA480164EA
+:10ED800001464031826C1A91097BC9000839571835
+:10ED900022994164307801282AD0022809D003281A
+:10EDA00079D12878800980011D302870EE48B1881B
+:10EDB000C1803078022804D12878800980011B3076
+:10EDC000287001A8009010A8008CEB1CC01E82B215
+:10EDD000B088002100F07DFC0028E1D1B188697085
+:10EDE000090AA9706946888810A9C01C08842DE109
+:10EDF000717918A801713079012802D00228CFD189
+:10EE0000E6E0D9487F2340881B010246184010AB3A
+:10EE10001886802840D006DC102810D020280ED07C
+:10EE200040280AD120E0FF38013859D0FF38013896
+:10EE30006AD0FF38FF3802387ED0052491E0D00632
+:10EE400001D5082000E010201B90042069460872BC
+:10EE50000020888118A800900195318919AB1CAA5F
+:10EE60001B98FFF76BF977E0BF4B3289188B824212
+:10EE70004FD10A221B92002973D101A9009110A938
+:10EE8000098C6B1C491E8AB2002100F022FC18A9D3
+:10EE900008710B2017E0F6E0B34B3289188B8242E1
+:10EEA00037D10C221B9200295BD101A9009110A936
+:10EEB000098C491E8AB21946098C6B1C00F009FCAA
+:10EEC00018A908710D2028706946888810A9401C6F
+:10EED0000884042069460872A348008B888140E0BA
+:10EEE000A14A3389108B834213D112231B9300292B
+:10EEF00037D1536A002B05D00091128C00F045FAEF
+:10EF000018A9087113205EE097483289038B9A4252
+:10EF100001D00424E7E016221B92026D002A09D1D9
+:10EF2000F268002A06D002651A98328A82821A9AFA
+:10EF30000020D082002900E02FE012D1B888396883
+:10EF4000FFF7D2F918A9087100280AD1B8882B4612
+:10EF500018AA396800F06DF90446022818D0042C6C
+:10EF600016D0B88800280FD06846007A002804D050
+:10EF700002A82299F8F77FFD04460120694608722D
+:10EF8000386803900020B880002C5FD0052C7BD01F
+:10EF90006846007A032873D0A5E018201B9000294A
+:10EFA00005D071483189018300210165D9E76E4898
+:10EFB0000246017E18320120FFF767FA18A908718E
+:10EFC0000028CED119202870012010A90884C8E794
+:10EFD0001A98407B002856D0307AC0001358001D84
+:10EFE0000193105A1D9000291AD100F0CAF9062089
+:10EFF00069460872002000901D980F3882B201986F
+:10F000008178437808021843019B0021DB1C00F043
+:10F01000BCF918A90871002269460A72832830D009
+:10F02000002118A8017110A801840121684601720D
+:10F03000019803901A981A99407B401E48731A98B9
+:10F04000807B002802D01A99401E887310A8008E79
+:10F050007F21090102468A431DD0434800220088CF
+:10F0600011468300042002F0C0FD3F483178017151
+:10F0700010A94088098E08433B4948800FE003E00F
+:10F080002BE002242FE00524374810AA4188128E75
+:10F090009143418027E034494A8882434A80684648
+:10F0A000007A002805D03048416C02A8F8F7E3FC4C
+:10F0B000044618A80079002815D01B986870012014
+:10F0C00028702948008BA870000AE87018A80079F9
+:10F0D0002871052110A8018405E02348416C02A88D
+:10F0E000F8F7C9FC044600F04CF91F484088400579
+:10F0F000400E20D11A98807B00281CD1B8880028A7
+:10F1000019D0209910AA0988118422990091396890
+:10F1100018AA219BFFF74FFA044602280BD00120C2
+:10F12000694608723868039002A82299F8F7A3FC90
+:10F1300004460020B88010A8018C20980180204649
+:10F1400002E600B50022D243074997B04A8004285E
+:10F1500007D1022268460270097901710021F8F78F
+:10F160008AFC17B000BD0000F019002010B5394C22
+:10F1700003780022216C012B02D0022B44D126E01F
+:10F180000B78002B01D0042B03D10A71226C0321D0
+:10F190001170216C83880A79D200921D8B52216CE8
+:10F1A0000A79D20008328918C2880A80216C038942
+:10F1B0000A79D2000A328B524289206C0179C90047
+:10F1C0000C314252216C0879401C087120E00A740D
+:10F1D000226C81889180216CC288CA80226C01894E
+:10F1E0001181226C41895181216CC068C860616CB9
+:10F1F000206CF8F740FC0146022807D0206C007C08
+:10F20000002802D1002903D0812010BD832010BD29
+:10F21000002010BD8178012909D100880521C9028B
+:10F22000884202D0491C884201D100207047052045
+:10F23000704710B51488844201D2052010BD1724F0
+:10F240001C701080421E491C581C05F025FD002032
+:10F2500010BD0000F019002010B58B78002B11D0E4
+:10F2600082789A4207D10B88002B0BD003E0091D4E
+:10F270008B78002B08D08B789A42F8D103880C88C1
+:10F28000A342F4D1002010BD812010BD10B500298B
+:10F2900002D001290DD102E00088000501E00088BC
+:10F2A0008004800F07D001281CD0022809D0032831
+:10F2B00010D0812010BD002901D0032010BD0220F4
+:10F2C00010BDF5F7EEFD03280CD004280AD0002865
+:10F2D00006D009E0F5F7E5FD042803D0022803D0A5
+:10F2E000052010BD002010BD0F2010BDF3B5C81CB7
+:10F2F00080080E46800081B0B04201D08620FEBD5D
+:10F30000FE4C354626600198A08000202081E080D8
+:10F3100014E0B807A978800D0843F94905F036FDD7
+:10F32000E088401CE080B80607D42089401880B2ED
+:10F3300020810199081A8019A8600C352F88780758
+:10F34000E7D40020A072FEBDEC480C22C1880089E1
+:10F350005143081880B2704770B51346E74A451804
+:10F360009488AC4201D2842070BD126810180A46FD
+:10F37000194605F091FC002070BDE049012088721B
+:10F380007047DE49002088727047FFB589B0970446
+:10F390000E460546BF0C029200F034FA040021D05C
+:10F3A000002069460873D548807A012812D00121CF
+:10F3B0002046FFF76BFF002815D12078400609D5BD
+:10F3C0000221684601730582218841828682C782B4
+:10F3D0000C9806900298000407D500273E460125A8
+:10F3E00001970CE001200DB0F0BD2078A1788007D6
+:10F3F000800D0843C249019005F0C8FC0D460298F3
+:10F4000040040AD50198A84207D12088E1788005F8
+:10F41000800F00020843B04201D3AE4201D9072059
+:10F42000E1E7B81980B20290A84201D90D20DAE7CD
+:10F430006846007B002804D003A8F8F718FB0028D2
+:10F44000D1D10198A8420BD1208803210902884319
+:10F4500002998905890F0902084320800298E0700B
+:10F460001298002800D007800C9800280CD0207833
+:10F47000000609D4A0683A4680190C9905F00CFCE6
+:10F4800020881021884320800020ACE7FFB59B4DE9
+:10F4900081B00E46E8882F680C21009048433C1844
+:10F4A0009749039805F072FC0A462889E11B8446B7
+:10F4B0000C314018318880B28B0601D5002300E062
+:10F4C00013461818AB8880B2834202D8842005B056
+:10F4D000F0BD0098894D401C80B2E88021800D99D4
+:10F4E000002900D00C600399A170E2702188039D6F
+:10F4F0008908AD058900AD0F294303252D02A943D5
+:10F500009505AD0F2D0229430425294321800C992F
+:10F51000002900D0088001998978A1710199098892
+:10F52000A1803178890601D50B9905E073496244C1
+:10F5300092B20A81991AC919A16000212173327807
+:10F54000920601D50020C2E700910B9B0A9A04990C
+:10F55000FFF71BFFBBE7FEB5044600F053F90700B9
+:10F5600008D0664D641EE8880190A6B2286834462B
+:10F57000009015E00120FEBD0C2000996043095A5F
+:10F580008A060BD489078A0D0099801C085C5C49A7
+:10F59000104305F0FBFB2889401A2881641CA4B2A3
+:10F5A0000198A042E8D8EE8000203870FEBD002807
+:10F5B00003D0401E0880002070470120704710B51E
+:10F5C0004E490288CB889A4201D3822010BD0B6835
+:10F5D0000C21514359180B88CC789B059B0F1B02BB
+:10F5E000234341608C7904738C884481C38189688A
+:10F5F000521C016102800281002010BD01210182A4
+:10F600007047FEB505460020C043088068680F4675
+:10F6100081786846817068680188684601800021A9
+:10F620008171288A2C88A04200D304462C8234E0C1
+:10F63000288A401C2882301D6968FFF70DFE0028CB
+:10F6400029D139882F48814201D1601E38806888CD
+:10F65000A04227D33088F1788005800F000208434C
+:10F6600002906946301DFFF7F7FD002813D1298964
+:10F67000244881421AD000213046FFF707FE0028B7
+:10F6800009D12A890298824205D1E968B06805F05B
+:10F69000D6FA00280AD0641CA4B2204600F0B2F8C2
+:10F6A0000600C5D1641E2C828220FEBD7C80B0790C
+:10F6B000B871B088B8803088388130788007810D83
+:10F6C000B078014379810298B881B0683861002030
+:10F6D000FEBDFFB585B014460F46059800F092F8C0
+:10F6E000050037D00548BE05807AB60D01281CD02C
+:10F6F00000212846FFF7CAFD002805E0481A00202F
+:10F7000001020000FFFF000022D1287840060CD53E
+:10F71000012168460170059981802988C180068190
+:10F720004481F8F7A4F9002812D12888AA78810723
+:10F73000890D11438005800FEA7800021043BE4214
+:10F740000AD0374A914207D3611E814204DD0B2063
+:10F7500009B0F0BD0120FBE7864201D90720F7E799
+:10F76000801B82B2A24200D922460E98002800D007
+:10F7700002800898002804D0A8688119089805F02C
+:10F780008BFA0020E4E770B514460D4600F03AF815
+:10F7900000280DD001882980002C0DD001788078B8
+:10F7A0008907890D01431E48814203D2012002E0EE
+:10F7B000012070BD00202070002070BD70B516467D
+:10F7C0000D4600F01FF804000DD02D882580FF2E77
+:10F7D00016D0A807A178800D0843114905F0D6FA84
+:10F7E000002E06D101E0012070BDFF31FF31033151
+:10F7F00089B2A170A80880008905890F084320807C
+:10F80000002070BD0749CA88824207D3002805D06E
+:10F810000C22096850430C380818704700207047C4
+:10F8200001020000481A0020F0B585B00E460546DA
+:10F830000020694608707078FE49C00003900C589B
+:10F84000FD4F002D0ED0022D73D0002C72D02078E9
+:10F85000801E030005F0AEFC09837F7F7F83797FE4
+:10F8600077727F00002C03D1F4A16B2005F0B1FB6F
+:10F870002078801E030005F09DFC09065E5E5E197F
+:10F88000365E50545E003078062803D0EBA1762017
+:10F8900005F09FFBB8687168806C032205F0FCF9E5
+:10F8A000012069460870002835D1CEE730780C2851
+:10F8B00003D0E2A1812005F08CFBE06800780028ED
+:10F8C00006D0B8687168806B102205F0E5F928E071
+:10F8D000B8681021006B05F03CFAB868816A006BCB
+:10F8E0000A787168F1E730780D2803D0D3A194200D
+:10F8F00005F06FFB04206946087071684878097844
+:10F9000000020843B9684A6A517812780902114323
+:10F91000484069468880084608E0C8A1AF2005F045
+:10F9200058FB6846007800288FD06846F5F7BEFA85
+:10F930008BE727E01CE0C1A1B420F0E7B86861695B
+:10F94000006CFEF708F8A16900E0E168B868006C97
+:10F95000FEF701F803E0B9A1E32005F03AFBB8682F
+:10F960002146006CFDF7F7FFB24A03990020505082
+:10F97000022D07D0002D05D0012D03D0AFA1EF201F
+:10F9800005F027FB05B0F0BD10B501780124012971
+:10F9900002D0022910D112E04268A74800218260FB
+:10F9A0000170A4486C38C166016741678167D289DC
+:10F9B00002214C3001F0E1F90024204610BDFF2067
+:10F9C0009EA1163005F005FBF7E7F0B505469EA1B0
+:10F9D00003C997B014911390002008A908759549A0
+:10F9E0002A781031944C0491217805910126914F89
+:10F9F000A168130005F0DEFB0CEF07309AF0EDEC88
+:10FA0000EBEAE9E9E8EF20700124FF264F360546CE
+:10FA100010A80570457001F0C1F90746012803D010
+:10FA200086A1304605F0D5FA10A93846FFF7FCFE4E
+:10FA30002046641EE4B20028EAD10A206946087014
+:10FA40006846029501F088FA002803D0FF207BA1C8
+:10FA5000583068E0002646E3C86A0078C0072FD017
+:10FA6000012069460870684601F076FA002804D043
+:10FA7000FF2072A16B3005F0ACFAA068006CFDF7B6
+:10FA800061FF050004D1FF206CA16E3005F0A1FAE2
+:10FA900008984078C0003D5006202870A068016892
+:10FAA00069600069A8606448C01CE860284601F0ED
+:10FAB00053FA022804D0FF2060A1783005F089FABB
+:10FAC000A068C06A00784007C4D501206946087064
+:10FAD000684601F041FA002804D0FF2057A1803089
+:10FAE00005F077FAA068006CFDF72CFF050004D143
+:10FAF000FF2052A1833005F06CFA08984078C000CE
+:10FB00003D5006202870A068016869600069A860FF
+:10FB10004948401DE860284601F01EFA022899D0A5
+:10FB2000FF2046A18D3005F054FA93E7A96800291B
+:10FB300033D0694608712979012932D0022904D0CD
+:10FB4000FF203EA1A73005F044FA3A4810221030B9
+:10FB5000A96805F0A1F837481030364920314860CF
+:10FB60002078C1062CD5EF2108402070032069467B
+:10FB70000870304810300290684601F00FF90446D2
+:10FB8000022808D0002C06D0012C04D0FF202BA185
+:10FB9000B83005F01EFA69466FE101216A4611711D
+:10FBA000DBE7244A04996C3AD06748608860C860F3
+:10FBB0000621A86803F0FCFE1E4910310860CAE760
+:10FBC00020210843207045E7A1E15AE119E1E6E070
+:10FBD00086E056E000E081E2886C407980090128E7
+:10FBE00004D0FF2015A1CC3005F0F3F9A068017A0C
+:10FBF000002906D1416B406801F01FFAA16801207D
+:10FC00000872012069460870684601F0A5F90028CD
+:10FC100004D0FF2009A1D73005F0DBF9A068006C03
+:10FC2000FDF790FE050004D1FF2004A1DA3005F0B5
+:10FC3000D0F90DE0C01A0020B40000207372635C9C
+:10FC4000736D2E630000000004411A8800A4800038
+:10FC500008984078C0003D5002202870A068416B91
+:10FC60006960806CC01CA860284601F075F904002A
+:10FC700004D0FF20FD49E23005F0ABF929462831D8
+:10FC8000FBE0172268460272012202708078820827
+:10FC9000287992008007800F024368468270FB201B
+:10FCA000024028794007C00F8000024368468270F6
+:10FCB000EA8882804A6C02A901F090F9002804D0F9
+:10FCC000FF20EA49F73005F084F9052108A80175FD
+:10FCD0006846017A0187A0680026406C0F9006E212
+:10FCE000012069460870684601F036F9002803D003
+:10FCF000DE49DF4805F06DF9A068006CFDF722FED3
+:10FD0000060004D18320D949800005F062F9A0687B
+:10FD1000006CFDF717FE1290002804D1D448D34997
+:10FD2000801D05F056F9D3488068006CFDF70AFE87
+:10FD3000040004D1CE48CD49093005F04AF90898AD
+:10FD40004078C0003E500A203070287A30716868D0
+:10FD5000C84DB060A868406C3061172030731298AD
+:10FD6000B4617061304601F0F7F80446022808D00B
+:10FD7000002C06D0012C04D01120BC49400105F014
+:10FD800028F92046316AFFF74FFD28780521014008
+:10FD9000042900D05EE6FB21084028702AE005987F
+:10FDA00040084000207082071CD5FD2210402070C2
+:10FDB0000F206A46107017201071486C0290684638
+:10FDC00000F0ECFF0546022808D0002D06D0012DDA
+:10FDD00004D0A748A5493A3005F0FBF86946284603
+:10FDE000FFF722FD2078052101400429D2D1FB2113
+:10FDF00008402070072008A908759E48807808767A
+:10FE000028E6012069460870684601F0A5F8002838
+:10FE100004D097489549543005F0DBF8A068006C91
+:10FE2000FDF790FD060004D113209049400105F034
+:10FE3000D0F890488068006CFDF784FD040004D180
+:10FE40008B488A495A3005F0C4F808984078C000B9
+:10FE50003E5007203070874880684068706068684E
+:10FE6000F460B060304601F077F8040004D08048B8
+:10FE70007E49653005F0ADF8316A2046FFF7D4FCC5
+:10FE8000E8E5012069460870684601F065F8002839
+:10FE900004D0774875497A3005F09BF80898407887
+:10FEA0001190A068006CFDF74DFD060004D15120B3
+:10FEB0006E49C00005F08DF8A068006CFDF742FDAA
+:10FEC000040004D16A486949823005F082F811982B
+:10FED000C0003E50C019296941600920307068682F
+:10FEE0007060A868B060A889B08163483061103044
+:10FEF000B4617061304601F02FF8022804D05C48EC
+:10FF00005A49903005F065F811982875A2E55A4ACB
+:10FF100000208C32107002206B46187001922879F4
+:10FF2000002801D0107098E0524803230C3040683C
+:10FF3000FB2703708378504A9B089B003B408370EB
+:10FF40004B7A00271B07DB0F43708C3257600B7B0B
+:10FF5000C370CB7A1372537A0C7D5B08E4075B00A5
+:10FF6000E40F23430C461534D460FD242340CC7E9B
+:10FF7000E407A40F234353720B461C3313614771EC
+:10FF800007718B7A3B4A9C070C32A40F1268012C34
+:10FF900004D19478A407A40F012C1DD09B089B00CA
+:10FFA0008B7293785B0702D48B7A5B0728D54B7AE8
+:10FFB00013AF5B075B0FDC005B00E3181478640091
+:10FFC0001B19DBB2DC083C5D5F077F0F0623DB1BE0
+:10FFD000DC40A3079B0F14E04C7A53796406640F4E
+:10FFE00023404371147906273C400471E4001C430C
+:10FFF000204B5C7083789B089B005B1C8370D0E770
+:020000040001F9
+:1000000000238478FB273C408F7A7F07FF0FBF00D7
+:100010003C4384704C7A6407640F04705078012864
+:1000200007D1487A000704D5032008A908750220E3
+:100030002DE0022B27D0012B2BD00F4B0020049A50
+:10004000D86750609060D06018467C30024610320D
+:100050005060887AFB2210408872684600F09EFE4D
+:10006000040035D0012C34D0004907E03CFC0000EE
+:1000700009020000B4000020541A00206520C000CE
+:1000800004F0A7FF25E0032008A9087501200876E1
+:10009000E3E77E4C0D21E01C04F05BFE20461030AF
+:1000A0004460022008A908750E94A868002807D0AB
+:1000B0000068206005997648202211430170CCE742
+:1000C00005980007C9D57349734804F082FFC4E757
+:1000D000002669462046FFF7A7FB04E06E486D49FD
+:1000E000203004F076FF08A8007D002802D00DA87B
+:1000F000F4F7DCFE304617B0F0BDF0B597B00C4613
+:10010000054600206946087061482F785F4E0178E7
+:10011000583E82683B0005F04DF80BAA8407263B49
+:100120004C6B79798F9CAA002B20694608730CA927
+:1001300003A8FDF73DFC002804D05748554941303D
+:1001400004F047FF55490D9804F020FE4F48016028
+:100150004F4869680C300160AA684260019108202C
+:10016000694608708CE08A0610D5DF2211400170C4
+:1001700003202070454810304168A1604068002885
+:1001800002D00020207177E00120FBE7102256E02A
+:100190002B20694608733D4903A85C39FDF708FC2C
+:1001A000002804D03C483B496A3004F012FF042088
+:1001B0001BE02A206946087303A8102202306968F0
+:1001C00004F06AFD07A810220230A96804F064FD5B
+:1001D0002E4903A85C39FDF7EBFB002804D0392039
+:1001E0002C49000104F0F5FE05202070666043E014
+:1001F0002A79002A02D001221143017005206946A4
+:10020000087028798880A868029039E0D06A402375
+:10021000018819430180D06B6968102204F03CFD0D
+:100220002AE0FB2211400170062069460870A96887
+:1002300068680291019023E0CB0703D002221143AA
+:10024000017058E70F20207017202071506CA060BB
+:1002500012E0937A9B0706D0D26A44781388FF3461
+:1002600001342343138004221143017004E00A483F
+:100270000849BD3004F0ADFE684600780028E0D0A3
+:100280006846F4F713FE36E701207047D01A0020C5
+:10029000B40000203CFC00001503000040420F00A9
+:1002A00070B504780D460646230004F083FF0B1C4E
+:1002B000181C1C1C1C07181C1C181C0000210520E5
+:1002C00001F038FDB068007805280CD0FA4800220B
+:1002D000008811468300052001F087FC03E000211F
+:1002E000052001F027FD002D0ED0002028702946A2
+:1002F0003046FFF702FFF1482978005D884201D1BE
+:10030000032070BD022070BD00213046FFF7F5FECE
+:10031000002070BD30B5E8494B68497A0A011146A2
+:100320000C315C5C032C0CD0044600252034257174
+:1003300025725C5CA500AA18641C5C5498500320CC
+:1003400030BD062030BDF0B50446264620360D46A9
+:100350003279012008218FB0002A0CD0012A21D047
+:10036000022A2BD0032A04D12A78052A01D1297028
+:1003700000200FB0F0BD01203071606800280AD065
+:10038000A069017061684160216981606169C16033
+:10039000FFF7C0FFEDE707202870206968606069FB
+:1003A000A86009E029780729E3D1022030710520EF
+:1003B0002870C248203868600320DAE729780529C8
+:1003C000D7D1A08910280AD9103880B2A081A1689D
+:1003D0001023091803A86A6800F054FE2DE01028C5
+:1003E00004D0C1B20BAA1020A76809E0102322692B
+:1003F000A16817E0491EC9B2401EC0B27B5C13540D
+:100400000029F7D100280AD0401EC0B28021115423
+:10041000002102E0401EC0B211540028FAD16269E6
+:1004200010230BA907A800F02DFE102307A903A88D
+:100430006A6800F027FE032030716068019003A80D
+:10044000029005206946087029466846FFF728FF94
+:100450008FE7F0B5044626460D4620363179012057
+:100460008DB000290BD0012938D0022905D1297877
+:10047000052902D10920287000200DB0F0BD217D92
+:100480006846CA07D20F02738807C10F6846017415
+:10049000012203A905A800F0EDFD04A9012205AF82
+:1004A000481D00F0E7FD0722B81CE16800F0E2FDFE
+:1004B00007A807220130216900F0DCFD6068019087
+:1004C00009A80290102305AAA16800F0DBFD012015
+:1004D0003071052168460170294621E029780529F7
+:1004E000CBD1062203A8E16900F0C4FD04A80622CE
+:1004F0000230A16900F0BEFD042106A800F0B2FDA3
+:100500006068019007A80290102303AA696800F0B0
+:10051000B9FD0220307105206946087029466846F9
+:10052000FFF7BEFEA9E7F0B5074685B00D460020EF
+:10053000694608703E466248203632798179133820
+:1005400001240078130004F035FE180DFEFDFCFBBD
+:10055000FAF9F8F7F6F5F4F3F2F1F0EFEEEDECEB73
+:10056000EAE9E8E7B968039100291BD0012269464E
+:100570000A7003220A710A224A7139690291397993
+:1005800000297DD0039A1278002A7AD00C2A78D2DA
+:10059000130004F00FFE0BEF09EF354D8498B0F116
+:1005A000EDECEF000020C8E30021062001F0C2FBC3
+:1005B0003879072866D1424C133C2078022802D0B3
+:1005C00000287FD101E00020207003980079C11F2E
+:1005D0000A2901D30A2598E1607039480722C01F13
+:1005E000039900F047FD0120307120700220694618
+:1005F00008703348801F01903869401C029037E230
+:1006000011293DD12E4C133C0228DAD16068617863
+:10061000007A884201D9062577E1039926481022FD
+:10062000491C303800F026FD03202070022045E1EF
+:100630001129E6D1224C133C0428C2D10520207098
+:1006400003991D481022491C203800F013FD062094
+:100650003071786903210170626851684160164900
+:100660002039816021460C31C160C91D0161017DC5
+:10067000537A49084900DB07DB0F1943017502E093
+:1006800070E354E384E1D3688361FD231940537A16
+:100690009B07DB0F5B0019430175116976E10229A5
+:1006A000AFD1002867D005206946087103984078CB
+:1006B00048713869029051E3241B00203452010034
+:1006C000DB00002082E011299BD1F74C06287DD168
+:1006D000A0680399806B1022491C00F0CBFC062116
+:1006E0006846017038690290002168460171FFF781
+:1006F000D7FD072057E00B299BD1EB4C07287ED173
+:10070000A0680399006B0222491C00F0B3FCA068AA
+:100710000822406B039917E00EE116E3FDE2DDE2EB
+:10072000C7E2BCE29EE267E248E241E21FE2F5E195
+:10073000DFE1C8E1BEE1B1E1A5E16AE147E128E11D
+:10074000DAE0BEE0AFE075E0C91C00F093FC0621E2
+:100750006846017038690290002168460171FFF710
+:100760009FFD204613304179490849003EE041E0B1
+:100770001BE001E05CE0EFE2112991D1CA4C0828AE
+:100780003DD1A0680399C06B1022491C00F072FC97
+:10079000062168460170386902900021684601719F
+:1007A000FFF77EFD09202070C9E208298CD1BE49DF
+:1007B000092824D1039842788868016C0A7003994B
+:1007C000406C0622891C00F055FC00E017E0062171
+:1007D0006846017038690290002168460171FFF790
+:1007E0005FFDB14813304179FD221FE041715EE2A7
+:1007F0003071F2E11129C0D1AB490A2801D0082596
+:1008000083E088680399806C1022491C00F032FC58
+:10081000062168460170386902900021684601711E
+:10082000FFF73EFDA04813304179FB221140DDE780
+:1008300007256AE0297802297ED19B490128FBD14E
+:100840006A684A6015780846002D5CD106216A4620
+:1008500011703969029107211171029902240C70FB
+:10086000CA785207520FCA704B795B075B0F4B7106
+:100870008B795B075B0F8B71D20701D18A714A714B
+:1008800005460A794078824200D26A70864807227B
+:10089000133000F0EFFB00202C70307101466846E9
+:1008A000FFF7FEFC4BE229780429C5D103286FD15C
+:1008B00008227E48696800F0DDFB032030710420C7
+:1008C000F2E129780429B7D1774F0328B4D17748CA
+:1008D00008220830696800F0CDFB04203071786888
+:1008E0004168002906D00321297000212971406840
+:1008F000A86072E10320D7E1287803289CD12879E9
+:1009000000281AD00546002D16D006216846017031
+:100910003869029002216846017102980521017030
+:10092000457000216846FFF7BBFC01216846017055
+:1009300004210171457115E293E15B49A86849689A
+:100940000028486001D15A48486005203071786914
+:10095000032202704A684260544A8260524A0C3252
+:10096000C260D21D0261027D4B7A5208DB07520041
+:10097000DB0F1A430275CB688361FD231A404B7A63
+:100980009B07DB0F5B001A4302750969C16130E107
+:100990000DE12978092988D14349032885D104200C
+:1009A00008700620694608703869029011200871A5
+:1009B000029803210170401C1022696800F05AFB64
+:1009C00000216846FFF76CFC00203071B7E1297800
+:1009D000092993D1052891D134496A68203910201A
+:1009E000401EC0B20B5C145CA34203D0002004255F
+:1009F00030718AE70028F3D107203071786904212B
+:100A00000170294949684968416028498160103965
+:100A1000EEE028780A28BED10620694608703869B9
+:100A2000029011200871029804210170401C1022CC
+:100A30001E4900F01FFB00216846FFF731FC1A48F1
+:100A4000102140786A68091AC9B2101800F00AFB30
+:100A50006868019014481330C178C9070BD08179B8
+:100A6000002902D14079002805D0082030711BE10F
+:100A700029466846EFE0072069460870002168466D
+:100A8000FFF70EFC5FE128780E2884D106486968DC
+:100A900081608969407808700920A9E6C80701D0FB
+:100AA0000A20FFE00F20A3E6C8000020141B00204E
+:100AB0001452010028780F2879D1A8683861287964
+:100AC00038730B20FAE628780428F5D1FC4C6968C5
+:100AD000A0680822006A00F0CDFA0C203071786915
+:100AE0000722B9690270A268D3684360126A826003
+:100AF0007EE028780D28DFD1F14C6968A0680223D8
+:100B00000269C06900F0BEFA0D20307178690621D3
+:100B10000170A1688A684260096966E028780C283B
+:100B2000CAD1E74C6968A0686278406A00F0A2FA0E
+:100B30006078A2681021091A526AC9B2101800F030
+:100B400091FA0621684601703869029011226846C0
+:100B50000271029810220170A168401C496A00F0DD
+:100B600089FA00216846FFF79BFB0E206EE028788B
+:100B70000F2876D1062168460170386902900B2152
+:100B800068460171029C0720CD4D2070A8680222A2
+:100B9000C169601C00F06EFAA8680822016AE01CB6
+:100BA00000F068FA00216846FFF77AFB7AE7C8E0B0
+:100BB000880701D5102075E0132019E628780F2842
+:100BC0004FD1A86838612879387311203071BC483A
+:100BD000816848690078002801D00324CAE0786958
+:100BE00006220270C9684160B6498160B549091D95
+:100BF000C160FFF78FFB30E0B14880684169097838
+:100C000000290CD129780C292BD1AD4C6968806A58
+:100C1000102200F02FFAA16801204969087006210E
+:100C20006846017038690290112168460171029886
+:100C300008210170A249401C89681022896A00F0CD
+:100C400019FA00216846FFF72BFB122030710921A9
+:100C5000684601702946FFF723FB044601287DD032
+:100C600088E06FE028780F286CD10620694608706C
+:100C70003869029008200871029809210170904992
+:100C800089680A78D207D20F427049680622801C10
+:100C900000F0F0F900216846FFF702FB8CE74807F7
+:100CA00005D514203071092069460870E0E6162049
+:100CB0009EE528780F2851D1A868386128793873C3
+:100CC000152030717869062101707D4989688A682C
+:100CD0004260096981607B49891D89E728780C2871
+:100CE00045D1774C6968A0681022C06A00F0C2F94B
+:100CF0000620694608703869029011200871029830
+:100D00000A210170A168401CC96A102200F0B2F9E2
+:100D100000216846FFF7C4FAC9E7694813304079F3
+:100D2000002810D0C10703D065480621017006E0F5
+:100D3000800701D5082000E00A20614908700024DE
+:100D400018E00BE013E0172052E55D49002805D0BC
+:100D50000020307108700A206946087068460078E3
+:100D6000002804D000216846FFF79AFA002454486E
+:100D700000210170204605B0F0BD10B5524BFF2494
+:100D80005C72586019721A80002204E0491EC9B2D0
+:100D90000B010C33C2540029F8D110BDF0B54A4EF6
+:100DA0000546717A01208DB0FF2971D00127727A32
+:100DB000736811015C180C31595C8900091F645873
+:100DC0006A7021780B0004F0F5F90B960709272CBF
+:100DD00059888D4A4F5492002F707CE02146203173
+:100DE0000A9109790120002902D0012967D10EE07A
+:100DF0006068019005A802900D21C01C00F032F936
+:100E0000032205A8A16800F035F90A984EE0297878
+:100E1000052974D106215DE029462046FFF719FB1C
+:100E200069E021462031069109790120002902D08C
+:100E3000012964D10EE06068019007A802900822A1
+:100E4000E16800F017F9082209A8A16800F012F97A
+:100E500006982BE02978052951D10A213AE0294644
+:100E6000204600F01AF946E029462046FFF76BFAC3
+:100E700041E029462046FFF756FB3CE02146203161
+:100E8000059109790120002903D0012937D11DE0FE
+:100E900056E06068019007A802900822A16800F05F
+:100EA000E9F8082109A800F0DDF8059869460771FE
+:100EB0000520087029466846FFF7F2F91BE00BE0B1
+:100EC000C80000200C520100241B002029780529AD
+:100ED00015D10B212970002011E02946204600F091
+:100EE00023F908E02946204600F04EF903E02946A0
+:100EF0002046FFF7C9F9002801D001280CD125624E
+:100F0000717A736809010C315A5C521E1206120E76
+:100F10005A5401D003204AE70328FCD0737A726840
+:100F200019011D010D312C46515C7172FF270D34E2
+:100F300017550C35545D002C02D0FF2903D1737274
+:100F40000DB0F0BD21460C010D34145DFF2CF9D11C
+:100F500009010D315354F3E770B5AD4C0546607A85
+:100F6000214603464A6811E0010108460C30105C36
+:100F700008E0401EC0B286008E199659AE4201D1DB
+:100F8000042070BD0028F4D10D31505CFF28EBD156
+:100F90009F480021007A01E0491CC9B2884204D967
+:100FA0000E010C36965D002EF6D1884201D8052040
+:100FB00070BD08010D30135461722846FFF7AAF97D
+:100FC000032806D0617A626809010D31515C6172B3
+:100FD00070BD28462830FFF7E1FE70BD10B50478DB
+:100FE0000123012C14D10C78022C11D30B23137084
+:100FF00083785B075B0F537002220A708088002899
+:1010000005D0830000221146062000F0EEFD0023EB
+:10101000184610BD0EB50022012105280AD0062869
+:1010200007D1684601700221017142710021FFF76A
+:1010300064F80EBD68460170F6E710B58EB00C4638
+:1010400006216A461170019072480290001D0390BB
+:101050006846FFF781FF102220460B9900F00AF83E
+:101060000EB010BD002202E0491EC9B24254002950
+:10107000FAD1704703E0521ED2B28B5C8354002A2F
+:10108000F9D1704730B505E05B1EDBB2CC5CD55CB6
+:101090006C40C454002BF7D130BD3EB5044620301F
+:1010A0000D4602790121002A02D0012A3AD10FE02F
+:1010B00061680191574908310291012101710520B0
+:1010C0006946087029466846FFF7EAF8014629E0B4
+:1010D0002878052826D169681022A06800F087F8D2
+:1010E0006868C07B000606D54A4AA06810231832FB
+:1010F0000146FFF7C7FF1022A168E06800F077F80B
+:10110000A068C07B000606D5424AE068102318326A
+:101110000146FFF7B7FF07202870A0686860E06805
+:101120000021A86008463EBDF0B5044626460F469D
+:1011300020363179012089B0002909D0012905D153
+:101140003978052902D10C203870002009B0F0BD93
+:10115000606803AD01900295022203A8A168FFF721
+:1011600089FF0222A81CE168FFF784FF0C21281DDB
+:10117000FFF778FF01203071052069460870394675
+:101180006846FFF78DF8E1E710B5034620331C7978
+:101190000122002C04D0012C10D0022C25D11EE0FD
+:1011A00001211971C16806220A7040684860194817
+:1011B000801C8860801CC86008460CE00C780C2CF1
+:1011C00013D102221A71C268052313704968516055
+:1011D000806890601046FFF79DF8024605E00878A9
+:1011E0000B2802D10D2008700022104610BD10B54A
+:1011F000002409E00B78521E5B0023430370401C5F
+:101200000B78491CD2B2DC09002AF3D110BD0000D2
+:10121000241B00200C52010070B50D46040012D0B2
+:10122000002D10D02101284603F093FD10225449CF
+:10123000284603F031FD52480121083801804480DE
+:101240004560002070BD012070BD70B54C4E00247B
+:101250000546083E11E0716820014018817BAA7B99
+:10126000914209D1C17BEA7B914205D10C222946EA
+:1012700003F0E5FC002806D0641C30888442EADBD9
+:101280000020C04370BD204670BD70B50D460600FD
+:101290000AD0002D08D03A4C083C20886188401CB8
+:1012A000884203D9042070BD102070BD3046FFF77E
+:1012B000CCFF002801DB401C0AE0208861680001A7
+:1012C00040181022314603F0E7FC2088401C2080A3
+:1012D0002870002070BD70B514460D001FD0002C82
+:1012E0001DD00021A170022802D0102817D108E0DB
+:1012F000687829780002084311D00121A17010807C
+:101300000BE02846FFF7A1FF002808DB401CA07077
+:10131000687B297B000208432080002070BD0120EB
+:1013200070BD70B5054614460E000AD0002030701E
+:10133000A878012807D004D9114908390A889042B1
+:101340000BD9012070BD002C04D02878207028888B
+:10135000000A50700220087010E0002C0CD0496880
+:101360000001411810391022204603F095FC28781E
+:1013700020732888000A607310203070002070BD30
+:10138000EC00002073490968016000207047714932
+:1013900008600020704701216F4A704B002803D07D
+:1013A000012805D06E48704791630020187001E055
+:1013B000D1631970002070476A49012008606848AD
+:1013C000801C70470422684B6649002805D05A608B
+:1013D000086901221043086108E0086940084000DC
+:1013E00008619A605C490020C03188600020704725
+:1013F0005C490622002808D0012809D002280DD017
+:1014000003280FD05648401C70470869904302E0FB
+:1014100008699043801C0861002070470869904368
+:10142000001DF8E708691043F5E74E494A6A024390
+:101430004A62002070474B494A6A82434A62002050
+:1014400070474849496A0160002070474549CA69A8
+:101450000243CA61002070474249CA698243CA6197
+:10146000002070473F49C96901600020704730B5CE
+:101470000546002072B601463A4A384C4032002DEB
+:1014800011D00123012D0CD0022D02D0072062B60D
+:1014900030BDA3706478002C01D09363F7E79163AB
+:1014A000F5E7A170F9E7A170F9E72F4904208860FA
+:1014B00029490020C03188602849012008702B4943
+:1014C0000A688023120A12021A430A602849086037
+:1014D000704722480078704770B5EFF31080C50759
+:1014E000ED0F72B61D4C6078401C0006000E607057
+:1014F00003D120A1CC2003F06CFD6078012806D137
+:10150000A078002803D01749012040318863002DBE
+:1015100000D162B670BD70B5EFF31080C507ED0F56
+:1015200072B60E4C6078002803D112A1DC2003F0C3
+:1015300050FD6078401E0006000E607006D1A07855
+:10154000002803D00749002040318863002D00D1D6
+:1015500062B670BD0004004040000040FC00002066
+:1015600004200000000500400003004000E400E00B
+:1015700000E100E07372635C736F635F706F7765A7
+:10158000722E63008107C90E002808DA0007000FD9
+:1015900008388008B94A80008018C06904E08008D3
+:1015A000B74A800080180068C8400006800F704766
+:1015B000B44948788978884201D3401A02E0212250
+:1015C000511A0818C0B27047AE492331487889785B
+:1015D000884201D3401A02E02122511A0818C0B2F1
+:1015E0007047A849463148788978884201D3401A23
+:1015F00002E02122511A0818C0B27047A04810B565
+:101600000C300168FF22120291430122D2031143E0
+:1016100001609C490020233148708870233948704C
+:101620008870463148708870974802F0FFFA9648F3
+:10163000401C02F0FBFAF2F7A9F900F015F910BD11
+:1016400020207047B4E770B50C4605460026FFF72A
+:10165000AFFF8C49A04214D30A46203A002320460B
+:10166000641EE4B200280BD08878105C287088785B
+:101670006D1C401CC0B288702128F0D18B70EEE741
+:10168000012600F0F1F8304670BD202070479BE73E
+:1016900070B50C4605460026FFF796FF79492331C1
+:1016A000A04214D30A46203A00232046641EE4B226
+:1016B00000280BD08878105C287088786D1C401C3E
+:1016C000C0B288702128F0D18B70EEE7012600F0BF
+:1016D000CBF8304670BD202101700020704710B556
+:1016E0000446FFF77EFF2070002010BD70B50C4649
+:1016F0000546FFF776FF63494631A04215D30A46F7
+:10170000203A00232046641EE4B200280BD08878DB
+:10171000105C287088786D1C401CC0B2887021282D
+:10172000F0D18B70EEE7002400E0584C00F09CF8FC
+:10173000204670BD70B50C460546212904D9FF200E
+:1017400053A1473003F045FC4C484068103840B284
+:10175000FFF718FFC6B20D20FFF714FFC0B2864294
+:1017600007D2FF204AA14D3003F033FC01E0F2F72D
+:101770004DF921462846FFF766FF0028F7D070BDD7
+:10178000F8B5404E07462336B1787078212200F034
+:1017900060F8354623353B4C00280ED0A1786078A0
+:1017A000212200F056F8002814D0A9786878212268
+:1017B00000F04FF800281AD025E032497078C91C93
+:1017C0000F547078401CC0B2707021281BD10020CB
+:1017D000707018E02B49607820390F546078401CF5
+:1017E000C0B2607021280ED1002060700BE0254946
+:1017F000687826310F546878401CC0B26870212880
+:1018000001D100206870B1787078212200F021F8B1
+:1018100000281DD0A1786078212200F01AF8002855
+:1018200016D0A9786878212200F013F800280FD08C
+:10183000F2F7CEF8144802F001FA01214903884278
+:1018400003D013A1C12003F0C4FB0F4802F00EFA2D
+:10185000F8BD401C884205D0904201D1002901D03A
+:10186000002070470120704710B5074802F0E6F9E4
+:10187000002801D1F2F79BF810BD000000ED00E058
+:1018800000E400E0501B0020FF00002007200000C3
+:101890007372635C736F635F72616E642E630000CA
+:1018A00010B5284802F0C2F9002803D026A11D2057
+:1018B00003F08FFB2348401C02F0B8F9002803D046
+:1018C00021A1212003F085FB10BDF1B5224D6F68E9
+:1018D00001261C4802F0B2F91A4C002803D1002658
+:1018E000601C02F0C3F91D4A1D490120506000BF71
+:1018F00000BF00BF00BF00BF00230B604B60009B18
+:101900006B60106000BF00BF00BF00BF00BF086871
+:10191000002802D148680028F9D048680028E4D19E
+:10192000002E04D06F60601C02F088F907E0601C94
+:1019300002F084F90028D3D1024802F097F9002080
+:10194000F8BDC2E7010100207372635C736F635FCF
+:101950006563622E6300000000E5004000E0004087
+:1019600000E1004030B5EFF31081CC07E40F72B610
+:101970001D4A116910230D461D431561002C00D12D
+:1019800062B61A4DC406E40E0120A0402C68044241
+:101990000DD0C8060AD4EFF31080C007C00F72B68E
+:1019A000116999431161002800D162B630BD20BF92
+:1019B00040BF20BFEAE70E4908784A78401CC0B211
+:1019C000904200D008707047084A094820BF40BFC5
+:1019D00020BF4178037843701368002B02D103784D
+:1019E0008B42F3D00020704700ED00E000E200E001
+:1019F00003010020FEB5F64C07466068FF213E015A
+:101A000081552178FF2913D0090108314158324608
+:101A1000491E083209020192090A805800F0CEF9E5
+:101A2000002802D02478254615E061682078885582
+:101A30002770FEBDE64842680198115828010090C1
+:101A40000830105800F0BAF9002806D1E0482C46BA
+:101A5000416800980D5CFF2DECD1DD482101406804
+:101A600085554754FEBD70B5D94A04460020157A05
+:101A700053680AE00201561C9E5DA64203D10C3257
+:101A80009A588A4204D0401CC0B28542F2D8FF2046
+:101A900070BDF8B5CE4F3E7801F01AFE0146FF2E1C
+:101AA00071D03401254678680835405900F086F930
+:101AB00002280CD97868405901F0FDFD01F008FEBC
+:101AC00001467868405900F079F902285BD8C0498E
+:101AD0004868025D0A70A11C425C002A0CD0521EAC
+:101AE000425441590122D20589180902090A41517B
+:101AF0003046FFF77FFF30E0631CC25C0092221D7E
+:101B000094468258002A10D001239B029A420FD992
+:101B10009205920D43595703DB191B021B0A4351CF
+:101B20006346C3589A1A920A09E0FF21C1540AE099
+:101B3000435952039A181202120A42510022425487
+:101B40003046FFF757FFA2480C344168C26800983E
+:101B5000095980001258009890479D4C2078FF2822
+:101B600011D0000161680830085801F0A4FD01F0AF
+:101B7000AFFD01462078626800010830105800F07F
+:101B80001DF9022886D3F8BDF8B51C4615460E4649
+:101B90000746FF2B03D38FA1D42003F01AFA8C48F9
+:101BA000FF21C76045600472067401700022427014
+:101BB000104604E00201521C401CA954C0B2A042CD
+:101BC000F8D3F8BD70B5824C06466578207C854216
+:101BD00003D380A1E72003F0FCF9E068A900465098
+:101BE0006078401C6070284670BDFFB581B01D460E
+:101BF000FF2401F06DFD764F064679780198814209
+:101C000003D874A1F52003F0E4F971480021037AA8
+:101C1000406810E00A019446521C825CFF2A25D0DD
+:101C2000019FBA4205D162460C328758029A974208
+:101C30001ED0491CC9B28B42ECD8FF2C18D0210110
+:101C40004A1C019B83540B460C33029AC250039BDF
+:101C50005F4F0022012B0ED00B1DC25001239B02AF
+:101C60009D4216D9AA05920D08D008E00C46E0E77F
+:101C7000FF2005B0F0BD0B1DC550EFE71A4653031A
+:101C80009B190E461B0208361B0AAA1A8351920A98
+:101C900009E0002D00D101256B039B191D022D0ABF
+:101CA0000B460833C550891C42543D463E782046B9
+:101CB000FFF7A0FE2878B04214D000016968083010
+:101CC000085801F0F8FC01F003FD29786A68090161
+:101CD000083152580146104600F070F8022801D22F
+:101CE000FFF7D7FE0198C4E770B50C46054601F032
+:101CF000EFFC064621462846FFF7B5FEFF2817D021
+:101D0000334D04012046696808300858314600F018
+:101D100055F80121090340186968A41C095D400BAE
+:101D2000002901D089020818002800D1012070BDC7
+:101D3000002070BDF3B581B00F460198FFF793FE08
+:101D4000FF282AD0224E3578726829460C4604E0D6
+:101D5000844205D025462301D45CFF2CF8D11CE039
+:101D6000FF2C1AD0A5421CD10801105C3070FF284E
+:101D700015D000010830105801F09DFC01F0A8FCBE
+:101D800001463078726800010830105800F016F8EB
+:101D9000022806D2FFF77DFE03E00020FEBD01F021
+:101DA00092FC39460198FFF79FFF22017168FF23DB
+:101DB000541C0B558A5C2B01CA54FEBD401A00020C
+:101DC0000121000AC905884200D90020704700009F
+:101DD0009C1B00207372635C736F635F74696D6535
+:101DE000722E6300F0B500241C4A01211C4B08032D
+:101DF000546018601B4B1C601B4C20601B4804691E
+:101E0000E443E406E6170469761C10252C430461BC
+:101E1000174C6160174D296000E020BF1F68002F3C
+:101E2000FBD0002E03D107691026B74307619068E5
+:101E30008005906801D5104A10436960A1600021B7
+:101E400019600121084A09031160F0BD10B504466C
+:101E5000FFF7C8FF2060002010BD000000C5004053
+:101E600080E100E000C1004080E200E000ED00E021
+:101E700000C3004000C0004000FCFFFF70B51F49D8
+:101E80000A68002A17D000231D4601244A68521C04
+:101E90004A60092A00D34D600E792246B2400E688E
+:101EA00016420AD072B60B6893430B6062B649685B
+:101EB0000160002070BD052070BD5B1C092BE5D3BF
+:101EC0000FA1362003F085F8F5E7012010498005C1
+:101ED00008607047EFF31081CA07D20F72B6012174
+:101EE00081400648036819430160002A00D162B6A8
+:101EF000EBE70248002101604160704708010020C3
+:101F00007372635C736F635F6576742E63000000A9
+:101F100000E200E00120810708607047012081078E
+:101F2000486070471048C068C00700D00120704763
+:101F30000D488068C00700D0012070470A484069FA
+:101F4000C00700D0012070470748C06970470649A4
+:101F50008A69D20306D589698907890F814201D12F
+:101F6000012070470020704700040040F8B5FE4C87
+:101F7000207BE17A88421AD00126FC4D0027E07AC6
+:101F8000215C14200A4642435019037C052B0FD0D4
+:101F9000062B1BD0072B28D0437C012B33D0F4A178
+:101FA000F64803F016F8207BE17A8842E7D1F8BDC5
+:101FB0000674E07A0A2807D0E07A401CE072491CD7
+:101FC000C8B2AA5802210CE00020F7E70674E07AB4
+:101FD0000A2808D0E07A401CE072491CC8B2AA580E
+:101FE00003219047DFE70020F6E70674E07A0A282D
+:101FF00007D0E07A401CE072491CC8B2AA580821F8
+:10200000EFE70020F7E74774E07A0A2807D0E07A84
+:10201000401CE072491CC8B2AA580721E1E7002021
+:10202000F7E770B5D64D06206872D648002444778D
+:10203000047738300473C472D34801F0F7FDD348F5
+:102040000475EC72D249601E88606C71AC70EC70E3
+:102050002C716C70CF48022104704470CE4804701B
+:10206000047528300470491EFAD10120F1F750FDA3
+:102070000020F1F74DFD0120A871F0F741FDC748A0
+:10208000F0F750FDC64C2070C648F0F74BFD60706D
+:10209000F1F7E2FC70BD10B5F1F709FDC04C2078F6
+:1020A000F0F75EFD6078F0F75BFDB54C207A002814
+:1020B00005D0FFF730FAF0F7E2FD0020207210BDE6
+:1020C00070B5AF4CA079002804D0A9A1B64802F0A1
+:1020D00080FF70BDE07A002804D11320A4A1400144
+:1020E00002F077FF0126A6710025E572607A0421CF
+:1020F000142250439D4A80180174A5488168491CE8
+:1021000004D0691E81600120F1F702FD0020F1F783
+:10211000FFFCF1F7E3FC01F023FEF1F7E8FDA34833
+:10212000056005600120A249C0030860F0F74AFF7E
+:1021300098480078022804D0032804D1E0780028C9
+:1021400001D0A67000E0A570F1F7BDFD70BD03469B
+:1021500086490520142242435218203A127F002A51
+:1021600004D0401E0006000EF4D1704714224243F2
+:1021700051180A46403AD362012220390A77704743
+:10218000012805D0032805D1002903D1002070477C
+:102190000029FBD010B47A4C002363707D4A0028DC
+:1021A00090700CD002280AD007291AD20B007B4469
+:1021B0001B79DB189F441505070D0F111300D37011
+:1021C00003E01B2000E03A20D0700120607010BCBA
+:1021D00070475820F8E77720F6E79620F4E7B52017
+:1021E000F2E710BC0020704710B56A484078F1F75C
+:1021F00085FD80B210BD411E1422504310B55B4ACC
+:102200008418203C042902D8207F002803D158A13B
+:10221000684802F0DEFE207F012803D054A1664802
+:1022200002F0D7FE0020207710BD70B5554C607FBE
+:10223000217F884201D1012500E00025F1F7F7FC5C
+:10224000F1F75CFD617F227F914201D1012100E025
+:102250000021A942EBD170BDF7B50646481E844661
+:102260008EB0C0B2142204905043404A85182846CC
+:102270000595007C2D1D07282AD13B4C0027E07ACC
+:10228000227B824221D0235C049A934201D1012710
+:1022900001E0002F04D00A2811D0421CA25C225475
+:1022A0000A280ED0401C227BC0B28242EBD1002F04
+:1022B0000BD0207B002806D0207B401E04E00022AB
+:1022C000ECE70020EFE70A202073059A0120107444
+:1022D00060462B4C04280FD814204143234808188B
+:1022E0002038007F002807D00598007C012807D0FF
+:1022F0001098807A012807D01DA1304802F069FEAD
+:102300001098807A012871D10598184B007C02281A
+:102310001AD0154C207B0A2874D0207BE17A401C0F
+:10232000884204D1C92012A1800002F052FE059912
+:1023300001204874217B04986054207B0A2865D0D2
+:10234000207B401C20731CE1607A049A0146904275
+:1023500006D0014614277843C018807C9042F8D1FB
+:10236000627A824235D12BE0A81C0020B81C0020E4
+:102370007372635C72656D2E63000000D50500000A
+:102380003C1D0020701C0020481D0020901C0020D7
+:102390001C1D002012010020C81C0020931A0100FF
+:1023A000100100206D1F01007F02000000F50040B9
+:1023B00080E200E0CD020000CE0200001703000022
+:1023C000617A14225143C918897C61720121A1727A
+:1023D00007E014224243D21814277943927CC9188B
+:1023E0008A74142206215043C01881741098007A10
+:1023F000062819D203007B441B79DB189F4408127E
+:10240000100E0C0AE07A00288CD090E7002099E7A3
+:1024100000210FE0B4210DE073210BE0322109E02F
+:102420000A2107E0062105E0FF20FE49E23002F024
+:10243000D0FD0021109802910068401A2860109980
+:10244000097A002912D00221401A0102090A2960E2
+:1024500010980268406810180002000A686010981E
+:10246000807A0228109803D0007B74E00421EBE707
+:10247000007A002813D0022202981018844610987F
+:102480004268604608301718E748029A4078904240
+:1024900002D9E278002A04D03846083005E0042248
+:1024A000EAE7029A801AC0190830627A062A1CD01C
+:1024B000627A14235A43DD4BD2185268914214D0E9
+:1024C000DB4B0793617A14225143D84A89184A6832
+:1024D0008968921B891B12020902120A090A90429A
+:1024E0003AD89A4238D8994236D83018C01B0002E0
+:1024F000000A286010996044CE4AC9680002000AA8
+:102500009446421A01239B0507929A4201D2104633
+:1025100014E00A1A09929A4201D207980EE0079A2B
+:102520006346624503D9591A0818401C06E0099A07
+:10253000624506D9181A4018401C404200285FDC4A
+:1025400003E0B849BC4802F044FD2868C019000205
+:10255000000A6860002028726868082708300002B6
+:10256000000A68601098407AA8721098007A687221
+:1025700003280ED200280CD0FFF7D4FC002803D08B
+:1025800007E0002011B0F0BD02983A210F1A322066
+:102590000290A5480178012901D0032909D1417889
+:1025A0000298814205D9E078002802D10298081AE1
+:1025B000C71928689E4A801B844601026868090A78
+:1025C000801B03021B0A8F421AD81746914217D864
+:1025D000BB4215D8617A062916D0677A6146062271
+:1025E000039200923A4614235A43904BD2189368B0
+:1025F0009B1B8B4216D80397977C062FF2D177E06E
+:10260000049801F059F9BCE7059802220499027474
+:10261000627A062A00D0627A827461720120A07206
+:1026200011B0F0BD062F63D0002239469446142223
+:102630007E4B4A43D21853689B1B834229D2917B1D
+:10264000AB7A99421FD805980521049C7B4D0174F3
+:10265000287B0A2811D0287BE97A401C884203D1C4
+:102660007049774802F0B5FC287B2C54287B0A2857
+:1026700007D0287B401C287383E7E87A0028EFD036
+:10268000F2E70020F7E701218C46917C0629CED1A4
+:1026900002E0604600282AD03D46009114202A46D8
+:1026A000424362480621161831741038007B0A280C
+:1026B000624816D0017BC07A491C814203D161A1D6
+:1026C000634802F086FC5D48017B4554017B0A2982
+:1026D0000BD0017B491C0173B57C0098A842DDD169
+:1026E00006E0C07A0028EAD0EDE70021F3E7009782
+:1026F0000599022008744D4D607AB84207D10599BA
+:1027000000988874049860720120A07221E00398F8
+:10271000062F0FD0062803D14AA14E4802F059FCDB
+:102720000398142250434019049981740599009824
+:1027300088740EE0062803D142A1474802F049FC04
+:102740000398142250434019049981740599062076
+:102750008874012011B0F0BD70B50D4606463F49A2
+:1027600000242046891BA04103D236A13C4802F038
+:1027700030FC3C490020491BA04103D231A13A481A
+:1027800002F027FC394A70190021821A8C4101D3CA
+:102790003749401870BDF8B5401EC0B214214843F7
+:1027A00022494518687B062813D203007B441B7915
+:1027B000DB189F44020C0A080604002066E0B420DF
+:1027C00010E073200EE032200CE00A200AE0062020
+:1027D00008E0FF201BA1E23002F0FBFB697B002038
+:1027E000002953D0022140186968002440180C21A8
+:1027F00000026956000A00294ADBF1F77FFA174AFE
+:1028000006460C27EF570021101AA14103D20DA153
+:10281000134802F0DEFB13490020C91BA0412CD253
+:1028200008A127E07023010012010020B81C00203D
+:10283000FFFF3F00FFFFFF0014070000A81C00205F
+:10284000090200007372635C72656D2E6300000004
+:10285000C7030000DF030000E5030000FF7F841EC4
+:10286000F50300000020A107F60300000080841E8D
+:1028700000807BE1FB4802F0ACFBFB4AF019002131
+:10288000821A8C4101D3F9494018F8BD0421AAE706
+:10289000F1F734FA0C21695600224018F449091A5C
+:1028A000A241F2D24042F8BDF0B5064683B0F148ED
+:1028B0000190457A029534687068001B0702EE4863
+:1028C0003F0A001B0090062D2DD0142029464143BD
+:1028D000EA480122081884464168E748920586467E
+:1028E000081B904210D3631A93420DD302467046E0
+:1028F000724503D900984018401C05E073450ED975
+:10290000411A0819401C404200280CDA6046029522
+:10291000857C0198C0790028D5D003B0F0BDD84996
+:10292000D84802F056FB0298854226D0142148432D
+:10293000D2490123401802908068CF499B058C46FC
+:10294000011B8646994210D3221A9A420DD3634640
+:10295000614503D900997144491C06E01946624556
+:102960002DD9091A0819401C4142002905DD029899
+:10297000B17A807B814200D37446062D15D0BF49C1
+:102980001420454368184268121B1202120ABA4208
+:102990000BD2B27A837B9A4200D38468857C0198FB
+:1029A000C0790028B9D1062DEAD13068A042B4D050
+:1029B000E0190002000A3460706003B0F0BDB04955
+:1029C000B04802F006FBD8E7F0B5AF4904464868C6
+:1029D00085B0C005C00D1CD0103840B200280CDAFC
+:1029E0000207120F083A920892005118C96980072D
+:1029F000C00EC1400806800F09E08108A34A890083
+:102A0000891809688007C00EC1400806800F002899
+:102A100008D000262078002806D0012804D0002005
+:102A200005B0F0BD0126F5E72079062813D2030092
+:102A30007B441B79DB189F44020C0A080604002023
+:102A400018E0B42010E073200EE032200CE00A20E1
+:102A50000AE0062008E0FF208949E23002F0B9FAD6
+:102A600021790020002905D002214718814D002E30
+:102A700002D003E00421F8E70020E87102AA6946C9
+:102A8000A068F1F745F9694608228A56E06801A96D
+:102A90008018C01C01221F2801DA019209E003AA54
+:102AA000F1F736F96846007B002802D00198401CF7
+:102AB000019000990198401808300002000A019026
+:102AC000C81B0002000A009060796946887200986D
+:102AD0000390F1F7ACF8009A019B121A181A6C498E
+:102AE00012020002120A000A8A4216D8884214D83A
+:102AF0006846FFF7D9FE00990398814205D0C819AE
+:102B00000002000AF1F7FAF8A0600120E979002933
+:102B100086D0002EB0D005B0F0BD0020F6E7F3B5AA
+:102B20008FB05C480C460B9001F088F85A4A0F9918
+:102B3000504E5518203D594F00280BD05848007D65
+:102B4000002803D057A15A4802F043FA2078012800
+:102B50007DD05FE1787F0A280CD0787F397F401CD8
+:102B6000884203D14FA1534802F033FA207801285C
+:102B700004D00CE0387F0028F4D0F7E7E87F002885
+:102B800003D048A14C4802F024FA0120E877787F6E
+:102B90000F991422494D504340190174207802289E
+:102BA00023D0787F14214843451920792872607911
+:102BB00068722A460C322946A068F1F7A9F80C2061
+:102BC00028560F2804DD1F3828732868401C286009
+:102BD0000C22AA56281DE16802908818C01C1F28E4
+:102BE0003FDA029901200860FDE027494868C005E6
+:102BF000C00D20D0103840B200280CDA0207120FA6
+:102C0000083A920892005118C9698007C00EC14065
+:102C10000806800F09E081081C4A890089180968A4
+:102C20008007C00EC1400806800F002803D11DA1F7
+:102C3000234802F0CEF9787F14214843451900213A
+:102C4000E0686A460591117303AA05A900E0D8E07F
+:102C5000F1F75EF86A460C2010560F2832DD01208D
+:102C600031E0B3E0F60300000080841E00807BE1C9
+:102C7000FF7F841E3C1D0020FFFFFF00B81C0020CA
+:102C8000442801001407000000ED00E000E400E02B
+:102C9000FFFF3F00481D002016010020701C00208F
+:102CA000901C00207372635C72656D2E63000000DF
+:102CB00017050000F5040000FA040000B01B002016
+:102CC0000605000000200599401808900220A8720F
+:102CD0002079287260796872A068291DC01C039150
+:102CE0001F2801DA01200AE006AAF1F711F8684668
+:102CF000007E002804D0039803990068401C0860F7
+:102D0000287A062813D203007B441B79DB189F44E2
+:102D1000020C0A08060400200FE0B4200DE0732026
+:102D20000BE0322009E00A2007E0062005E0FF2042
+:102D3000FD49E23002F04DF900202179002943D00D
+:102D400002214118069168680831401808990590D9
+:102D500008180699401A0C900020F071F0F767FFF0
+:102D600004462860089820180002000AE860707A7B
+:102D7000062825D0707A14214843EC494018406851
+:102D80000090059940180002000A0190687A69468F
+:102D900088726846FFF788FD0098019A001B121B95
+:102DA00000021202E24B000A120A0C99984207D85C
+:102DB0008A4205D80099069808180002000A28607F
+:102DC000F0790028C8D110E00421BAE704AA0299DA
+:102DD000F0F79EFF6846007C002804D00298029914
+:102DE0000068401C08602078A872787F0A2806D006
+:102DF000787F401C78770B9800F038FF47E0002080
+:102E0000F8E7E87F002803D0CAA1CD4802F0E1F836
+:102E10000120E877CB490F9808742078022803D165
+:102E2000C4A1C94802F0D5F8C64D2079287260794E
+:102E300068722A460C322946A068F0F769FF0C2018
+:102E400028560F2804DD1F3828732868401C286086
+:102E50000C22AA56281DE16802908818C01C1F2861
+:102E600003DA0299012008600CE003AA0299F0F746
+:102E70004FFF6846007B002804D002980299006842
+:102E8000401C08602078A872AE4901200875797F3F
+:102E9000387F814223D0747A062C22D0F0F7C7FE07
+:102EA00014214C43A1496218117C042917D003292D
+:102EB00015D0536892681B1A101A1B0200029C4915
+:102EC0001B0A000A082B0AD30A468B4207D89042F5
+:102ED00005D8787F397F884201D0F0F7F4FE11B031
+:102EE000F0BD787F397F8842F7D111B0F0BD10B5C1
+:102EF0000020F0F7FAFD10BD10B50120F0F7F5FD48
+:102F000010BDF1B5009802281FD0904C607A0628B9
+:102F100003D188A18E4802F05CF80026A671012535
+:102F2000E572607A03211422804F5043C019017466
+:102F3000F0F7CEFE009800280CD001282AD00328F4
+:102F40007CD0B5207BA1C00044E082480078EFF738
+:102F50000DFEF8BD8048007F002803D075A17F4892
+:102F600002F037F865717C4D00202E60F0F7D0FD3F
+:102F7000A968481C04D0012300221846F0F7FEFD82
+:102F8000607A617A401CC0B2142251437A58012100
+:102F90009047F8BD0120F0F7BBFD607900280DD007
+:102FA0006D488068401C09D0607A617A401CC0B2CC
+:102FB000142251437A5806219047F8BD6648007F95
+:102FC00001280AD0022812D0032824D0042836D0A1
+:102FD00058A1634801F0FDFFF8BD2079002803D017
+:102FE0002671F0F77AFEE5705B480677F8BD207A27
+:102FF000002804D1FEF770FAEFF718FE2572607A08
+:10300000617A401CC0B2142251437A580021904783
+:1030100051480677F8BD504F0123397B786800226C
+:10302000411A1846F0F7AAFD2079002803D026712E
+:10303000F0F753FEE57002203877F8BD1BE0464EEE
+:10304000217870680123411A00221846F0F796FD96
+:10305000207A002804D1FEF73FFAEFF7E7FD25724A
+:10306000607A617A401CC0B2142251437A58002120
+:1030700090473577F8BD607A617A401CC0B214225F
+:1030800051437A5805219047F8BD10B52F4C607A0E
+:10309000062803D127A1334801F09BFF607A617AAB
+:1030A000401CC0B214225143204A52580421904778
+:1030B00010BDF0B583B006200290F0F7B8FD234CA8
+:1030C0000090617A28480190062920D0617A142066
+:1030D000414316480918097C042918D0617A142242
+:1030E00051430818007C03287BD00198009A03689C
+:1030F00040689B1A801A1B0200020D491B0A000A35
+:10310000082B6ED30A468B426BD8904269D812487E
+:103110008068401C03D007A1144801F05AFF00202A
+:103120006071607A062823E0A42C0100B81C0020FE
+:10313000FFFF3F007372635C72656D2E63000000D9
+:103140001E050000901C0020240500003C1D0020EE
+:1031500055050000100100201C1D00206105000025
+:103160009C050000AF0500002C1D0020EB050000B1
+:1031700007D16078002804D0FE48C178417081787A
+:103180000170607A062815D0607A1421FA4A484303
+:103190008018007C04280DD1607A0290617A0120A9
+:1031A0001423594389180874617A59438918897C12
+:1031B0006172A072F14D687F297FF14F884233D050
+:1031C000F04E287F142148438019007CC05D0128FF
+:1031D000287F07D048438019007CC05D02282FD08B
+:1031E00044E001E2142148438019807A01280AD082
+:1031F000287F0221142250438019007CC155287F6A
+:103200000A2808D009E0297F002014225143891997
+:10321000097CC8552AE0002001E0287F401C28775F
+:10322000687F297F8842CCD1D74D287D00284CD09B
+:10323000287CC15D012928D0C05D022830D03AE049
+:10324000287F142148438019807A012803D0CFA118
+:10325000D14801F0BEFE297F002014225143891974
+:103260008872297F51438919097CC855287F142108
+:1032700048438219287F48438019017C0098FEF753
+:10328000EBFF287F0A28C8D1C5E7A97A012904D015
+:103290000221C155002028750DE00021C1550AE02A
+:1032A000A87A012803D0B9A1BC4801F092FE002001
+:1032B000A872297CC855287D002806D0297CB24AEE
+:1032C0000098FEF7C9FF00202875029806281ED036
+:1032D00014214843A8494018017C012917D107212E
+:1032E000AF4D0174287B0A283CD0287BE97A401C2A
+:1032F000884203D1A5A1AB4801F06BFE297B02985F
+:103300006854287B0A2831D0287B401C2873607AB7
+:1033100006287DD0A07A00287BD00020A072617A98
+:10332000142041439448A04B0A18566891681D46E2
+:10333000D2687C35DE67AA6069609C4D697E002991
+:1033400016D00226617A14228B4851430818407B1C
+:1033500006281BD203007B441B79DB189F440A1408
+:1033600012100E0CE87A0028C4D0C7E70020CDE781
+:103370000426E7E700200FE0B4200DE073200BE007
+:10338000322009E00A2007E0062005E0FF207FA1A7
+:10339000E23001F01EFE00202873697E022901D070
+:1033A000012910D12969009A09188A1A1202120AF1
+:1033B0003A2A08D90320687632390802000A2861BF
+:1033C000322028730AE0322808D2207A00280ED151
+:1033D000FEF782F8EFF72AFC012007E0207A0028A8
+:1033E00005D0FEF798F8EFF74AFC002020726149FB
+:1033F0000822487820700978012901D0032906D1D4
+:1034000001212171297B884201D9421A083201E049
+:1034100091E0A1E0A378002B00D0921C2179002933
+:1034200001D1002B5DD09446614A00990092019A27
+:10343000176852687F1A511A3F0209023F0A090AA7
+:10344000BC451BD85A4A974218D8009A914215D8C1
+:10345000297B884223D92B69421A9A1A1202120A2E
+:10346000101880190002000A2A616860002914D02F
+:10347000032028770006000E3ED14CE0002020718A
+:10348000A070297B002925D02869401880190002E6
+:10349000000A6860022028772EE00120E9E78142D7
+:1034A0000BD92A69511889190902090A696000288B
+:1034B00001D00420DDE70220DBE7002B03D133A19C
+:1034C0003C4801F086FD286980190002000A686006
+:1034D000002004E0296989190902090A696028772E
+:1034E00019E0287B00280FD02969081880190002EC
+:1034F000000A6860022028772869012381190022C8
+:103500001846F0F73BFB09E0286980190002000A21
+:103510006860002028770120F0F7FAFA607A142119
+:10352000484315490C22401882560123002069683F
+:10353000F0F724FB10E00120F0F7EAFA0020F0F7A2
+:10354000E7FAF0F7CBFA207A002805D0FDF7E3FF81
+:10355000EFF795FB00202072A078002804D0F0F748
+:10356000BCFB0020E070A0706078002827D00148E4
+:10357000C17821E012010020B81C0020701C00203E
+:1035800015010020B01B0020901C00207372635CAA
+:1035900072656D2E630000000D0600002906000014
+:1035A000A81C00203B060000B01C00201C1D0020B1
+:1035B000FFFF3F008D060000417081780170207987
+:1035C000002806D00020CE49E0700978002900D1FB
+:1035D0002071CC48017BC07A814203D0CA48407830
+:1035E000EFF7C4FA0120E07103B0F0BDF0B5C74CAD
+:1035F0000746607A83B0062804D16F20C4A1000179
+:1036000001F0E7FC607A1421C44E48438019007C25
+:10361000032803D0BEA1C24801F0DBFCC14DA8685D
+:10362000401C03D0BAA1C04801F0D3FC607A142139
+:10363000484381190C20085600216A4600911171F7
+:10364000C01901AA6946F0F763FB6A4604201056C8
+:103650000F2801DD012000E0002000994018696872
+:1036600040180102090AA9606079002804D00123EA
+:1036700000221846F0F782FA03B0F0BD70B5AC4CEA
+:10368000AA4A0B1AA34214D3451AA54211D3934256
+:1036900003D9101A43185B1C0BE0954204D9511A48
+:1036A0000818401C434204E099A1A24801F091FC93
+:1036B0000023184670BD10B50146012300220220E8
+:1036C000F0F75CFA10BD10B50220F0F721FA10BD3A
+:1036D00010B5F0F7ACFA10BDF0B58C4D0446E87AA1
+:1036E00083B0002803D18AA1934801F072FC642CB6
+:1036F0004DD3924A00210846121B884147D3904877
+:10370000417F007F814242D18E48007D00283ED11A
+:10371000687A1421814F4843824EC519306801AA46
+:1037200000196946F0F7F4FA6946042008560028A3
+:1037300002DD0098401C0090A96800986B680A1888
+:10374000D21A1202804B120A9A4220D8AA7C062A68
+:1037500008D014235A43D2195268511A0902090A8F
+:10376000814214D3B068401C05D00120F0F7D0F995
+:103770000020C043B060306800193060A86800992C
+:1037800040180002000A7061012003B0F0BD002063
+:1037900003B0F0BDF8B50646401EC4B214205F4920
+:1037A00060434518287C002804D1772058A10001E7
+:1037B00001F00FFC6248017F407F81420CD0634AD8
+:1037C00014234B439B181B7CB3420CD00A290CD00A
+:1037D000491CC9B28142F3D15A48017D002961D008
+:1037E000007CB0425ED10020F8BD0021F1E7052940
+:1037F00003D0062901D0072928D101212974C17AD3
+:103800000023027B8A4221D00246565CA64201D1A7
+:10381000012301E0002B04D00A2911D04E1C965D33
+:1038200056540A290ED0491C167BC9B28E42ECD1DF
+:10383000002B0BD0117B002906D0117B491E04E020
+:103840000026ECE70021EFE70A211173697C0029CB
+:103850002AD06F74C17A0023027B8A4224D0425C52
+:10386000A24201D1012301E0002B04D00A2912D089
+:103870004A1C825C42540A290FD0491C027BC9B2FF
+:103880008A42ECD1002B0FD0027B0146002A06D0E1
+:103890000A7B521E04E00022EBE70021EEE70A2239
+:1038A0000A7301E017480027297C01299FD16A7C0F
+:1038B000002A9CD10120F8BD70B505461420174A96
+:1038C0000521684380180F4C0174207B0A2811D011
+:1038D000207BE17A401C884203D10DA11C4801F0F5
+:1038E00078FB207B2554207B0A2807D0207B401CB6
+:1038F000207370BDE07A0028EFD0F2E70020F7E7F0
+:1039000012010020A81C0020100100203C1D0020F6
+:103910007372635C72656D2E63000000B81C00203A
+:10392000F10600001C1D0020F2060000FF7F841E2F
+:103930000020A1071407000033070000FF1FA107A4
+:10394000701C0020901C0020FFFF3F00B01B0020D7
+:103950000902000010B501462022094801F09CF937
+:1039600007490020C877084610BD06490120486174
+:103970000548064A0168914201D100210160704763
+:103980004C1D0020000500401C010020BEBAFECAEC
+:10399000064A10705170704704481C22017841712A
+:1039A00042700170704770477047704720010020D7
+:1039B00030B50346002002460DE09C5C2546303DB4
+:1039C0000A2D02D30020C04330BD0A256843303899
+:1039D0002018521CD2B28A42EFD330BD70B50D46CA
+:1039E000144608E00A2101F0D1F92A193031203AB1
+:1039F000641ED177E4B2002CF4D170BD10B5002361
+:103A000010E0040A00020443A0B2CC5C444020064B
+:103A1000000F60400407240C44402006C00C6040A6
+:103A20005B1C9BB29342ECD310BD10B520380C4602
+:103A3000030001F0BFFB33E0DBE41B1F23272C3125
+:103A4000373C41474D5054585C606D7165697478DE
+:103A50007C8084888C9094989C9FA2A6AAAEB2B8D1
+:103A6000BCC0C5CACFE9F0F3D3D7F800206800F096
+:103A7000DDF8D6E0206800F0E1F8D2E0206800F040
+:103A8000F5F8CEE0207840B200F092FAC9E0207854
+:103A900040B200F0B0FAC4E02078616840B200F0B3
+:103AA000C3FABEE0207840B200F0D3FAB9E0207843
+:103AB00040B200F0DEFAB4E02078217940B200F0A4
+:103AC000E9FAAEE02078616840B200F013FBA8E0AC
+:103AD00000F01FFBA5E0206800F023FBA1E02078A8
+:103AE00000F038FB9DE02068FDF7F5FD99E02068C7
+:103AF000FDF7F5FD95E021792068FDF7F7FD90E0F1
+:103B00002068FDF73FFC8CE02068FDF740FC88E072
+:103B10002078FDF740FC84E0FDF74EFC81E0207842
+:103B2000FDF750FC7DE02078FDF762FC79E020682D
+:103B3000FDF77BFC75E02068FDF77DFC71E02068F7
+:103B4000FDF77FFC6DE02068FDF780FC69E02068F0
+:103B5000FDF782FC65E02068FDF784FC61E02068E9
+:103B6000FDF785FC5DE00846EDF7F0FA59E0EFF768
+:103B700070F856E0EFF79DF853E02068EFF7A5F8EE
+:103B80004FE0206800F080F84BE0206800F082F8F9
+:103B900047E0206800F083F843E02078A26861687D
+:103BA00000F082F83DE0207800F089F839E02078D4
+:103BB00000F091F835E02078616800F098F830E086
+:103BC0002078616800F09FF82BE02179207800F0E0
+:103BD000D5FB26E02068FDF778FE22E02068FEF79E
+:103BE0004DF91EE02068FEF731F91AE0204607C8BB
+:103BF00000F0B9FC15E0206800F00CFD11E06168F0
+:103C0000206800F037FD0CE0206800F029FF08E094
+:103C100009E003E0FFE700F03BFF02E0206800F06E
+:103C200073FF206010BD0120086010BD00210170ED
+:103C3000084670470146002008707047EFF3108176
+:103C4000C907C90F72B60278012A01D0012200E02B
+:103C5000002201230370002900D162B6002A01D09E
+:103C600000207047012040037047E7E7EFF3108121
+:103C7000C907C90F72B600220270002900D162B6CE
+:103C800000207047F2E7000038490968C9B20160B6
+:103C9000002070473549C0B2486000207047334962
+:103CA000C0B2886000207047082801D330487047B0
+:103CB000C3002E4818180161426100207047022895
+:103CC00002D32B48401C70472A4A0121C0008018AB
+:103CD000016000207047022802D32548401C70472D
+:103CE000244A0121C000801841600020704702284A
+:103CF00002D31F48401C70471F4A8000C9B2801879
+:103D0000016000207047022802D31948401C704708
+:103D1000194A800080180068C0B20860002070470F
+:103D200010B5FF20114AC043906008200021C30055
+:103D30009B1819615961401C1028F8D300200E4AC5
+:103D400005E0022803D383009B18196004E0830078
+:103D50009B181C68E4B21C60401C0428F1D310BD01
+:103D6000FF200249C04388607047000000F5014011
+:103D70000820000000F0014000F8014010B572B6C4
+:103D800000F0DEF800280BD0EDF78AFAFEF783F991
+:103D900000F0BBFA6F490020C86288626E49086073
+:103DA00062B6002010BDF3B5002501200007C06AEF
+:103DB00081B0C0430006000E04D168480068401C72
+:103DC00000D1012572B600F0BBF8002801D062B620
+:103DD00087E0EDF7D1F9EDF767FA614C614A002110
+:103DE0002368CB40DB071FD00346CB40DB0718D14D
+:103DF0004BB2002B07DA1E07360F083EB608B60096
+:103E0000B618F66904E09E08574FB600F6193668F2
+:103E10009B07DB0EDE4033069B0F012B04D0032BE8
+:103E200002D062B65148FEBD491C2029D8D3019C5E
+:103E300001204F49230001F0BDF914222424242439
+:103E4000242424240B0D1012142016181A1C1E2FC3
+:103E5000002400E00124C86314E00224FBE70324EB
+:103E6000F9E70424F7E70824F5E70924F3E70A242F
+:103E7000F1E70B24EFE70C24EDE70524EBE707243B
+:103E800000E00624D06901210002000AC9070843A6
+:103E9000D061002D04D009E062B601200003FEBD10
+:103EA0002C4D3448E862EDF7FFF9A8622A49324800
+:103EB0000860324902980860EDF7F6F9214600F0F3
+:103EC0000BFAFEF7AEF800F00DFC00F087FA01984F
+:103ED000EDF7B4F9040062B603D0FFF74FFF2046B8
+:103EE000FEBD0020FEBD10B5044600F029F80028F4
+:103EF00000D001202070002010BD21490860002062
+:103F0000704710B50C46102808D011280BD0122885
+:103F10000CD013280ED00120086010BD6168206805
+:103F2000FFF741FF0AE0FFF729FF07E02068FFF7EE
+:103F3000DAFF03E01249206808600020206010BD0D
+:103F400005480D490068884201D1012070470020D2
+:103F500070470000000500401C0100200010001008
+:103F600000E100E000ED00E000E400E001100000EE
+:103F70004000004000200000BEBAFECA2801002018
+:103F8000040000208107C90E002808DA0007000F8E
+:103F900008388008814A80008018C06904E08008E1
+:103FA0007F4A800080180068C8400006800F704774
+:103FB00010B5044600F0DBF8002813D02046FFF7C8
+:103FC000E1FFC0B200F0E1F800280DD07549E2062B
+:103FD0000B78D20E01209040002B08D04A68104385
+:103FE000486006E0704810BD6F48401C10BD6F4926
+:103FF0000860002010BD10B5044600F0B8F8002895
+:104000000BD06849E2060B78D20E01209040002BBD
+:1040100005D04A6882434A6004E0634810BD6349A2
+:1040200080310860002010BD70B50D46044600F0D8
+:104030009EF800280BD05E480068E206D20E0121EF
+:104040009140084000D001202860002070BD5648F3
+:1040500070BD10B5044600F08AF8002807D0E106CC
+:10406000C90E0120884052490860002010BD4E480A
+:1040700010BD10B5044600F07AF8002808D0E1061B
+:10408000C90E012088404A4980310860002010BDD7
+:10409000454810BD70B50D46044600F068F800288C
+:1040A00019D0284600F071F8002816D0A007C20EDB
+:1040B000FF209040A907090E9140002C10DA22073A
+:1040C000120F083A9308354A9B009B18DA6982431D
+:1040D0000A43DA610CE0344870BD3348401C70BDBF
+:1040E000A3082F4A9B009B181A6882430A431A6050
+:1040F000002070BD70B50C46054600F038F8002869
+:1041000005D02846FFF73EFF2070002070BD2648EE
+:1041100070BDBFF34F8F21492648C860BFF34F8F52
+:10412000FEE770B51F4C05462178012000290ED10D
+:10413000207072B600F0F8F81C4E8036316881436A
+:10414000616000F0F1F8C043306062B60020287072
+:10415000002070BD13490A78002A06D0002804D137
+:10416000124A48681060002008700020704710B59F
+:104170000446202805DA00F0D7F80121A1400842C2
+:1041800001D0002010BD012010BD012803D003285C
+:1041900001D00020704701207047000000ED00E0D2
+:1041A00000E400E02C0100200120000000E100E01C
+:1041B00000E200E00400FA05F8B504468007002597
+:1041C0000126002804DA5A48C563C66302208443E6
+:1041D000E00404D55748C563C66380148443600077
+:1041E00003D55548456080058443E00504D5534810
+:1041F000C563C66380158443A00404D55048C563D5
+:10420000C6634014844360042704C00FF90F88423A
+:1042100003D04CA1612000F0DCFEB80F0AD04E495B
+:10422000CD634E48C563C563CE63C663C6630320D2
+:104230008003844320050AD5494FFD632F20ECF706
+:10424000B3FFFE632F20ECF7AFFFF8148443002C7C
+:1042500003DAFFF765FD640064084248044203D0B6
+:1042600038A1902000F0B5FEF8BDF0B500210A4657
+:10427000FF230446CC40E4072AD04CB2E606F60EF3
+:104280000125B540384E3560384E3560002C11DAC6
+:1042900025072D0F083DAE08354DB6007619F56996
+:1042A000A407E70E1C46BC40A5431446BC4025436A
+:1042B000F5610DE0A6082F4DB60076193568A40704
+:1042C000E70E1C46BC40A5431446BC402543356060
+:1042D000491C2029CDD3F0BD70B5274C0D46206078
+:1042E000FFF76AFF2068FFF7C0FF2846EEF77AFD68
+:1042F000FDF7D6FAFDF782F9FFF712FDFDF7D5F8C5
+:10430000EEF7FEFB00F06AF870BD10B51A4C20689D
+:10431000FFF752FF2068FFF7A8FFFFF701FDEEF758
+:10432000E6FD0020206010BD1348006870470000C3
+:10433000C01F0040C0CF004000E50140C08F0040DA
+:10434000C0DF00407372635C736F635F636F6E66A0
+:1043500069672E6300000000C0EF0040C0FF00400E
+:10436000C0BF0040FEFF0FFC80E100E080E200E003
+:1043700000ED00E000E400E03401002070B500240E
+:1043800002460D4620462146002A1ED0012A04D0AE
+:10439000022A04D0032A1ED103E0012002E00220F9
+:1043A00013E003202B0000F005FF07160507090B9B
+:1043B0000D0F1600012108E0022106E0032104E0B0
+:1043C000042102E0052100E00621FDF7D9FE0028C6
+:1043D00001D0204670BD0724FBE70000B148002152
+:1043E00001708170704770B5AF4D01236B60AF4BAA
+:1043F0001C68002CFCD0002407E00E6806601E68D4
+:10440000002EFCD0001D091D641C9442F5D3002031
+:10441000686018680028FCD070BD70B5A14C0D46CE
+:104420006178884203D0A2A16C2000F0D2FD2B005D
+:1044300000F0C0FE094F0625254F4F4F4F464F0055
+:104440002078022803D09AA1702000F0C2FD03203A
+:104450002070A078022802D0012804D008E0A068CB
+:1044600000F0CEFB04E02269E168A068FFF7BBFF23
+:104470000020A070FDF724FE0420207070BDFDF721
+:10448000D4FE01466068FFF7F9F805462078022857
+:1044900003D087A1842000F09CFD894A89498A487D
+:1044A000954206D8401BC86086496078FEF737FB06
+:1044B00070BD854202D802224A71F3E7032003E06F
+:1044C000A0780028FAD10220FDF704FD00F0E0F802
+:1044D00070BD77A1AD2000F07CFD70BD70B50546C4
+:1044E000FDF7A3FE6F4C60602078012803D070A117
+:1044F000B42000F06EFD73490220087000220A719A
+:104500008D6003224A71704ACA6020706078FEF79D
+:1045100006FB70BD10B5634CA078002802D120784E
+:10452000002801D0112010BD6848FDF710FE607012
+:104530006078002803D001202070002010BD0320E7
+:1045400010BD10B50124020B64040121604BA04290
+:1045500002D29140186802E0203A58689140084021
+:1045600000D0012010BDF8B50E46910005464F1948
+:1045700014463F1F009100F054FB009980028919F6
+:10458000091FB14201D2012200E00022002C03D019
+:10459000FF2101318C4201D90920F8BD4D498D42DE
+:1045A00019D3AF4217D3854205D2874203D228469A
+:1045B0003043800701D01020F8BD8E420BD3002A73
+:1045C00009D12846FFF7BDFF002804D13846FFF780
+:1045D000B8FF002801D00F20F8BD3F483F490068D0
+:1045E000884205D0224631462846FFF7FCFE0FE000
+:1045F000FFF790FF0028EFD12A480121C6608560AF
+:10460000046181702046312148431430FFF766FF72
+:104610000020F8BD10B504462E48800A84420BD312
+:1046200000F0FFFAA04201D8102010BDA0020446FD
+:10463000FFF787FF002801D00F2010BD264827492B
+:104640000068884203D0204600F0DAFA0AE0FFF75B
+:1046500061FF0028F1D11348022184608170204855
+:10466000FFF73CFF002010BD1A48010B01208840D5
+:10467000401E704700B50B460246FFF7F5FF10429B
+:1046800001D00F2000BD124802604360002000BD31
+:1046900010B5044C6078FDF7AEFD00202070A070CE
+:1046A00010BD00003801002000E5014000E4014099
+:1046B0007372635C736F635F666C6173682E630013
+:1046C000307500006C1D0020D0FB01001B44010070
+:1046D00000060040006001001C010020BEBAFECAB6
+:1046E00010540000F74805218170002101704170CD
+:1046F000C1708160704710B5F3490A78022A07D06B
+:10470000CA681018C860C8689638FEF76FFF10BDF9
+:104710008A68101888608868F6E70378EB49EC4AE5
+:10472000002B02D0012B10D014E00379002B01D014
+:10473000012B0FD14379002B01D0012B0AD18368C3
+:10474000643B8B4206D2C06810E00379002B03D093
+:10475000012B01D0002070474379002B01D0012BA1
+:10476000F8D1C368643B8B42F4D280689042F1D8A0
+:1047700001207047F8B504460226FEF7BDFB00682D
+:10478000002803D0D3A1BE2000F023FC0127CD4D8B
+:10479000002C08D02078002817D0012805D0022846
+:1047A00011D0032813D02F710DE06068C82808D3FA
+:1047B000FEF792FF002804D06068FFF79CFF0126F7
+:1047C00003E0002601E000F0F9F93046F8BD287852
+:1047D0000028F8D16068FFF7A0FF0028E3D06068E8
+:1047E0000078002826D0A878042803D0B9A1F820A2
+:1047F00000F0EFFBB44F00203870606800790128AA
+:1048000000D00020387160684079002837D003203C
+:10481000787160688168E868FDF79EFFB86060683D
+:10482000C0689630F8600320A870A749E878FEF7C2
+:1048300076F9C8E7A4480221017061680979012965
+:1048400019D00021017161684979002915D003212F
+:10485000417161688968963181606168C968C16029
+:10486000C068984C14346060FDF7DFFC20606F7006
+:104870000220A870A7E70321E4E70221E8E702206D
+:10488000C6E7F8B58F4C0D46E178884204D0FF208A
+:1048900090A11A3000F09DFB28468A4F0025012682
+:1048A0001437030000F086FC090612375A7C8D97F6
+:1048B000C4A0C400A078032807D0A078022804D0A0
+:1048C000FF2084A11E3000F084FBF8BDA0780328EF
+:1048D00007D0A078022804D0FF207EA1223000F06B
+:1048E00078FB0420A07025712078002810D1FFF7F4
+:1048F00002FFE078FDF74FFFE0607D49886A7D4A5E
+:10490000024022617B4AD24310408862002050E07E
+:1049100000F054F9F8BDA078032807D0A078022849
+:1049200004D0FF206BA1453000F053FB2078002815
+:1049300002D000F04FF9F8BDA07803281FD1042061
+:104940002AE0091A6048C1600146E078FEF7E7F8FE
+:10495000F8BD0420FDF7BEFAA570F8BDA0780328C5
+:1049600007D0A078022804D0FF205AA1663000F0BA
+:1049700030FB20780028DCD1A07803280BD0FDF78D
+:1049800054FC01463868FEF779FE0028E1DB7968BF
+:104990008142DEDBD5E70520FDF79CFAA670F8BD65
+:1049A000A078042804D0FF204AA1873000F011FB32
+:1049B0000220A1688847FFF7DDFEFF260546C036C6
+:1049C00042E0A078042804D0FF2042A18C3000F0FF
+:1049D00000FB0120EDE7A078042899D0FF203DA13D
+:1049E000913000F0F6FA93E7A07804280AD06078B6
+:1049F000002802D0A078022804D0FF2035A19630EC
+:104A000000F0E7FA2078002893D12079002804D01C
+:104A10000620FDF75FFA2571C0E76078002805D011
+:104A20002949E078FEF77BF86570F8BD0720B3E709
+:104A3000FF2028A1B13046E7002D0AD0012D06D075
+:104A400024A1304600F0C5FA022DF5D1F8BD0420AE
+:104A500000E00320A1688847FFF78CFE0546F3E7D6
+:104A600070B5050005D0174CA078052803D011209B
+:104A700070BD102070BD2048FDF769FBE070E07844
+:104A8000002803D0A5600020A07070BD032070BD79
+:104A900010B50C480178002901D0112010BD817893
+:104AA00005292BD0817801292AD08178002927D0A7
+:104AB000012101708178012922D0807800281FD03F
+:104AC00020E000004C0100207C1D00203D860100FC
+:104AD000FF1FA1077372635C736F635F7261646928
+:104AE0006F5F74696D65736C6F742E6300000000F6
+:104AF0000005004002810080834801000F2010BDA6
+:104B000000F068F8002010BDF8B5394E0446B078C2
+:104B1000002801D001280DD1002C0DD02046FFF730
+:104B2000FCFD00280AD02078324D002808D0B0784B
+:104B3000012823D00F20F8BD1020F8BD0720F8BDB4
+:104B400002272F702079012814D000202871607965
+:104B5000002811D003206871A0689630A860E06832
+:104B6000E860E868224C14346060FDF75EFB20606A
+:104B7000B77019E00320E9E70220ECE70020287075
+:104B80002079012816D0002028716079002813D0E0
+:104B900003206871A168F068FDF7DEFDA860E06899
+:104BA0009630E8600320B0701249F078FDF7B7FF47
+:104BB0000020F8BD0320E7E70220EAE710B50E4821
+:104BC000816A0E4A11400A4A126911438162FDF757
+:104BD00077FA10BD10B5064CE078FDF70CFB082005
+:104BE000FDF778F90520A07000202070607010BDDE
+:104BF0004C0100207C1D002000050040FD7EFF7F51
+:104C00000A4A022151600A490B68002BFCD09060CF
+:104C100008680028FCD00020506008680028FCD0FC
+:104C200070470120000740697047000000E501401F
+:104C300000E4014070477047704770477047034673
+:104C400010B50B439B070FD1042A0DD308C810C918
+:104C5000121FA342F8D018BA21BA884201D9012004
+:104C600010BD0020C04310BD002A03D0D30703D0DD
+:104C7000521C07E0002010BD03780C78401C491C32
+:104C80001B1B07D103780C78401C491C1B1B01D14E
+:104C9000921EF1D1184610BDF8B5042A2CD3830713
+:104CA00012D00B78491C0370401C521E83070BD096
+:104CB0000B78491C0370401C521E830704D00B78EC
+:104CC000491C0370401C521E8B079B0F05D0C91A4C
+:104CD000DF002023DE1B08C90AE0ECF775FAF8BDF7
+:104CE0001D4608C9FD401C46B4402C4310C0121F8D
+:104CF000042AF5D2F308C91A521EF0D40B78491CC5
+:104D00000370401C521EEAD40B78491C0370401CEF
+:104D1000521EE4D409780170F8BD01E004C0091FF7
+:104D20000429FBD28B0701D50280801CC90700D063
+:104D30000270704700290BD0C30702D00270401CDC
+:104D4000491E022904D3830702D50280801C891ED4
+:104D5000E3E70022EEE70022DFE70378C278194696
+:104D6000437812061B0219438378C0781B04194349
+:104D700011430902090A000608437047020A087035
+:104D80004A70020C8A70020ECA7070470022030932
+:104D90008B4273D3030A8B4258D3030B8B423CD311
+:104DA000030C8B4221D312E003460B437FD4002235
+:104DB00043088B4274D303098B425FD3030A8B42AF
+:104DC00044D3030B8B4228D3030C8B420DD3FF2219
+:104DD000090212BA030C8B4202D31212090265D0E7
+:104DE000030B8B4219D300E0090AC30B8B4201D39A
+:104DF000CB03C01A5241830B8B4201D38B03C01AE1
+:104E00005241430B8B4201D34B03C01A5241030B57
+:104E10008B4201D30B03C01A5241C30A8B4201D308
+:104E2000CB02C01A5241830A8B4201D38B02C01AB3
+:104E30005241430A8B4201D34B02C01A5241030A2A
+:104E40008B4201D30B02C01A5241CDD2C3098B420F
+:104E500001D3CB01C01A524183098B4201D38B018C
+:104E6000C01A524143098B4201D34B01C01A52412F
+:104E700003098B4201D30B01C01A5241C3088B4274
+:104E800001D3CB00C01A524183088B4201D38B005F
+:104E9000C01A524143088B4201D34B00C01A524101
+:104EA000411A00D201465241104670475DE0CA0FD8
+:104EB00000D04942031000D34042534000229C4698
+:104EC00003098B422DD3030A8B4212D3FC228901A2
+:104ED00012BA030A8B420CD3890192118B4208D378
+:104EE000890192118B4204D389013AD0921100E0DA
+:104EF0008909C3098B4201D3CB01C01A52418309EE
+:104F00008B4201D38B01C01A524143098B4201D31A
+:104F10004B01C01A524103098B4201D30B01C01A45
+:104F20005241C3088B4201D3CB00C01A52418308BF
+:104F30008B4201D38B00C01A5241D9D243088B4215
+:104F400001D34B00C01A5241411A00D201466346B8
+:104F500052415B10104601D34042002B00D549421C
+:104F6000704763465B1000D3404201B50020C04645
+:104F7000C04602BD704770477047704710B500F0DB
+:104F800059F810BD30B58C180278401C13071B0F60
+:104F900001D10378401C120906D10278401C03E0BD
+:104FA0000578401C0D70491C5B1EF9D101E00B70A7
+:104FB000491C521EFBD1A142E6D3002030BD0000A7
+:104FC00001231B68134B1860134B1960134B1A60B5
+:104FD0007047134A134B13607246053AF0E7114AC3
+:104FE0000F4B1B689A420ED10D4B002018600198A0
+:104FF0000D4B04B598470CBC9E460246029800999A
+:105000000A4B1B68184706980599094B1B68DB6813
+:105010001847000070010020740100207801002072
+:1050200068010020EFBEADDE5539010028010020E7
+:10503000040000201D481E497047FFF7FBFFECF7F6
+:105040007DF800BD01200007C06AC0B2FF2804D16E
+:10505000184819490968884202D01848184901605F
+:10506000184819490968884203D1184A13605B68D7
+:10507000184700BD20BFFDE7124813490968884260
+:105080000ED1134B18680B498842F3D080F308887F
+:105090001049884204DD1048026802210A43026078
+:1050A0000E4880470E4880470E480047901D00205C
+:1050B000901D0020FFFFFFFF001000102C05004096
+:1050C0000800000000100000000000200400002084
+:1050D0000060010000200020240500406B39010021
+:1050E00045500100C14F01001348704502D1EFF354
+:1050F000098101E0EFF308818869023800781028FF
+:1051000014DB202810DB23280BDB0C4A12680C4B25
+:105110009A4203D1602804DB0A4A10470220086043
+:105120007047094A10470000084A1047084A1268A9
+:105130002C32126810470000FDFFFFFF1C01002009
+:10514000BEBAFECAAD1200002B3A0100033F0100B7
+:10515000040000200D4B0E4908470E4B0C49084730
+:105160000D4B0B4908470D4B094908470C4B0849A3
+:1051700008470C4B064908470B4B054908470B4BA2
+:10518000034908470A4B024908470000052E000062
+:10519000E13D0000BD2F0000873C0000353C0000D1
+:1051A000E9390000B912000063170000493D000012
+:1051B000AB2B000030B47446641E2578641CAB42EF
+:1051C00000D21D46635D5B00E31830BC1847000049
+:1051D00002490020C861203908727047E0030020AE
+:1051E00000020207FFFFFFFF0000FFFF01020408AB
+:1051F00010204080555555D6BE898E00F401FA0026
+:10520000960064004B0032001E00140001000300F1
+:10521000000001000000000000000000000000008D
+:1052200000000000870000000000000000000000F7
+:105230000000000000000203040500000E0F000043
+:10524000705201000800002010000000041100004E
+:10525000805201001800002064010000844F01000A
+:10526000A45201007C010020141C00002011000049
+:105270000249022208681042FCD0704700E200E0B8
+:10528000E1078F56FF9900CD29022B01360100015D
+:1052900000EC3720FB349B5F8074800010027001AB
+:0452A000E4C54F0111
+:00000001FF
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TARGET_ARCH_BLE/TARGET_NORDIC/TARGET_MCU_NRF51822/PeripheralNames.h	Fri Aug 15 15:28:31 2014 +0100
@@ -0,0 +1,58 @@
+/* mbed Microcontroller Library
+ * Copyright (c) 2013 Nordic Semiconductor
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+#ifndef MBED_PERIPHERALNAMES_H
+#define MBED_PERIPHERALNAMES_H
+
+#include "cmsis.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#define STDIO_UART_TX     TX_PIN_NUMBER
+#define STDIO_UART_RX     RX_PIN_NUMBER
+#define STDIO_UART        UART_0
+
+typedef enum {
+    UART_0 = (int)NRF_UART0_BASE
+} UARTName;
+
+
+typedef enum {
+    SPI_0 = (int)NRF_SPI0_BASE,
+    SPI_1 = (int)NRF_SPI1_BASE,
+    SPIS = (int)NRF_SPIS1_BASE
+} SPIName;
+
+typedef enum {
+    PWM_1 = 0,
+    PWM_2
+} PWMName;
+
+typedef enum {
+    I2C_0 = (int)NRF_TWI0_BASE,
+    I2C_1 = (int)NRF_TWI1_BASE
+} I2CName;
+
+typedef enum {
+    ADC0_0 = (int)NRF_ADC_BASE
+} ADCName;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TARGET_ARCH_BLE/TARGET_NORDIC/TARGET_MCU_NRF51822/PortNames.h	Fri Aug 15 15:28:31 2014 +0100
@@ -0,0 +1,30 @@
+/* mbed Microcontroller Library
+ * Copyright (c) 2013 Nordic Semiconductor
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+#ifndef MBED_PORTNAMES_H
+#define MBED_PORTNAMES_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+typedef enum {
+    Port0 = 0 //GPIO pins 0-31
+} PortName;
+
+#ifdef __cplusplus
+}
+#endif
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TARGET_ARCH_BLE/TARGET_NORDIC/TARGET_MCU_NRF51822/TARGET_ARCH_BLE/PinNames.h	Fri Aug 15 15:28:31 2014 +0100
@@ -0,0 +1,177 @@
+/* mbed Microcontroller Library
+ * Copyright (c) 2013 Nordic Semiconductor
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+#ifndef MBED_PINNAMES_H
+#define MBED_PINNAMES_H
+
+#include "cmsis.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+typedef enum {
+    PIN_INPUT,
+    PIN_OUTPUT
+} PinDirection;
+
+#define PORT_SHIFT  3
+
+typedef enum {
+    p0  = 0,
+    p1  = 1,
+    p2  = 2,
+    p3  = 3,
+    p4  = 4,
+    p5  = 5,
+    p6  = 6,
+    p7  = 7,
+    p8  = 8,
+    p9  = 9,
+    p10 = 10,
+    p11 = 11,
+    p12 = 12,
+    p13 = 13,
+    p14 = 14,
+    p15 = 15,
+    p16 = 16,
+    p17 = 17,
+    p18 = 18,
+    p19 = 19,
+    p20 = 20,
+    p21 = 21,
+    p22 = 22,
+    p23 = 23,
+    p24 = 24,
+    p25 = 25,
+    p26 = 26,
+    p27 = 27,
+    p28 = 28,
+    p29 = 29,
+    p30 = 30,
+//    p31=31,    
+    
+    P0_0  = p0,
+    P0_1  = p1,
+    P0_2  = p2,
+    P0_3  = p3,
+    P0_4  = p4,
+    P0_5  = p5,
+    P0_6  = p6,
+    P0_7  = p7,
+    
+    P0_8  = p8,
+    P0_9  = p9,
+    P0_10 = p10,
+    P0_11 = p11,
+    P0_12 = p12,
+    P0_13 = p13,
+    P0_14 = p14,
+    P0_15 = p15,
+    
+    P0_16 = p16,
+    P0_17 = p17,
+    P0_18 = p18,
+    P0_19 = p19,
+    P0_20 = p20,
+    P0_21 = p21,
+    P0_22 = p22,
+    P0_23 = p23,
+    
+    P0_24 = p24,
+    P0_25 = p25,
+    P0_26 = p26,
+    P0_27 = p27,
+    P0_28 = p28,
+    P0_29 = p29,
+    P0_30 = p30,
+    
+    LED1  = p30,
+    LED2  = p14,
+    LED3  = p15,
+    LED4  = p16,
+        
+    RX_PIN_NUMBER = p7,
+    TX_PIN_NUMBER = p8,
+    CTS_PIN_NUMBER = p26,
+    RTS_PIN_NUMBER = p27,
+
+    // mBed interface Pins
+    USBTX = TX_PIN_NUMBER,
+    USBRX = RX_PIN_NUMBER,
+        
+    SPI_PSELMOSI0 = p25,
+    SPI_PSELMISO0 = p28,
+    SPI_PSELSS0 = p24,
+    SPI_PSELSCK0 = p29,
+        
+    SPI_PSELMOSI1 = p12,
+    SPI_PSELMISO1 = p13,
+    SPI_PSELSS1 = p14,
+    SPI_PSELSCK1 = p15,
+    
+    SPIS_PSELMOSI = p12,
+    SPIS_PSELMISO = p13,
+    SPIS_PSELSS = p14,    
+    SPIS_PSELSCK = p15,
+
+    I2C_SDA0 = p5,
+    I2C_SCL0 = p6,
+
+    I2C_SDA1 = p13,
+    I2C_SCL1 = p15,
+
+    D0  = p7,
+    D1  = p8,
+    D2  = p9,
+    D3  = p10,
+    D4  = p11,
+    D5  = p12,
+    D6  = p13,
+    D7  = p17,
+    
+    D8  = p18,
+    D9  = p23,
+    D10 = p24,
+    D11 = p25,
+    D12 = p28,
+    D13 = p29,
+
+    D14 = p5,
+    D15 = p6,
+
+    A0  = p1,
+    A1  = p2,
+    A2  = p3,
+    A3  = p4,
+    A4  = p5,
+    A5  = p6,
+
+    // Not connected
+    NC = (int)0xFFFFFFFF
+} PinName;
+
+typedef enum {
+    PullNone = 0,
+    PullDown = 1,
+    PullUp = 3,
+    PullDefault = PullUp
+} PinMode;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TARGET_ARCH_BLE/TARGET_NORDIC/TARGET_MCU_NRF51822/TARGET_ARCH_BLE/device.h	Fri Aug 15 15:28:31 2014 +0100
@@ -0,0 +1,57 @@
+/* mbed Microcontroller Library
+ * Copyright (c) 2006-2013 ARM Limited
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+#ifndef MBED_DEVICE_H
+#define MBED_DEVICE_H
+
+#define DEVICE_PORTIN           1
+#define DEVICE_PORTOUT          1
+#define DEVICE_PORTINOUT        1
+
+#define DEVICE_INTERRUPTIN      1
+
+#define DEVICE_ANALOGIN         1
+#define DEVICE_ANALOGOUT        0
+
+#define DEVICE_SERIAL           1
+
+#define DEVICE_I2C              1
+#define DEVICE_I2CSLAVE         0
+
+#define DEVICE_SPI              1
+#define DEVICE_SPISLAVE         1
+
+#define DEVICE_CAN              0
+
+#define DEVICE_RTC              0
+
+#define DEVICE_ETHERNET         0
+
+#define DEVICE_PWMOUT           1
+
+#define DEVICE_SEMIHOST         0
+#define DEVICE_LOCALFILESYSTEM  0
+
+#define DEVICE_SLEEP            1
+
+#define DEVICE_DEBUG_AWARENESS  0
+
+#define DEVICE_STDIO_MESSAGES   0
+
+#define DEVICE_ERROR_PATTERN    1
+
+#include "objects.h"
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TARGET_ARCH_BLE/TARGET_NORDIC/TARGET_MCU_NRF51822/gpio_object.h	Fri Aug 15 15:28:31 2014 +0100
@@ -0,0 +1,52 @@
+/* mbed Microcontroller Library
+ * Copyright (c) 2006-2013 ARM Limited
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+#ifndef MBED_GPIO_OBJECT_H
+#define MBED_GPIO_OBJECT_H
+
+#include "mbed_assert.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+typedef struct {
+    PinName  pin;
+    uint32_t mask;
+
+    __IO uint32_t *reg_dir;
+    __IO uint32_t *reg_set;
+    __IO uint32_t *reg_clr;
+    __I  uint32_t *reg_in;
+} gpio_t;
+
+static inline void gpio_write(gpio_t *obj, int value) {
+    MBED_ASSERT(obj->pin != (PinName)NC);
+    if (value)
+        *obj->reg_set = obj->mask;
+    else
+        *obj->reg_clr = obj->mask;
+}
+
+static inline int gpio_read(gpio_t *obj) {
+    MBED_ASSERT(obj->pin != (PinName)NC);
+    return ((*obj->reg_in & obj->mask) ? 1 : 0);
+}
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TARGET_ARCH_BLE/TARGET_NORDIC/TARGET_MCU_NRF51822/objects.h	Fri Aug 15 15:28:31 2014 +0100
@@ -0,0 +1,73 @@
+/* mbed Microcontroller Library
+ * Copyright (c) 2013 Nordic Semiconductor
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+#ifndef MBED_OBJECTS_H
+#define MBED_OBJECTS_H
+
+#include "cmsis.h"
+#include "PortNames.h"
+#include "PeripheralNames.h"
+#include "PinNames.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+struct serial_s {
+    NRF_UART_Type *uart;
+    int index;
+};
+
+struct spi_s {
+    NRF_SPI_Type *spi;
+    NRF_SPIS_Type *spis;
+};
+
+struct port_s {
+    __IO uint32_t *reg_cnf;
+    __IO uint32_t *reg_out;
+    __I  uint32_t *reg_in;
+    PortName port;
+    uint32_t mask;
+};
+
+struct pwmout_s {
+    PWMName pwm;
+    PinName pin;
+};
+
+struct i2c_s {
+    NRF_TWI_Type *i2c;
+    PinName sda;
+    PinName scl;
+    int freq;
+};
+
+struct analogin_s {
+    ADCName adc;
+    uint8_t adc_pin;
+};
+
+struct gpio_irq_s {
+    uint32_t ch;
+};
+
+#include "gpio_object.h"
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
--- a/TARGET_ARCH_BLE/TARGET_NORDIC/TARGET_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/ble.h	Fri Jul 25 09:46:51 2014 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,385 +0,0 @@
-/* Copyright (c) 2011 Nordic Semiconductor. All Rights Reserved.
- *
- * The information contained herein is confidential property of Nordic Semiconductor. The use,
- * copying, transfer or disclosure of such information is prohibited except by express written
- * agreement with Nordic Semiconductor.
- *
- */
-/**
-  @addtogroup BLE_COMMON BLE SoftDevice Common
-  @{
-  @defgroup ble_api Events, type definitions and API calls
-  @{
-
-  @brief Module independent events, type definitions and API calls for the S110 SoftDevice.
-
- */
-
-#ifndef BLE_H__
-#define BLE_H__
-
-#include "ble_ranges.h"
-#include "ble_types.h"
-#include "ble_gap.h"
-#include "ble_l2cap.h"
-#include "ble_gatt.h"
-#include "ble_gattc.h"
-#include "ble_gatts.h"
-
-/** @addtogroup BLE_COMMON_ENUMERATIONS Enumerations
- * @{ */
-
-/**
- * @brief Common API SVC numbers.
- */
-enum BLE_COMMON_SVCS
-{
-  SD_BLE_ENABLE = BLE_SVC_BASE,         /**< Enable and initialize the BLE stack */
-  SD_BLE_EVT_GET,                       /**< Get an event from the pending events queue. */
-  SD_BLE_TX_BUFFER_COUNT_GET,           /**< Get the total number of available application transmission buffers from the stack. */
-  SD_BLE_UUID_VS_ADD,                   /**< Add a Vendor Specific UUID. */
-  SD_BLE_UUID_DECODE,                   /**< Decode UUID bytes. */
-  SD_BLE_UUID_ENCODE,                   /**< Encode UUID bytes. */
-  SD_BLE_VERSION_GET,                   /**< Get the local version information (company id, Link Layer Version, Link Layer Subversion). */
-  SD_BLE_USER_MEM_REPLY,                /**< User Memory Reply. */
-  SD_BLE_OPT_SET,                       /**< Set a BLE option. */
-  SD_BLE_OPT_GET,                       /**< Get a BLE option. */
-};
-
-/** @} */
-
-/** @addtogroup BLE_COMMON_DEFINES Defines
- * @{ */
-
-/** @brief  Required pointer alignment for BLE Events.
-*/
-#define BLE_EVTS_PTR_ALIGNMENT    4
-
-/** @defgroup BLE_USER_MEM_TYPES User Memory Types
- * @{ */
-#define BLE_USER_MEM_TYPE_INVALID               0x00  /**< Invalid User Memory Types. */
-#define BLE_USER_MEM_TYPE_GATTS_QUEUED_WRITES   0x01  /**< User Memory for GATTS queued writes. */
-/** @} */
-
-/** @brief  Maximum number of Vendor Specific UUIDs.
-*/
-#define BLE_UUID_VS_MAX_COUNT     10
-
-/** @} */
-
-/** @addtogroup BLE_COMMON_STRUCTURES Structures
- * @{ */
-
-/**
- * @brief BLE Module Independent Event IDs.
- */
-enum BLE_COMMON_EVTS
-{
-  BLE_EVT_TX_COMPLETE  = BLE_EVT_BASE,  /**< Transmission Complete. */
-  BLE_EVT_USER_MEM_REQUEST,             /**< User Memory request. */
-  BLE_EVT_USER_MEM_RELEASE              /**< User Memory release. */
-};
-
-/**@brief User Memory Block. */
-typedef struct
-{
-  uint8_t*          p_mem;      /**< Pointer to the start of the user memory block. */
-  uint16_t          len;        /**< Length in bytes of the user memory block. */
-} ble_user_mem_block_t;
-
-/**
- * @brief TX complete event.
- */
-typedef struct
-{
-  uint8_t count;                        /**< Number of packets transmitted. */
-} ble_evt_tx_complete_t;
-
-/**@brief Event structure for BLE_EVT_USER_MEM_REQUEST. */
-typedef struct
-{
-  uint8_t                     type;     /**< User memory type, see @ref BLE_USER_MEM_TYPES. */
-} ble_evt_user_mem_request_t;
-
-/**@brief Event structure for BLE_EVT_USER_MEM_RELEASE. */
-typedef struct
-{
-  uint8_t                     type;       /**< User memory type, see @ref BLE_USER_MEM_TYPES. */
-  ble_user_mem_block_t        mem_block;  /**< User memory block */
-} ble_evt_user_mem_release_t;
-
-
-/**@brief Event structure for events not associated with a specific function module. */
-typedef struct
-{
-  uint16_t conn_handle;                 /**< Connection Handle on which this event occured. */
-  union
-  {
-    ble_evt_tx_complete_t           tx_complete;        /**< Transmission Complete. */
-    ble_evt_user_mem_request_t      user_mem_request;   /**< User Memory Request Event Parameters. */
-    ble_evt_user_mem_release_t      user_mem_release;   /**< User Memory Release Event Parameters. */
-  } params;
-} ble_common_evt_t;
-
-/**@brief BLE Event header. */
-typedef struct
-{
-  uint16_t evt_id;                      /**< Value from a BLE_<module>_EVT series. */
-  uint16_t evt_len;                     /**< Length in octets excluding this header. */
-} ble_evt_hdr_t;
-
-/**@brief Common BLE Event type, wrapping the module specific event reports. */
-typedef struct
-{
-  ble_evt_hdr_t header;                 /**< Event header. */
-  union
-  {
-    ble_common_evt_t  common_evt;         /**< Common Event, evt_id in BLE_EVT_* series. */
-    ble_gap_evt_t     gap_evt;            /**< GAP originated event, evt_id in BLE_GAP_EVT_* series. */
-    ble_l2cap_evt_t   l2cap_evt;          /**< L2CAP originated event, evt_id in BLE_L2CAP_EVT* series. */
-    ble_gattc_evt_t   gattc_evt;          /**< GATT client originated event, evt_id in BLE_GATTC_EVT* series. */
-    ble_gatts_evt_t   gatts_evt;          /**< GATT server originated event, evt_id in BLE_GATTS_EVT* series. */
-  } evt;
-} ble_evt_t;
-
-
-/**
- * @brief Version Information.
- */
-typedef struct
-{
-  uint8_t   version_number;             /**< Link Layer Version number for BT 4.1 spec is 7 (https://www.bluetooth.org/en-us/specification/assigned-numbers/link-layer). */
-  uint16_t  company_id;                 /**< Company ID, Nordic Semiconductor's company ID is 89 (0x0059) (https://www.bluetooth.org/apps/content/Default.aspx?doc_id=49708). */
-  uint16_t  subversion_number;          /**< Link Layer Sub Version number, corresponds to the SoftDevice Config ID or Firmware ID (FWID). */
-} ble_version_t;
-
-/**@brief Common BLE Option type, wrapping the module specific options. */
-typedef union
-{
-  ble_gap_opt_t     gap;            /**< GAP option, opt_id in BLE_GAP_OPT_* series. */
-} ble_opt_t;
-
-/**
- * @brief BLE GATTS init options
- */
-typedef struct
-{
-  ble_gatts_enable_params_t  gatts_enable_params; /**< GATTS init options @ref ble_gatts_enable_params_t. */  
-} ble_enable_params_t;
-
-/** @} */
-
-/** @addtogroup BLE_COMMON_FUNCTIONS Functions
- * @{ */
-
-/**@brief Enable the bluetooth stack
- *
- * @param[in] p_ble_enable_params Pointer to ble_enable_params_t
- *
- * @details This call initializes the bluetooth stack, no other BLE related call can be called before this one has been executed.
- *
- * @return @ref NRF_SUCCESS BLE stack has been initialized successfully
- * @return @ref NRF_ERROR_INVALID_ADDR Invalid or not sufficiently aligned pointer supplied.
- */
-SVCALL(SD_BLE_ENABLE, uint32_t, sd_ble_enable(ble_enable_params_t * p_ble_enable_params));
-
-/**@brief Get an event from the pending events queue.
- *
- * @param[in] p_dest Pointer to buffer to be filled in with an event, or NULL to retrieve the event length. This buffer <b>must be 4-byte aligned in memory</b>.
- * @param[in, out] p_len Pointer the length of the buffer, on return it is filled with the event length.
- *
- * @details This call allows the application to pull a BLE event from the BLE stack. The application is signalled that an event is 
- * available from the BLE Stack by the triggering of the SD_EVT_IRQn interrupt (mapped to IRQ 22).
- * The application is free to choose whether to call this function from thread mode (main context) or directly from the Interrupt Service Routine
- * that maps to SD_EVT_IRQn. In any case however, and because the BLE stack runs at a higher priority than the application, this function should be called
- * in a loop (until @ref NRF_ERROR_NOT_FOUND is returned) every time SD_EVT_IRQn is raised to ensure that all available events are pulled from the stack. 
- * Failure to do so could potentially leave events in the internal queue without the application being aware of this fact.
- * Sizing the p_dest buffer is equally important, since the application needs to provide all the memory necessary for the event to be copied into
- * application memory. If the buffer provided is not large enough to fit the entire contents of the event, @ref NRF_ERROR_DATA_SIZE will be returned
- * and the application can then call again with a larger buffer size.
- * Please note that because of the variable length nature of some events, sizeof(ble_evt_t) will not always be large enough to fit certain events, 
- * and so it is the application's responsability to provide an amount of memory large enough so that the relevant event is copied in full.
- * The application may "peek" the event length by providing p_dest as a NULL pointer and inspecting the value of *p_len upon return.
- *
- * @note The pointer supplied must be aligned to the extend defined by @ref BLE_EVTS_PTR_ALIGNMENT
- *
- * @return @ref NRF_SUCCESS Event pulled and stored into the supplied buffer.
- * @return @ref NRF_ERROR_INVALID_ADDR Invalid or not sufficiently aligned pointer supplied.
- * @return @ref NRF_ERROR_NOT_FOUND No events ready to be pulled.
- * @return @ref NRF_ERROR_DATA_SIZE Event ready but could not fit into the supplied buffer.
- */
-SVCALL(SD_BLE_EVT_GET, uint32_t, sd_ble_evt_get(uint8_t* p_dest, uint16_t *p_len));
-
-
-/**@brief Get the total number of available application transmission buffers in the BLE stack.
- *
- * @details This call allows the application to obtain the total number of
- *          transmission buffers available for application data. Please note that
- *          this does not give the number of free buffers, but rather the total amount of them.
- *          The application has two options to handle its own application transmission buffers:
- *          - Use a simple arithmetic calculation: at boot time the application should use this function
- *          to find out the total amount of buffers available to it and store it in a variable.
- *          Every time a packet that consumes an application buffer is sent using any of the 
- *          exposed functions in this BLE API, the application should decrement that variable.
- *          Conversely, whenever a @ref BLE_EVT_TX_COMPLETE event is received by the application
- *          it should retrieve the count field in such event and add that number to the same
- *          variable storing the number of available packets.
- *          This mechanism allows the application to be aware at any time of the number of
- *          application packets available in the BLE stack's internal buffers, and therefore
- *          it can know with certainty whether it is possible to send more data or it has to
- *          wait for a @ref BLE_EVT_TX_COMPLETE event before it proceeds.
- *          - Choose to simply not keep track of available buffers at all, and instead handle the 
- *          @ref BLE_ERROR_NO_TX_BUFFERS error by queueing the packet to be transmitted and 
- *          try again as soon as a @ref BLE_EVT_TX_COMPLETE event arrives.
- *
- *          The API functions that <b>may</b> consume an application buffer depending on 
- *          the parameters supplied to them can be found below:
- *
- *          - @ref sd_ble_gattc_write (write witout response only)
- *          - @ref sd_ble_gatts_hvx (notifications only)
- *          - @ref sd_ble_l2cap_tx (all packets)
- *
- * @param[out] p_count Pointer to a uint8_t which will contain the number of application transmission buffers upon
- *                     successful return.
- *
- * @return @ref NRF_SUCCESS Number of application transmission buffers retrieved successfully.
- * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
- */
-SVCALL(SD_BLE_TX_BUFFER_COUNT_GET, uint32_t, sd_ble_tx_buffer_count_get(uint8_t* p_count));
-
-
-/**@brief Add a Vendor Specific UUID.
- *
- * @details This call enables the application to add a vendor specific UUID to the BLE stack's table,
- *          for later use all other modules and APIs. This then allows the application to use the shorter,
- *          24-bit @ref ble_uuid_t format when dealing with both 16-bit and 128-bit UUIDs without having to
- *          check for lengths and having split code paths. The way that this is accomplished is by extending the 
- *          grouping mechanism that the Bluetooth SIG standard base UUID uses for all other 128-bit UUIDs. The 
- *          type field in the @ref ble_uuid_t structure is an index (relative to @ref BLE_UUID_TYPE_VENDOR_BEGIN) 
- *          to the table populated by multiple calls to this function, and the uuid field in the same structure 
- *          contains the 2 bytes at indices 12 and 13. The number of possible 128-bit UUIDs available to the 
- *          application is therefore the number of Vendor Specific UUIDs added with the help of this function times 65536, 
- *          although restricted to modifying bytes 12 and 13 for each of the entries in the supplied array.
- *
- * @note Bytes 12 and 13 of the provided UUID will not be used internally, since those are always replaced by 
- * the 16-bit uuid field in @ref ble_uuid_t.
- *
- *
- * @param[in]  p_vs_uuid    Pointer to a 16-octet (128-bit) little endian Vendor Specific UUID disregarding
- *                          bytes 12 and 13.
- * @param[out] p_uuid_type  Pointer where the type field in @ref ble_uuid_t corresponding to this UUID will be stored.
- *
- * @return @ref NRF_SUCCESS Successfully added the Vendor Specific UUID.
- * @return @ref NRF_ERROR_INVALID_ADDR If p_vs_uuid or p_uuid_type is NULL or invalid.
- * @return @ref NRF_ERROR_NO_MEM If there are no more free slots for VS UUIDs.
- * @return @ref NRF_ERROR_FORBIDDEN If p_vs_uuid has already been added to the VS UUID table.
- */
-SVCALL(SD_BLE_UUID_VS_ADD, uint32_t, sd_ble_uuid_vs_add(ble_uuid128_t const * const p_vs_uuid, uint8_t * const p_uuid_type));
-
-
-/** @brief Decode little endian raw UUID bytes (16-bit or 128-bit) into a 24 bit @ref ble_uuid_t structure.
- * 
- * @details The raw UUID bytes excluding bytes 12 and 13 (i.e. bytes 0-11 and 14-15) of p_uuid_le are compared 
- * to the corresponding ones in each entry of the table of vendor specific UUIDs pouplated with @ref sd_ble_uuid_vs_add 
- * to look for a match. If there is such a match, bytes 12 and 13 are returned as p_uuid->uuid and the index 
- * relative to @ref BLE_UUID_TYPE_VENDOR_BEGIN as p_uuid->type. 
- *
- * @note If the UUID length supplied is 2, then the type set by this call will always be @ref BLE_UUID_TYPE_BLE.
- *
- * @param[in]      uuid_le_len Length in bytes of the buffer pointed to by p_uuid_le (must be 2 or 16 bytes).
- * @param[in]      p_uuid_le   Pointer pointing to little endian raw UUID bytes.
- * @param[in,out]  p_uuid      Pointer to a @ref ble_uuid_t structure to be filled in.
- *
- * @return @ref NRF_SUCCESS Successfully decoded into the @ref ble_uuid_t structure.
- * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
- * @return @ref NRF_ERROR_INVALID_LENGTH Invalid UUID length.
- * @return @ref NRF_ERROR_NOT_FOUND For a 128-bit UUID, no match in the populated table of UUIDs.
- */                                                 
-SVCALL(SD_BLE_UUID_DECODE, uint32_t, sd_ble_uuid_decode(uint8_t uuid_le_len, uint8_t const * const p_uuid_le, ble_uuid_t * const p_uuid));
-
-
-/** @brief Encode a @ref ble_uuid_t structure into little endian raw UUID bytes (16-bit or 128-bit).
- *
- * @note The pointer to the destination buffer p_uuid_le may be NULL, in which case only the validitiy and size of p_uuid is computed.
- *
- * @param[in]      p_uuid        Pointer to a @ref ble_uuid_t structure that will be encoded into bytes.
- * @param[out]     p_uuid_le_len Pointer to a uint8_t that will be filled with the encoded length (2 or 16 bytes).
- * @param[out]     p_uuid_le     Pointer to a buffer where the little endian raw UUID bytes (2 or 16) will be stored.
- *
- * @return @ref NRF_SUCCESS Successfully encoded into the buffer.
- * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
- * @return @ref NRF_ERROR_INVALID_PARAM Invalid UUID type.
- */
-SVCALL(SD_BLE_UUID_ENCODE, uint32_t, sd_ble_uuid_encode(ble_uuid_t const * const p_uuid, uint8_t * const  p_uuid_le_len, uint8_t * const p_uuid_le));
-
-
-/**@brief Get Version Information.
- *
- * @details This call allows the application to get the BLE stack version information.
- *
- * @param[in] p_version Pointer to ble_version_t structure to be filled in.
- *
- * @return @ref NRF_SUCCESS  Version information stored successfully.
- * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
- * @return @ref NRF_ERROR_BUSY The stack is busy (typically doing a locally-initiated disconnection procedure).
- */
-SVCALL(SD_BLE_VERSION_GET, uint32_t, sd_ble_version_get(ble_version_t * p_version));
-
-
-/**@brief Provide a user memory block.
- *
- * @note This call can only be used as a response to a @ref BLE_EVT_USER_MEM_REQUEST event issued to the application.
- *
- * @param[in] conn_handle                 Connection handle.
- * @param[in] p_block                     Pointer to a user memory block structure.
- *
- * @return @ref NRF_SUCCESS               Successfully queued a response to the peer.
- * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid Connection Handle.
- * @return @ref NRF_ERROR_INVALID_STATE   No execute write request pending.
- */
-SVCALL(SD_BLE_USER_MEM_REPLY, uint32_t, sd_ble_user_mem_reply(uint16_t conn_handle, ble_user_mem_block_t *p_block));
-
-
-/**@brief Set a BLE option.
- *
- * @details This call allows the application to set the value of an option.
- *
- * @param[in] opt_id Option ID.
- * @param[in] p_opt Pointer to a ble_opt_t structure containing the option value.
- *
- * @retval ::NRF_SUCCESS  Option set successfully.
- * @retval ::NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
- * @retval ::BLE_ERROR_INVALID_CONN_HANDLE Invalid Connection Handle.
- * @retval ::NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied, check parameter limits and constraints.
- * @retval ::NRF_ERROR_INVALID_STATE Unable to set the parameter at this time.
- * @retval ::NRF_ERROR_BUSY The stack is busy or the previous procedure has not completed.
- */
-SVCALL(SD_BLE_OPT_SET, uint32_t, sd_ble_opt_set(uint32_t opt_id, ble_opt_t const *p_opt));
-
-
-/**@brief Get a BLE option.
- *
- * @details This call allows the application to retrieve the value of an option.
- *
- * @param[in] opt_id Option ID.
- * @param[out] p_opt Pointer to a ble_opt_t structure to be filled in.
- *
- * @retval ::NRF_SUCCESS  Option retrieved successfully.
- * @retval ::NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
- * @retval ::BLE_ERROR_INVALID_CONN_HANDLE Invalid Connection Handle.
- * @retval ::NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied, check parameter limits and constraints.
- * @retval ::NRF_ERROR_INVALID_STATE Unable to retrieve the parameter at this time.
- * @retval ::NRF_ERROR_BUSY The stack is busy or the previous procedure has not completed.
- * @retval ::NRF_ERROR_NOT_SUPPORTED This option is not supported.
- *
- */
-SVCALL(SD_BLE_OPT_GET, uint32_t, sd_ble_opt_get(uint32_t opt_id, ble_opt_t *p_opt));
-
-/** @} */
-
-#endif /* BLE_H__ */
-
-/**
-  @}
-  @}
-*/
--- a/TARGET_ARCH_BLE/TARGET_NORDIC/TARGET_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/ble_err.h	Fri Jul 25 09:46:51 2014 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,54 +0,0 @@
-/*
- * Copyright (c) 2012 Nordic Semiconductor. All Rights Reserved.
- *
- * The information contained herein is confidential property of Nordic Semiconductor. The use,
- * copying, transfer or disclosure of such information is prohibited except by express written
- * agreement with Nordic Semiconductor.
- *
- */
- /**
-  @addtogroup BLE_COMMON
-  @{
-  @addtogroup  nrf_error
-  @{
-    @ingroup BLE_COMMON
-  @}
-
-  @defgroup ble_err General error codes
-  @{
-
-  @brief General error code definitions for the BLE API.
-
-  @ingroup BLE_COMMON
-*/
-#ifndef NRF_BLE_ERR_H__
-#define NRF_BLE_ERR_H__
-
-#include "nrf_error.h"
-
-/* @defgroup BLE_ERRORS Error Codes
- * @{ */
-#define BLE_ERROR_NOT_ENABLED            (NRF_ERROR_STK_BASE_NUM+0x001) /**< @ref sd_ble_enable has not been called. */
-#define BLE_ERROR_INVALID_CONN_HANDLE    (NRF_ERROR_STK_BASE_NUM+0x002) /**< Invalid connection handle. */
-#define BLE_ERROR_INVALID_ATTR_HANDLE    (NRF_ERROR_STK_BASE_NUM+0x003) /**< Invalid attribute handle. */
-#define BLE_ERROR_NO_TX_BUFFERS          (NRF_ERROR_STK_BASE_NUM+0x004) /**< Buffer capacity exceeded. */
-/** @} */
-
-
-/** @defgroup BLE_ERROR_SUBRANGES Module specific error code subranges
- *  @brief Assignment of subranges for module specific error codes.
- *  @note For specific error codes, see ble_<module>.h or ble_error_<module>.h.
- * @{ */
-#define NRF_L2CAP_ERR_BASE             (NRF_ERROR_STK_BASE_NUM+0x100) /**< L2CAP specific errors. */
-#define NRF_GAP_ERR_BASE               (NRF_ERROR_STK_BASE_NUM+0x200) /**< GAP specific errors. */
-#define NRF_GATTC_ERR_BASE             (NRF_ERROR_STK_BASE_NUM+0x300) /**< GATT client specific errors. */
-#define NRF_GATTS_ERR_BASE             (NRF_ERROR_STK_BASE_NUM+0x400) /**< GATT server specific errors. */
-/** @} */
-
-#endif
-
-
-/**
-  @}
-  @}
-*/
--- a/TARGET_ARCH_BLE/TARGET_NORDIC/TARGET_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/ble_gap.h	Fri Jul 25 09:46:51 2014 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1032 +0,0 @@
-/* Copyright (c) 2011 Nordic Semiconductor. All Rights Reserved.
- *
- * The information contained herein is confidential property of Nordic Semiconductor. The use,
- * copying, transfer or disclosure of such information is prohibited except by express written
- * agreement with Nordic Semiconductor.
- *
- */
-/**
-  @addtogroup BLE_GAP Generic Access Profile (GAP)
-  @{
-  @brief Definitions and prototypes for the GAP interface.
- */
-
-#ifndef BLE_GAP_H__
-#define BLE_GAP_H__
-
-#include "ble_types.h"
-#include "ble_ranges.h"
-#include "nrf_svc.h"
-
-
-/**@addtogroup BLE_GAP_ENUMERATIONS Enumerations 
- * @{ */
-
-/**@brief GAP API SVC numbers.
- */
-enum BLE_GAP_SVCS
-{
-  SD_BLE_GAP_ADDRESS_SET  = BLE_GAP_SVC_BASE,  /**< Set own Bluetooth Address. */
-  SD_BLE_GAP_ADDRESS_GET,                      /**< Get own Bluetooth Address. */
-  SD_BLE_GAP_ADV_DATA_SET,                     /**< Set Advertisement Data. */
-  SD_BLE_GAP_ADV_START,                        /**< Start Advertising. */
-  SD_BLE_GAP_ADV_STOP,                         /**< Stop Advertising. */
-  SD_BLE_GAP_CONN_PARAM_UPDATE,                /**< Connection Parameter Update. */
-  SD_BLE_GAP_DISCONNECT,                       /**< Disconnect. */
-  SD_BLE_GAP_TX_POWER_SET,                     /**< Set TX Power. */
-  SD_BLE_GAP_APPEARANCE_SET,                   /**< Set Appearance. */
-  SD_BLE_GAP_APPEARANCE_GET,                   /**< Get Appearance. */
-  SD_BLE_GAP_PPCP_SET,                         /**< Set PPCP. */
-  SD_BLE_GAP_PPCP_GET,                         /**< Get PPCP. */
-  SD_BLE_GAP_DEVICE_NAME_SET,                  /**< Set Device Name. */
-  SD_BLE_GAP_DEVICE_NAME_GET,                  /**< Get Device Name. */
-  SD_BLE_GAP_AUTHENTICATE,                     /**< Initiate Pairing/Bonding. */
-  SD_BLE_GAP_SEC_PARAMS_REPLY,                 /**< Reply with Security Parameters. */
-  SD_BLE_GAP_AUTH_KEY_REPLY,                   /**< Reply with an authentication key. */
-  SD_BLE_GAP_SEC_INFO_REPLY,                   /**< Reply with Security Information. */
-  SD_BLE_GAP_CONN_SEC_GET,                     /**< Obtain connection security level. */
-  SD_BLE_GAP_RSSI_START,                       /**< Start reporting of changes in RSSI. */ 
-  SD_BLE_GAP_RSSI_STOP,                        /**< Stop reporting of changes in RSSI. */ 
-};
-/**@} */
-
-/**@addtogroup BLE_GAP_DEFINES Defines
- * @{ */
-
-/**@defgroup BLE_ERRORS_GAP SVC return values specific to GAP
- * @{ */
-#define BLE_ERROR_GAP_UUID_LIST_MISMATCH            (NRF_GAP_ERR_BASE + 0x000)  /**< UUID list does not contain an integral number of UUIDs. */
-#define BLE_ERROR_GAP_DISCOVERABLE_WITH_WHITELIST   (NRF_GAP_ERR_BASE + 0x001)  /**< Use of Whitelist not permitted with discoverable advertising. */
-#define BLE_ERROR_GAP_INVALID_BLE_ADDR              (NRF_GAP_ERR_BASE + 0x002)  /**< The upper two bits of the address do not correspond to the specified address type. */
-/**@} */
-
-
-/**@defgroup BLE_GAP_ROLES GAP Roles
- * @note Not explicitly used in peripheral API, but will be relevant for central API.
- * @{ */
-#define BLE_GAP_ROLE_INVALID     0x0            /**< Invalid Role. */
-#define BLE_GAP_ROLE_PERIPH      0x1            /**< Peripheral Role. */
-#define BLE_GAP_ROLE_CENTRAL     0x2            /**< Central Role. */
-/**@} */
-
-
-/**@defgroup BLE_GAP_TIMEOUT_SOURCES GAP Timeout sources
- * @{ */
-#define BLE_GAP_TIMEOUT_SRC_ADVERTISEMENT              0x00 /**< Advertisement timeout. */
-#define BLE_GAP_TIMEOUT_SRC_SECURITY_REQUEST           0x01 /**< Security request timeout. */
-/**@} */
-
-
-/**@defgroup BLE_GAP_ADDR_TYPES GAP Address types
- * @{ */
-#define BLE_GAP_ADDR_TYPE_PUBLIC                        0x00 /**< Public address. */
-#define BLE_GAP_ADDR_TYPE_RANDOM_STATIC                 0x01 /**< Random Static address. */
-#define BLE_GAP_ADDR_TYPE_RANDOM_PRIVATE_RESOLVABLE     0x02 /**< Private Resolvable address. */
-#define BLE_GAP_ADDR_TYPE_RANDOM_PRIVATE_NON_RESOLVABLE 0x03 /**< Private Non-Resolvable address. */
-/**@} */
-
-/**@defgroup BLE_GAP_ADDR_CYCLE_MODES GAP Address cycle modes
- * @{ */
-#define BLE_GAP_ADDR_CYCLE_MODE_NONE      0x00 /**< Set addresses directly, no automatic address cycling. */
-#define BLE_GAP_ADDR_CYCLE_MODE_AUTO      0x01 /**< Automatically generate and update private addresses. */
-/** @} */
-
-/**@brief The default interval in seconds at which a private address is refreshed when address cycle mode is @ref BLE_GAP_ADDR_CYCLE_MODE_AUTO.  */
-#define BLE_GAP_DEFAULT_PRIVATE_ADDR_CYCLE_INTERVAL_S (60 * 15)
-
-/** @brief BLE address length. */
-#define BLE_GAP_ADDR_LEN            6
-
-
-/**@defgroup BLE_GAP_AD_TYPE_DEFINITIONS GAP Advertising and Scan Response Data format
- * @note Found at https://www.bluetooth.org/Technical/AssignedNumbers/generic_access_profile.htm
- * @{ */
-#define BLE_GAP_AD_TYPE_FLAGS                               0x01 /**< Flags for discoverability. */
-#define BLE_GAP_AD_TYPE_16BIT_SERVICE_UUID_MORE_AVAILABLE   0x02 /**< Partial list of 16 bit service UUIDs. */
-#define BLE_GAP_AD_TYPE_16BIT_SERVICE_UUID_COMPLETE         0x03 /**< Complete list of 16 bit service UUIDs. */
-#define BLE_GAP_AD_TYPE_32BIT_SERVICE_UUID_MORE_AVAILABLE   0x04 /**< Partial list of 32 bit service UUIDs. */
-#define BLE_GAP_AD_TYPE_32BIT_SERVICE_UUID_COMPLETE         0x05 /**< Complete list of 32 bit service UUIDs. */
-#define BLE_GAP_AD_TYPE_128BIT_SERVICE_UUID_MORE_AVAILABLE  0x06 /**< Partial list of 128 bit service UUIDs. */
-#define BLE_GAP_AD_TYPE_128BIT_SERVICE_UUID_COMPLETE        0x07 /**< Complete list of 128 bit service UUIDs. */
-#define BLE_GAP_AD_TYPE_SHORT_LOCAL_NAME                    0x08 /**< Short local device name. */
-#define BLE_GAP_AD_TYPE_COMPLETE_LOCAL_NAME                 0x09 /**< Complete local device name. */
-#define BLE_GAP_AD_TYPE_TX_POWER_LEVEL                      0x0A /**< Transmit power level. */
-#define BLE_GAP_AD_TYPE_CLASS_OF_DEVICE                     0x0D /**< Class of device. */
-#define BLE_GAP_AD_TYPE_SIMPLE_PAIRING_HASH_C               0x0E /**< Simple Pairing Hash C. */
-#define BLE_GAP_AD_TYPE_SIMPLE_PAIRING_RANDOMIZER_R         0x0F /**< Simple Pairing Randomizer R. */
-#define BLE_GAP_AD_TYPE_SECURITY_MANAGER_TK_VALUE           0x10 /**< Security Manager TK Value. */
-#define BLE_GAP_AD_TYPE_SECURITY_MANAGER_OOB_FLAGS          0x11 /**< Security Manager Out Of Band Flags. */
-#define BLE_GAP_AD_TYPE_SLAVE_CONNECTION_INTERVAL_RANGE     0x12 /**< Slave Connection Interval Range. */
-#define BLE_GAP_AD_TYPE_SOLICITED_SERVICE_UUIDS_16BIT       0x14 /**< List of 16-bit Service Solicitation UUIDs. */
-#define BLE_GAP_AD_TYPE_SOLICITED_SERVICE_UUIDS_128BIT      0x15 /**< List of 128-bit Service Solicitation UUIDs. */
-#define BLE_GAP_AD_TYPE_SERVICE_DATA                        0x16 /**< Service Data - 16-bit UUID. */
-#define BLE_GAP_AD_TYPE_PUBLIC_TARGET_ADDRESS               0x17 /**< Public Target Address. */
-#define BLE_GAP_AD_TYPE_RANDOM_TARGET_ADDRESS               0x18 /**< Random Target Address. */
-#define BLE_GAP_AD_TYPE_APPEARANCE                          0x19 /**< Appearance. */
-#define BLE_GAP_AD_TYPE_ADVERTISING_INTERVAL                0x1A /**< Advertising Interval. */ 
-#define BLE_GAP_AD_TYPE_LE_BLUETOOTH_DEVICE_ADDRESS         0x1B /**< LE Bluetooth Device Address. */
-#define BLE_GAP_AD_TYPE_LE_ROLE                             0x1C /**< LE Role. */
-#define BLE_GAP_AD_TYPE_SIMPLE_PAIRING_HASH_C256            0x1D /**< Simple Pairing Hash C-256. */
-#define BLE_GAP_AD_TYPE_SIMPLE_PAIRING_RANDOMIZER_R256      0x1E /**< Simple Pairing Randomizer R-256. */
-#define BLE_GAP_AD_TYPE_SERVICE_DATA_32BIT_UUID             0x20 /**< Service Data - 32-bit UUID. */
-#define BLE_GAP_AD_TYPE_SERVICE_DATA_128BIT_UUID            0x21 /**< Service Data - 128-bit UUID. */
-#define BLE_GAP_AD_TYPE_3D_INFORMATION_DATA                 0x3D /**< 3D Information Data. */
-#define BLE_GAP_AD_TYPE_MANUFACTURER_SPECIFIC_DATA          0xFF /**< Manufacturer Specific Data. */
-/**@} */
-
-
-/**@defgroup BLE_GAP_ADV_FLAGS GAP Advertisement Flags
- * @{ */
-#define BLE_GAP_ADV_FLAG_LE_LIMITED_DISC_MODE         (0x01)   /**< LE Limited Discoverable Mode. */
-#define BLE_GAP_ADV_FLAG_LE_GENERAL_DISC_MODE         (0x02)   /**< LE General Discoverable Mode. */
-#define BLE_GAP_ADV_FLAG_BR_EDR_NOT_SUPPORTED         (0x04)   /**< BR/EDR not supported. */
-#define BLE_GAP_ADV_FLAG_LE_BR_EDR_CONTROLLER         (0x08)   /**< Simultaneous LE and BR/EDR, Controller. */
-#define BLE_GAP_ADV_FLAG_LE_BR_EDR_HOST               (0x10)   /**< Simultaneous LE and BR/EDR, Host. */
-#define BLE_GAP_ADV_FLAGS_LE_ONLY_LIMITED_DISC_MODE   (BLE_GAP_ADV_FLAG_LE_LIMITED_DISC_MODE | BLE_GAP_ADV_FLAG_BR_EDR_NOT_SUPPORTED)   /**< LE Limited Discoverable Mode, BR/EDR not supported. */
-#define BLE_GAP_ADV_FLAGS_LE_ONLY_GENERAL_DISC_MODE   (BLE_GAP_ADV_FLAG_LE_GENERAL_DISC_MODE | BLE_GAP_ADV_FLAG_BR_EDR_NOT_SUPPORTED)   /**< LE General Discoverable Mode, BR/EDR not supported. */
-/**@} */
-
-
-/**@defgroup BLE_GAP_ADV_INTERVALS GAP Advertising interval max and min
- * @{ */
-#define BLE_GAP_ADV_INTERVAL_MIN        0x0020 /**< Minimum Advertising interval in 625 us units, i.e. 20 ms. */
-#define BLE_GAP_ADV_NONCON_INTERVAL_MIN 0x00A0 /**< Minimum Advertising interval in 625 us units for non connectable mode, i.e. 100 ms. */
-#define BLE_GAP_ADV_INTERVAL_MAX        0x4000 /**< Maximum Advertising interval in 625 us units, i.e. 10.24 s. */
- /**@}  */
-
-
-/**@brief Maximum size of advertising data in octets. */
-#define  BLE_GAP_ADV_MAX_SIZE       31
-
-
-/**@defgroup BLE_GAP_ADV_TYPES GAP Advertising types
- * @{ */
-#define BLE_GAP_ADV_TYPE_ADV_IND          0x00   /**< Connectable undirected. */
-#define BLE_GAP_ADV_TYPE_ADV_DIRECT_IND   0x01   /**< Connectable directed. */
-#define BLE_GAP_ADV_TYPE_ADV_SCAN_IND     0x02   /**< Scannable undirected. */
-#define BLE_GAP_ADV_TYPE_ADV_NONCONN_IND  0x03   /**< Non connectable undirected. */
-/**@} */
-
-
-/**@defgroup BLE_GAP_ADV_FILTER_POLICIES GAP Advertising filter policies
- * @{ */
-#define BLE_GAP_ADV_FP_ANY                0x00   /**< Allow scan requests and connect requests from any device. */
-#define BLE_GAP_ADV_FP_FILTER_SCANREQ     0x01   /**< Filter scan requests with whitelist. */
-#define BLE_GAP_ADV_FP_FILTER_CONNREQ     0x02   /**< Filter connect requests with whitelist. */
-#define BLE_GAP_ADV_FP_FILTER_BOTH        0x03   /**< Filter both scan and connect requests with whitelist. */
-/**@} */
-
-
-/**@defgroup BLE_GAP_ADV_TIMEOUT_VALUES GAP Advertising timeout values
- * @{ */
-#define BLE_GAP_ADV_TIMEOUT_LIMITED_MAX      180 /**< Maximum advertising time in limited discoverable mode (TGAP(lim_adv_timeout) = 180s in spec (Addendum 2)). */
-#define BLE_GAP_ADV_TIMEOUT_GENERAL_UNLIMITED  0 /**< Unlimited advertising in general discoverable mode. */
-/**@} */
-
-
-/**@defgroup BLE_GAP_DISC_MODES GAP Discovery modes
- * @{ */
-#define BLE_GAP_DISC_MODE_NOT_DISCOVERABLE  0x00   /**< Not discoverable discovery Mode. */
-#define BLE_GAP_DISC_MODE_LIMITED           0x01   /**< Limited Discovery Mode. */
-#define BLE_GAP_DISC_MODE_GENERAL           0x02   /**< General Discovery Mode. */
-/**@} */
-
-/**@defgroup BLE_GAP_IO_CAPS GAP IO Capabilities
- * @{ */
-#define BLE_GAP_IO_CAPS_DISPLAY_ONLY      0x00   /**< Display Only. */
-#define BLE_GAP_IO_CAPS_DISPLAY_YESNO     0x01   /**< Display and Yes/No entry. */
-#define BLE_GAP_IO_CAPS_KEYBOARD_ONLY     0x02   /**< Keyboard Only. */
-#define BLE_GAP_IO_CAPS_NONE              0x03   /**< No I/O capabilities. */
-#define BLE_GAP_IO_CAPS_KEYBOARD_DISPLAY  0x04   /**< Keyboard and Display. */
-/**@} */
-
-
-/**@defgroup BLE_GAP_AUTH_KEY_TYPES GAP Authentication Key Types
- * @{ */
-#define BLE_GAP_AUTH_KEY_TYPE_NONE        0x00   /**< No key (may be used to reject). */
-#define BLE_GAP_AUTH_KEY_TYPE_PASSKEY     0x01   /**< 6-digit Passkey. */
-#define BLE_GAP_AUTH_KEY_TYPE_OOB         0x02   /**< Out Of Band data. */
-/**@} */
-
-/**@defgroup BLE_GAP_SEC_STATUS GAP Security status
- * @{ */
-#define BLE_GAP_SEC_STATUS_SUCCESS                0x00  /**< Successful parameters. */
-#define BLE_GAP_SEC_STATUS_TIMEOUT                0x01  /**< Procedure timed out. */
-#define BLE_GAP_SEC_STATUS_PDU_INVALID            0x02  /**< Invalid PDU received. */
-#define BLE_GAP_SEC_STATUS_PASSKEY_ENTRY_FAILED   0x81  /**< Passkey entry failed (user cancelled or other). */
-#define BLE_GAP_SEC_STATUS_OOB_NOT_AVAILABLE      0x82  /**< Out of Band Key not available. */
-#define BLE_GAP_SEC_STATUS_AUTH_REQ               0x83  /**< Authentication requirements not met. */
-#define BLE_GAP_SEC_STATUS_CONFIRM_VALUE          0x84  /**< Confirm value failed. */
-#define BLE_GAP_SEC_STATUS_PAIRING_NOT_SUPP       0x85  /**< Pairing not supported.  */
-#define BLE_GAP_SEC_STATUS_ENC_KEY_SIZE           0x86  /**< Encryption key size. */
-#define BLE_GAP_SEC_STATUS_SMP_CMD_UNSUPPORTED    0x87  /**< Unsupported SMP command. */
-#define BLE_GAP_SEC_STATUS_UNSPECIFIED            0x88  /**< Unspecified reason. */
-#define BLE_GAP_SEC_STATUS_REPEATED_ATTEMPTS      0x89  /**< Too little time elapsed since last attempt. */
-#define BLE_GAP_SEC_STATUS_INVALID_PARAMS         0x8A  /**< Invalid parameters. */
-/**@} */
-
-/**@defgroup BLE_GAP_SEC_STATUS_SOURCES GAP Security status sources
- * @{ */
-#define BLE_GAP_SEC_STATUS_SOURCE_LOCAL           0x00  /**< Local failure. */
-#define BLE_GAP_SEC_STATUS_SOURCE_REMOTE          0x01  /**< Remote failure. */
-/**@} */
-
-/**@defgroup BLE_GAP_CP_LIMITS GAP Connection Parameters Limits
- * @{ */
-#define BLE_GAP_CP_MIN_CONN_INTVL_NONE           0xFFFF  /**< No new minimum connction interval specified in connect parameters. */
-#define BLE_GAP_CP_MIN_CONN_INTVL_MIN            0x0006  /**< Lowest mimimum connection interval permitted, in units of 1.25 ms, i.e. 7.5 ms. */
-#define BLE_GAP_CP_MIN_CONN_INTVL_MAX            0x0C80  /**< Highest minimum connection interval permitted, in units of 1.25 ms, i.e. 4 s. */
-#define BLE_GAP_CP_MAX_CONN_INTVL_NONE           0xFFFF  /**< No new maximum connction interval specified in connect parameters. */
-#define BLE_GAP_CP_MAX_CONN_INTVL_MIN            0x0006  /**< Lowest maximum connection interval permitted, in units of 1.25 ms, i.e. 7.5 ms. */
-#define BLE_GAP_CP_MAX_CONN_INTVL_MAX            0x0C80  /**< Highest maximum connection interval permitted, in units of 1.25 ms, i.e. 4 s. */
-#define BLE_GAP_CP_SLAVE_LATENCY_MAX             0x03E8  /**< Highest slave latency permitted, in connection events. */
-#define BLE_GAP_CP_CONN_SUP_TIMEOUT_NONE         0xFFFF  /**< No new supervision timeout specified in connect parameters. */
-#define BLE_GAP_CP_CONN_SUP_TIMEOUT_MIN          0x000A  /**< Lowest supervision timeout permitted, in units of 10 ms, i.e. 100 ms. */
-#define BLE_GAP_CP_CONN_SUP_TIMEOUT_MAX          0x0C80  /**< Highest supervision timeout permitted, in units of 10 ms, i.e. 32 s. */
-/**@} */
-
-
-/**@brief GAP device name maximum length. */
-#define BLE_GAP_DEVNAME_MAX_LEN           31
-
-
-/**@defgroup BLE_GAP_CONN_SEC_MODE_SET_MACROS GAP attribute security requirement setters
- *
- * See @ref ble_gap_conn_sec_mode_t.
- * @{ */
-/**@brief Set sec_mode pointed to by ptr to have no access rights.*/
-#define BLE_GAP_CONN_SEC_MODE_SET_NO_ACCESS(ptr)         do {(ptr)->sm = 0; (ptr)->lv = 0;} while(0)
-/**@brief Set sec_mode pointed to by ptr to require no protection, open link.*/
-#define BLE_GAP_CONN_SEC_MODE_SET_OPEN(ptr)              do {(ptr)->sm = 1; (ptr)->lv = 1;} while(0)
-/**@brief Set sec_mode pointed to by ptr to require encryption, but no MITM protection.*/
-#define BLE_GAP_CONN_SEC_MODE_SET_ENC_NO_MITM(ptr)       do {(ptr)->sm = 1; (ptr)->lv = 2;} while(0)
-/**@brief Set sec_mode pointed to by ptr to require encryption and MITM protection.*/
-#define BLE_GAP_CONN_SEC_MODE_SET_ENC_WITH_MITM(ptr)     do {(ptr)->sm = 1; (ptr)->lv = 3;} while(0)
-/**@brief Set sec_mode pointed to by ptr to require signing or encryption, no MITM protection needed.*/
-#define BLE_GAP_CONN_SEC_MODE_SET_SIGNED_NO_MITM(ptr)    do {(ptr)->sm = 2; (ptr)->lv = 1;} while(0)
-/**@brief Set sec_mode pointed to by ptr to require signing or encryption with MITM protection.*/
-#define BLE_GAP_CONN_SEC_MODE_SET_SIGNED_WITH_MITM(ptr)  do {(ptr)->sm = 2; (ptr)->lv = 2;} while(0)
-/**@} */
-
-
-/**@brief GAP Security Key Length. */
-#define BLE_GAP_SEC_KEY_LEN 16
-
-/**@brief GAP Passkey Length. */
-#define BLE_GAP_PASSKEY_LEN 6
-
-/**@brief Maximum amount of addresses in a whitelist. */
-#define BLE_GAP_WHITELIST_ADDR_MAX_COUNT (8)
-
-/**@brief Maximum amount of IRKs in a whitelist.
- * @note  The number of IRKs is limited to 8, even if the hardware supports more.
- */
-#define BLE_GAP_WHITELIST_IRK_MAX_COUNT (8)
-
-/**@defgroup GAP_SEC_MODES GAP Security Modes
- * @{ */
-#define BLE_GAP_SEC_MODE 0x00 /**< No key (may be used to reject). */
-/**@} */
-
-/**@} */
-
-/**@addtogroup BLE_GAP_STRUCTURES Structures
- * @{ */
-
-/**@brief Bluetooth Low Energy address. */
-typedef struct
-{
-  uint8_t addr_type;                    /**< See @ref BLE_GAP_ADDR_TYPES. */
-  uint8_t addr[BLE_GAP_ADDR_LEN];       /**< 48-bit address, LSB format. */
-} ble_gap_addr_t;
-
-
-/**@brief GAP connection parameters.
- *
- * @note  When ble_conn_params_t is received in an event, both min_conn_interval and
- *        max_conn_interval will be equal to the connection interval set by the central.
- */
-typedef struct
-{
-  uint16_t min_conn_interval;         /**< Minimum Connection Interval in 1.25 ms units, see @ref BLE_GAP_CP_LIMITS.*/
-  uint16_t max_conn_interval;         /**< Maximum Connection Interval in 1.25 ms units, see @ref BLE_GAP_CP_LIMITS.*/
-  uint16_t slave_latency;             /**< Slave Latency in number of connection events, see @ref BLE_GAP_CP_LIMITS.*/
-  uint16_t conn_sup_timeout;          /**< Connection Supervision Timeout in 10 ms units, see @ref BLE_GAP_CP_LIMITS.*/
-} ble_gap_conn_params_t;
-
-
-/**@brief GAP link requirements.
- *
- * See Bluetooth Core specification, Volume 3 Part C 10.2 for details.
- *
- * Security Mode 0 Level 0: No access permissions at all (this level is not defined by the Bluetooth Core specification).\n
- * Security Mode 1 Level 1: No security is needed (aka open link).\n
- * Security Mode 1 Level 2: Encrypted link required, MITM protection not necessary.\n
- * Security Mode 1 Level 3: MITM protected encrypted link required.\n
- * Security Mode 2 Level 1: Signing or encryption required, MITM protection not necessary.\n
- * Security Mode 2 Level 2: MITM protected signing required, unless link is MITM protected encrypted.\n
- */
-typedef struct
-{
-  uint8_t sm : 4;                     /**< Security Mode (1 or 2), 0 for no permissions at all. */
-  uint8_t lv : 4;                     /**< Level (1, 2 or 3), 0 for no permissions at all. */
-
-} ble_gap_conn_sec_mode_t;
-
-
-/**@brief GAP connection security status.*/
-typedef struct
-{
-  ble_gap_conn_sec_mode_t sec_mode;           /**< Currently active security mode for this connection.*/
-  uint8_t                 encr_key_size;      /**< Length of currently active encryption key, 7 to 16 octets (only applicable for bonding procedures). */
-} ble_gap_conn_sec_t;
-
-
-/**@brief Identity Resolving Key. */
-typedef struct
-{
-  uint8_t irk[BLE_GAP_SEC_KEY_LEN];   /**< Array containing IRK. */
-} ble_gap_irk_t;
-
-
-/**@brief Whitelist structure. */
-typedef struct
-{
-  ble_gap_addr_t   ** pp_addrs;        /**< Pointer to array of device address pointers, pointing to addresses to be used in whitelist. NULL if none are given. */
-  uint8_t             addr_count;      /**< Count of device addresses in array, up to @ref BLE_GAP_WHITELIST_ADDR_MAX_COUNT. */
-  ble_gap_irk_t    ** pp_irks;         /**< Pointer to array of Identity Resolving Key (IRK) pointers, each pointing to an IRK in the whitelist. NULL if none are given. */
-  uint8_t             irk_count;       /**< Count of IRKs in array, up to @ref BLE_GAP_WHITELIST_IRK_MAX_COUNT. */
-} ble_gap_whitelist_t;
-
-
-/**@brief GAP advertising parameters.*/
-typedef struct
-{
-  uint8_t               type;                 /**< See @ref BLE_GAP_ADV_TYPES. */
-  ble_gap_addr_t*       p_peer_addr;          /**< For BLE_GAP_CONN_MODE_DIRECTED mode only, known peer address. */
-  uint8_t               fp;                   /**< Filter Policy, see @ref BLE_GAP_ADV_FILTER_POLICIES. */
-  ble_gap_whitelist_t * p_whitelist;          /**< Pointer to whitelist, NULL if none is given. */
-  uint16_t              interval;             /**< Advertising interval between 0x0020 and 0x4000 in 0.625 ms units (20ms to 10.24s), see @ref BLE_GAP_ADV_INTERVALS. This parameter must be set to 0 if type equals @ref BLE_GAP_ADV_TYPE_ADV_DIRECT_IND. */
-  uint16_t              timeout;              /**< Advertising timeout between 0x0001 and 0x3FFF in seconds, 0x0000 disables timeout. See also @ref BLE_GAP_ADV_TIMEOUT_VALUES. This parameter must be set to 0 if type equals @ref BLE_GAP_ADV_TYPE_ADV_DIRECT_IND. */
-} ble_gap_adv_params_t;
-
-
-/**@brief GAP scanning parameters. */
-typedef struct
-{
-  uint8_t    filter;                    /**< Filter based on discovery mode, see @ref BLE_GAP_DISC_MODES. */
-  uint8_t    active    : 1;             /**< If 1, perform active scanning (scan requests). */
-  uint8_t    selective : 1;             /**< If 1, ignore unknown devices (non whitelisted). */
-  uint16_t   interval;                  /**< Scan interval between 0x0020 and 0x4000 in 0.625ms units (20ms to 10.24s). */
-  uint16_t   window;                    /**< Scan window between 0x0004 and 0x4000 in 0.625ms units (2.5ms to 10.24s). */
-  uint16_t   timeout;                   /**< Scan timeout between 0x0001 and 0x3FFF in seconds, 0x0000 disables timeout. */
-} ble_gap_scan_params_t;
-
-
-/**@brief GAP security parameters. */
-typedef struct
-{
-  uint16_t   timeout;                   /**< Timeout for SMP transactions or Security Request in seconds, see @ref sd_ble_gap_authenticate and @ref sd_ble_gap_sec_params_reply for more information. */
-  uint8_t    bond    : 1;               /**< Perform bonding. */
-  uint8_t    mitm    : 1;               /**< Man In The Middle protection required. */
-  uint8_t    io_caps : 3;               /**< IO capabilities, see @ref BLE_GAP_IO_CAPS. */
-  uint8_t    oob     : 1;               /**< Out Of Band data available. */
-  uint8_t    min_key_size;              /**< Minimum encryption key size in octets between 7 and 16. */
-  uint8_t    max_key_size;              /**< Maximum encryption key size in octets between min_key_size and 16. */
-} ble_gap_sec_params_t;
-
-
-/**@brief GAP Encryption Information. */
-typedef struct
-{
-  uint16_t  div;                        /**< Encryption Diversifier. */
-  uint8_t   ltk[BLE_GAP_SEC_KEY_LEN];   /**< Long Term Key. */
-  uint8_t   auth : 1;                   /**< Authenticated Key. */
-  uint8_t   ltk_len : 7;                /**< LTK length in octets. */
-} ble_gap_enc_info_t;
-
-
-/**@brief GAP Master Identification. */
-typedef struct
-{
-  uint16_t  ediv;                       /**< Encrypted Diversifier. */
-  uint8_t   rand[8];                    /**< Random Number. */
-} ble_gap_master_id_t;
-
-
-/**@brief GAP Identity Information. */
-typedef struct
-{
-  ble_gap_addr_t  addr;                       /**< Bluetooth address to which this key applies. */
-  uint8_t         irk[BLE_GAP_SEC_KEY_LEN];   /**< Identity Resolution Key. */
-} ble_gap_id_info_t;
-
-
-/**@brief GAP Signing Information. */
-typedef struct
-{
-  uint8_t   csrk[BLE_GAP_SEC_KEY_LEN]; /* Connection Signature Resolving Key. */
-} ble_gap_sign_info_t;
-
-
-/**@brief GAP Event IDs.
- * Those IDs uniquely identify an event coming from the stack to the application.
- */
-enum BLE_GAP_EVTS
-{
-  BLE_GAP_EVT_CONNECTED  = BLE_GAP_EVT_BASE,    /**< Connection established. */
-  BLE_GAP_EVT_DISCONNECTED,                     /**< Disconnected from peer. */
-  BLE_GAP_EVT_CONN_PARAM_UPDATE,                /**< Connection Parameters updated. */
-  BLE_GAP_EVT_SEC_PARAMS_REQUEST,               /**< Request to provide security parameters. */
-  BLE_GAP_EVT_SEC_INFO_REQUEST,                 /**< Request to provide security information. */
-  BLE_GAP_EVT_PASSKEY_DISPLAY,                  /**< Request to display a passkey to the user. */
-  BLE_GAP_EVT_AUTH_KEY_REQUEST,                 /**< Request to provide an authentication key. */
-  BLE_GAP_EVT_AUTH_STATUS,                      /**< Authentication procedure completed with status. */
-  BLE_GAP_EVT_CONN_SEC_UPDATE,                  /**< Connection security updated. */
-  BLE_GAP_EVT_TIMEOUT,                          /**< Timeout expired. */
-  BLE_GAP_EVT_RSSI_CHANGED,                     /**< Signal strength measurement report. */
-};
-
-
-/**
- * @brief GAP Option IDs.
- * IDs that uniquely identify a GAP option.
- */
-enum BLE_GAP_OPTS
-{
-  BLE_GAP_OPT_LOCAL_CONN_LATENCY  = BLE_GAP_OPT_BASE,    /**< Local connection latency. */
-  BLE_GAP_OPT_PASSKEY,                                   /**< Set passkey to be used during pairing. This option can be used to make the SoftDevice use an application provided passkey instead of generating a random passkey.*/
-  BLE_GAP_OPT_PRIVACY,                                   /**< Set or get custom IRK or custom private address cycle interval. */
-};
-/**@} */
-
-
-/**@brief Event data for connected event. */
-typedef struct
-{
-  ble_gap_addr_t        peer_addr;              /**< Bluetooth address of the peer device. */
-  uint8_t               irk_match :1;           /**< If 1, peer device's address resolved using an IRK. */
-  uint8_t               irk_match_idx  :7;      /**< Index in IRK list where the address was matched. */
-  ble_gap_conn_params_t conn_params;            /**< GAP Connection Parameters. */
-} ble_gap_evt_connected_t;
-
-
-/**@brief Event data for disconnected event. */
-typedef struct
-{
-  uint8_t reason;                               /**< HCI error code. */
-} ble_gap_evt_disconnected_t;
-
-
-/**@brief Event data for connection parameter update event. */
-typedef struct
-{
-  ble_gap_conn_params_t conn_params;            /**<  GAP Connection Parameters. */
-} ble_gap_evt_conn_param_update_t;
-
-
-/**@brief Event data for security parameters request event. */
-typedef struct
-{
-  ble_gap_sec_params_t peer_params;             /**< Initiator Security Parameters. */
-} ble_gap_evt_sec_params_request_t;
-
-
-/**@brief Event data for security info request event. */
-typedef struct
-{
-  ble_gap_addr_t peer_addr;                     /**< Bluetooth address of the peer device. */
-  uint16_t       div;                           /**< Encryption diversifier for LTK lookup. */
-  uint8_t        enc_info  : 1;                 /**< If 1, Encryption Information required. */
-  uint8_t        id_info   : 1;                 /**< If 1, Identity Information required. */
-  uint8_t        sign_info : 1;                 /**< If 1, Signing Information required. */
-} ble_gap_evt_sec_info_request_t;
-
-
-/**@brief Event data for passkey display event. */
-typedef struct
-{
-  uint8_t passkey[BLE_GAP_PASSKEY_LEN];         /**< 6-digit passkey in ASCII ('0'-'9' digits only). */
-} ble_gap_evt_passkey_display_t;
-
-
-/**@brief Event data for authentication key request event. */
-typedef struct
-{
-  uint8_t key_type;                             /**< See @ref BLE_GAP_AUTH_KEY_TYPES. */
-} ble_gap_evt_auth_key_request_t;
-
-
-/**@brief Security levels supported.
- * @note See Bluetooth Specification Version 4.1 Volume 3, Part C, Chapter 10.
-*/
-typedef struct
-{
-  uint8_t lv1 : 1;                              /**< If 1: Level 1 is supported. */
-  uint8_t lv2 : 1;                              /**< If 1: Level 2 is supported. */
-  uint8_t lv3 : 1;                              /**< If 1: Level 3 is supported. */
-} ble_gap_sec_levels_t;
-
-
-/**@brief Keys that have been exchanged. */
-typedef struct
-{
-  uint8_t ltk       : 1;                        /**< Long Term Key. */
-  uint8_t ediv_rand : 1;                        /**< Encrypted Diversifier and Random value. */
-  uint8_t irk       : 1;                        /**< Identity Resolving Key. */
-  uint8_t address   : 1;                        /**< Public or static random address. */
-  uint8_t csrk      : 1;                        /**< Connection Signature Resolving Key. */
-} ble_gap_sec_keys_t;
-
-
-/**@brief Event data for authentication status event. */
-typedef struct
-{
-  uint8_t               auth_status;            /**< Authentication status, see @ref BLE_GAP_SEC_STATUS. */
-  uint8_t               error_src;              /**< On error, source that caused the failure, see @ref BLE_GAP_SEC_STATUS_SOURCES. */
-  ble_gap_sec_levels_t  sm1_levels;             /**< Levels supported in Security Mode 1. */
-  ble_gap_sec_levels_t  sm2_levels;             /**< Levels supported in Security Mode 2. */
-  ble_gap_sec_keys_t    periph_kex;             /**< Bitmap stating which keys were exchanged (distributed) by the peripheral. */
-  ble_gap_sec_keys_t    central_kex;            /**< Bitmap stating which keys were exchanged (distributed) by the central. */
-  struct periph_keys_t
-  {
-    ble_gap_enc_info_t    enc_info;             /**< Peripheral's Encryption information. */
-  } periph_keys;                                /**< Actual keys distributed from the Peripheral to the Central. */ 
-  struct central_keys_t
-  {
-    ble_gap_irk_t         irk;                  /**< Central's IRK. */
-    ble_gap_addr_t        id_info;              /**< Central's Identity Info. */
-  } central_keys;                               /**< Actual keys distributed from the Central to the Peripheral. */
-} ble_gap_evt_auth_status_t;
-
-
-/**@brief Event data for connection security update event. */
-typedef struct
-{
-  ble_gap_conn_sec_t conn_sec;                  /**< Connection security level. */
-} ble_gap_evt_conn_sec_update_t;
-
-
-/**@brief Event data for timeout event. */
-typedef struct
-{
-  uint8_t src;                                  /**< Source of timeout event, see @ref BLE_GAP_TIMEOUT_SOURCES. */
-} ble_gap_evt_timeout_t;
-
-
-/**@brief Event data for advertisement report event. */
-typedef struct
-{
-  int8_t  rssi;                               /**< Received Signal Strength Indication in dBm. */
-} ble_gap_evt_rssi_changed_t;
-
-
-/**@brief GAP event callback event structure. */
-typedef struct
-{
-  uint16_t conn_handle;                                     /**< Connection Handle on which event occured. */
-  union                                                     /**< union alternative identified by evt_id in enclosing struct. */
-  {
-    ble_gap_evt_connected_t          connected;             /**< Connected Event Parameters. */
-    ble_gap_evt_disconnected_t       disconnected;          /**< Disconnected Event Parameters. */
-    ble_gap_evt_conn_param_update_t  conn_param_update;     /**< Connection Parameter Update Parameters. */
-    ble_gap_evt_sec_params_request_t sec_params_request;    /**< Security Parameters Request Event Parameters. */
-    ble_gap_evt_sec_info_request_t   sec_info_request;      /**< Security Information Request Event Parameters. */
-    ble_gap_evt_passkey_display_t    passkey_display;       /**< Passkey Display Event Parameters. */
-    ble_gap_evt_auth_key_request_t   auth_key_request;      /**< Authentication Key Request Event Parameters. */
-    ble_gap_evt_auth_status_t        auth_status;           /**< Authentication Status Event Parameters. */
-    ble_gap_evt_conn_sec_update_t    conn_sec_update;       /**< Connection Security Update Event Parameters. */
-    ble_gap_evt_timeout_t            timeout;               /**< Timeout Event Parameters. */
-    ble_gap_evt_rssi_changed_t       rssi_changed;          /**< RSSI Event parameters. */
-  } params;
-
-} ble_gap_evt_t;
-
-
-/**@brief Local connection latency option.
- *
- *         Local connection latency is a feature which enables the slave to improve
- *         current consumption by ignoring the slave latency set by the peer. The
- *         local connection latency can only be set to a multiple of the slave latency,
- *         and cannot be longer than half of the supervision timeout.
- *
- *         Used with @ref sd_ble_opt_set to set the local connection latency. The
- *         @ref sd_ble_opt_get is not supported for this option, but the actual 
- *         local connection latency (unless set to NULL) is set as a return parameter
- *         when setting the option.
- *
- *  @note  The latency set will be truncated down to the closest slave latency event
- *         multiple, or the nearest multiple before half of the supervision timeout.
- *
- *  @note  The local connection latency is default off, and needs to be set for new
- *         connections and whenever the connection is updated.
- *
- *  @retval ::NRF_SUCCESS Set successfully.
- *  @retval ::NRF_ERROR_NOT_SUPPORTED Get is not supported.
- *  @retval ::BLE_ERROR_INVALID_CONN_HANDLE Invalid connection handle parameter.
- */
-typedef struct
-{
-  uint16_t   conn_handle;                       /**< Connection Handle */
-  uint16_t   requested_latency;                 /**< Requested local connection latency. */
-  uint16_t * p_actual_latency;                  /**< Pointer to storage for the actual local connection latency (can be set to NULL to skip return value). */
-} ble_gap_opt_local_conn_latency_t;
-
-
-/**@brief Passkey Option.
- *
- *        Structure containing the passkey to be used during pairing. This can be used with @ref
- *        sd_ble_opt_set to make the SoftDevice use a pre-programmed passkey for authentication
- *        instead of generating a random one.
- *
- * @note  @ref sd_ble_opt_get is not supported for this option.
- *
- */
-typedef struct
-{
-  uint8_t * p_passkey;                          /**< Pointer to 6-digit ASCII string (digit 0..9 only, no NULL termination) passkey to be used during pairing. If this is NULL, the SoftDevice will generate a random passkey if required.*/
-} ble_gap_opt_passkey_t;
-
-
-/**@brief Custom Privacy Options.
- *
- * @note The specified address cycle interval is used when the address cycle mode is
- * @ref BLE_GAP_ADDR_CYCLE_MODE_AUTO. If 0 is given, the address will not be refreshed at any
- * interval, and not at start of advertising. A new address can be generated manually by calling
- * @ref sd_ble_gap_address_set with the same type again. The default interval is
- * @ref BLE_GAP_DEFAULT_PRIVATE_ADDR_CYCLE_INTERVAL_S.
- *
- * @note If cycle mode is @ref BLE_GAP_ADDR_CYCLE_MODE_AUTO, the address will immediately be
- * refreshed when this option is set.
- */
-typedef struct
-{
-  ble_gap_irk_t * p_irk;        /**< When input: Pointer to custom IRK, or NULL to use/reset to the device's default IRK. When output: Pointer to where the current IRK is to be stored, or NULL to not read out the IRK. */
-  uint16_t        interval_s;   /**< When input: Custom private address cycle interval in seconds. When output: The current private address cycle interval. */
-} ble_gap_opt_privacy_t;
-
-
-/**@brief Option structure for GAP options. */
-typedef union
-{
-  ble_gap_opt_local_conn_latency_t local_conn_latency;  /**< Local connection latency. */
-  ble_gap_opt_passkey_t            passkey;             /**< Passkey to be used for pairing.*/
-  ble_gap_opt_privacy_t            privacy;             /**< Custom privacy options. */
-} ble_gap_opt_t;
-/**@} */
-
-
-/**@addtogroup BLE_GAP_FUNCTIONS Functions
- * @{ */
-
-/**@brief Set local Bluetooth address.
- *
- * If the address cycle mode is @ref BLE_GAP_ADDR_CYCLE_MODE_AUTO, the address type is required to
- * be @ref BLE_GAP_ADDR_TYPE_RANDOM_PRIVATE_RESOLVABLE or
- * @ref BLE_GAP_ADDR_TYPE_RANDOM_PRIVATE_NON_RESOLVABLE. The given address is ignored and the
- * SoftDevice will generate a new private address automatically every time advertising is
- * (re)started, and every @ref BLE_GAP_DEFAULT_PRIVATE_ADDR_CYCLE_INTERVAL_S seconds. If this API
- * call is used again with the same parameters while advertising, the SoftDevice will immediately
- * generate a new private address to replace the current address.
- *
- * If the application wishes to use a @ref BLE_GAP_ADDR_TYPE_PUBLIC or
- * @ref BLE_GAP_ADDR_TYPE_RANDOM_STATIC address, the cycle mode must be
- * @ref BLE_GAP_ADDR_CYCLE_MODE_NONE.
- *
- * If this API function is called while advertising, the softdevice will immediately update the
- * advertising address without the need to stop advertising in the following cases:
- *   - If the previously set address is of type @ref BLE_GAP_ADDR_TYPE_PUBLIC and the new address
- *   is also of type @ref BLE_GAP_ADDR_TYPE_PUBLIC
- *   - If the previously set address is not @ref BLE_GAP_ADDR_TYPE_PUBLIC and the new address is
- *   also not @ref BLE_GAP_ADDR_TYPE_PUBLIC.
- *
- * If the address is changed from a @ref BLE_GAP_ADDR_TYPE_PUBLIC address to another type or from
- * another type to a @ref BLE_GAP_ADDR_TYPE_PUBLIC address, the change will take effect the next
- * time advertising is started.
- *
- * @note If the address cycle mode is @ref BLE_GAP_ADDR_CYCLE_MODE_NONE and the application is
- *       using privacy, the application must take care to generate and set new private addresses
- *       periodically to comply with the Privacy specification in Bluetooth Core Spec.
- *
- * @param[in] addr_cycle_mode Address cycle mode, see @ref BLE_GAP_ADDR_CYCLE_MODES.
- * @param[in] p_addr          Pointer to address structure.
- *
- * @return @ref NRF_SUCCESS Address successfully set.
- * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
- * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameters.
- * @return @ref BLE_ERROR_GAP_INVALID_BLE_ADDR Invalid address.
- * @return @ref NRF_ERROR_BUSY The stack is busy, process pending events and retry.
- */
-SVCALL(SD_BLE_GAP_ADDRESS_SET, uint32_t, sd_ble_gap_address_set(uint8_t addr_cycle_mode, ble_gap_addr_t const * const p_addr));
-
-
-/**@brief Get local Bluetooth address.
- *
- * @param[out] p_addr Pointer to address structure.
- *
- * @return @ref NRF_SUCCESS Address successfully retrieved.
- * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
- */
-SVCALL(SD_BLE_GAP_ADDRESS_GET, uint32_t, sd_ble_gap_address_get(ble_gap_addr_t * const p_addr));
-
-
-/**@brief Set, clear or update advertisement and scan response data.
- *
- * @note The format of the advertisement data will be checked by this call to ensure interoperability.
- *       Limitations imposed by this API call to the data provided include having a flags data type in the scan response data and
- *       duplicating the local name in the advertisement data and scan response data. 
- *
- * @note: To clear the advertisement data and set it to a 0-length packet, simply provide a valid pointer (p_data/p_sr_data) with its corresponding 
- *        length (dlen/srdlen) set to 0.
- *
- * @note: The call will fail if p_data and p_sr_data are both NULL since this would have no effect.
- *
- * @param[in] p_data    Raw data to be placed in advertisement packet. If NULL, no changes are made to the current advertisement packet data.
- * @param[in] dlen      Data length for p_data. Max size: @ref BLE_GAP_ADV_MAX_SIZE octets. Should be 0 if p_data is NULL, can be 0 if p_data is not NULL.
- * @param[in] p_sr_data Raw data to be placed in scan response packet. If NULL, no changes are made to the current scan response packet data.
- * @param[in] srdlen    Data length for p_sr_data. Max size: @ref BLE_GAP_ADV_MAX_SIZE octets. Should be 0 if p_sr_data is NULL, can be 0 if p_data is not NULL.
- *
- * @return @ref NRF_SUCCESS Advertisement data successfully updated or cleared.
- * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
- * @return @ref NRF_ERROR_INVALID_FLAGS Invalid combination of advertising flags supplied.
- * @return @ref NRF_ERROR_INVALID_DATA Invalid data type(s) supplied, check the advertising data format specification.
- * @return @ref NRF_ERROR_INVALID_LENGTH Invalid data length(s) supplied.
- * @return @ref BLE_ERROR_GAP_UUID_LIST_MISMATCH Invalid UUID list supplied.
- * @return @ref NRF_ERROR_BUSY The stack is busy, process pending events and retry.
- */
-SVCALL(SD_BLE_GAP_ADV_DATA_SET, uint32_t, sd_ble_gap_adv_data_set(uint8_t const * const p_data, uint8_t dlen, uint8_t const * const p_sr_data, uint8_t srdlen));
-
-
-/**@brief Start advertising (GAP Discoverable, Connectable modes, Broadcast Procedure).
- *
- * @param[in] p_adv_params Pointer to advertising parameters structure.
- *
- * @return @ref NRF_SUCCESS The BLE stack has started advertising.
- * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
- * @return @ref NRF_ERROR_INVALID_STATE Invalid state to perform operation.
- * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied, check the accepted ranges and limits.
- * @return @ref BLE_ERROR_GAP_INVALID_BLE_ADDR Invalid Bluetooth address supplied.
- * @return @ref BLE_ERROR_GAP_DISCOVERABLE_WITH_WHITELIST Discoverable mode and whitelist incompatible.
- */
-SVCALL(SD_BLE_GAP_ADV_START, uint32_t, sd_ble_gap_adv_start(ble_gap_adv_params_t const * const p_adv_params));
-
-
-/**@brief Stop advertising (GAP Discoverable, Connectable modes, Broadcast Procedure).
- *
- * @return @ref NRF_SUCCESS The BLE stack has stopped advertising.
- * @return @ref NRF_ERROR_INVALID_STATE Invalid state to perform operation (most probably not in advertising state).
- */
-SVCALL(SD_BLE_GAP_ADV_STOP, uint32_t, sd_ble_gap_adv_stop(void));
-
-
-/**@brief Update connection parameters.
- *
- * @details In the central role this will initiate a Link Layer connection parameter update procedure,
- *          otherwise in the peripheral role, this will send the corresponding L2CAP request and wait for
- *          the central to perform the procedure. In both cases, and regardless of success or failure, the application
- *          will be informed of the result with a @ref BLE_GAP_EVT_CONN_PARAM_UPDATE event.
- *
- * @note If both a connection supervision timeout and a maximum connection interval are specified, then the following constraint
- *       applies: (conn_sup_timeout * 8) >= (max_conn_interval * (slave_latency + 1))
- *
- * @param[in] conn_handle Connection handle.
- * @param[in] p_conn_params  Pointer to desired connection parameters. If NULL is provided on a peripheral role,
- *                           the parameters in the PPCP characteristic of the GAP service will be used instead.
- *
- * @return @ref NRF_SUCCESS The Connection Update procedure has been started successfully.
- * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
- * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied, check parameter limits and constraints.
- * @return @ref NRF_ERROR_BUSY Procedure already in progress or not allowed at this time, process pending events and retry.
- * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid connection handle supplied.
- * @return @ref NRF_ERROR_NO_MEM Not enough memory to complete operation.
- */
-SVCALL(SD_BLE_GAP_CONN_PARAM_UPDATE, uint32_t, sd_ble_gap_conn_param_update(uint16_t conn_handle, ble_gap_conn_params_t const * const p_conn_params));
-
-
-/**@brief Disconnect (GAP Link Termination).
- *
- * @details This call initiates the disconnection procedure, and its completion will be communicated to the application
- *          with a BLE_GAP_EVT_DISCONNECTED event.
- *
- * @param[in] conn_handle Connection handle.
- * @param[in] hci_status_code HCI status code, see @ref BLE_HCI_STATUS_CODES (accepted values are BTLE_REMOTE_USER_TERMINATED_CONNECTION and BTLE_CONN_INTERVAL_UNACCEPTABLE).
- *
- * @return @ref NRF_SUCCESS The disconnection procedure has been started successfully.
- * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied.
- * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid connection handle supplied.
- * @return @ref NRF_ERROR_INVALID_STATE Invalid state to perform operation (disconnection is already in progress or not connected at all).
- */
-SVCALL(SD_BLE_GAP_DISCONNECT, uint32_t, sd_ble_gap_disconnect(uint16_t conn_handle, uint8_t hci_status_code));
-
-
-/**@brief Set the radio's transmit power.
- *
- * @param[in] tx_power Radio transmit power in dBm (accepted values are -40, -30, -20, -16, -12, -8, -4, 0, and 4 dBm).
- *
- * @note -40 dBm will not actually give -40 dBm, but will instead be remapped to -30 dBm.
- *
- * @return @ref NRF_SUCCESS Successfully changed the transmit power.
- * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied.
- * @return @ref NRF_ERROR_BUSY The stack is busy, process pending events and retry.
- */
-SVCALL(SD_BLE_GAP_TX_POWER_SET, uint32_t, sd_ble_gap_tx_power_set(int8_t tx_power));
-
-
-/**@brief Set GAP Appearance value.
- *
- * @param[in] appearance Appearance (16-bit), see @ref BLE_APPEARANCES.
- *
- * @return @ref NRF_SUCCESS  Appearance value set successfully.
- * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied.
- */
-SVCALL(SD_BLE_GAP_APPEARANCE_SET, uint32_t, sd_ble_gap_appearance_set(uint16_t appearance));
-
-
-/**@brief Get GAP Appearance value.
- *
- * @param[out] p_appearance Appearance (16-bit), see @ref BLE_APPEARANCES.
- *
- * @return @ref NRF_SUCCESS Appearance value retrieved successfully.
- * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
- */
-SVCALL(SD_BLE_GAP_APPEARANCE_GET, uint32_t, sd_ble_gap_appearance_get(uint16_t * const p_appearance));
-
-
-/**@brief Set GAP Peripheral Preferred Connection Parameters.
- *
- * @param[in] p_conn_params Pointer to a @ref ble_gap_conn_params_t structure with the desired parameters.
- *
- * @return @ref NRF_SUCCESS Peripheral Preferred Connection Parameters set successfully.
- * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
- * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied.
- */
-SVCALL(SD_BLE_GAP_PPCP_SET, uint32_t, sd_ble_gap_ppcp_set(ble_gap_conn_params_t const * const p_conn_params));
-
-
-/**@brief Get GAP Peripheral Preferred Connection Parameters.
- *
- * @param[out] p_conn_params Pointer to a @ref ble_gap_conn_params_t structure where the parameters will be stored.
- *
- * @return @ref NRF_SUCCESS Peripheral Preferred Connection Parameters retrieved successfully.
- * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
- */
-SVCALL(SD_BLE_GAP_PPCP_GET, uint32_t, sd_ble_gap_ppcp_get(ble_gap_conn_params_t * const p_conn_params));
-
-
-/**@brief Set GAP device name.
- *
- * @param[in] p_write_perm Write permissions for the Device Name characteristic see @ref ble_gap_conn_sec_mode_t.
- * @param[in] p_dev_name Pointer to a UTF-8 encoded, <b>non NULL-terminated</b> string.
- * @param[in] len   Length of the UTF-8, <b>non NULL-terminated</b> string pointed to by p_dev_name in octets (must be smaller or equal than @ref BLE_GAP_DEVNAME_MAX_LEN).
- *
- * @return @ref NRF_SUCCESS GAP device name and permissions set successfully.
- * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
- * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied.
- * @return @ref NRF_ERROR_DATA_SIZE Invalid data size(s) supplied.
- */
-SVCALL(SD_BLE_GAP_DEVICE_NAME_SET, uint32_t, sd_ble_gap_device_name_set(ble_gap_conn_sec_mode_t const * const p_write_perm, uint8_t const * const p_dev_name, uint16_t len));
-
-
-/**@brief Get GAP device name.
- *
- * @param[in]     p_dev_name Pointer to an empty buffer where the UTF-8 <b>non NULL-terminated</b> string will be placed. Set to NULL to obtain the complete device name length.
- * @param[in,out] p_len      Length of the buffer pointed by p_dev_name, complete device name length on output.
- *
- * @note          If the device name is longer than the size of the supplied buffer,
- *                p_len will return the complete device name length,
- *                and not the number of bytes actually returned in p_dev_name.
- *                The application may use this information to allocate a suitable buffer size.
- *
- * @return @ref NRF_SUCCESS GAP device name retrieved successfully.
- * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
- * @return @ref NRF_ERROR_DATA_SIZE Invalid data size(s) supplied.
- */
-SVCALL(SD_BLE_GAP_DEVICE_NAME_GET, uint32_t, sd_ble_gap_device_name_get(uint8_t * const p_dev_name, uint16_t * const p_len));
-
-
-/**@brief Initiate GAP Authentication procedure.
- *
- * @param[in] conn_handle Connection handle.
- * @param[in] p_sec_params Pointer to the @ref ble_gap_sec_params_t structure with the security parameters to be used during the pairing procedure.
- *
- * @details In the central role, this function will send an SMP Pairing Request, otherwise in the peripheral role, an SMP Security Request will be sent.
- *          In the peripheral role, only the timeout, bond and mitm fields of @ref ble_gap_sec_params_t are used.
- *
- * @note    The GAP Authentication procedure may be triggered by the central without calling this function when accessing a secure service.
- * @note    Calling this function may result in the following events depending on the outcome and parameters: @ref BLE_GAP_EVT_SEC_PARAMS_REQUEST,
- *          @ref BLE_GAP_EVT_SEC_INFO_REQUEST, @ref BLE_GAP_EVT_AUTH_KEY_REQUEST, @ref BLE_GAP_EVT_AUTH_STATUS.
- * @note    The timeout parameter in @ref ble_gap_sec_params_t is interpreted here as the Security Request timeout
- *
- *
- * @return @ref NRF_SUCCESS Successfully initiated authentication procedure.
- * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
- * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied.
- * @return @ref NRF_ERROR_INVALID_STATE Invalid state to perform operation.
- * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid connection handle supplied.
- */
-SVCALL(SD_BLE_GAP_AUTHENTICATE, uint32_t, sd_ble_gap_authenticate(uint16_t conn_handle, ble_gap_sec_params_t const * const p_sec_params));
-
-
-/**@brief Reply with GAP security parameters.
- *
- * @param[in] conn_handle Connection handle.
- * @param[in] sec_status Security status, see @ref BLE_GAP_SEC_STATUS.
- * @param[in] p_sec_params Pointer to a @ref ble_gap_sec_params_t security parameters structure.
- *
- * @details This function is only used to reply to a @ref BLE_GAP_EVT_SEC_PARAMS_REQUEST, calling it at other times will result in an NRF_ERROR_INVALID_STATE.
- * @note    If the call returns an error code, the request is still pending, and the reply call may be repeated with corrected parameters.
- * @note    The timeout parameter in @ref ble_gap_sec_params_t is interpreted here as the SMP procedure timeout, and must be 30 seconds. The function will fail
- *          if the application supplies a different value.
- *
- * @return @ref NRF_SUCCESS Successfully accepted security parameter from the application.
- * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
- * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied.
- * @return @ref NRF_ERROR_INVALID_STATE Invalid state to perform operation.
- * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid connection handle supplied.
- */
-SVCALL(SD_BLE_GAP_SEC_PARAMS_REPLY, uint32_t, sd_ble_gap_sec_params_reply(uint16_t conn_handle, uint8_t sec_status, ble_gap_sec_params_t const * const p_sec_params));
-
-
-/**@brief Reply with an authentication key.
- *
- * @param[in] conn_handle Connection handle.
- * @param[in] key_type See @ref BLE_GAP_AUTH_KEY_TYPES.
- * @param[in] key If key type is BLE_GAP_AUTH_KEY_TYPE_NONE, then NULL.
- *                If key type is BLE_GAP_AUTH_KEY_TYPE_PASSKEY, then a 6-byte ASCII string (digit 0..9 only, no NULL termination).
- *                If key type is BLE_GAP_AUTH_KEY_TYPE_OOB, then a 16-byte OOB key value in Little Endian format.
- *
- * @details This function is only used to reply to a @ref BLE_GAP_EVT_AUTH_KEY_REQUEST, calling it at other times will result in an NRF_ERROR_INVALID_STATE.
- * @note    If the call returns an error code, the request is still pending, and the reply call may be repeated with corrected parameters.
- *
- * @return @ref NRF_SUCCESS Authentication key successfully set.
- * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
- * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied.
- * @return @ref NRF_ERROR_INVALID_STATE Invalid state to perform operation.
- * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid connection handle supplied.
- */
-SVCALL(SD_BLE_GAP_AUTH_KEY_REPLY, uint32_t, sd_ble_gap_auth_key_reply(uint16_t conn_handle, uint8_t key_type, uint8_t const * const key));
-
-
-/**@brief Reply with GAP security information.
- *
- * @param[in] conn_handle Connection handle.
- * @param[in] p_enc_info Pointer to a @ref ble_gap_enc_info_t encryption information structure. May be NULL to signal none is available.
- * @param[in] p_sign_info Pointer to a @ref ble_gap_sign_info_t signing information structure. May be NULL to signal none is available.
- *
- * @details This function is only used to reply to a @ref BLE_GAP_EVT_SEC_INFO_REQUEST, calling it at other times will result in NRF_ERROR_INVALID_STATE.
- * @note    If the call returns an error code, the request is still pending, and the reply call may be repeated with corrected parameters.
- * @note    Data signing is not implemented yet. p_sign_info must therefore be NULL.
- *
- * @return @ref NRF_SUCCESS Successfully accepted security information.
- * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied.
- * @return @ref NRF_ERROR_INVALID_STATE Invalid state to perform operation.
- * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid connection handle supplied.
- * @return @ref NRF_ERROR_BUSY The stack is busy, process pending events and retry.
- */
-SVCALL(SD_BLE_GAP_SEC_INFO_REPLY, uint32_t, sd_ble_gap_sec_info_reply(uint16_t conn_handle, ble_gap_enc_info_t const * const p_enc_info, ble_gap_sign_info_t const * const p_sign_info));
-
-
-/**@brief Get the current connection security.
- *
- * @param[in]  conn_handle Connection handle.
- * @param[out] p_conn_sec  Pointer to a @ref ble_gap_conn_sec_t structure to be filled in.
- *
- * @return @ref NRF_SUCCESS Current connection security successfully retrieved.
- * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
- * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid connection handle supplied.
- */
-SVCALL(SD_BLE_GAP_CONN_SEC_GET, uint32_t, sd_ble_gap_conn_sec_get(uint16_t conn_handle, ble_gap_conn_sec_t * const p_conn_sec));
-
-
-/**@brief Start reporting the received signal strength to the application. 
- *
- * A new event is reported whenever the RSSI value changes, until @ref sd_ble_gap_rssi_stop is called.
- *
- * @param[in] conn_handle Connection handle.
- *
- * @return @ref NRF_SUCCESS Successfully activated RSSI reporting.
- * @return @ref NRF_ERROR_INVALID_STATE Invalid state to perform operation.
- * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid connection handle supplied.
- */
-SVCALL(SD_BLE_GAP_RSSI_START, uint32_t, sd_ble_gap_rssi_start(uint16_t conn_handle));
-
-
-/**@brief Stop reporting the received singnal strength. 
- *
- * An RSSI change detected before the call but not yet received by the application 
- * may be reported after @ref sd_ble_gap_rssi_stop has been called.
- *
- * @param[in] conn_handle Connection handle.
- *
- * @return @ref NRF_SUCCESS Successfully deactivated RSSI reporting.
- * @return @ref NRF_ERROR_INVALID_STATE Invalid state to perform operation.
- * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid connection handle supplied.
- */
-SVCALL(SD_BLE_GAP_RSSI_STOP, uint32_t, sd_ble_gap_rssi_stop(uint16_t conn_handle));
-/**@} */
-
-#endif // BLE_GAP_H__
-
-/**
-  @}
-*/
--- a/TARGET_ARCH_BLE/TARGET_NORDIC/TARGET_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/ble_gatt.h	Fri Jul 25 09:46:51 2014 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,171 +0,0 @@
-/* Copyright (c) 2012 Nordic Semiconductor. All Rights Reserved.
- *
- * The information contained herein is confidential property of Nordic Semiconductor. The use,
- * copying, transfer or disclosure of such information is prohibited except by express written
- * agreement with Nordic Semiconductor.
- *
- */
- /**
-  @addtogroup BLE_GATT Generic Attribute Profile (GATT) Common
-  @{
-  @brief  Common definitions and prototypes for the GATT interfaces.
- */
-
-#ifndef BLE_GATT_H__
-#define BLE_GATT_H__
-
-#include "ble_types.h"
-#include "ble_ranges.h"
-
-
-/** @addtogroup BLE_GATT_DEFINES Defines
- * @{ */
-
-/** @brief Default MTU size. */
-#define GATT_MTU_SIZE_DEFAULT 23
-
-/** @brief Only the default MTU size of 23 is currently supported. */
-#define GATT_RX_MTU 23
-
-
-/**@brief Invalid Attribute Handle. */
-#define BLE_GATT_HANDLE_INVALID            0x0000
-
-/** @defgroup BLE_GATT_TIMEOUT_SOURCES GATT Timeout sources
- * @{ */
-#define BLE_GATT_TIMEOUT_SRC_PROTOCOL                  0x00 /**< ATT Protocol timeout. */
-/** @} */
-
-/** @defgroup BLE_GATT_WRITE_OPS GATT Write operations
- * @{ */
-#define BLE_GATT_OP_INVALID                0x00  /**< Invalid Operation. */
-#define BLE_GATT_OP_WRITE_REQ              0x01  /**< Write Request. */
-#define BLE_GATT_OP_WRITE_CMD              0x02  /**< Write Command. */
-#define BLE_GATT_OP_SIGN_WRITE_CMD         0x03  /**< Signed Write Command. */
-#define BLE_GATT_OP_PREP_WRITE_REQ         0x04  /**< Prepare Write Request. */
-#define BLE_GATT_OP_EXEC_WRITE_REQ         0x05  /**< Execute Write Request. */
-/** @} */
-
-/** @defgroup BLE_GATT_EXEC_WRITE_FLAGS GATT Execute Write flags
- * @{ */
-#define BLE_GATT_EXEC_WRITE_FLAG_PREPARED_CANCEL 0x00
-#define BLE_GATT_EXEC_WRITE_FLAG_PREPARED_WRITE  0x01
-/** @} */
-
-/** @defgroup BLE_GATT_HVX_TYPES GATT Handle Value operations
- * @{ */
-#define BLE_GATT_HVX_INVALID               0x00  /**< Invalid Operation. */
-#define BLE_GATT_HVX_NOTIFICATION          0x01  /**< Handle Value Notification. */
-#define BLE_GATT_HVX_INDICATION            0x02  /**< Handle Value Indication. */
-/** @} */
-
-/** @defgroup BLE_GATT_STATUS_CODES GATT Status Codes
- * @{ */
-#define BLE_GATT_STATUS_SUCCESS                           0x0000  /**< Success. */
-#define BLE_GATT_STATUS_UNKNOWN                           0x0001  /**< Unknown or not applicable status. */
-#define BLE_GATT_STATUS_ATTERR_INVALID                    0x0100  /**< ATT Error: Invalid Error Code. */
-#define BLE_GATT_STATUS_ATTERR_INVALID_HANDLE             0x0101  /**< ATT Error: Invalid Attribute Handle. */
-#define BLE_GATT_STATUS_ATTERR_READ_NOT_PERMITTED         0x0102  /**< ATT Error: Read not permitted. */
-#define BLE_GATT_STATUS_ATTERR_WRITE_NOT_PERMITTED        0x0103  /**< ATT Error: Write not permitted. */
-#define BLE_GATT_STATUS_ATTERR_INVALID_PDU                0x0104  /**< ATT Error: Used in ATT as Invalid PDU. */
-#define BLE_GATT_STATUS_ATTERR_INSUF_AUTHENTICATION       0x0105  /**< ATT Error: Authenticated link required. */
-#define BLE_GATT_STATUS_ATTERR_REQUEST_NOT_SUPPORTED      0x0106  /**< ATT Error: Used in ATT as Request Not Supported. */
-#define BLE_GATT_STATUS_ATTERR_INVALID_OFFSET             0x0107  /**< ATT Error: Offset specified was past the end of the attribute. */
-#define BLE_GATT_STATUS_ATTERR_INSUF_AUTHORIZATION        0x0108  /**< ATT Error: Used in ATT as Insufficient Authorisation. */
-#define BLE_GATT_STATUS_ATTERR_PREPARE_QUEUE_FULL         0x0109  /**< ATT Error: Used in ATT as Prepare Queue Full. */
-#define BLE_GATT_STATUS_ATTERR_ATTRIBUTE_NOT_FOUND        0x010A  /**< ATT Error: Used in ATT as Attribute not found. */
-#define BLE_GATT_STATUS_ATTERR_ATTRIBUTE_NOT_LONG         0x010B  /**< ATT Error: Attribute cannot be read or written using read/write blob requests. */
-#define BLE_GATT_STATUS_ATTERR_INSUF_ENC_KEY_SIZE         0x010C  /**< ATT Error: Encryption key size used is insufficient. */
-#define BLE_GATT_STATUS_ATTERR_INVALID_ATT_VAL_LENGTH     0x010D  /**< ATT Error: Invalid value size. */
-#define BLE_GATT_STATUS_ATTERR_UNLIKELY_ERROR             0x010E  /**< ATT Error: Very unlikely error. */
-#define BLE_GATT_STATUS_ATTERR_INSUF_ENCRYPTION           0x010F  /**< ATT Error: Encrypted link required. */
-#define BLE_GATT_STATUS_ATTERR_UNSUPPORTED_GROUP_TYPE     0x0110  /**< ATT Error: Attribute type is not a supported grouping attribute. */
-#define BLE_GATT_STATUS_ATTERR_INSUF_RESOURCES            0x0111  /**< ATT Error: Encrypted link required. */
-#define BLE_GATT_STATUS_ATTERR_RFU_RANGE1_BEGIN           0x0112  /**< ATT Error: Reserved for Future Use range #1 begin. */
-#define BLE_GATT_STATUS_ATTERR_RFU_RANGE1_END             0x017F  /**< ATT Error: Reserved for Future Use range #1 end. */
-#define BLE_GATT_STATUS_ATTERR_APP_BEGIN                  0x0180  /**< ATT Error: Application range begin. */
-#define BLE_GATT_STATUS_ATTERR_APP_END                    0x019F  /**< ATT Error: Application range end. */
-#define BLE_GATT_STATUS_ATTERR_RFU_RANGE2_BEGIN           0x01A0  /**< ATT Error: Reserved for Future Use range #2 begin. */
-#define BLE_GATT_STATUS_ATTERR_RFU_RANGE2_END             0x01DF  /**< ATT Error: Reserved for Future Use range #2 end. */
-#define BLE_GATT_STATUS_ATTERR_RFU_RANGE3_BEGIN           0x01E0  /**< ATT Error: Reserved for Future Use range #3 begin. */
-#define BLE_GATT_STATUS_ATTERR_RFU_RANGE3_END             0x01FC  /**< ATT Error: Reserved for Future Use range #3 end. */
-#define BLE_GATT_STATUS_ATTERR_CPS_CCCD_CONFIG_ERROR      0x01FD  /**< ATT Common Profile and Service Error: Client Characteristic Configuration Descriptor improperly configured. */
-#define BLE_GATT_STATUS_ATTERR_CPS_PROC_ALR_IN_PROG       0x01FE  /**< ATT Common Profile and Service Error: Procedure Already in Progress. */
-#define BLE_GATT_STATUS_ATTERR_CPS_OUT_OF_RANGE           0x01FF  /**< ATT Common Profile and Service Error: Out Of Range. */
-/** @} */
-
-
-/** @defgroup BLE_GATT_CPF_FORMATS Characteristic Presentation Formats
- *  @note Found at http://developer.bluetooth.org/gatt/descriptors/Pages/DescriptorViewer.aspx?u=org.bluetooth.descriptor.gatt.characteristic_presentation_format.xml
- * @{ */
-#define BLE_GATT_CPF_FORMAT_RFU                 0x00 /**< Reserved For Future Use. */
-#define BLE_GATT_CPF_FORMAT_BOOLEAN             0x01 /**< Boolean. */
-#define BLE_GATT_CPF_FORMAT_2BIT                0x02 /**< Unsigned 2-bit integer. */
-#define BLE_GATT_CPF_FORMAT_NIBBLE              0x03 /**< Unsigned 4-bit integer. */
-#define BLE_GATT_CPF_FORMAT_UINT8               0x04 /**< Unsigned 8-bit integer. */
-#define BLE_GATT_CPF_FORMAT_UINT12              0x05 /**< Unsigned 12-bit integer. */
-#define BLE_GATT_CPF_FORMAT_UINT16              0x06 /**< Unsigned 16-bit integer. */
-#define BLE_GATT_CPF_FORMAT_UINT24              0x07 /**< Unsigned 24-bit integer. */
-#define BLE_GATT_CPF_FORMAT_UINT32              0x08 /**< Unsigned 32-bit integer. */
-#define BLE_GATT_CPF_FORMAT_UINT48              0x09 /**< Unsigned 48-bit integer. */
-#define BLE_GATT_CPF_FORMAT_UINT64              0x0A /**< Unsigned 64-bit integer. */
-#define BLE_GATT_CPF_FORMAT_UINT128             0x0B /**< Unsigned 128-bit integer. */
-#define BLE_GATT_CPF_FORMAT_SINT8               0x0C /**< Signed 2-bit integer. */
-#define BLE_GATT_CPF_FORMAT_SINT12              0x0D /**< Signed 12-bit integer. */
-#define BLE_GATT_CPF_FORMAT_SINT16              0x0E /**< Signed 16-bit integer. */
-#define BLE_GATT_CPF_FORMAT_SINT24              0x0F /**< Signed 24-bit integer. */
-#define BLE_GATT_CPF_FORMAT_SINT32              0x10 /**< Signed 32-bit integer. */
-#define BLE_GATT_CPF_FORMAT_SINT48              0x11 /**< Signed 48-bit integer. */
-#define BLE_GATT_CPF_FORMAT_SINT64              0x12 /**< Signed 64-bit integer. */
-#define BLE_GATT_CPF_FORMAT_SINT128             0x13 /**< Signed 128-bit integer. */
-#define BLE_GATT_CPF_FORMAT_FLOAT32             0x14 /**< IEEE-754 32-bit floating point. */
-#define BLE_GATT_CPF_FORMAT_FLOAT64             0x15 /**< IEEE-754 64-bit floating point. */
-#define BLE_GATT_CPF_FORMAT_SFLOAT              0x16 /**< IEEE-11073 16-bit SFLOAT. */
-#define BLE_GATT_CPF_FORMAT_FLOAT               0x17 /**< IEEE-11073 32-bit FLOAT. */
-#define BLE_GATT_CPF_FORMAT_DUINT16             0x18 /**< IEEE-20601 format. */
-#define BLE_GATT_CPF_FORMAT_UTF8S               0x19 /**< UTF-8 string. */
-#define BLE_GATT_CPF_FORMAT_UTF16S              0x1A /**< UTF-16 string. */
-#define BLE_GATT_CPF_FORMAT_STRUCT              0x1B /**< Opaque Structure. */
-/** @} */
-
-/** @defgroup BLE_GATT_CPF_NAMESPACES GATT Bluetooth Namespaces
- * @{
- */
-#define BLE_GATT_CPF_NAMESPACE_BTSIG            0x01
-#define BLE_GATT_CPF_NAMESPACE_DESCRIPTION_UNKNOWN 0x0000
-/** @} */
-
-/** @} */
-
-/** @addtogroup BLE_GATT_STRUCTURES Structures
- * @{ */
-
-/**@brief GATT Characteristic Properties. */
-typedef struct
-{
-  /* Standard properties */
-  uint8_t broadcast       :1; /**< Broadcasting of value permitted. */
-  uint8_t read            :1; /**< Reading value permitted. */
-  uint8_t write_wo_resp   :1; /**< Writing value with Write Command permitted. */
-  uint8_t write           :1; /**< Writing value with Write Request permitted. */
-  uint8_t notify          :1; /**< Notications of value permitted. */
-  uint8_t indicate        :1; /**< Indications of value permitted. */
-  uint8_t auth_signed_wr  :1; /**< Writing value with Signed Write Command permitted. */
-} ble_gatt_char_props_t;
-
-/**@brief GATT Characteristic Extended Properties. */
-typedef struct
-{
-  /* Extended properties */
-  uint8_t reliable_wr     :1; /**< Writing value with Queued Write Request permitted. */
-  uint8_t wr_aux          :1; /**< Writing the Characteristic User Description permitted. */
-} ble_gatt_char_ext_props_t;
-
-#endif // BLE_GATT_H__
-
-/** @} */
-
-/**
-  @}
-  @}
-*/
--- a/TARGET_ARCH_BLE/TARGET_NORDIC/TARGET_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/ble_gattc.h	Fri Jul 25 09:46:51 2014 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,406 +0,0 @@
-/* Copyright (c) 2012 Nordic Semiconductor. All Rights Reserved.
- *
- * The information contained herein is confidential property of Nordic Semiconductor. The use,
- * copying, transfer or disclosure of such information is prohibited except by express written
- * agreement with Nordic Semiconductor.
- *
- */
-/**
-  @addtogroup BLE_GATTC Generic Attribute Profile (GATT) Client
-  @{
-  @brief  Definitions and prototypes for the GATT Client interface.
- */
-
-#ifndef BLE_GATTC_H__
-#define BLE_GATTC_H__
-
-#include "ble_gatt.h"
-#include "ble_types.h"
-#include "ble_ranges.h"
-#include "nrf_svc.h"
-
-/** @addtogroup BLE_GATTC_ENUMERATIONS Enumerations
- * @{ */
-
-/**@brief GATTC API SVC numbers. */
-enum BLE_GATTC_SVCS
-{
-  SD_BLE_GATTC_PRIMARY_SERVICES_DISCOVER = BLE_GATTC_SVC_BASE, /**< Primary Service Discovery. */
-  SD_BLE_GATTC_RELATIONSHIPS_DISCOVER,                         /**< Relationship Discovery. */
-  SD_BLE_GATTC_CHARACTERISTICS_DISCOVER,                       /**< Characteristic Discovery. */
-  SD_BLE_GATTC_DESCRIPTORS_DISCOVER,                           /**< Characteristic Descriptor Discovery. */
-  SD_BLE_GATTC_CHAR_VALUE_BY_UUID_READ,                        /**< Read Characteristic Value by UUID. */
-  SD_BLE_GATTC_READ,                                           /**< Generic read. */
-  SD_BLE_GATTC_CHAR_VALUES_READ,                               /**< Read multiple Characteristic Values. */
-  SD_BLE_GATTC_WRITE,                                          /**< Generic write. */
-  SD_BLE_GATTC_HV_CONFIRM                                      /**< Handle Value Confirmation. */
-};
-
-/** @} */
-
-/** @addtogroup BLE_GATTC_DEFINES Defines
- * @{ */
-
-/** @defgroup BLE_ERRORS_GATTC SVC return values specific to GATTC
- * @{ */
-#define BLE_ERROR_GATTC_PROC_NOT_PERMITTED    (NRF_GATTC_ERR_BASE + 0x000)
-/** @} */
-
-/**@brief Last Attribute Handle. */
-#define BLE_GATTC_HANDLE_END                0xFFFF
-
-/** @} */
-
-/** @addtogroup BLE_GATTC_STRUCTURES Structures
- * @{ */
-
-/**@brief Operation Handle Range. */
-typedef struct
-{
-  uint16_t          start_handle; /**< Start Handle. */
-  uint16_t          end_handle;   /**< End Handle. */
-} ble_gattc_handle_range_t;
-
-
-/**@brief GATT service. */
-typedef struct
-{
-  ble_uuid_t               uuid;          /**< Service UUID. */
-  ble_gattc_handle_range_t handle_range;  /**< Service Handle Range. */
-} ble_gattc_service_t;
-
-
-/**@brief  GATT include. */
-typedef struct
-{
-  uint16_t            handle;           /**< Include Handle. */
-  ble_gattc_service_t included_srvc;    /**< Handle of the included service. */
-} ble_gattc_include_t;
-
-
-/**@brief GATT characteristic. */
-typedef struct
-{
-  ble_uuid_t              uuid;                 /**< Characteristic UUID. */
-  ble_gatt_char_props_t   char_props;           /**< Characteristic Properties. */
-  uint8_t                 char_ext_props : 1;   /**< Extended properties present. */
-  uint16_t                handle_decl;          /**< Handle of the Characteristic Declaration. */
-  uint16_t                handle_value;         /**< Handle of the Characteristic Value. */
-} ble_gattc_char_t;
-
-
-/**@brief GATT descriptor. */
-typedef struct
-{
-  uint16_t          handle;         /**< Descriptor Handle. */
-  ble_uuid_t        uuid;           /**< Descriptor UUID. */
-} ble_gattc_desc_t;
-
-
-/**@brief Write Parameters. */
-typedef struct
-{
-  uint8_t    write_op;                 /**< Write Operation to be performed, see @ref BLE_GATT_WRITE_OPS. */
-  uint16_t   handle;                   /**< Handle to the attribute to be written. */
-  uint16_t   offset;                   /**< Offset in bytes. @note For WRITE_CMD and WRITE_REQ, offset must be 0. */
-  uint16_t   len;                      /**< Length of data in bytes. */
-  uint8_t*   p_value;                  /**< Pointer to the value data. */
-  uint8_t    flags;                    /**< Flags, see @ref BLE_GATT_EXEC_WRITE_FLAGS. */
-} ble_gattc_write_params_t;
-
-
-/**
- * @brief GATT Client Event IDs.
- */
-enum BLE_GATTC_EVTS
-{
-  BLE_GATTC_EVT_PRIM_SRVC_DISC_RSP = BLE_GATTC_EVT_BASE,  /**< Primary Service Discovery Response event.  */
-  BLE_GATTC_EVT_REL_DISC_RSP,                             /**< Relationship Discovery Response event. */
-  BLE_GATTC_EVT_CHAR_DISC_RSP,                            /**< Characteristic Discovery Response event. */
-  BLE_GATTC_EVT_DESC_DISC_RSP,                            /**< Descriptor Discovery Response event. */
-  BLE_GATTC_EVT_CHAR_VAL_BY_UUID_READ_RSP,                /**< Read By UUID Response event. */
-  BLE_GATTC_EVT_READ_RSP,                                 /**< Read Response event. */
-  BLE_GATTC_EVT_CHAR_VALS_READ_RSP,                       /**< Read multiple Response event. */
-  BLE_GATTC_EVT_WRITE_RSP,                                /**< Write Response event. */
-  BLE_GATTC_EVT_HVX,                                      /**< Handle Value Notification or Indication event. */
-  BLE_GATTC_EVT_TIMEOUT                                   /**< Timeout event. */
-};
-
-/**@brief Event structure for BLE_GATTC_EVT_PRIM_SRVC_DISC_RSP. */
-typedef struct
-{
-  uint16_t             count;           /**< Service count. */
-  ble_gattc_service_t services[1];      /**< Service data, variable length. */
-} ble_gattc_evt_prim_srvc_disc_rsp_t;
-
-/**@brief Event structure for BLE_GATTC_EVT_REL_DISC_RSP. */
-typedef struct
-{
-  uint16_t             count;           /**< Include count. */
-  ble_gattc_include_t includes[1];      /**< Include data, variable length. */
-} ble_gattc_evt_rel_disc_rsp_t;
-
-/**@brief Event structure for BLE_GATTC_EVT_CHAR_DISC_RSP. */
-typedef struct
-{
-  uint16_t            count;          /**< Characteristic count. */
-  ble_gattc_char_t    chars[1];       /**< Characteristic data, variable length. */
-} ble_gattc_evt_char_disc_rsp_t;
-
-/**@brief Event structure for BLE_GATTC_EVT_DESC_DISC_RSP. */
-typedef struct
-{
-  uint16_t            count;          /**< Descriptor count. */
-  ble_gattc_desc_t    descs[1];       /**< Descriptor data, variable length. */
-} ble_gattc_evt_desc_disc_rsp_t;
-
-/**@brief GATT read by UUID handle value pair. */
-typedef struct 
-{
-  uint16_t            handle;          /**< Attribute Handle. */
-  uint8_t             *p_value;        /**< Pointer to value, variable length (length available as value_len in ble_gattc_evt_read_by_uuid_rsp_t). 
-                                            Please note that this pointer is absolute to the memory provided by the user when retrieving the event,
-                                            so it will effectively point to a location inside the handle_value array. */
-} ble_gattc_handle_value_t;
-
-/**@brief Event structure for BLE_GATTC_EVT_CHAR_VAL_BY_UUID_READ_RSP. */
-typedef struct
-{
-  uint16_t                  count;            /**< Handle-Value Pair Count. */
-  uint16_t                  value_len;        /**< Length of the value in Handle-Value(s) list. */
-  ble_gattc_handle_value_t  handle_value[1];  /**< Handle-Value(s) list, variable length. */
-} ble_gattc_evt_char_val_by_uuid_read_rsp_t;
-
-/**@brief Event structure for BLE_GATTC_EVT_READ_RSP. */
-typedef struct
-{
-  uint16_t            handle;         /**< Attribute Handle. */
-  uint16_t            offset;         /**< Offset of the attribute data. */
-  uint16_t            len;            /**< Attribute data length. */
-  uint8_t             data[1];        /**< Attribute data, variable length. */
-} ble_gattc_evt_read_rsp_t;
-
-/**@brief Event structure for BLE_GATTC_EVT_CHAR_VALS_READ_RSP. */
-typedef struct
-{
-  uint16_t            len;            /**< Concatenated Attribute values length. */
-  uint8_t             values[1];      /**< Attribute values, variable length. */
-} ble_gattc_evt_char_vals_read_rsp_t;
-
-/**@brief Event structure for BLE_GATTC_EVT_WRITE_RSP. */
-typedef struct
-{
-  uint16_t            handle;           /**< Attribute Handle. */
-  uint8_t             write_op;         /**< Type of write operation, see @ref BLE_GATT_WRITE_OPS. */
-  uint16_t            offset;           /**< Data Offset. */
-  uint16_t            len;              /**< Data length. */
-  uint8_t             data[1];          /**< Data, variable length. */
-} ble_gattc_evt_write_rsp_t;
-
-/**@brief Event structure for BLE_GATTC_EVT_HVX. */
-typedef struct
-{
-  uint16_t            handle;         /**< Handle to which the HVx operation applies. */
-  uint8_t             type;           /**< Indication or Notification, see @ref BLE_GATT_HVX_TYPES. */
-  uint16_t            len;            /**< Attribute data length. */
-  uint8_t             data[1];        /**< Attribute data, variable length. */
-} ble_gattc_evt_hvx_t;
-
-/**@brief Event structure for BLE_GATTC_EVT_TIMEOUT. */
-typedef struct
-{
-  uint8_t          src;                       /**< Timeout source, see @ref BLE_GATT_TIMEOUT_SOURCES. */
-} ble_gattc_evt_timeout_t;
-
-/**@brief GATTC event type. */
-typedef struct
-{
-  uint16_t            conn_handle;                /**< Connection Handle on which event occured. */
-  uint16_t            gatt_status;                /**< GATT status code for the operation, see @ref BLE_GATT_STATUS_CODES. */
-  uint16_t            error_handle;               /**< In case of error: The handle causing the error. In all other cases BLE_GATT_HANDLE_INVALID. */
-  union
-  {
-    ble_gattc_evt_prim_srvc_disc_rsp_t          prim_srvc_disc_rsp;         /**< Primary Service Discovery Response Event Parameters. */
-    ble_gattc_evt_rel_disc_rsp_t                rel_disc_rsp;               /**< Relationship Discovery Response Event Parameters. */
-    ble_gattc_evt_char_disc_rsp_t               char_disc_rsp;              /**< Characteristic Discovery Response Event Parameters. */
-    ble_gattc_evt_desc_disc_rsp_t               desc_disc_rsp;              /**< Descriptor Discovery Response Event Parameters. */
-    ble_gattc_evt_char_val_by_uuid_read_rsp_t   char_val_by_uuid_read_rsp;  /**< Characteristic Value Read by UUID Response Event Parameters. */
-    ble_gattc_evt_read_rsp_t                    read_rsp;                   /**< Read Response Event Parameters. */
-    ble_gattc_evt_char_vals_read_rsp_t          char_vals_read_rsp;         /**< Characteristic Values Read Response Event Parameters. */
-    ble_gattc_evt_write_rsp_t                   write_rsp;                  /**< Write Response Event Parameters. */
-    ble_gattc_evt_hvx_t                         hvx;                        /**< Handle Value Notification/Indication Event Parameters. */
-    ble_gattc_evt_timeout_t                     timeout;                    /**< Timeout Event Parameters. */
-  } params;                                                                 /**< Event Parameters. @note Only valid if @ref gatt_status == BLE_GATT_STATUS_SUCCESS. */
-} ble_gattc_evt_t;
-/** @} */
-
-/** @addtogroup BLE_GATTC_FUNCTIONS Functions
- * @{ */
-
-/**@brief Initiate or continue a GATT Primary Service Discovery procedure.
- *
- * @details This function initiates a Primary Service discovery, starting from the supplied handle. 
- *          If the last service has not been reached, this must be called again with an updated start handle value to continue the search.
- *
- * @note If any of the discovered services have 128-bit UUIDs which are not present in the table provided to ble_vs_uuids_assign, a UUID structure with
- *       type BLE_UUID_TYPE_UNKNOWN will be received in the corresponding event.
- *
- * @param[in] conn_handle The connection handle identifying the connection to perform this procedure on.
- * @param[in] start_handle Handle to start searching from.
- * @param[in] p_srvc_uuid Pointer to the service UUID to be found. If it is NULL, all primary services will be returned.
- *
- * @return @ref NRF_SUCCESS Successfully started or resumed the Primary Service Discovery procedure.
- * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid Connection Handle.
- * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied.
- * @return @ref NRF_ERROR_BUSY Client procedure already in progress.
- */
-SVCALL(SD_BLE_GATTC_PRIMARY_SERVICES_DISCOVER, uint32_t, sd_ble_gattc_primary_services_discover(uint16_t conn_handle, uint16_t start_handle, ble_uuid_t const * const p_srvc_uuid));
-
-
-/**@brief Initiate or continue a GATT Relationship Discovery procedure.
- *
- * @details This function initiates the Find Included Services sub-procedure. If the last included service has not been reached,
- *          this must be called again with an updated handle range to continue the search.
- *
- * @param[in] conn_handle The connection handle identifying the connection to perform this procedure on.
- * @param[in] p_handle_range A pointer to the range of handles of the Service to perform this procedure on.
- *
- * @return @ref NRF_SUCCESS Successfully started or resumed the Relationship Discovery procedure.
- * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid Connection Handle.
- * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
- * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied.
- * @return @ref NRF_ERROR_BUSY Client procedure already in progress.
- */
-SVCALL(SD_BLE_GATTC_RELATIONSHIPS_DISCOVER, uint32_t, sd_ble_gattc_relationships_discover(uint16_t conn_handle, ble_gattc_handle_range_t const * const p_handle_range));
-
-
-/**@brief Initiate or continue a GATT Characteristic Discovery procedure.
- *
- * @details This function initiates a Characteristic discovery procedure. If the last Characteristic has not been reached,
- *          this must be called again with an updated handle range to continue the discovery.
- *
- * @note If any of the discovered characteristics have 128-bit UUIDs which are not present in the table provided to ble_vs_uuids_assign, a UUID structure with
- *       type BLE_UUID_TYPE_UNKNOWN will be received in the corresponding event.
- *
- * @param[in] conn_handle The connection handle identifying the connection to perform this procedure on.
- * @param[in] p_handle_range A pointer to the range of handles of the Service to perform this procedure on.
- *
- * @return @ref NRF_SUCCESS Successfully started or resumed the Characteristic Discovery procedure.
- * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid Connection Handle.
- * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
- * @return @ref NRF_ERROR_BUSY Client procedure already in progress.
- */
-SVCALL(SD_BLE_GATTC_CHARACTERISTICS_DISCOVER, uint32_t, sd_ble_gattc_characteristics_discover(uint16_t conn_handle, ble_gattc_handle_range_t const * const p_handle_range));
-
-
-/**@brief Initiate or continue a GATT Characteristic Descriptor Discovery procedure.
- *
- * @details This function initiates the Characteristic Descriptor discovery procedure. If the last Descriptor has not been reached,
- *          this must be called again with an updated handle range to continue the discovery.
- *
- * @param[in] conn_handle The connection handle identifying the connection to perform this procedure on.
- * @param[in] p_handle_range A pointer to the range of handles of the Characteristic to perform this procedure on.
- *
- * @return @ref NRF_SUCCESS Successfully started or resumed the Descriptor Discovery procedure.
- * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid Connection Handle.
- * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
- * @return @ref NRF_ERROR_BUSY Client procedure already in progress.
- */
-SVCALL(SD_BLE_GATTC_DESCRIPTORS_DISCOVER, uint32_t, sd_ble_gattc_descriptors_discover(uint16_t conn_handle, ble_gattc_handle_range_t const * const p_handle_range));
-
-
-/**@brief Initiate or continue a GATT Read using Characteristic UUID procedure.
- *
- * @details This function initiates the Read using Characteristic UUID procedure. If the last Characteristic has not been reached,
- *          this must be called again with an updated handle range to continue the discovery.
- *
- * @param[in] conn_handle The connection handle identifying the connection to perform this procedure on.
- * @param[in] p_uuid Pointer to a Characteristic value UUID to read.
- * @param[in] p_handle_range A pointer to the range of handles to perform this procedure on.
- *
- * @return @ref NRF_SUCCESS Successfully started or resumed the Read using Characteristic UUID procedure.
- * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid Connection Handle.
- * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
- * @return @ref NRF_ERROR_BUSY Client procedure already in progress.
- */
-SVCALL(SD_BLE_GATTC_CHAR_VALUE_BY_UUID_READ, uint32_t, sd_ble_gattc_char_value_by_uuid_read(uint16_t conn_handle, ble_uuid_t const * const p_uuid, ble_gattc_handle_range_t const * const p_handle_range));
-
-
-/**@brief Initiate or continue a GATT Read (Long) Characteristic or Descriptor procedure.
- *
- * @details This function initiates a GATT Read (Long) Characteristic or Descriptor procedure. If the Characteristic or Descriptor
- *          to be read is longer than GATT_MTU - 1, this function must be called multiple times with appropriate offset to read the 
- *          complete value.
- *
- * @param[in] conn_handle The connection handle identifying the connection to perform this procedure on.
- * @param[in] handle The handle of the attribute to be read.
- * @param[in] offset Offset into the attribute value to be read.
- *
- * @return @ref NRF_SUCCESS Successfully started or resumed the Read (Long) procedure.
- * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid Connection Handle.
- * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
- * @return @ref NRF_ERROR_BUSY Client procedure already in progress.
- */
-SVCALL(SD_BLE_GATTC_READ, uint32_t, sd_ble_gattc_read(uint16_t conn_handle, uint16_t handle, uint16_t offset));
-
-
-/**@brief Initiate a GATT Read Multiple Characteristic Values procedure.
- *
- * @details This function initiates a GATT Read Multiple Characteristic Values procedure. 
- *
- * @param[in] conn_handle The connection handle identifying the connection to perform this procedure on.
- * @param[in] p_handles A pointer to the handle(s) of the attribute(s) to be read.
- * @param[in] handle_count The number of handles in p_handles.
- *
- * @return @ref NRF_SUCCESS Successfully started the Read Multiple Characteristic Values procedure.
- * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid Connection Handle.
- * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
- * @return @ref NRF_ERROR_BUSY Client procedure already in progress.
- */
-SVCALL(SD_BLE_GATTC_CHAR_VALUES_READ, uint32_t, sd_ble_gattc_char_values_read(uint16_t conn_handle, uint16_t const * const p_handles, uint16_t handle_count));
-
-
-/**@brief Perform a Write (Characteristic Value or Descriptor, with or without response, signed or not, long or reliable) procedure.
- *
- * @details This function can perform all write procedures described in GATT. 
- *
- * @note    It is important to note that a write without response will <b>consume an application buffer</b>, and will therefore 
- *          generate a @ref BLE_EVT_TX_COMPLETE event when the packet has been transmitted. A write on the other hand will use the 
- *          standard client internal buffer and thus will only generate a @ref BLE_GATTC_EVT_WRITE_RSP event as soon as the write response 
- *          has been received from the peer. Please see the documentation of @ref sd_ble_tx_buffer_count_get for more details.
- *
- * @param[in] conn_handle The connection handle identifying the connection to perform this procedure on.
- * @param[in] p_write_params A pointer to a write parameters structure.
- *
- * @return @ref NRF_SUCCESS Successfully started the Write procedure.
- * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid Connection Handle.
- * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
- * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied.
- * @return @ref NRF_ERROR_DATA_SIZE Invalid data size(s) supplied.
- * @return @ref NRF_ERROR_BUSY Procedure already in progress.
- * @return @ref BLE_ERROR_NO_TX_BUFFERS There are no available buffers left.
- */
-SVCALL(SD_BLE_GATTC_WRITE, uint32_t, sd_ble_gattc_write(uint16_t conn_handle, ble_gattc_write_params_t const * const p_write_params));
-
-
-/**@brief Send a Handle Value Confirmation to the GATT Server.
- *
- * @param[in] conn_handle The connection handle identifying the connection to perform this procedure on.
- * @param[in] handle The handle of the attribute in the indication.
- *
- * @return @ref NRF_SUCCESS Successfully queued the Handle Value Confirmation for transmission.
- * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid Connection Handle.
- * @return @ref NRF_ERROR_INVALID_STATE No Indication pending to be confirmed.
- * @return @ref BLE_ERROR_INVALID_ATTR_HANDLE Invalid attribute handle.
- * @return @ref BLE_ERROR_NO_TX_BUFFERS There are no available buffers left.
- */
-SVCALL(SD_BLE_GATTC_HV_CONFIRM, uint32_t, sd_ble_gattc_hv_confirm(uint16_t conn_handle, uint16_t handle));
-
-/** @} */
-
-#endif /* BLE_GATTC_H__ */
-
-/**
-  @}
-  @}
-*/
--- a/TARGET_ARCH_BLE/TARGET_NORDIC/TARGET_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/ble_gatts.h	Fri Jul 25 09:46:51 2014 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,566 +0,0 @@
-/* Copyright (c) 2011 Nordic Semiconductor. All Rights Reserved.
- *
- * The information contained herein is confidential property of Nordic Semiconductor. The use,
- * copying, transfer or disclosure of such information is prohibited except by express written
- * agreement with Nordic Semiconductor.
- *
- */
-/**
-  @addtogroup BLE_GATTS Generic Attribute Profile (GATT) Server
-  @{
-  @brief  Definitions and prototypes for the GATTS interface.
- */
-
-#ifndef BLE_GATTS_H__
-#define BLE_GATTS_H__
-
-#include "ble_types.h"
-#include "ble_ranges.h"
-#include "ble_l2cap.h"
-#include "ble_gap.h"
-#include "ble_gatt.h"
-#include "nrf_svc.h"
-
-/** @addtogroup BLE_GATTS_ENUMERATIONS Enumerations
- * @{ */
-
-/**
- * @brief GATTS API SVC numbers.
- */
-enum BLE_GATTS_SVCS
-{
-  SD_BLE_GATTS_SERVICE_ADD = BLE_GATTS_SVC_BASE, /**< Add a service. */
-  SD_BLE_GATTS_INCLUDE_ADD,                      /**< Add an included service. */
-  SD_BLE_GATTS_CHARACTERISTIC_ADD,               /**< Add a characteristic. */
-  SD_BLE_GATTS_DESCRIPTOR_ADD,                   /**< Add a generic attribute. */
-  SD_BLE_GATTS_VALUE_SET,                        /**< Set an attribute value. */
-  SD_BLE_GATTS_VALUE_GET,                        /**< Get an attribute value. */
-  SD_BLE_GATTS_HVX,                              /**< Handle Value Notification or Indication. */
-  SD_BLE_GATTS_SERVICE_CHANGED,                  /**< Perform a Service Changed Indication to one or more peers. */
-  SD_BLE_GATTS_RW_AUTHORIZE_REPLY,               /**< Reply to an authorization request for a read or write operation on one or more attributes. */ 
-  SD_BLE_GATTS_SYS_ATTR_SET,                     /**< Set the persistent system attributes for a connection. */  
-  SD_BLE_GATTS_SYS_ATTR_GET,                     /**< Get updated persistent system attributes after terminating a connection. */
-};
-
-/** @} */
-
-/** @addtogroup BLE_GATTS_DEFINES Defines
- * @{ */
-
-/** @brief Only the default MTU size of 23 is currently supported. */
-#define GATT_RX_MTU 23
-
-/** @defgroup BLE_ERRORS_GATTS SVC return values specific to GATTS
- * @{ */
-#define BLE_ERROR_GATTS_INVALID_ATTR_TYPE   (NRF_GATTS_ERR_BASE + 0x000) /**< Invalid attribute type. */
-#define BLE_ERROR_GATTS_SYS_ATTR_MISSING    (NRF_GATTS_ERR_BASE + 0x001) /**< System Attributes missing. */
-/** @} */
-
-/** @defgroup BLE_GATTS_ATTR_LENS_MAX Maximum attribute lengths
- * @{ */
-#define BLE_GATTS_FIX_ATTR_LEN_MAX (510)  /**< Maximum length for fixed length Attribute Values. */
-#define BLE_GATTS_VAR_ATTR_LEN_MAX (512)  /**< Maximum length for variable length Attribute Values. */ 
-/** @} */
-
-/** @defgroup BLE_GATTS_SRVC_TYPES GATT Server Service Types
- * @{ */
-#define BLE_GATTS_SRVC_TYPE_INVALID          0x00  /**< Invalid Service Type. */
-#define BLE_GATTS_SRVC_TYPE_PRIMARY          0x01  /**< Primary Service. */
-#define BLE_GATTS_SRVC_TYPE_SECONDARY        0x02  /**< Secondary Type. */
-/** @} */
-
-
-/** @defgroup BLE_GATTS_ATTR_TYPES GATT Server Attribute Types
- * @{ */
-#define BLE_GATTS_ATTR_TYPE_INVALID         0x00  /**< Invalid Attribute Type. */
-#define BLE_GATTS_ATTR_TYPE_PRIM_SRVC_DECL  0x01  /**< Primary Service Declaration. */
-#define BLE_GATTS_ATTR_TYPE_SEC_SRVC_DECL   0x02  /**< Secondary Service Declaration. */
-#define BLE_GATTS_ATTR_TYPE_INC_DECL        0x03  /**< Include Declaration. */
-#define BLE_GATTS_ATTR_TYPE_CHAR_DECL       0x04  /**< Characteristic Declaration. */
-#define BLE_GATTS_ATTR_TYPE_CHAR_VAL        0x05  /**< Characteristic Value. */
-#define BLE_GATTS_ATTR_TYPE_DESC            0x06  /**< Descriptor. */
-#define BLE_GATTS_ATTR_TYPE_OTHER           0x07  /**< Other, non-GATT specific type. */
-/** @} */
-
-
-/** @defgroup BLE_GATTS_OPS GATT Server Operations
- * @{ */
-#define BLE_GATTS_OP_INVALID                0x00  /**< Invalid Operation. */
-#define BLE_GATTS_OP_WRITE_REQ              0x01  /**< Write Request. */
-#define BLE_GATTS_OP_WRITE_CMD              0x02  /**< Write Command. */
-#define BLE_GATTS_OP_SIGN_WRITE_CMD         0x03  /**< Signed Write Command. */
-#define BLE_GATTS_OP_PREP_WRITE_REQ         0x04  /**< Prepare Write Request. */
-#define BLE_GATTS_OP_EXEC_WRITE_REQ_CANCEL  0x05  /**< Execute Write Request: Cancel all prepared writes. */
-#define BLE_GATTS_OP_EXEC_WRITE_REQ_NOW     0x06  /**< Execute Write Request: Immediately execute all prepared writes. */
-/** @} */
-
-/** @defgroup BLE_GATTS_VLOCS GATT Value Locations
- * @{ */
-#define BLE_GATTS_VLOC_INVALID       0x00  /**< Invalid Location. */
-#define BLE_GATTS_VLOC_STACK         0x01  /**< Attribute Value is located in stack memory, no user memory is required. */
-#define BLE_GATTS_VLOC_USER          0x02  /**< Attribute Value is located in user memory. This requires the user to maintain a valid buffer through the lifetime of the attribute, since the stack
-                                                will read and write directly to the memory using the pointer provided in the APIs. There are no alignment requirements for the buffer. */
-/** @} */
-
-/** @defgroup BLE_GATTS_AUTHORIZE_TYPES GATT Server Authorization Types
- * @{ */
-#define BLE_GATTS_AUTHORIZE_TYPE_INVALID    0x00  /**< Invalid Type. */
-#define BLE_GATTS_AUTHORIZE_TYPE_READ       0x01  /**< Authorize a Read Operation. */
-#define BLE_GATTS_AUTHORIZE_TYPE_WRITE      0x02  /**< Authorize a Write Request Operation. */
-/** @} */
-
-
-/** @} */
-
-/** @addtogroup BLE_GATTS_STRUCTURES Structures
- * @{ */
-
-/**
- * @brief BLE GATTS init options
- */
-typedef struct
-{
-  uint8_t   service_changed:1;             /**< Include the Service Changed characteristic in the local attributes. */
-} ble_gatts_enable_params_t;
-
-/**@brief Attribute metadata. */
-typedef struct
-{
-  ble_gap_conn_sec_mode_t read_perm;       /**< Read permissions. */
-  ble_gap_conn_sec_mode_t write_perm;      /**< Write permissions. */
-  uint8_t                 vlen       :1;   /**< Variable length attribute. */
-  uint8_t                 vloc       :2;   /**< Value location, see @ref BLE_GATTS_VLOCS.*/
-  uint8_t                 rd_auth    :1;   /**< Read Authorization and value will be requested from the application on every read operation. */ 
-  uint8_t                 wr_auth    :1;   /**< Write Authorization will be requested from the application on every Write Request operation (but not Write Command). */
-} ble_gatts_attr_md_t;
-
-
-/**@brief GATT Attribute. */
-typedef struct
-{
-  ble_uuid_t*          p_uuid;          /**< Pointer to the attribute UUID. */
-  ble_gatts_attr_md_t* p_attr_md;       /**< Pointer to the attribute metadata structure. */
-  uint16_t             init_len;        /**< Initial attribute value length in bytes. */
-  uint16_t             init_offs;       /**< Initial attribute value offset in bytes. If different from zero, the first init_offs bytes of the attribute value will be left uninitialized. */
-  uint16_t             max_len;         /**< Maximum attribute value length in bytes, see @ref BLE_GATTS_ATTR_LENS_MAX for maximum values. */
-  uint8_t*             p_value;         /**< Pointer to the attribute data. Please note that if the @ref BLE_GATTS_VLOC_USER value location is selected in the attribute metadata, this will have to point to a buffer
-                                             that remains valid through the lifetime of the attribute. This excludes usage of automatic variables that may go out of scope or any other temporary location. 
-                                             The stack may access that memory directly without the application's knowledge. */
-} ble_gatts_attr_t;
-
-
-/**@brief GATT Attribute Context. */
-typedef struct
-{
-  ble_uuid_t           srvc_uuid;       /**< Service UUID. */
-  ble_uuid_t           char_uuid;       /**< Characteristic UUID if applicable (BLE_UUID_TYPE_UNKNOWN if N/A). */
-  ble_uuid_t           desc_uuid;       /**< Descriptor UUID if applicable (BLE_UUID_TYPE_UNKNOWN if N/A). */
-  uint16_t             srvc_handle;     /**< Service Handle. */
-  uint16_t             value_handle;    /**< Characteristic Handle if applicable (BLE_GATT_HANDLE_INVALID if N/A). */
-  uint8_t              type;            /**< Attribute Type, see @ref BLE_GATTS_ATTR_TYPES. */
-} ble_gatts_attr_context_t;
-
-
-/**@brief GATT Characteristic Presentation Format. */
-typedef struct
-{
-  uint8_t          format;      /**< Format of the value, see @ref BLE_GATT_CPF_FORMATS. */
-  int8_t           exponent;    /**< Exponent for integer data types. */
-  uint16_t         unit;        /**< UUID from Bluetooth Assigned Numbers. */
-  uint8_t          name_space;  /**< Namespace from Bluetooth Assigned Numbers, see @ref BLE_GATT_CPF_NAMESPACES. */
-  uint16_t         desc;        /**< Namespace description from Bluetooth Assigned Numbers, see @ref BLE_GATT_CPF_NAMESPACES. */
-} ble_gatts_char_pf_t;
-
-
-/**@brief GATT Characteristic metadata. */
-typedef struct
-{
-  ble_gatt_char_props_t       char_props;               /**< Characteristic Properties. */
-  ble_gatt_char_ext_props_t   char_ext_props;           /**< Characteristic Extended Properties. */
-  uint8_t*                    p_char_user_desc;         /**< Pointer to a UTF-8, NULL if the descriptor is not required. */
-  uint16_t                    char_user_desc_max_size;  /**< The maximum size in bytes of the user description descriptor. */
-  uint16_t                    char_user_desc_size;      /**< The size of the user description, must be smaller or equal to char_user_desc_max_size. */ 
-  ble_gatts_char_pf_t*        p_char_pf;                /**< Pointer to a presentation format structure or NULL if the descriptor is not required. */
-  ble_gatts_attr_md_t*        p_user_desc_md;           /**< Attribute metadata for the User Description descriptor, or NULL for default values. */
-  ble_gatts_attr_md_t*        p_cccd_md;                /**< Attribute metadata for the Client Characteristic Configuration Descriptor, or NULL for default values. */
-  ble_gatts_attr_md_t*        p_sccd_md;                /**< Attribute metadata for the Server Characteristic Configuration Descriptor, or NULL for default values. */
-} ble_gatts_char_md_t;
-
-
-/**@brief GATT Characteristic Definition Handles. */
-typedef struct
-{
-  uint16_t          value_handle;       /**< Handle to the characteristic value. */
-  uint16_t          user_desc_handle;   /**< Handle to the User Description descriptor, or BLE_GATT_HANDLE_INVALID if not present. */
-  uint16_t          cccd_handle;        /**< Handle to the Client Characteristic Configuration Descriptor, or BLE_GATT_HANDLE_INVALID if not present. */
-  uint16_t          sccd_handle;        /**< Handle to the Server Characteristic Configuration Descriptor, or BLE_GATT_HANDLE_INVALID if not present. */
-} ble_gatts_char_handles_t;
-
-
-/**@brief GATT HVx parameters. */
-typedef struct
-{
-  uint16_t          handle;             /**< Characteristic Value Handle. */
-  uint8_t           type;               /**< Indication or Notification, see @ref BLE_GATT_HVX_TYPES. */
-  uint16_t          offset;             /**< Offset within the attribute value. */
-  uint16_t*         p_len;              /**< Length in bytes to be written, length in bytes written after successful return. */
-  uint8_t*          p_data;             /**< Actual data content, use NULL to use the current attribute value. */
-} ble_gatts_hvx_params_t;
-
-/**@brief GATT Read Authorization parameters. */
-typedef struct
-{
-  uint16_t          gatt_status;        /**< GATT status code for the operation, see @ref BLE_GATT_STATUS_CODES. */
-  uint8_t           update : 1;         /**< If set, data supplied in p_data will be used in the ATT response. */
-  uint16_t          offset;             /**< Offset of the attribute value being updated. */
-  uint16_t          len;                /**< Length in bytes of the value in p_data pointer, see @ref BLE_GATTS_ATTR_LENS_MAX. */
-  uint8_t*          p_data;             /**< Pointer to new value used to update the attribute value. */
-} ble_gatts_read_authorize_params_t;
-
-/**@brief GATT Write Authorisation parameters. */
-typedef struct
-{
-  uint16_t          gatt_status;        /**< GATT status code for the operation, see @ref BLE_GATT_STATUS_CODES. */
-} ble_gatts_write_authorize_params_t;
-
-/**@brief GATT Read or Write Authorize Reply parameters. */
-typedef struct
-{
-  uint8_t                               type;   /**< Type of authorize operation, see @ref BLE_GATTS_AUTHORIZE_TYPES. */
-  union {
-    ble_gatts_read_authorize_params_t   read;   /**< Read authorization parameters. */
-    ble_gatts_write_authorize_params_t  write;  /**< Write authorization parameters. */
-  } params;
-} ble_gatts_rw_authorize_reply_params_t;
-
-
-/**
- * @brief GATT Server Event IDs.
- */
-enum BLE_GATTS_EVTS
-{
-  BLE_GATTS_EVT_WRITE = BLE_GATTS_EVT_BASE,       /**< Write operation performed. */
-  BLE_GATTS_EVT_RW_AUTHORIZE_REQUEST,             /**< Read/Write Authorization request. */
-  BLE_GATTS_EVT_SYS_ATTR_MISSING,                 /**< A persistent system attribute access is pending, awaiting a sd_ble_gatts_sys_attr_set(). */
-  BLE_GATTS_EVT_HVC,                              /**< Handle Value Confirmation. */
-  BLE_GATTS_EVT_SC_CONFIRM,                       /**< Service Changed Confirmation. */
-  BLE_GATTS_EVT_TIMEOUT                           /**< Timeout. */
-};
-
-
-/**@brief Event structure for BLE_GATTS_EVT_WRITE. */
-typedef struct
-{
-  uint16_t                    handle;             /**< Attribute Handle. */
-  uint8_t                     op;                 /**< Type of write operation, see @ref BLE_GATTS_OPS. */
-  ble_gatts_attr_context_t    context;            /**< Attribute Context. */
-  uint16_t                    offset;             /**< Offset for the write operation. */
-  uint16_t                    len;                /**< Length of the incoming data. */
-  uint8_t                     data[1];            /**< Incoming data, variable length. */
-} ble_gatts_evt_write_t;
-
-/**@brief Event structure for authorize read request. */
-typedef struct
-{
-  uint16_t                    handle;             /**< Attribute Handle. */
-  ble_gatts_attr_context_t    context;            /**< Attribute Context. */
-  uint16_t                    offset;             /**< Offset for the read operation. */
-} ble_gatts_evt_read_t;
-
-/**@brief Event structure for BLE_GATTS_EVT_RW_AUTHORIZE_REQUEST. */
-typedef struct
-{
-  uint8_t                     type;             /**< Type of authorize operation, see @ref BLE_GATTS_AUTHORIZE_TYPES. */
-  union {
-    ble_gatts_evt_read_t      read;             /**< Attribute Read Parameters. */
-    ble_gatts_evt_write_t     write;            /**< Attribute Write Parameters. */
-  } request;
-} ble_gatts_evt_rw_authorize_request_t;
-
-/**@brief Event structure for BLE_GATTS_EVT_SYS_ATTR_MISSING. */
-typedef struct
-{
-  uint8_t hint;
-} ble_gatts_evt_sys_attr_missing_t;
-
-
-/**@brief Event structure for BLE_GATTS_EVT_HVC. */
-typedef struct
-{
-  uint16_t          handle;                       /**< Attribute Handle. */
-} ble_gatts_evt_hvc_t;
-
-/**@brief Event structure for BLE_GATTS_EVT_TIMEOUT. */
-typedef struct
-{
-  uint8_t          src;                       /**< Timeout source, see @ref BLE_GATT_TIMEOUT_SOURCES. */
-} ble_gatts_evt_timeout_t;
-
-
-/**@brief GATT Server event callback event structure. */
-typedef struct
-{
-  uint16_t conn_handle;                                       /**< Connection Handle on which event occurred. */
-  union
-  {
-    ble_gatts_evt_write_t                 write;              /**< Write Event Parameters. */
-    ble_gatts_evt_rw_authorize_request_t  authorize_request;  /**< Read or Write Authorize Request Parameters. */
-    ble_gatts_evt_sys_attr_missing_t      sys_attr_missing;   /**< System attributes missing. */
-    ble_gatts_evt_hvc_t                   hvc;                /**< Handle Value Confirmation Event Parameters. */
-    ble_gatts_evt_timeout_t               timeout;            /**< Timeout Event. */
-  } params;
-} ble_gatts_evt_t;
-
-/** @} */
-
-/** @addtogroup BLE_GATTS_FUNCTIONS Functions
- * @{ */
-
-/**@brief Add a service declaration to the local server ATT table.
- *
- * @param[in] type      Toggles between primary and secondary services, see @ref BLE_GATTS_SRVC_TYPES.
- * @param[in] p_uuid    Pointer to service UUID.
- * @param[out] p_handle Pointer to a 16-bit word where the assigned handle will be stored.
- *
- * @note Secondary Services are only relevant in the context of the entity that references them, it is therefore forbidden to
- *       add a secondary service declaration that is not referenced by another service later in the ATT table.
- *
- * @return @ref NRF_SUCCESS Successfully added a service declaration.
- * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
- * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied, Vendor Specific UUIDs need to be present in the table.
- * @return @ref NRF_ERROR_FORBIDDEN Forbidden value supplied, certain UUIDs are reserved for the stack.
- * @return @ref NRF_ERROR_NO_MEM Not enough memory to complete operation.
- */
-SVCALL(SD_BLE_GATTS_SERVICE_ADD, uint32_t, sd_ble_gatts_service_add(uint8_t type, ble_uuid_t const*const p_uuid, uint16_t *const p_handle));
-
-
-/**@brief Add an include declaration to the local server ATT table.
- *
- * @note It is currently only possible to add an include declaration to the last added service (i.e. only sequential addition is supported at this time). 
- *
- * @note The included service must already be present in the ATT table prior to this call.
- *
- * @param[in] service_handle    Handle of the service where the included service is to be placed, if BLE_GATT_HANDLE_INVALID is used, it will be placed sequentially.
- * @param[in] inc_srvc_handle   Handle of the included service.
- * @param[out] p_include_handle Pointer to a 16-bit word where the assigned handle will be stored.
- *
- * @return @ref NRF_SUCCESS Successfully added an include declaration.
- * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
- * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied, handle values need to match previously added services.
- * @return @ref NRF_ERROR_INVALID_STATE Invalid state to perform operation.
- * @return @ref NRF_ERROR_FORBIDDEN Forbidden value supplied, self inclusions are not allowed.
- * @return @ref NRF_ERROR_NO_MEM Not enough memory to complete operation.
- * @return @ref NRF_ERROR_NOT_FOUND Attribute not found.
- */
-SVCALL(SD_BLE_GATTS_INCLUDE_ADD, uint32_t, sd_ble_gatts_include_add(uint16_t service_handle, uint16_t inc_srvc_handle, uint16_t *const p_include_handle));
-
-
-/**@brief Add a characteristic declaration, a characteristic value declaration and optional characteristic descriptor declarations to the local server ATT table.
- *
- * @note It is currently only possible to add a characteristic to the last added service (i.e. only sequential addition is supported at this time). 
- *
- * @note Several restrictions apply to the parameters, such as matching permissions between the user description descriptor and the writeable auxiliaries bits,
- *       readable (no security) and writeable (selectable) CCCDs and SCCDs and valid presentation format values.
- *
- * @note If no metadata is provided for the optional descriptors, their permissions will be derived from the characteristic permissions.
- *
- * @param[in] service_handle    Handle of the service where the characteristic is to be placed, if BLE_GATT_HANDLE_INVALID is used, it will be placed sequentially.
- * @param[in] p_char_md         Characteristic metadata.
- * @param[in] p_attr_char_value Pointer to the attribute structure corresponding to the characteristic value.
- * @param[out] p_handles        Pointer to the structure where the assigned handles will be stored.
- *
- * @return @ref NRF_SUCCESS Successfully added a characteristic.
- * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
- * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied, service handle, Vendor Specific UUIDs, lengths, and permissions need to adhere to the constraints.
- * @return @ref NRF_ERROR_INVALID_STATE Invalid state to perform operation, a service context is required.
- * @return @ref NRF_ERROR_FORBIDDEN Forbidden value supplied, certain UUIDs are reserved for the stack.
- * @return @ref NRF_ERROR_NO_MEM Not enough memory to complete operation.
- * @return @ref NRF_ERROR_DATA_SIZE Invalid data size(s) supplied, attribute lengths are restricted by @ref BLE_GATTS_ATTR_LENS_MAX.
- */
-SVCALL(SD_BLE_GATTS_CHARACTERISTIC_ADD, uint32_t, sd_ble_gatts_characteristic_add(uint16_t service_handle, ble_gatts_char_md_t const*const p_char_md, ble_gatts_attr_t const*const p_attr_char_value, ble_gatts_char_handles_t *const p_handles));
-
-
-/**@brief Add a descriptor to the local server ATT table.
- *
- * @note It is currently only possible to add a descriptor to the last added characteristic (i.e. only sequential addition is supported at this time). 
- *
- * @param[in] char_handle   Handle of the characteristic where the descriptor is to be placed, if BLE_GATT_HANDLE_INVALID is used, it will be placed sequentially.
- * @param[in] p_attr        Pointer to the attribute structure.
- * @param[out] p_handle     Pointer to a 16-bit word where the assigned handle will be stored.
- *
- * @return @ref NRF_SUCCESS Successfully added a descriptor.
- * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
- * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied, characteristic handle, Vendor Specific UUIDs, lengths, and permissions need to adhere to the constraints.
- * @return @ref NRF_ERROR_INVALID_STATE Invalid state to perform operation, a characteristic context is required.
- * @return @ref NRF_ERROR_FORBIDDEN Forbidden value supplied, certain UUIDs are reserved for the stack.
- * @return @ref NRF_ERROR_NO_MEM Not enough memory to complete operation.
- * @return @ref NRF_ERROR_DATA_SIZE Invalid data size(s) supplied, attribute lengths are restricted by @ref BLE_GATTS_ATTR_LENS_MAX.
- */
-SVCALL(SD_BLE_GATTS_DESCRIPTOR_ADD, uint32_t, sd_ble_gatts_descriptor_add(uint16_t char_handle, ble_gatts_attr_t const * const p_attr, uint16_t* const p_handle));
-
-/**@brief Set the value of a given attribute.
- *
- * @param[in] handle    Attribute handle.
- * @param[in] offset    Offset in bytes to write from.
- * @param[in,out] p_len Length in bytes to be written, length in bytes written after successful return.
- * @param[in] p_value   Pointer to a buffer (at least len bytes long) containing the desired attribute value. If value is stored in user memory, only the attribute length is updated when p_value == NULL.
- *
- * @return @ref NRF_SUCCESS Successfully set the value of the attribute.
- * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
- * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied.
- * @return @ref NRF_ERROR_NOT_FOUND Attribute not found.
- * @return @ref NRF_ERROR_FORBIDDEN Forbidden handle supplied, certain attributes are not modifiable by the application.
- * @return @ref NRF_ERROR_DATA_SIZE Invalid data size(s) supplied, attribute lengths are restricted by @ref BLE_GATTS_ATTR_LENS_MAX.
- */
-SVCALL(SD_BLE_GATTS_VALUE_SET, uint32_t, sd_ble_gatts_value_set(uint16_t handle, uint16_t offset, uint16_t* const p_len, uint8_t const * const p_value));
-
-/**@brief Get the value of a given attribute.
- *
- * @param[in] handle     Attribute handle.
- * @param[in] offset     Offset in bytes to read from.
- * @param[in,out] p_len  Length in bytes to be read, total length of attribute value (in bytes, starting from offset) after successful return.
- * @param[in,out] p_data Pointer to a buffer (at least len bytes long) where to store the attribute value. Set to NULL to obtain the complete length of attribute value.
- *
- * @note                 If the attribute value is longer than the size of the supplied buffer,
- *                       p_len will return the total attribute value length (excluding offset),
- *                       and not the number of bytes actually returned in p_data.
- *                       The application may use this information to allocate a suitable buffer size.
- * 
- * @return @ref NRF_SUCCESS Successfully retrieved the value of the attribute.
- * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
- * @return @ref NRF_ERROR_NOT_FOUND Attribute not found.
- */
-SVCALL(SD_BLE_GATTS_VALUE_GET, uint32_t, sd_ble_gatts_value_get(uint16_t handle, uint16_t offset, uint16_t *const p_len, uint8_t* const p_data));
-
-/**@brief Notify or Indicate an attribute value.
- *
- * @details This function checks for the relevant Client Characteristic Configuration descriptor value to verify that the relevant operation
- *          (notification or indication) has been enabled by the client. It is also able to update the attribute value before issuing the PDU, so that
- *          the application can atomically perform a value update and a server initiated transaction with a single API call.
- *          If the application chooses to indicate an attribute value, a @ref BLE_GATTS_EVT_HVC will be sent up as soon as the confirmation arrives from
- *          the peer.
- *
- * @note    The local attribute value may be updated even if an outgoing packet is not sent to the peer due to an error during execution. 
- *          When receiveing the error codes @ref NRF_ERROR_INVALID_STATE, @ref NRF_ERROR_BUSY, @ref BLE_ERROR_GATTS_SYS_ATTR_MISSING and 
- *          @ref BLE_ERROR_NO_TX_BUFFERS the ATT table has been updated.
- *          The caller can check whether the value has been updated by looking at the contents of *(p_hvx_params->p_len).
- *
- * @note    It is important to note that a notification will <b>consume an application buffer</b>, and will therefore 
- *          generate a @ref BLE_EVT_TX_COMPLETE event when the packet has been transmitted. An indication on the other hand will use the 
- *          standard server internal buffer and thus will only generate a @ref BLE_GATTS_EVT_HVC event as soon as the confirmation 
- *          has been received from the peer. Please see the documentation of @ref sd_ble_tx_buffer_count_get for more details.
- *
- * @param[in] conn_handle  Connection handle.
- * @param[in] p_hvx_params Pointer to an HVx parameters structure. If the p_data member contains a non-NULL pointer the attribute value will be updated with
- *                         the contents pointed by it before sending the notification or indication.
- *
- * @return @ref NRF_SUCCESS Successfully queued a notification or indication for transmission, and optionally updated the attribute value.
- * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid Connection Handle.
- * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
- * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied.
- * @return @ref BLE_ERROR_INVALID_ATTR_HANDLE Invalid attribute handle(s) supplied. Only attributes added directly by the application are available to notify and indicate.
- * @return @ref BLE_ERROR_GATTS_INVALID_ATTR_TYPE Invalid attribute type(s) supplied, only characteristic values may be notified and indicated.
- * @return @ref NRF_ERROR_NOT_FOUND Attribute not found.
- * @return @ref NRF_ERROR_DATA_SIZE Invalid data size(s) supplied.
- * @return @ref NRF_ERROR_INVALID_STATE Invalid state to perform operation, notifications or indications must be enabled in the CCCD.
- * @return @ref NRF_ERROR_BUSY Procedure already in progress.
- * @return @ref BLE_ERROR_GATTS_SYS_ATTR_MISSING System attributes missing, use @ref sd_ble_gatts_sys_attr_set to set them to a known value.
- * @return @ref BLE_ERROR_NO_TX_BUFFERS There are no available buffers to send the data, applies only to notifications.
- */
-SVCALL(SD_BLE_GATTS_HVX, uint32_t, sd_ble_gatts_hvx(uint16_t conn_handle, ble_gatts_hvx_params_t const*const p_hvx_params));
-
-/**@brief Indicate the Service Changed attribute value.
- *
- * @details This call will send a Handle Value Indication to one or more peers connected to inform them that the attribute
- *          table layout has changed. As soon as the peer has confirmed the indication, a @ref BLE_GATTS_EVT_SC_CONFIRM event will
- *          be issued.
- *
- * @note    Some of the restrictions and limitations that apply to @ref sd_ble_gatts_hvx also apply here.
- *
- * @param[in] conn_handle  Connection handle.
- * @param[in] start_handle Start of affected attribute handle range.
- * @param[in] end_handle   End of affected attribute handle range.
- *
- * @return @ref NRF_SUCCESS Successfully queued the Service Changed indication for transmission.
- * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid Connection Handle.
- * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied.
- * @return @ref BLE_ERROR_INVALID_ATTR_HANDLE Invalid attribute handle(s) supplied, handles must be in the range populated by the application.
- * @return @ref NRF_ERROR_INVALID_STATE Invalid state to perform operation, notifications or indications must be enabled in the CCCD.
- * @return @ref NRF_ERROR_BUSY Procedure already in progress.
- * @return @ref BLE_ERROR_GATTS_SYS_ATTR_MISSING System attributes missing, use @ref sd_ble_gatts_sys_attr_set to set them to a known value.
- */
-SVCALL(SD_BLE_GATTS_SERVICE_CHANGED, uint32_t, sd_ble_gatts_service_changed(uint16_t conn_handle, uint16_t start_handle, uint16_t end_handle));
-
-/**@brief Respond to a Read/Write authorization request.
- *
- * @note This call should only be used as a response to a @ref BLE_GATTS_EVT_RW_AUTHORIZE_REQUEST event issued to the application.
- *
- * @param[in] conn_handle                 Connection handle.
- * @param[in] p_rw_authorize_reply_params Pointer to a structure with the attribute provided by the application.
- *
- * @return @ref NRF_SUCCESS               Successfully queued a response to the peer, and in the case of a write operation, ATT table updated.
- * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid Connection Handle.
- * @return @ref NRF_ERROR_INVALID_STATE   No authorization request pending.
- * @return @ref NRF_ERROR_INVALID_PARAM   Authorization op invalid,
- *                                         or for Read Authorization reply: requested handles not replied with,
- *                                         or for Write Authorization reply: handle supplied does not match requested handle.
- */
-SVCALL(SD_BLE_GATTS_RW_AUTHORIZE_REPLY, uint32_t, sd_ble_gatts_rw_authorize_reply(uint16_t conn_handle, ble_gatts_rw_authorize_reply_params_t const*const p_rw_authorize_reply_params));
-
-
-/**@brief Update persistent system attribute information.
- *
- * @details Supply to the stack information about persistent system attributes.
- *          This call is legal in the connected state only, and is usually 
- *          made immediately after a connection is established and the bond identified.
- *          usually as a response to a BLE_GATTS_EVT_SYS_ATTR_MISSING.
- *
- *          p_sysattrs may point directly to the application's stored copy of the struct.
- *          If the pointer is NULL, the system attribute info is initialized, assuming that
- *          the application does not have any previously saved data for this bond.
- *
- * @note The state of persistent system attributes is reset upon connection and then remembered for its duration. 
- *
- * @note If this call returns with an error code different from @ref NRF_SUCCESS, the storage of persistent system attributes may have been completed only partially.
- *       This means that the state of the attribute table is undefined, and the application should either provide a new set of attributes using this same call or
- *       reset the SoftDevice to return to a known state.
- *
- * @param[in]  conn_handle        Connection handle.
- * @param[in]  p_sys_attr_data    Pointer to a saved copy of system attributes supplied to the stack, or NULL.
- * @param[in]  len                Size of data pointed by p_sys_attr_data, in octets. 
- *
- * @return @ref NRF_SUCCESS Successfully set the system attribute information.
- * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid Connection Handle.
- * @return @ref NRF_ERROR_INVALID_DATA Invalid data supplied, the data should be exactly the same as retrieved with @ref sd_ble_gatts_sys_attr_get.
- * @return @ref NRF_ERROR_NO_MEM Not enough memory to complete operation.
- */ 
-SVCALL(SD_BLE_GATTS_SYS_ATTR_SET, uint32_t, sd_ble_gatts_sys_attr_set(uint16_t conn_handle, uint8_t const*const p_sys_attr_data, uint16_t len)); 
-
- 
-/**@brief Retrieve persistent system attribute information from the stack.
- *
- * @details This call is used to retrieve information about values to be stored perisistently by the application
- *          after a connection has been terminated. When a new connection is made to the same bond, the values
- *          should be restored using @ref sd_ble_gatts_sys_attr_set.
- *          The data should be read before any new advertising is started, or any new connection established. The connection handle for
- *          the previous now defunct connection will remain valid until a new one is created to allow this API call to refer to it.
- *
- * @param[in]     conn_handle       Connection handle of the recently terminated connection.
- * @param[in]     p_sys_attr_data   Pointer to a buffer where updated information about system attributes will be filled in. NULL can be provided to 
- *                                  obtain the length of the data
- * @param[in,out] p_len             Size of application buffer if p_sys_attr_data is not NULL. Unconditially updated to actual length of system attribute data.
- *
- * @return @ref NRF_SUCCESS Successfully retrieved the system attribute information.
- * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid Connection Handle.
- * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
- * @return @ref NRF_ERROR_DATA_SIZE The system attribute information did not fit into the provided buffer.
- */ 
-SVCALL(SD_BLE_GATTS_SYS_ATTR_GET, uint32_t, sd_ble_gatts_sys_attr_get(uint16_t conn_handle, uint8_t * const p_sys_attr_data, uint16_t* const p_len)); 
-
-/** @} */
-
-#endif // BLE_GATTS_H__
-
-/**
-  @}
-*/
--- a/TARGET_ARCH_BLE/TARGET_NORDIC/TARGET_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/ble_hci.h	Fri Jul 25 09:46:51 2014 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,96 +0,0 @@
-/*
-  Copyright (c) 2012 Nordic Semiconductor. All Rights Reserved.
-
-  The information contained herein is confidential property of Nordic Semiconductor. The use,
-  copying, transfer or disclosure of such information is prohibited except by express written
-  agreement with Nordic Semiconductor.
- */
-/**
-  @addtogroup BLE_COMMON 
-  @{
-*/
-
-
-#ifndef BLE_HCI_H__
-#define BLE_HCI_H__ 
-
-/** @defgroup BLE_HCI_STATUS_CODES Bluetooth status codes
- * @{ */
-
-#define BLE_HCI_STATUS_CODE_SUCCESS                        0x00
-#define BLE_HCI_STATUS_CODE_UNKNOWN_BTLE_COMMAND           0x01
-#define BLE_HCI_STATUS_CODE_UNKNOWN_CONNECTION_IDENTIFIER  0x02 
-/*0x03 Hardware Failure
-0x04 Page Timeout
-*/
-#define BLE_HCI_AUTHENTICATION_FAILURE                     0x05
-#define BLE_HCI_STATUS_CODE_PIN_OR_KEY_MISSING             0x06
-#define BLE_HCI_MEMORY_CAPACITY_EXCEEDED                   0x07
-#define BLE_HCI_CONNECTION_TIMEOUT                         0x08
-/*0x09 Connection Limit Exceeded
-0x0A Synchronous Connection Limit To A Device Exceeded
-0x0B ACL Connection Already Exists*/
-#define BLE_HCI_STATUS_CODE_COMMAND_DISALLOWED             0x0C
-/*0x0D Connection Rejected due to Limited Resources
-0x0E Connection Rejected Due To Security Reasons
-0x0F Connection Rejected due to Unacceptable BD_ADDR
-0x10 Connection Accept Timeout Exceeded
-0x11 Unsupported Feature or Parameter Value*/
-#define BLE_HCI_STATUS_CODE_INVALID_BTLE_COMMAND_PARAMETERS 0x12
-#define BLE_HCI_REMOTE_USER_TERMINATED_CONNECTION           0x13
-#define BLE_HCI_REMOTE_DEV_TERMINATION_DUE_TO_LOW_RESOURCES 0x14
-#define BLE_HCI_REMOTE_DEV_TERMINATION_DUE_TO_POWER_OFF     0x15
-#define BLE_HCI_LOCAL_HOST_TERMINATED_CONNECTION            0x16
-/*
-0x17 Repeated Attempts
-0x18 Pairing Not Allowed
-0x19 Unknown LMP PDU
-*/
-#define BLE_HCI_UNSUPPORTED_REMOTE_FEATURE 0x1A
-/*
-0x1B SCO Offset Rejected
-0x1C SCO Interval Rejected
-0x1D SCO Air Mode Rejected*/
-#define BLE_HCI_STATUS_CODE_INVALID_LMP_PARAMETERS     0x1E
-#define BLE_HCI_STATUS_CODE_UNSPECIFIED_ERROR          0x1F
-/*0x20 Unsupported LMP Parameter Value
-0x21 Role Change Not Allowed
-*/
-#define BLE_HCI_STATUS_CODE_LMP_RESPONSE_TIMEOUT       0x22
-/*0x23 LMP Error Transaction Collision*/
-#define BLE_HCI_STATUS_CODE_LMP_PDU_NOT_ALLOWED        0x24
-/*0x25 Encryption Mode Not Acceptable
-0x26 Link Key Can Not be Changed
-0x27 Requested QoS Not Supported
-*/
-#define BLE_HCI_INSTANT_PASSED                         0x28
-#define BLE_HCI_PAIRING_WITH_UNIT_KEY_UNSUPPORTED      0x29
-#define BLE_HCI_DIFFERENT_TRANSACTION_COLLISION        0x2A
-/*
-0x2B Reserved
-0x2C QoS Unacceptable Parameter
-0x2D QoS Rejected
-0x2E Channel Classification Not Supported
-0x2F Insufficient Security
-0x30 Parameter Out Of Mandatory Range
-0x31 Reserved
-0x32 Role Switch Pending
-0x33 Reserved
-0x34 Reserved Slot Violation
-0x35 Role Switch Failed
-0x36 Extended Inquiry Response Too Large
-0x37 Secure Simple Pairing Not Supported By Host.
-0x38 Host Busy - Pairing
-0x39 Connection Rejected due to No Suitable Channel Found*/
-#define BLE_HCI_CONTROLLER_BUSY                        0x3A
-#define BLE_HCI_CONN_INTERVAL_UNACCEPTABLE             0x3B
-#define BLE_HCI_DIRECTED_ADVERTISER_TIMEOUT            0x3C
-#define BLE_HCI_CONN_TERMINATED_DUE_TO_MIC_FAILURE     0x3D
-#define BLE_HCI_CONN_FAILED_TO_BE_ESTABLISHED          0x3E
-
-/** @} */
-
-
-#endif // BLE_HCI_H__
-
-/** @} */
--- a/TARGET_ARCH_BLE/TARGET_NORDIC/TARGET_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/ble_l2cap.h	Fri Jul 25 09:46:51 2014 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,144 +0,0 @@
-/* Copyright (c) 2011 Nordic Semiconductor. All Rights Reserved.
- *
- * The information contained herein is confidential property of Nordic Semiconductor. The use,
- * copying, transfer or disclosure of such information is prohibited except by express written
- * agreement with Nordic Semiconductor.
- *
- */
-/**
-  @addtogroup BLE_L2CAP Logical Link Control and Adaptation Protocol (L2CAP)
-  @{
-  @brief Definitions and prototypes for the L2CAP interface.
- */
-
-#ifndef BLE_L2CAP_H__
-#define BLE_L2CAP_H__ 
-
-#include "ble_types.h"
-#include "ble_ranges.h"
-#include "ble_err.h"
-#include "nrf_svc.h"
-
-/**@addtogroup BLE_L2CAP_ENUMERATIONS Enumerations
- * @{ */
-
-/**@brief L2CAP API SVC numbers. */
-enum BLE_L2CAP_SVCS 
-{
-  SD_BLE_L2CAP_CID_REGISTER = BLE_L2CAP_SVC_BASE,  /**< Register a CID. */
-  SD_BLE_L2CAP_CID_UNREGISTER,                     /**< Unregister a CID. */
-  SD_BLE_L2CAP_TX                                  /**< Transmit a packet. */
-};
-
-/** @} */
-
-/**@addtogroup BLE_L2CAP_DEFINES Defines
- * @{ */
-
-/**@defgroup BLE_ERRORS_L2CAP SVC return values specific to L2CAP
- * @{ */
-#define BLE_ERROR_L2CAP_CID_IN_USE            (NRF_L2CAP_ERR_BASE + 0x000)  /**< CID already in use. */
-/** @} */
-
-/**@brief Default L2CAP MTU. */
-#define BLE_L2CAP_MTU_DEF           (23)    
-
-/**@brief Invalid Channel Identifier. */
-#define BLE_L2CAP_CID_INVALID       (0x0000) 
-
-/**@brief Dynamic Channel Identifier base. */
-#define BLE_L2CAP_CID_DYN_BASE      (0x0040) 
-
-/**@brief Maximum amount of dynamic CIDs. */
-#define BLE_L2CAP_CID_DYN_MAX       (8) 
-
-/** @} */
-
-/**@addtogroup BLE_L2CAP_STRUCTURES Structures
- * @{ */
-
-/**@brief Packet header format for L2CAP transmission. */
-typedef struct
-{
-  uint16_t   len;                                 /**< Length of valid info in data member. */
-  uint16_t   cid;                                 /**< Channel ID on which packet is transmitted. */
-} ble_l2cap_header_t;
-
-/**@brief L2CAP Event IDs. */
-enum BLE_L2CAP_EVTS 
-{
-  BLE_L2CAP_EVT_RX  = BLE_L2CAP_EVT_BASE          /**< L2CAP packet received. */
-};
-
-
-/**@brief L2CAP Received packet event report. */
-typedef struct
-{
-  ble_l2cap_header_t header;                      /** L2CAP packet header. */
-  uint8_t    data[1];                             /**< Packet data, variable length. */
-} ble_l2cap_evt_rx_t;
-
-
-/**@brief L2CAP event callback event structure. */
-typedef struct
-{
-  uint16_t conn_handle;                           /**< Connection Handle on which event occured. */
-  union
-  {
-    ble_l2cap_evt_rx_t rx;                        /**< RX Event parameters. */
-  } params;
-} ble_l2cap_evt_t;
-
-
-/**@brief Register a CID with L2CAP.
- *
- * @details This registers a higher protocol layer with the L2CAP multiplexer, and is requried prior to all operations on the CID.
- *          
- * @param[in] cid L2CAP CID.
- *
- * @return @ref NRF_SUCCESS Successfully registered a CID with the L2CAP layer.
- * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied, CID must be above @ref BLE_L2CAP_CID_DYN_BASE.
- * @return @ref BLE_ERROR_L2CAP_CID_IN_USE L2CAP CID already in use.
- * @return @ref NRF_ERROR_NO_MEM Not enough memory to complete operation.
- */
-SVCALL(SD_BLE_L2CAP_CID_REGISTER, uint32_t, sd_ble_l2cap_cid_register(uint16_t cid));
-
-/**@brief Unregister a CID with L2CAP.
- *
- * @details This unregisters a previously registerd higher protocol layer with the L2CAP multiplexer.
- *          
- * @param[in] cid L2CAP CID.
- *
- * @return @ref NRF_SUCCESS Successfully unregistered the CID.
- * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied.
- * @return @ref NRF_ERROR_NOT_FOUND CID not previously registered.
- */
-SVCALL(SD_BLE_L2CAP_CID_UNREGISTER, uint32_t, sd_ble_l2cap_cid_unregister(uint16_t cid));
-
-/**@brief Transmit an L2CAP packet.
- *
- * @note    It is important to note that a call to this function will <b>consume an application buffer</b>, and will therefore 
- *          generate a @ref BLE_EVT_TX_COMPLETE event when the packet has been transmitted. 
- *          Please see the documentation of @ref sd_ble_tx_buffer_count_get for more details.
- *
- * @param[in] conn_handle Connection Handle.
- * @param[in] p_header    Pointer to a packet header containing length and CID.
- * @param[in] p_data      Pointer to the data to be transmitted.
- *
- * @return @ref NRF_SUCCESS Successfully queued an L2CAP packet for transmission.
- * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
- * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied, CIDs must be registered beforehand with @ref sd_ble_l2cap_cid_register.
- * @return @ref NRF_ERROR_NOT_FOUND CID not found.
- * @return @ref NRF_ERROR_NO_MEM Not enough memory to complete operation.
- * @return @ref BLE_ERROR_NO_TX_BUFFERS Not enough application buffers available.
- * @return @ref NRF_ERROR_DATA_SIZE Invalid data size(s) supplied, see @ref BLE_L2CAP_MTU_DEF.
- */
-SVCALL(SD_BLE_L2CAP_TX, uint32_t, sd_ble_l2cap_tx(uint16_t conn_handle, ble_l2cap_header_t const * const p_header, uint8_t const * const p_data));
-
-/** @} */
-
-#endif // BLE_L2CAP_H__
-
-/**
-  @}
-*/
--- a/TARGET_ARCH_BLE/TARGET_NORDIC/TARGET_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/ble_ranges.h	Fri Jul 25 09:46:51 2014 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,89 +0,0 @@
-/*
-  Copyright (c) 2012 Nordic Semiconductor. All Rights Reserved.
-
-  The information contained herein is confidential property of Nordic Semiconductor. The use,
-  copying, transfer or disclosure of such information is prohibited except by express written
-  agreement with Nordic Semiconductor.
- */
-/**
-  @addtogroup BLE_COMMON
-  @{
-  @defgroup ble_ranges Module specific SVC and event number subranges
-  @{
-
-  @brief Definition of SVC and event number subranges for each API module.
-
-  @note
-  SVCs and event numbers are split into subranges for each API module.
-  Each module receives its entire allocated range of SVC calls, whether implemented or not,
-  but return BLE_ERROR_NOT_SUPPORTED for unimplemented or undefined calls in its range.
-
-  Note that the symbols BLE_<module>_SVC_LAST is the end of the allocated SVC range,
-  rather than the last SVC function call actually defined and implemented.
-
-  Specific SVC and event values are defined in each module's ble_<module>.h file,
-  which defines names of each individual SVC code based on the range start value.
-*/
-
-#ifndef BLE_RANGES_H__
-#define BLE_RANGES_H__
-
-#define BLE_SVC_BASE           0x60
-#define BLE_SVC_LAST           0x6B       /* Total: 12. */
-
-#define BLE_RESERVED_SVC_BASE  0x6C
-#define BLE_RESERVED_SVC_LAST  0x6F       /* Total: 4. */
-
-#define BLE_GAP_SVC_BASE       0x70
-#define BLE_GAP_SVC_LAST       0x8F       /* Total: 32. */
-
-#define BLE_GATTC_SVC_BASE     0x90
-#define BLE_GATTC_SVC_LAST     0x9F       /* Total: 16. */
-
-#define BLE_GATTS_SVC_BASE     0xA0
-#define BLE_GATTS_SVC_LAST     0xAF       /* Total: 16. */
-
-#define BLE_L2CAP_SVC_BASE     0xB0
-#define BLE_L2CAP_SVC_LAST     0xBF       /* Total: 16. */
-
-
-#define BLE_EVT_INVALID        0x00
-
-#define BLE_EVT_BASE           0x01
-#define BLE_EVT_LAST           0x0F       /* Total: 15. */
-
-#define BLE_GAP_EVT_BASE       0x10
-#define BLE_GAP_EVT_LAST       0x2F       /* Total: 32. */
-
-#define BLE_GATTC_EVT_BASE     0x30
-#define BLE_GATTC_EVT_LAST     0x4F       /* Total: 32. */
-
-#define BLE_GATTS_EVT_BASE     0x50
-#define BLE_GATTS_EVT_LAST     0x6F       /* Total: 32. */
-
-#define BLE_L2CAP_EVT_BASE     0x70
-#define BLE_L2CAP_EVT_LAST     0x8F       /* Total: 32.  */
-
-#define BLE_OPT_INVALID        0x00       /**< Invalid BLE Option. */
-
-#define BLE_OPT_BASE           0x01       /**< Common BLE Option base. */
-#define BLE_OPT_LAST           0x1F       /**< Total: 31. */
-
-#define BLE_GAP_OPT_BASE       0x20       /**< GAP BLE Option base. */
-#define BLE_GAP_OPT_LAST       0x3F       /**< Total: 32. */
-
-#define BLE_GATTC_OPT_BASE     0x40       /**< GATTC BLE Option base. */
-#define BLE_GATTC_OPT_LAST     0x5F       /**< Total: 32. */
-
-#define BLE_GATTS_OPT_BASE     0x60       /**< GATTS BLE Option base. */
-#define BLE_GATTS_OPT_LAST     0x7F       /**< Total: 32. */
-
-#define BLE_L2CAP_OPT_BASE     0x80       /**< L2CAP BLE Option base. */
-#define BLE_L2CAP_OPT_LAST     0x9F       /**< Total: 32.  */
-
-#endif /* BLE_RANGES_H__ */
-
-/**
-  @}
-  @}
-*/
--- a/TARGET_ARCH_BLE/TARGET_NORDIC/TARGET_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/ble_types.h	Fri Jul 25 09:46:51 2014 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,169 +0,0 @@
-/* Copyright (c) 2011 Nordic Semiconductor. All Rights Reserved.
- *
- * The information contained herein is confidential property of Nordic Semiconductor. The use,
- * copying, transfer or disclosure of such information is prohibited except by express written
- * agreement with Nordic Semiconductor.
- *
- */
-/**
-  @addtogroup BLE_COMMON
-  @{
-  @defgroup ble_types Common types and macro definitions
-  @{
-
-  @brief Common types and macro definitions for the S110 SoftDevice.
- */
-
-#ifndef BLE_TYPES_H__
-#define BLE_TYPES_H__
-
-#include <stdint.h>
-
-/** @addtogroup BLE_COMMON_DEFINES Defines
- * @{ */
-
-/** @defgroup BLE_CONN_HANDLES BLE Connection Handles
- * @{ */
-#define BLE_CONN_HANDLE_INVALID 0xFFFF  /**< Invalid Connection Handle. */
-#define BLE_CONN_HANDLE_ALL     0xFFFE  /**< Applies to all Connection Handles. */
-/** @} */
-
-
-/** @defgroup BLE_UUID_VALUES Assigned Values for BLE UUIDs
- * @{ */
-/* Generic UUIDs, applicable to all services */
-#define BLE_UUID_UNKNOWN                              0x0000 /**< Reserved UUID. */
-#define BLE_UUID_SERVICE_PRIMARY                      0x2800 /**< Primary Service. */
-#define BLE_UUID_SERVICE_SECONDARY                    0x2801 /**< Secondary Service. */
-#define BLE_UUID_SERVICE_INCLUDE                      0x2802 /**< Include. */
-#define BLE_UUID_CHARACTERISTIC                       0x2803 /**< Characteristic. */
-#define BLE_UUID_DESCRIPTOR_CHAR_EXT_PROP             0x2900 /**< Characteristic Extended Properties Descriptor. */
-#define BLE_UUID_DESCRIPTOR_CHAR_USER_DESC            0x2901 /**< Characteristic User Description Descriptor. */
-#define BLE_UUID_DESCRIPTOR_CLIENT_CHAR_CONFIG        0x2902 /**< Client Characteristic Configuration Descriptor. */
-#define BLE_UUID_DESCRIPTOR_SERVER_CHAR_CONFIG        0x2903 /**< Server Characteristic Configuration Descriptor. */
-#define BLE_UUID_DESCRIPTOR_CHAR_PRESENTATION_FORMAT  0x2904 /**< Characteristic Presentation Format Descriptor. */
-#define BLE_UUID_DESCRIPTOR_CHAR_AGGREGATE_FORMAT     0x2905 /**< Characteristic Aggregate Format Descriptor. */
-/* GATT specific UUIDs */
-#define BLE_UUID_GATT                                 0x1801 /**< Generic Attribute Profile. */
-#define BLE_UUID_GATT_CHARACTERISTIC_SERVICE_CHANGED  0x2A05 /**< Service Changed Characteristic. */
-/* GAP specific UUIDs */
-#define BLE_UUID_GAP                                  0x1800 /**< Generic Access Profile. */
-#define BLE_UUID_GAP_CHARACTERISTIC_DEVICE_NAME       0x2A00 /**< Device Name Characteristic. */
-#define BLE_UUID_GAP_CHARACTERISTIC_APPEARANCE        0x2A01 /**< Appearance Characteristic. */
-#define BLE_UUID_GAP_CHARACTERISTIC_PPF               0x2A02 /**< Peripheral Privacy Flag Characteristic. */
-#define BLE_UUID_GAP_CHARACTERISTIC_RECONN_ADDR       0x2A03 /**< Reconnection Address Characteristic. */
-#define BLE_UUID_GAP_CHARACTERISTIC_PPCP              0x2A04 /**< Peripheral Preferred Connection Parameters Characteristic. */
-/** @} */
-
-
-/** @defgroup BLE_UUID_TYPES Types of UUID
- * @{ */
-#define BLE_UUID_TYPE_UNKNOWN       0x00 /**< Invalid UUID type. */
-#define BLE_UUID_TYPE_BLE           0x01 /**< Bluetooth SIG UUID (16-bit). */
-#define BLE_UUID_TYPE_VENDOR_BEGIN  0x02 /**< Vendor UUID types start at this index (128-bit). */
-/** @} */
-
-
-/** @defgroup BLE_APPEARANCES Bluetooth Appearance values
- *  @note Retrieved from http://developer.bluetooth.org/gatt/characteristics/Pages/CharacteristicViewer.aspx?u=org.bluetooth.characteristic.gap.appearance.xml
- * @{ */
-#define BLE_APPEARANCE_UNKNOWN                                0 /**< Unknown. */
-#define BLE_APPEARANCE_GENERIC_PHONE                         64 /**< Generic Phone. */
-#define BLE_APPEARANCE_GENERIC_COMPUTER                     128 /**< Generic Computer. */
-#define BLE_APPEARANCE_GENERIC_WATCH                        192 /**< Generic Watch. */
-#define BLE_APPEARANCE_WATCH_SPORTS_WATCH                   193 /**< Watch: Sports Watch. */
-#define BLE_APPEARANCE_GENERIC_CLOCK                        256 /**< Generic Clock. */
-#define BLE_APPEARANCE_GENERIC_DISPLAY                      320 /**< Generic Display. */
-#define BLE_APPEARANCE_GENERIC_REMOTE_CONTROL               384 /**< Generic Remote Control. */
-#define BLE_APPEARANCE_GENERIC_EYE_GLASSES                  448 /**< Generic Eye-glasses. */
-#define BLE_APPEARANCE_GENERIC_TAG                          512 /**< Generic Tag. */
-#define BLE_APPEARANCE_GENERIC_KEYRING                      576 /**< Generic Keyring. */
-#define BLE_APPEARANCE_GENERIC_MEDIA_PLAYER                 640 /**< Generic Media Player. */
-#define BLE_APPEARANCE_GENERIC_BARCODE_SCANNER              704 /**< Generic Barcode Scanner. */
-#define BLE_APPEARANCE_GENERIC_THERMOMETER                  768 /**< Generic Thermometer. */
-#define BLE_APPEARANCE_THERMOMETER_EAR                      769 /**< Thermometer: Ear. */
-#define BLE_APPEARANCE_GENERIC_HEART_RATE_SENSOR            832 /**< Generic Heart rate Sensor. */
-#define BLE_APPEARANCE_HEART_RATE_SENSOR_HEART_RATE_BELT    833 /**< Heart Rate Sensor: Heart Rate Belt. */
-#define BLE_APPEARANCE_GENERIC_BLOOD_PRESSURE               896 /**< Generic Blood Pressure. */
-#define BLE_APPEARANCE_BLOOD_PRESSURE_ARM                   897 /**< Blood Pressure: Arm. */
-#define BLE_APPEARANCE_BLOOD_PRESSURE_WRIST                 898 /**< Blood Pressure: Wrist. */
-#define BLE_APPEARANCE_GENERIC_HID                          960 /**< Human Interface Device (HID). */
-#define BLE_APPEARANCE_HID_KEYBOARD                         961 /**< Keyboard (HID Subtype). */
-#define BLE_APPEARANCE_HID_MOUSE                            962 /**< Mouse (HID Subtype). */
-#define BLE_APPEARANCE_HID_JOYSTICK                         963 /**< Joystiq (HID Subtype). */
-#define BLE_APPEARANCE_HID_GAMEPAD                          964 /**< Gamepad (HID Subtype). */
-#define BLE_APPEARANCE_HID_DIGITIZERSUBTYPE                 965 /**< Digitizer Tablet (HID Subtype). */
-#define BLE_APPEARANCE_HID_CARD_READER                      966 /**< Card Reader (HID Subtype). */
-#define BLE_APPEARANCE_HID_DIGITAL_PEN                      967 /**< Digital Pen (HID Subtype). */
-#define BLE_APPEARANCE_HID_BARCODE                          968 /**< Barcode Scanner (HID Subtype). */
-#define BLE_APPEARANCE_GENERIC_GLUCOSE_METER               1024 /**< Generic Glucose Meter. */
-#define BLE_APPEARANCE_GENERIC_RUNNING_WALKING_SENSOR      1088 /**< Generic Running Walking Sensor. */
-#define BLE_APPEARANCE_RUNNING_WALKING_SENSOR_IN_SHOE      1089 /**< Running Walking Sensor: In-Shoe. */
-#define BLE_APPEARANCE_RUNNING_WALKING_SENSOR_ON_SHOE      1090 /**< Running Walking Sensor: On-Shoe. */
-#define BLE_APPEARANCE_RUNNING_WALKING_SENSOR_ON_HIP       1091 /**< Running Walking Sensor: On-Hip. */
-#define BLE_APPEARANCE_GENERIC_CYCLING                     1152 /**< Generic Cycling. */
-#define BLE_APPEARANCE_CYCLING_CYCLING_COMPUTER            1153 /**< Cycling: Cycling Computer. */
-#define BLE_APPEARANCE_CYCLING_SPEED_SENSOR                1154 /**< Cycling: Speed Sensor. */
-#define BLE_APPEARANCE_CYCLING_CADENCE_SENSOR              1155 /**< Cycling: Cadence Sensor. */
-#define BLE_APPEARANCE_CYCLING_POWER_SENSOR                1156 /**< Cycling: Power Sensor. */
-#define BLE_APPEARANCE_CYCLING_SPEED_CADENCE_SENSOR        1157 /**< Cycling: Speed and Cadence Sensor. */
-#define BLE_APPEARANCE_GENERIC_PULSE_OXIMETER              3136 /**< Generic Pulse Oximeter. */
-#define BLE_APPEARANCE_PULSE_OXIMETER_FINGERTIP            3137 /**< Fingertip (Pulse Oximeter subtype). */
-#define BLE_APPEARANCE_PULSE_OXIMETER_WRIST_WORN           3138 /**< Wrist Worn(Pulse Oximeter subtype). */
-#define BLE_APPEARANCE_GENERIC_WEIGHT_SCALE                3200 /**< Generic Weight Scale. */
-#define BLE_APPEARANCE_GENERIC_OUTDOOR_SPORTS_ACT          5184 /**< Generic Outdoor Sports Activity. */
-#define BLE_APPEARANCE_OUTDOOR_SPORTS_ACT_LOC_DISP         5185 /**< Location Display Device (Outdoor Sports Activity subtype). */
-#define BLE_APPEARANCE_OUTDOOR_SPORTS_ACT_LOC_AND_NAV_DISP 5186 /**< Location and Navigation Display Device (Outdoor Sports Activity subtype). */
-#define BLE_APPEARANCE_OUTDOOR_SPORTS_ACT_LOC_POD          5187 /**< Location Pod (Outdoor Sports Activity subtype). */
-#define BLE_APPEARANCE_OUTDOOR_SPORTS_ACT_LOC_AND_NAV_POD  5188 /**< Location and Navigation Pod (Outdoor Sports Activity subtype). */
-/** @} */
-
-/** @brief Set .type and .uuid fields of ble_uuid_struct to specified uuid value. */
-#define BLE_UUID_BLE_ASSIGN(instance, value) do {\
-            instance.type = BLE_UUID_TYPE_BLE; \
-            instance.uuid = value;} while(0)
-
-/** @brief Copy type and uuid members from src to dst ble_uuid_t pointer. Both pointers must be valid/non-null. */
-#define BLE_UUID_COPY_PTR(dst, src) do {\
-            (dst)->type = (src)->type; \
-            (dst)->uuid = (src)->uuid;} while(0)
-
-/** @brief Copy type and uuid members from src to dst ble_uuid_t struct. */
-#define BLE_UUID_COPY_INST(dst, src) do {\
-            (dst).type = (src).type; \
-            (dst).uuid = (src).uuid;} while(0)
-
-/** @brief Compare for equality both type and uuid members of two (valid, non-null) ble_uuid_t pointers. */
-#define BLE_UUID_EQ(p_uuid1, p_uuid2) \
-            (((p_uuid1)->type == (p_uuid2)->type) && ((p_uuid1)->uuid == (p_uuid2)->uuid))
-
-/** @brief Compare for difference both type and uuid members of two (valid, non-null) ble_uuid_t pointers. */
-#define BLE_UUID_NEQ(p_uuid1, p_uuid2) \
-            (((p_uuid1)->type != (p_uuid2)->type) || ((p_uuid1)->uuid != (p_uuid2)->uuid))
-
-/** @} */
-
-/** @addtogroup BLE_TYPES_STRUCTURES Structures
- * @{ */
-
-/** @brief 128 bit UUID values. */
-typedef struct
-{ 
-    unsigned char uuid128[16];
-} ble_uuid128_t;
-
-/** @brief  Bluetooth Low Energy UUID type, encapsulates both 16-bit and 128-bit UUIDs. */
-typedef struct
-{
-    uint16_t    uuid; /**< 16-bit UUID value or octets 12-13 of 128-bit UUID. */
-    uint8_t     type; /**< UUID type, see @ref BLE_UUID_TYPES. If type is BLE_UUID_TYPE_UNKNOWN, the value of uuid is undefined. */
-} ble_uuid_t;
-
-/** @} */
-
-#endif /* BLE_TYPES_H__ */
-
-/**
-  @}
-  @}
-*/
--- a/TARGET_ARCH_BLE/TARGET_NORDIC/TARGET_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/nrf_error.h	Fri Jul 25 09:46:51 2014 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,51 +0,0 @@
-/*
- * Copyright (c) 2012 Nordic Semiconductor. All Rights Reserved.
- *
- * The information contained herein is confidential property of Nordic Semiconductor. The use,
- * copying, transfer or disclosure of such information is prohibited except by express written
- * agreement with Nordic Semiconductor.
- *
- */
- /**
-  @defgroup nrf_error SoftDevice Global Error Codes
-  @{
-   
-  @brief Global Error definitions
-*/
-
-/* Header guard */
-#ifndef NRF_ERROR_H__
-#define NRF_ERROR_H__
-
-/** @defgroup NRF_ERRORS_BASE Error Codes Base number definitions
- * @{ */
-#define NRF_ERROR_BASE_NUM      (0x0)       ///< Global error base
-#define NRF_ERROR_SDM_BASE_NUM  (0x1000)    ///< SDM error base
-#define NRF_ERROR_SOC_BASE_NUM  (0x2000)    ///< SoC error base
-#define NRF_ERROR_STK_BASE_NUM  (0x3000)    ///< STK error base
-/** @} */
-
-#define NRF_SUCCESS                           (NRF_ERROR_BASE_NUM + 0)  ///< Successful command
-#define NRF_ERROR_SVC_HANDLER_MISSING         (NRF_ERROR_BASE_NUM + 1)  ///< SVC handler is missing
-#define NRF_ERROR_SOFTDEVICE_NOT_ENABLED      (NRF_ERROR_BASE_NUM + 2)  ///< SoftDevice has not been enabled
-#define NRF_ERROR_INTERNAL                    (NRF_ERROR_BASE_NUM + 3)  ///< Internal Error
-#define NRF_ERROR_NO_MEM                      (NRF_ERROR_BASE_NUM + 4)  ///< No Memory for operation
-#define NRF_ERROR_NOT_FOUND                   (NRF_ERROR_BASE_NUM + 5)  ///< Not found
-#define NRF_ERROR_NOT_SUPPORTED               (NRF_ERROR_BASE_NUM + 6)  ///< Not supported
-#define NRF_ERROR_INVALID_PARAM               (NRF_ERROR_BASE_NUM + 7)  ///< Invalid Parameter
-#define NRF_ERROR_INVALID_STATE               (NRF_ERROR_BASE_NUM + 8)  ///< Invalid state, operation disallowed in this state
-#define NRF_ERROR_INVALID_LENGTH              (NRF_ERROR_BASE_NUM + 9)  ///< Invalid Length
-#define NRF_ERROR_INVALID_FLAGS               (NRF_ERROR_BASE_NUM + 10) ///< Invalid Flags
-#define NRF_ERROR_INVALID_DATA                (NRF_ERROR_BASE_NUM + 11) ///< Invalid Data
-#define NRF_ERROR_DATA_SIZE                   (NRF_ERROR_BASE_NUM + 12) ///< Data size exceeds limit
-#define NRF_ERROR_TIMEOUT                     (NRF_ERROR_BASE_NUM + 13) ///< Operation timed out
-#define NRF_ERROR_NULL                        (NRF_ERROR_BASE_NUM + 14) ///< Null Pointer
-#define NRF_ERROR_FORBIDDEN                   (NRF_ERROR_BASE_NUM + 15) ///< Forbidden Operation
-#define NRF_ERROR_INVALID_ADDR                (NRF_ERROR_BASE_NUM + 16) ///< Bad Memory Address
-#define NRF_ERROR_BUSY                        (NRF_ERROR_BASE_NUM + 17) ///< Busy
-
-#endif // NRF_ERROR_H__
-
-/**
-  @}
-*/
--- a/TARGET_ARCH_BLE/TARGET_NORDIC/TARGET_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/nrf_error_sdm.h	Fri Jul 25 09:46:51 2014 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,33 +0,0 @@
-/*
- * Copyright (c) 2012 Nordic Semiconductor. All Rights Reserved.
- *
- * The information contained herein is confidential property of Nordic Semiconductor. The use,
- * copying, transfer or disclosure of such information is prohibited except by express written
- * agreement with Nordic Semiconductor.
- *
- */
- /**
-  @addtogroup nrf_sdm_api
-  @{
-  @defgroup nrf_sdm_error SoftDevice Manager Error Codes
-  @{
-     
-  @brief Error definitions for the SDM API
-*/
-
-/* Header guard */
-#ifndef NRF_ERROR_SDM_H__
-#define NRF_ERROR_SDM_H__
-
-#include "nrf_error.h"
-
-#define NRF_ERROR_SDM_LFCLK_SOURCE_UNKNOWN              (NRF_ERROR_SDM_BASE_NUM + 0)  ///< Unknown lfclk source
-#define NRF_ERROR_SDM_INCORRECT_INTERRUPT_CONFIGURATION (NRF_ERROR_SDM_BASE_NUM + 1)  ///< Incorrect interrupt configuration (can be caused by using illegal priority levels, or having enabled SoftDevice interrupts)
-#define NRF_ERROR_SDM_INCORRECT_CLENR0                  (NRF_ERROR_SDM_BASE_NUM + 2)  ///< Incorrect CLENR0 (can be caused by erronous SoftDevice flashing)
-
-#endif // NRF_ERROR_SDM_H__
-
-/**
-  @}
-  @}
-*/
--- a/TARGET_ARCH_BLE/TARGET_NORDIC/TARGET_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/nrf_error_soc.h	Fri Jul 25 09:46:51 2014 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,49 +0,0 @@
-/*
- * Copyright (c) 2012 Nordic Semiconductor. All Rights Reserved.
- *
- * The information contained herein is confidential property of Nordic Semiconductor. The use,
- * copying, transfer or disclosure of such information is prohibited except by express written
- * agreement with Nordic Semiconductor.
- *
- */
- /**
-  @addtogroup nrf_soc_api
-  @{
-  @defgroup nrf_soc_error SoC Library Error Codes
-  @{
-     
-  @brief Error definitions for the SoC library
-
-*/
-
-/* Header guard */
-#ifndef NRF_ERROR_SOC_H__
-#define NRF_ERROR_SOC_H__
-
-#include "nrf_error.h"
-
-/* Mutex Errors */
-#define NRF_ERROR_SOC_MUTEX_ALREADY_TAKEN                 (NRF_ERROR_SOC_BASE_NUM + 0)  ///< Mutex already taken
-
-/* NVIC errors */
-#define NRF_ERROR_SOC_NVIC_INTERRUPT_NOT_AVAILABLE        (NRF_ERROR_SOC_BASE_NUM + 1)  ///< NVIC interrupt not available
-#define NRF_ERROR_SOC_NVIC_INTERRUPT_PRIORITY_NOT_ALLOWED (NRF_ERROR_SOC_BASE_NUM + 2)  ///< NVIC interrupt priority not allowed
-#define NRF_ERROR_SOC_NVIC_SHOULD_NOT_RETURN              (NRF_ERROR_SOC_BASE_NUM + 3)  ///< NVIC should not return
-
-/* Power errors */
-#define NRF_ERROR_SOC_POWER_MODE_UNKNOWN                  (NRF_ERROR_SOC_BASE_NUM + 4)  ///< Power mode unknown
-#define NRF_ERROR_SOC_POWER_POF_THRESHOLD_UNKNOWN         (NRF_ERROR_SOC_BASE_NUM + 5)  ///< Power POF threshold unknown
-#define NRF_ERROR_SOC_POWER_OFF_SHOULD_NOT_RETURN         (NRF_ERROR_SOC_BASE_NUM + 6)  ///< Power off should not return
-
-/* Rand errors */
-#define NRF_ERROR_SOC_RAND_NOT_ENOUGH_VALUES              (NRF_ERROR_SOC_BASE_NUM + 7)  ///< RAND not enough values
-
-/* PPI errors */
-#define NRF_ERROR_SOC_PPI_INVALID_CHANNEL                 (NRF_ERROR_SOC_BASE_NUM + 8)  ///< Invalid PPI Channel
-#define NRF_ERROR_SOC_PPI_INVALID_GROUP                   (NRF_ERROR_SOC_BASE_NUM + 9)  ///< Invalid PPI Group
-
-#endif // NRF_ERROR_SOC_H__
-/**
-  @}
-  @}
-*/
--- a/TARGET_ARCH_BLE/TARGET_NORDIC/TARGET_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/nrf_mbr.h	Fri Jul 25 09:46:51 2014 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,155 +0,0 @@
-/*
- * Copyright (c) 2014 Nordic Semiconductor. All Rights Reserved.
- *
- * The information contained herein is confidential property of Nordic Semiconductor. The use,
- * copying, transfer or disclosure of such information is prohibited except by express written
- * agreement with Nordic Semiconductor.
- *
- */
-/**
-  @defgroup nrf_mbr_api Master Boot Record API
-  @{
-     
-  @brief APIs for updating SoftDevice and BootLoader
- 
-*/
-
-/* Header guard */
-#ifndef NRF_MBR_H__
-#define NRF_MBR_H__
-
-#include "nrf_svc.h"
-#include <stdint.h>
-
-
-/** @addtogroup NRF_MBR_DEFINES Defines
- * @{ */
-
-/**@brief MBR SVC Base number. */
-#define MBR_SVC_BASE 0x18   
-/** @} */
-
-/** @addtogroup NRF_MBR_ENUMS Enumerations
- * @{ */
-
-/**@brief nRF Master Boot Record API SVC numbers. */
-enum NRF_MBR_SVCS
-{
-  SD_MBR_COMMAND = MBR_SVC_BASE, /**< ::sd_mbr_command */
-};
-
-/**@brief Possible values for ::sd_mbr_command_t.command */
-enum NRF_MBR_COMMANDS
-{
-  SD_MBR_COMMAND_COPY_BL,               /**< Copy a new a new BootLoader. @see sd_mbr_command_copy_bl_t */
-  SD_MBR_COMMAND_COPY_SD,               /**< Copy a new SoftDevice. @see ::sd_mbr_command_copy_sd_t*/
-  SD_MBR_COMMAND_INIT_SD,               /**< Init forwarding interrupts to SD, and run reset function in SD*/
-  SD_MBR_COMMAND_COMPARE,               /**< This command works like memcmp. @see ::sd_mbr_command_compare_t*/
-  SD_MBR_COMMAND_VECTOR_TABLE_BASE_SET, /**< Start forwarding all exception to this address @see ::sd_mbr_command_vector_table_base_set_t*/
-};
-
-/** @} */
-
-/** @addtogroup NRF_MBR_TYPES Types
- * @{ */
-
-/**@brief This command copies part of a new SoftDevice
- * The destination area is erased before copying. 
- * If dst is in the middle of a flash page, that whole flash page will be erased.
- * If (dst+len) is in the middle of a flash page, that whole flash page will be erased.
- * 
- * The user of this function is responsible for setting the PROTENSET registers.
- * 
- * @retval ::NRF_SUCCESS indicates that the contents of the memory blocks where copied correctly.
- * @retval ::NRF_ERROR_INTERNAL indicates that the contents of the memory blocks where not verified correctly after copying.
- */
-typedef struct
-{
-  uint32_t *src;  /**< Pointer to the source of data to be copied.*/
-  uint32_t *dst;  /**< Pointer to the destination where the content is to be copied.*/
-  uint32_t len;   /**< Number of 32 bit words to copy. Must be a multiple of 256 words*/
-}sd_mbr_command_copy_sd_t;
-
-
-/**@brief This command works like memcmp, but takes the length in words.
- *
- * @retval ::NRF_SUCCESS indicates that the contents of both memory blocks are equal.
- * @retval ::NRF_ERROR_NULL indicates that the contents of the memory blocks are not equal.
- */
-typedef struct
-{
-  uint32_t *ptr1; /**< Pointer to block of memory */
-  uint32_t *ptr2; /**< Pointer to block of memory */
-  uint32_t len;   /**< Number of 32 bit words to compare*/
-}sd_mbr_command_compare_t;
-
-
-/**@brief This command copies a new BootLoader.
- *  With this command, destination of BootLoader is always the address written in NRF_UICR->BOOTADDR.
- *
- *  Destination is erased by this function.
- *  If (destination+bl_len) is in the middle of a flash page, that whole flash page will be erased.
- *
- *  This function will use PROTENSET to protect the flash that is not intended to be written.
- * 
- *  On Success, this function will not return. It will start the new BootLoader from reset-vector as normal.
- *
- * @retval ::NRF_ERROR_INVALID_STATE indicates that something was wrong.
- * @retval ::NRF_ERROR_INTERNAL indicates an internal error that should not happen.
- * @retval ::NRF_ERROR_FORBIDDEN if NRF_UICR->BOOTADDR is not set
- * @retval ::NRF_ERROR_INVALID_LENGTH is invalid.
- */
-typedef struct
-{
-  uint32_t *bl_src;  /**< Pointer to the source of the Bootloader to be be copied.*/
-  uint32_t bl_len;   /**< Number of 32 bit words to copy for BootLoader */
-}sd_mbr_command_copy_bl_t;
-
-/**@brief Sets the base address of the interrupt vector table for interrupts forwarded from the MBR
- * 
- * Once this function has been called, this address is where the MBR will start to forward interrupts to after a reset.
- *
- * To restore default forwarding thiss function should be called with @param address set to 0.
- * The MBR will then start forwarding to interrupts to the adress in NFR_UICR->BOOTADDR or to the SoftDevice if the BOOTADDR is not set.
- *
- * @retval ::NRF_SUCCESS
- */
-typedef struct
-{ 
-  uint32_t address; /**< The base address of the interrupt vector table for forwarded interrupts.*/
-}sd_mbr_command_vector_table_base_set_t;
-
-typedef struct
-{
-  uint32_t command;  /**< type of command to be issued see @ref NRF_MBR_COMMANDS. */
-  union 
-  {
-    sd_mbr_command_copy_sd_t copy_sd;  /**< Parameters for copy*/
-    sd_mbr_command_copy_bl_t copy_bl;  /**< Parameters for copy SoftDevice and BootLoader*/
-    sd_mbr_command_compare_t compare;  /**< Parameters for verify*/
-    sd_mbr_command_vector_table_base_set_t base_set; /**< Parameters for vector table base set.*/
-  } params;
-}sd_mbr_command_t;
-
-/** @} */
-
-/** @addtogroup NRF_MBR_FUNCTIONS Functions
- * @{ */
-
-/**@brief Issue Master Boot Record commands
- *
- * Commands used when updating a SoftDevice and bootloader
- *
- * @param[in]  param Pointer to a struct describing the command
- *
- *@note for retvals see ::sd_mbr_command_copy_sd_t ::sd_mbr_command_copy_bl_t ::sd_mbr_command_compare_t
-
-*/
-SVCALL(SD_MBR_COMMAND, uint32_t, sd_mbr_command(sd_mbr_command_t* param));
-
-/** @} */
-#endif // NRF_MBR_H__
-
-/**
-  @}
-*/
--- a/TARGET_ARCH_BLE/TARGET_NORDIC/TARGET_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/nrf_sdm.h	Fri Jul 25 09:46:51 2014 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,167 +0,0 @@
-/*
- * Copyright (c) 2011 Nordic Semiconductor. All Rights Reserved.
- *
- * The information contained herein is confidential property of Nordic Semiconductor. The use,
- * copying, transfer or disclosure of such information is prohibited except by express written
- * agreement with Nordic Semiconductor.
- *
- */
-/**
-  @defgroup nrf_sdm_api SoftDevice Manager API
-  @{
-     
-  @brief APIs for SoftDevice management.
- 
-*/
-
-/* Header guard */
-#ifndef NRF_SDM_H__
-#define NRF_SDM_H__
-
-#include "nrf_svc.h"
-#include "nrf51.h"
-#include "nrf_soc.h"
-#include "nrf_error_sdm.h"
-
-/** @addtogroup NRF_SDM_DEFINES Defines
- * @{ */
-
-/**@brief SoftDevice Manager SVC Base number. */
-#define SDM_SVC_BASE  (0x10)
-
-/** @} */
-
-/** @addtogroup NRF_SDM_ENUMS Enumerations
- * @{ */
-
-/**@brief nRF SoftDevice Manager API SVC numbers. */
-enum NRF_SD_SVCS
-{
-  SD_SOFTDEVICE_ENABLE = SDM_SVC_BASE, /**< ::sd_softdevice_enable */
-  SD_SOFTDEVICE_DISABLE,               /**< ::sd_softdevice_disable */
-  SD_SOFTDEVICE_IS_ENABLED,            /**< ::sd_softdevice_is_enabled */
-  SD_SOFTDEVICE_VECTOR_TABLE_BASE_SET, /**< ::sd_softdevice_vector_table_base_set */
-  SVC_SDM_LAST                         /**< Placeholder for last SDM SVC */
-};
-
-/**@brief Possible lfclk oscillator sources. */
-enum NRF_CLOCK_LFCLKSRCS
-{
-  NRF_CLOCK_LFCLKSRC_SYNTH_250_PPM,                       /**< LFCLK Synthesized from HFCLK.                    */
-  NRF_CLOCK_LFCLKSRC_XTAL_500_PPM,                        /**< LFCLK crystal oscillator 500 PPM accuracy.       */
-  NRF_CLOCK_LFCLKSRC_XTAL_250_PPM,                        /**< LFCLK crystal oscillator 250 PPM accuracy.       */
-  NRF_CLOCK_LFCLKSRC_XTAL_150_PPM,                        /**< LFCLK crystal oscillator 150 PPM accuracy.       */
-  NRF_CLOCK_LFCLKSRC_XTAL_100_PPM,                        /**< LFCLK crystal oscillator 100 PPM accuracy.       */
-  NRF_CLOCK_LFCLKSRC_XTAL_75_PPM,                         /**< LFCLK crystal oscillator 75 PPM accuracy.        */
-  NRF_CLOCK_LFCLKSRC_XTAL_50_PPM,                         /**< LFCLK crystal oscillator 50 PPM accuracy.        */
-  NRF_CLOCK_LFCLKSRC_XTAL_30_PPM,                         /**< LFCLK crystal oscillator 30 PPM accuracy.        */
-  NRF_CLOCK_LFCLKSRC_XTAL_20_PPM,                         /**< LFCLK crystal oscillator 20 PPM accuracy.        */
-  NRF_CLOCK_LFCLKSRC_RC_250_PPM_250MS_CALIBRATION,        /**< LFCLK RC oscillator, 250ms  calibration interval.*/
-  NRF_CLOCK_LFCLKSRC_RC_250_PPM_500MS_CALIBRATION,        /**< LFCLK RC oscillator, 500ms  calibration interval.*/
-  NRF_CLOCK_LFCLKSRC_RC_250_PPM_1000MS_CALIBRATION,       /**< LFCLK RC oscillator, 1000ms calibration interval.*/
-  NRF_CLOCK_LFCLKSRC_RC_250_PPM_2000MS_CALIBRATION,       /**< LFCLK RC oscillator, 2000ms calibration interval.*/
-  NRF_CLOCK_LFCLKSRC_RC_250_PPM_4000MS_CALIBRATION,       /**< LFCLK RC oscillator, 4000ms calibration interval.*/
-  NRF_CLOCK_LFCLKSRC_RC_250_PPM_8000MS_CALIBRATION,       /**< LFCLK RC oscillator, 8000ms calibration interval.*/
-  NRF_CLOCK_LFCLKSRC_RC_250_PPM_TEMP_1000MS_CALIBRATION,  /**< LFCLK RC oscillator. Temperature checked every 1000ms, if changed above a threshold, a calibration is done.*/
-  NRF_CLOCK_LFCLKSRC_RC_250_PPM_TEMP_2000MS_CALIBRATION,  /**< LFCLK RC oscillator. Temperature checked every 2000ms, if changed above a threshold, a calibration is done.*/
-  NRF_CLOCK_LFCLKSRC_RC_250_PPM_TEMP_4000MS_CALIBRATION,  /**< LFCLK RC oscillator. Temperature checked every 4000ms, if changed above a threshold, a calibration is done.*/
-  NRF_CLOCK_LFCLKSRC_RC_250_PPM_TEMP_8000MS_CALIBRATION,  /**< LFCLK RC oscillator. Temperature checked every 8000ms, if changed above a threshold, a calibration is done.*/
-  NRF_CLOCK_LFCLKSRC_RC_250_PPM_TEMP_16000MS_CALIBRATION, /**< LFCLK RC oscillator. Temperature checked every 16000ms, if changed above a threshold, a calibration is done.*/
-};
-
-/** @} */
-
-/** @addtogroup NRF_SDM_TYPES Types
- * @{ */
-
-/**@brief Type representing lfclk oscillator source. */
-typedef uint32_t nrf_clock_lfclksrc_t;
-
-
-/**@brief SoftDevice Assertion Handler type.
- *
- * When an unexpected error occurs within the SoftDevice it will call the SoftDevice assertion handler callback.
- * The protocol stack will be in an undefined state when this happens and the only way to recover will be to
- * perform a reset, using e.g. CMSIS NVIC_SystemReset().
- *
- * @note This callback is executed in HardFault context, thus SVC functions cannot be called from the SoftDevice assert callback.
- *       
- * @param[in] pc The program counter of the failed assert.
- * @param[in] line_number Line number where the assert failed.
- * @param[in] file_name File name where the assert failed.
- */
-typedef void (*softdevice_assertion_handler_t)(uint32_t pc, uint16_t line_number, const uint8_t * p_file_name);
-
-/** @} */
-
-/** @addtogroup NRF_SDM_FUNCTIONS Functions
- * @{ */
-
-/**@brief Enables the SoftDevice and by extension the protocol stack.
- *
- * Idempotent function to enable the SoftDevice.
- *
- * @note Some care must be taken if a low frequency clock source is already running when calling this function:
- *       If the LF clock has a different source then the one currently running, it will be stopped. Then, the new
- *       clock source will be started.
- *
- * @note This function has no effect when returning with an error.
- *
- * @post If return code is ::NRF_SUCCESS 
- *       - SoC library and protocol stack APIs are made available
- *       - A portion of RAM will be unavailable (see relevant SDS documentation)
- *       - Some peripherals will be unavailable or available only through the SoC API (see relevant SDS documentation)
- *       - Interrupts will not arrive from protected peripherals or interrupts
- *       - nrf_nvic_ functions must be used instead of CMSIS NVIC_ functions for reliable usage of the softdevice.
- *       - Interrupt latency may be affected by the SoftDevice  (see relevant SDS documentation)
- *       - Chosen low frequency clock source will be running
- *
- * @param clock_source Low frequency clock source and accuracy. (Note: In the case of XTAL source, the PPM accuracy of the chosen clock source must be greater than or equal to the actual characteristics of your XTAL clock).
- * @param assertion_handler Callback for SoftDevice assertions.
- *
- * @retval ::NRF_SUCCESS
- * @retval ::NRF_ERROR_SDM_INCORRECT_INTERRUPT_CONFIGURATION SoftDeviceinterrupt is already enabled, or an enabled interrupt has an illegal priority level
- * @retval ::NRF_ERROR_SDM_LFCLK_SOURCE_UNKNOWN Unknown low frequency clock source selected
- */
-SVCALL(SD_SOFTDEVICE_ENABLE, uint32_t, sd_softdevice_enable(nrf_clock_lfclksrc_t clock_source, softdevice_assertion_handler_t assertion_handler));
-
-/**@brief Disables the SoftDevice and by extension the protocol stack.
- * 
- * Idempotent function to disable the SoftDevice.
- *
- * @post SoC library and protocol stack APIs are made unavailable.
- * @post All interrupts that was protected by the SoftDevice will be disabled and initialized to priority 0 (highest).
- * @post All peripherals used by the SoftDevice will be reset to default values.
- * @post All of RAM become available.
- * @post All interrupts are forwarded to the application.
- * @post LFCLK source chosen in ::sd_softdevice_enable will be left running.
- *
- * @retval ::NRF_SUCCESS
- */
-SVCALL(SD_SOFTDEVICE_DISABLE, uint32_t, sd_softdevice_disable(void));
-
-/**@brief Check if the SoftDevice is enabled.
- *
- * @param[out]  p_softdevice_enabled If the SoftDevice is enabled: 1 else 0.
- *
- * @retval ::NRF_SUCCESS
- */
-SVCALL(SD_SOFTDEVICE_IS_ENABLED, uint32_t, sd_softdevice_is_enabled(uint8_t * p_softdevice_enabled));
-
-/**@brief Sets the base address of the interrupt vector table for interrupts forwarded from the SoftDevice
- * 
- * This function is only intended to be called when a bootloader is enabled.
- *
- * @param[in] address The base address of the interrupt vector table for forwarded interrupts.
- 
- * @retval ::NRF_SUCCESS
- */
-SVCALL(SD_SOFTDEVICE_VECTOR_TABLE_BASE_SET, uint32_t, sd_softdevice_vector_table_base_set(uint32_t address)); 
-
-/** @} */
-
-#endif // NRF_SDM_H__
-
-/**
-  @}
-*/
--- a/TARGET_ARCH_BLE/TARGET_NORDIC/TARGET_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/nrf_soc.h	Fri Jul 25 09:46:51 2014 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,958 +0,0 @@
-/* Copyright (c) 2011 Nordic Semiconductor. All Rights Reserved.
- *
- * The information contained herein is confidential property of Nordic Semiconductor. The use,
- * copying, transfer or disclosure of such information is prohibited except by express written
- * agreement with Nordic Semiconductor.
- *
- */
- 
-/**
- * @defgroup nrf_soc_api SoC Library API
- * @{
- * 
- * @brief APIs for the SoC library.
- * 
-*/
-
-#ifndef NRF_SOC_H__
-#define NRF_SOC_H__
-
-#include <stdint.h>
-#include <stdbool.h>
-#include "nrf_svc.h"
-#include "nrf51.h"
-#include "nrf51_bitfields.h"
-#include "nrf_error_soc.h"
-
-/** @addtogroup NRF_SOC_DEFINES Defines
- * @{ */
-
-/**@brief The number of the lowest SVC number reserved for the SoC library. */
-#define SOC_SVC_BASE               (0x20)
-#define SOC_SVC_BASE_NOT_AVAILABLE (0x23)
-
-/**@brief Guranteed time for application to process radio inactive notification. */
-#define NRF_RADIO_NOTIFICATION_INACTIVE_GUARANTEED_TIME_US  (62)
-
-/**@brief The minimum allowed timeslot extension time. */
-#define NRF_RADIO_MINIMUM_TIMESLOT_LENGTH_EXTENSION_TIME_US (200)
-
-#define SOC_ECB_KEY_LENGTH            (16)                       /**< ECB key length. */
-#define SOC_ECB_CLEARTEXT_LENGTH      (16)                       /**< ECB cleartext length. */
-#define SOC_ECB_CIPHERTEXT_LENGTH     (SOC_ECB_CLEARTEXT_LENGTH) /**< ECB ciphertext length. */
-
-#define SD_EVT_IRQn                   (SWI2_IRQn)        /**< SoftDevice Event IRQ number. Used for both protocol events and SoC events. */
-#define SD_EVT_IRQHandler             (SWI2_IRQHandler)  /**< SoftDevice Event IRQ handler. Used for both protocol events and SoC events. */
-#define RADIO_NOTIFICATION_IRQn       (SWI1_IRQn)        /**< The radio notification IRQ number. */
-#define RADIO_NOTIFICATION_IRQHandler (SWI1_IRQHandler)  /**< The radio notification IRQ handler. */
-
-#define NRF_RADIO_LENGTH_MIN_US       (100)               /**< The shortest allowed radio timeslot, in microseconds. */
-#define NRF_RADIO_LENGTH_MAX_US       (100000)            /**< The longest allowed radio timeslot, in microseconds. */
-
-#define NRF_RADIO_DISTANCE_MAX_US         (128000000UL - 1UL) /**< The longest timeslot distance, in microseconds, allowed for the distance parameter (see @ref nrf_radio_request_normal_t) in the request. */
-
-#define NRF_RADIO_EARLIEST_TIMEOUT_MAX_US (128000000UL - 1UL) /**< The longest timeout, in microseconds, allowed when requesting the earliest possible timeslot. */
-
-#define NRF_RADIO_START_JITTER_US     (2)                 /**< The maximum jitter in NRF_RADIO_CALLBACK_SIGNAL_TYPE_START relative to the requested start time. */
-
-/** @} */
-
-/** @addtogroup NRF_SOC_TYPES Types
- * @{ */
-
-/**@brief The SVC numbers used by the SVC functions in the SoC library. */
-enum NRF_SOC_SVCS
-{
-  SD_FLASH_PAGE_ERASE = SOC_SVC_BASE,
-  SD_FLASH_WRITE,
-  SD_FLASH_PROTECT,
-  SD_MUTEX_NEW = SOC_SVC_BASE_NOT_AVAILABLE,
-  SD_MUTEX_ACQUIRE,
-  SD_MUTEX_RELEASE,
-  SD_NVIC_ENABLEIRQ,
-  SD_NVIC_DISABLEIRQ,
-  SD_NVIC_GETPENDINGIRQ,
-  SD_NVIC_SETPENDINGIRQ,
-  SD_NVIC_CLEARPENDINGIRQ,
-  SD_NVIC_SETPRIORITY,
-  SD_NVIC_GETPRIORITY,
-  SD_NVIC_SYSTEMRESET,
-  SD_NVIC_CRITICAL_REGION_ENTER,
-  SD_NVIC_CRITICAL_REGION_EXIT,
-  SD_RAND_APPLICATION_POOL_CAPACITY,
-  SD_RAND_APPLICATION_BYTES_AVAILABLE,
-  SD_RAND_APPLICATION_GET_VECTOR,
-  SD_POWER_MODE_SET,
-  SD_POWER_SYSTEM_OFF,
-  SD_POWER_RESET_REASON_GET,
-  SD_POWER_RESET_REASON_CLR,
-  SD_POWER_POF_ENABLE,
-  SD_POWER_POF_THRESHOLD_SET,
-  SD_POWER_RAMON_SET,
-  SD_POWER_RAMON_CLR,
-  SD_POWER_RAMON_GET,
-  SD_POWER_GPREGRET_SET,
-  SD_POWER_GPREGRET_CLR,
-  SD_POWER_GPREGRET_GET,
-  SD_POWER_DCDC_MODE_SET,
-  SD_APP_EVT_WAIT,
-  SD_CLOCK_HFCLK_REQUEST,
-  SD_CLOCK_HFCLK_RELEASE,
-  SD_CLOCK_HFCLK_IS_RUNNING,
-  SD_PPI_CHANNEL_ENABLE_GET,
-  SD_PPI_CHANNEL_ENABLE_SET,
-  SD_PPI_CHANNEL_ENABLE_CLR,
-  SD_PPI_CHANNEL_ASSIGN,
-  SD_PPI_GROUP_TASK_ENABLE,
-  SD_PPI_GROUP_TASK_DISABLE,
-  SD_PPI_GROUP_ASSIGN,
-  SD_PPI_GROUP_GET,
-  SD_RADIO_NOTIFICATION_CFG_SET,
-  SD_ECB_BLOCK_ENCRYPT,
-  SD_RADIO_SESSION_OPEN,
-  SD_RADIO_SESSION_CLOSE,
-  SD_RADIO_REQUEST,
-  SD_EVT_GET,
-  SD_TEMP_GET,
-  SVC_SOC_LAST
-};
-
-/**@brief Possible values of a ::nrf_mutex_t. */
-enum NRF_MUTEX_VALUES
-{
-  NRF_MUTEX_FREE,
-  NRF_MUTEX_TAKEN
-};
-
-/**@brief Possible values of ::nrf_app_irq_priority_t. */
-enum NRF_APP_PRIORITIES
-{
-  NRF_APP_PRIORITY_HIGH = 1,
-  NRF_APP_PRIORITY_LOW = 3
-};
-
-/**@brief Possible values of ::nrf_power_mode_t. */
-enum NRF_POWER_MODES
-{
-  NRF_POWER_MODE_CONSTLAT,  /**< Constant latency mode. See power management in the reference manual. */
-  NRF_POWER_MODE_LOWPWR     /**< Low power mode. See power management in the reference manual. */
-};
-
-
-/**@brief Possible values of ::nrf_power_failure_threshold_t */
-enum NRF_POWER_THRESHOLDS
-{
-  NRF_POWER_THRESHOLD_V21,  /**< 2.1 Volts power failure threshold. */
-  NRF_POWER_THRESHOLD_V23,  /**< 2.3 Volts power failure threshold. */
-  NRF_POWER_THRESHOLD_V25,  /**< 2.5 Volts power failure threshold. */ 
-  NRF_POWER_THRESHOLD_V27   /**< 2.7 Volts power failure threshold. */
-};
-
-
-/**@brief Possible values of ::nrf_power_dcdc_mode_t. */
-enum NRF_POWER_DCDC_MODES
-{
-  NRF_POWER_DCDC_MODE_OFF,          /**< The DCDC is always off. */
-  NRF_POWER_DCDC_MODE_ON,           /**< The DCDC is always on. */
-  NRF_POWER_DCDC_MODE_AUTOMATIC     /**< The DCDC is automatically managed. */
-};
-
-/**@brief Possible values of ::nrf_radio_notification_distance_t. */
-enum NRF_RADIO_NOTIFICATION_DISTANCES
-{
-  NRF_RADIO_NOTIFICATION_DISTANCE_NONE = 0, /**< The event does not have a notification. */
-  NRF_RADIO_NOTIFICATION_DISTANCE_800US,    /**< The distance from the active notification to start of radio activity. */
-  NRF_RADIO_NOTIFICATION_DISTANCE_1740US,   /**< The distance from the active notification to start of radio activity. */
-  NRF_RADIO_NOTIFICATION_DISTANCE_2680US,   /**< The distance from the active notification to start of radio activity. */
-  NRF_RADIO_NOTIFICATION_DISTANCE_3620US,   /**< The distance from the active notification to start of radio activity. */
-  NRF_RADIO_NOTIFICATION_DISTANCE_4560US,   /**< The distance from the active notification to start of radio activity. */
-  NRF_RADIO_NOTIFICATION_DISTANCE_5500US    /**< The distance from the active notification to start of radio activity. */
-};
-
-
-/**@brief Possible values of ::nrf_radio_notification_type_t. */
-enum NRF_RADIO_NOTIFICATION_TYPES
-{
-  NRF_RADIO_NOTIFICATION_TYPE_NONE = 0,        /**< The event does not have a radio notification signal. */
-  NRF_RADIO_NOTIFICATION_TYPE_INT_ON_ACTIVE,   /**< Using interrupt for notification when the radio will be enabled. */
-  NRF_RADIO_NOTIFICATION_TYPE_INT_ON_INACTIVE, /**< Using interrupt for notification when the radio has been disabled. */
-  NRF_RADIO_NOTIFICATION_TYPE_INT_ON_BOTH,     /**< Using interrupt for notification both when the radio will be enabled and disabled. */
-};
-
-/**@brief SoC Events. */
-enum NRF_SOC_EVTS
-{
-  NRF_EVT_HFCLKSTARTED,                         /**< Event indicating that the HFCLK has started. */
-  NRF_EVT_POWER_FAILURE_WARNING,                /**< Event indicating that a power failure warning has occurred. */
-  NRF_EVT_FLASH_OPERATION_SUCCESS,              /**< Event indicating that the ongoing flash operation has completed successfully. */
-  NRF_EVT_FLASH_OPERATION_ERROR,                /**< Event indicating that the ongoing flash operation has timed out with an error. */
-  NRF_EVT_RADIO_BLOCKED,                        /**< Event indicating that a radio timeslot was blocked. */
-  NRF_EVT_RADIO_CANCELED,                       /**< Event indicating that a radio timeslot was canceled by SoftDevice. */
-  NRF_EVT_RADIO_SIGNAL_CALLBACK_INVALID_RETURN, /**< Event indicating that a radio signal callback handler return was invalid. */
-  NRF_EVT_RADIO_SESSION_IDLE,                   /**< Event indicating that a radio session is idle. */
-  NRF_EVT_RADIO_SESSION_CLOSED,                 /**< Event indicating that a radio session is closed. */
-  NRF_EVT_NUMBER_OF_EVTS
-};
-
-/** @} */
-
-/** @addtogroup NRF_SOC_TYPES Types
- * @{ */
-
-/**@brief Represents a mutex for use with the nrf_mutex functions.
- * @note Accessing the value directly is not safe, use the mutex functions!
- */
-typedef volatile uint8_t nrf_mutex_t;
-
-/**@brief The interrupt priorities available to the application while the softdevice is active. */
-typedef uint8_t nrf_app_irq_priority_t;
-
-/**@brief Represents a power mode, used in power mode functions */
-typedef uint8_t nrf_power_mode_t;
-
-/**@brief Represents a power failure threshold value. */
-typedef uint8_t nrf_power_failure_threshold_t;
-
-/**@brief Represents a DCDC mode value. */
-typedef uint32_t nrf_power_dcdc_mode_t;
-
-/**@brief Radio notification distances. */
-typedef uint8_t nrf_radio_notification_distance_t;
-
-/**@brief Radio notification types. */
-typedef uint8_t nrf_radio_notification_type_t;
-
-/** @brief The Radio signal callback types. */
-enum NRF_RADIO_CALLBACK_SIGNAL_TYPE
-{
-  NRF_RADIO_CALLBACK_SIGNAL_TYPE_START,            /**< This signal indicates the start of the radio timeslot. */
-  NRF_RADIO_CALLBACK_SIGNAL_TYPE_TIMER0,            /**< This signal indicates the NRF_TIMER0 interrupt. */
-  NRF_RADIO_CALLBACK_SIGNAL_TYPE_RADIO,             /**< This signal indicates the NRF_RADIO interrupt. */
-  NRF_RADIO_CALLBACK_SIGNAL_TYPE_EXTEND_FAILED,     /**< This signal indicates extend action failed. */
-  NRF_RADIO_CALLBACK_SIGNAL_TYPE_EXTEND_SUCCEEDED   /**< This signal indicates extend action succeeded. */
-};
-
-/** @brief The actions requested by the signal callback.
- *
- *  This code gives the SOC instructions about what action to take when the signal callback has
- *  returned.
- */
-enum NRF_RADIO_SIGNAL_CALLBACK_ACTION
-{
-  NRF_RADIO_SIGNAL_CALLBACK_ACTION_NONE,            /**< Return without action. */
-  NRF_RADIO_SIGNAL_CALLBACK_ACTION_EXTEND,          /**< Request an extension of the current timeslot (maximum execution time for this action is when the extension succeeded). */
-  NRF_RADIO_SIGNAL_CALLBACK_ACTION_END,             /**< End the current radio timeslot. */
-  NRF_RADIO_SIGNAL_CALLBACK_ACTION_REQUEST_AND_END  /**< Request a new radio timeslot and end the current timeslot. */
-};
-
-/**@brief Radio timeslot high frequency clock source configuration. */
-enum NRF_RADIO_HFCLK_CFG
-{
-  NRF_RADIO_HFCLK_CFG_DEFAULT,                      /**< Use the currently selected oscillator as HF clock source during the timeslot (i.e. the source is not specified). */
-  NRF_RADIO_HFCLK_CFG_FORCE_XTAL,                   /**< Force external crystal to be used as HF clock source during whole the timeslot. */
-};
-
-/** @brief Radio timeslot priorities. */
-enum NRF_RADIO_PRIORITY
-{
-  NRF_RADIO_PRIORITY_HIGH,                          /**< High (equal priority as the normal connection priority of the SoftDevice stack(s)). */
-  NRF_RADIO_PRIORITY_NORMAL,                        /**< Normal (equal priority as the priority of secondary activites of the SoftDevice stack(s)). */
-};
-
-/** @brief Radio timeslot request type. */
-enum NRF_RADIO_REQUEST_TYPE
-{
-  NRF_RADIO_REQ_TYPE_EARLIEST,                      /**< Request timeslot as early as possible. This should always be used for the first request in a session. */
-  NRF_RADIO_REQ_TYPE_NORMAL                         /**< Normal timeslot request. */
-};
-
-/** @brief Parameters for a request for a timeslot as early as possible. */
-typedef struct
-{
-  uint8_t       hfclk;                              /**< High frequency clock source, see @ref NRF_RADIO_HFCLK_CFG. */
-  uint8_t       priority;                           /**< The radio timeslot priority, see @ref NRF_RADIO_PRIORITY. */
-  uint32_t      length_us;                          /**< The radio timeslot length (in the range 100 to 100,000] microseconds). */
-  uint32_t      timeout_us;                         /**< Longest acceptable delay until the start of the requested timeslot (up to @ref NRF_RADIO_EARLIEST_TIMEOUT_MAX_US microseconds). */
-} nrf_radio_request_earliest_t;
-
-/** @brief Parameters for a normal radio request. */
-typedef struct
-{
-  uint8_t       hfclk;                              /**< High frequency clock source, see @ref NRF_RADIO_HFCLK_CFG. */
-  uint8_t       priority;                           /**< The radio timeslot priority, see @ref NRF_RADIO_PRIORITY. */
-  uint32_t      distance_us;                        /**< Distance from the start of the previous radio timeslot (up to @ref NRF_RADIO_DISTANCE_MAX_US microseconds). */
-  uint32_t      length_us;                          /**< The radio timeslot length (in the range [100..100,000] microseconds). */
-} nrf_radio_request_normal_t;
-
-/** @brief Radio request parameters. */
-typedef struct
-{
-  uint8_t                         request_type;     /**< Type of request, see @ref NRF_RADIO_REQUEST_TYPE. */
-  union
-  {
-    nrf_radio_request_earliest_t  earliest;         /**< Parameters for a request for a timeslot as early as possible. */
-    nrf_radio_request_normal_t    normal;           /**< Parameters for a normal radio request. */
-  } params;
-} nrf_radio_request_t;
-
-/**@brief Return parameters of the radio timeslot signal callback. */
-typedef struct
-{
-  uint8_t               callback_action;            /**< The action requested by the application when returning from the signal callback, see @ref NRF_RADIO_SIGNAL_CALLBACK_ACTION. */
-  union
-  {
-    struct
-    {
-      nrf_radio_request_t * p_next;                 /**< The request parameters for the next radio timeslot. */
-    } request;                                      /**< Additional parameters for return_code @ref NRF_RADIO_SIGNAL_CALLBACK_ACTION_REQUEST_AND_END. */
-    struct
-    {
-      uint32_t              length_us;              /**< Requested extension of the timeslot duration (microseconds) (for minimum time see @ref NRF_RADIO_MINIMUM_TIMESLOT_LENGTH_EXTENSION_TIME_US). */
-    } extend;                                       /**< Additional parameters for return_code @ref NRF_RADIO_SIGNAL_CALLBACK_ACTION_EXTEND. */
-  } params;
-} nrf_radio_signal_callback_return_param_t;
-
-/**@brief The radio signal callback type.
- *
- * @note In case of invalid return parameters, the radio timeslot will automatically end
- *       immediately after returning from the signal callback and the
- *       @ref NRF_EVT_RADIO_SIGNAL_CALLBACK_INVALID_RETURN event will be sent.
- * @note The returned struct pointer must remain valid after the signal callback
- *       function returns. For instance, this means that it must not point to a stack variable.
- *
- * @param[in] signal_type Type of signal, see @ref NRF_RADIO_CALLBACK_SIGNAL_TYPE.
- *
- * @return Pointer to structure containing action requested by the application.
- */
-typedef nrf_radio_signal_callback_return_param_t * (*nrf_radio_signal_callback_t) (uint8_t signal_type);
-
-/**@brief AES ECB data structure */
-typedef struct
-{
-  uint8_t key[SOC_ECB_KEY_LENGTH];                  /**< Encryption key. */
-  uint8_t cleartext[SOC_ECB_CLEARTEXT_LENGTH];      /**< Clear Text data. */
-  uint8_t ciphertext[SOC_ECB_CIPHERTEXT_LENGTH];    /**< Cipher Text data. */
-} nrf_ecb_hal_data_t;
-
-/** @} */
-
-/** @addtogroup NRF_SOC_FUNCTIONS Functions
- * @{ */
-
-/**@brief Initialize a mutex.
- *
- * @param[in] p_mutex Pointer to the mutex to initialize.
- *
- * @retval ::NRF_SUCCESS
- */
-SVCALL(SD_MUTEX_NEW, uint32_t, sd_mutex_new(nrf_mutex_t * p_mutex));
-
-/**@brief Attempt to acquire a mutex.
- *
- * @param[in] p_mutex Pointer to the mutex to acquire.
- *
- * @retval ::NRF_SUCCESS The mutex was successfully acquired.
- * @retval ::NRF_ERROR_SOC_MUTEX_ALREADY_TAKEN The mutex could not be acquired.
- */
-SVCALL(SD_MUTEX_ACQUIRE, uint32_t, sd_mutex_acquire(nrf_mutex_t * p_mutex));
-
-/**@brief Release a mutex.
- *
- * @param[in] p_mutex Pointer to the mutex to release.
- *
- * @retval ::NRF_SUCCESS
- */
-SVCALL(SD_MUTEX_RELEASE, uint32_t, sd_mutex_release(nrf_mutex_t * p_mutex));
-
-/**@brief Enable External Interrupt.
- * @note Corresponds to NVIC_EnableIRQ in CMSIS.
- *
- * @pre{IRQn is valid and not reserved by the stack}
- *
- * @param[in] IRQn See the NVIC_EnableIRQ documentation in CMSIS.
- *
- * @retval ::NRF_SUCCESS The interrupt was enabled.
- * @retval ::NRF_ERROR_SOC_NVIC_INTERRUPT_NOT_AVAILABLE The interrupt is not available for the application.
- * @retval ::NRF_ERROR_SOC_NVIC_INTERRUPT_PRIORITY_NOT_ALLOWED The interrupt has a priority not available for the application.
- */
-SVCALL(SD_NVIC_ENABLEIRQ, uint32_t, sd_nvic_EnableIRQ(IRQn_Type IRQn));
-
-/**@brief  Disable External Interrupt.
- * @note Corresponds to NVIC_DisableIRQ in CMSIS.
- *
- * @pre{IRQn is valid and not reserved by the stack}
- *
- * @param[in] IRQn See the NVIC_DisableIRQ documentation in CMSIS
- *
- * @retval ::NRF_SUCCESS The interrupt was disabled.
- * @retval ::NRF_ERROR_SOC_NVIC_INTERRUPT_NOT_AVAILABLE The interrupt is not available for the application.
- */
-SVCALL(SD_NVIC_DISABLEIRQ, uint32_t, sd_nvic_DisableIRQ(IRQn_Type IRQn));
-
-/**@brief  Get Pending Interrupt.
- * @note Corresponds to NVIC_GetPendingIRQ in CMSIS.
- *
- * @pre{IRQn is valid and not reserved by the stack}
- *
- * @param[in]   IRQn          See the NVIC_GetPendingIRQ documentation in CMSIS.
- * @param[out]  p_pending_irq Return value from NVIC_GetPendingIRQ.
- *
- * @retval ::NRF_SUCCESS The interrupt is available for the application.
- * @retval ::NRF_ERROR_SOC_NVIC_INTERRUPT_NOT_AVAILABLE IRQn is not available for the application.
- */
-SVCALL(SD_NVIC_GETPENDINGIRQ, uint32_t, sd_nvic_GetPendingIRQ(IRQn_Type IRQn, uint32_t * p_pending_irq));
-
-/**@brief  Set Pending Interrupt.
- * @note Corresponds to NVIC_SetPendingIRQ in CMSIS.
- *
- * @pre{IRQn is valid and not reserved by the stack}
- *
- * @param[in] IRQn See the NVIC_SetPendingIRQ documentation in CMSIS.
- *
- * @retval ::NRF_SUCCESS The interrupt is set pending.
- * @retval ::NRF_ERROR_SOC_NVIC_INTERRUPT_NOT_AVAILABLE IRQn is not available for the application.
- */
-SVCALL(SD_NVIC_SETPENDINGIRQ, uint32_t, sd_nvic_SetPendingIRQ(IRQn_Type IRQn));
-
-/**@brief  Clear Pending Interrupt.
- * @note Corresponds to NVIC_ClearPendingIRQ in CMSIS.
- *
- * @pre{IRQn is valid and not reserved by the stack}
- *
- * @param[in] IRQn See the NVIC_ClearPendingIRQ documentation in CMSIS.
- *
- * @retval ::NRF_SUCCESS The interrupt pending flag is cleared.
- * @retval ::NRF_ERROR_SOC_NVIC_INTERRUPT_NOT_AVAILABLE IRQn is not available for the application.
- */
-SVCALL(SD_NVIC_CLEARPENDINGIRQ, uint32_t, sd_nvic_ClearPendingIRQ(IRQn_Type IRQn));
-
-/**@brief Set Interrupt Priority.
- * @note Corresponds to NVIC_SetPriority in CMSIS.
- *
- * @pre{IRQn is valid and not reserved by the stack}
- * @pre{priority is valid and not reserved by the stack}
- *
- * @param[in] IRQn      See the NVIC_SetPriority documentation in CMSIS.
- * @param[in] priority  A valid IRQ priority for use by the application.
- *
- * @retval ::NRF_SUCCESS The interrupt and priority level is available for the application.
- * @retval ::NRF_ERROR_SOC_NVIC_INTERRUPT_NOT_AVAILABLE IRQn is not available for the application.
- * @retval ::NRF_ERROR_SOC_NVIC_INTERRUPT_PRIORITY_NOT_ALLOWED The interrupt priority is not available for the application.
- */
-SVCALL(SD_NVIC_SETPRIORITY, uint32_t, sd_nvic_SetPriority(IRQn_Type IRQn, nrf_app_irq_priority_t priority));
-
-/**@brief Get Interrupt Priority.
- * @note Corresponds to NVIC_GetPriority in CMSIS.
- *
- * @pre{IRQn is valid and not reserved by the stack}
- *
- * @param[in]  IRQn         See the NVIC_GetPriority documentation in CMSIS.
- * @param[out] p_priority   Return value from NVIC_GetPriority.
- *
- * @retval ::NRF_SUCCESS The interrupt priority is returned in p_priority.
- * @retval ::NRF_ERROR_SOC_NVIC_INTERRUPT_NOT_AVAILABLE - IRQn is not available for the application.
- */
-SVCALL(SD_NVIC_GETPRIORITY, uint32_t, sd_nvic_GetPriority(IRQn_Type IRQn, nrf_app_irq_priority_t * p_priority));
-
-/**@brief System Reset.
- * @note Corresponds to NVIC_SystemReset in CMSIS.
- *
- * @retval ::NRF_ERROR_SOC_NVIC_SHOULD_NOT_RETURN
- */
-SVCALL(SD_NVIC_SYSTEMRESET, uint32_t, sd_nvic_SystemReset(void));
-
-/**@brief Enters critical region.
- *
- * @post Application interrupts will be disabled.
- * @sa sd_nvic_critical_region_exit
- *
- * @param[out]  p_is_nested_critical_region  1: If in a nested critical region.
- *                                           0: Otherwise.
- *
- * @retval ::NRF_SUCCESS
- */
-SVCALL(SD_NVIC_CRITICAL_REGION_ENTER, uint32_t, sd_nvic_critical_region_enter(uint8_t * p_is_nested_critical_region));
-
-/**@brief Exit critical region.
- *
- * @pre Application has entered a critical region using ::sd_nvic_critical_region_enter.
- * @post If not in a nested critical region, the application interrupts will restored to the state before ::sd_nvic_critical_region_enter was called. 
- *
- * @param[in] is_nested_critical_region If this is set to 1, the critical region won't be exited. @sa sd_nvic_critical_region_enter.
- *
- * @retval ::NRF_SUCCESS
- */
-SVCALL(SD_NVIC_CRITICAL_REGION_EXIT, uint32_t, sd_nvic_critical_region_exit(uint8_t is_nested_critical_region));
-
-/**@brief Query the capacity of the application random pool.
- *
- * @param[out] p_pool_capacity The capacity of the pool.
- *
- * @retval ::NRF_SUCCESS
- */
-SVCALL(SD_RAND_APPLICATION_POOL_CAPACITY, uint32_t, sd_rand_application_pool_capacity_get(uint8_t * p_pool_capacity));
-
-/**@brief Get number of random bytes available to the application.
- *
- * @param[out] p_bytes_available The number of bytes currently available in the pool.
- *
- * @retval ::NRF_SUCCESS
- */
-SVCALL(SD_RAND_APPLICATION_BYTES_AVAILABLE, uint32_t, sd_rand_application_bytes_available_get(uint8_t * p_bytes_available));
-
-/**@brief Get random bytes from the application pool.
- *
- * @param[out]  p_buff  Pointer to unit8_t buffer for storing the bytes.
- * @param[in]   length  Number of bytes to take from pool and place in p_buff.
- *
- * @retval ::NRF_SUCCESS The requested bytes were written to p_buff.
- * @retval ::NRF_ERROR_SOC_RAND_NOT_ENOUGH_VALUES No bytes were written to the buffer, because there were not enough bytes available.
-*/
-SVCALL(SD_RAND_APPLICATION_GET_VECTOR, uint32_t, sd_rand_application_vector_get(uint8_t * p_buff, uint8_t length));
-
-/**@brief Gets the reset reason register. 
- *
- * @param[out]  p_reset_reason  Contents of the NRF_POWER->RESETREAS register.
- *
- * @retval ::NRF_SUCCESS
- */
-SVCALL(SD_POWER_RESET_REASON_GET, uint32_t, sd_power_reset_reason_get(uint32_t * p_reset_reason));
-
-/**@brief Clears the bits of the reset reason register. 
- *
- * @param[in] reset_reason_clr_msk Contains the bits to clear from the reset reason register.
- *
- * @retval ::NRF_SUCCESS
- */
-SVCALL(SD_POWER_RESET_REASON_CLR, uint32_t, sd_power_reset_reason_clr(uint32_t reset_reason_clr_msk));
-
-/**@brief Sets the power mode when in CPU sleep.
- *
- * @param[in] power_mode The power mode to use when in CPU sleep. @sa sd_app_evt_wait
- *
- * @retval ::NRF_SUCCESS The power mode was set.
- * @retval ::NRF_ERROR_SOC_POWER_MODE_UNKNOWN The power mode was unknown.
- */
-SVCALL(SD_POWER_MODE_SET, uint32_t, sd_power_mode_set(nrf_power_mode_t power_mode));
-
-/**@brief Puts the chip in System OFF mode. 
- *
- * @retval ::NRF_ERROR_SOC_POWER_OFF_SHOULD_NOT_RETURN
- */
-SVCALL(SD_POWER_SYSTEM_OFF, uint32_t, sd_power_system_off(void));
-
-/**@brief Enables or disables the power-fail comparator.
- *
- * Enabling this will give a softdevice event (NRF_EVT_POWER_FAILURE_WARNING) when the power failure warning occurs.
- * The event can be retrieved with sd_evt_get();
- *
- * @param[in] pof_enable    True if the power-fail comparator should be enabled, false if it should be disabled.
- *
- * @retval ::NRF_SUCCESS
- */
-SVCALL(SD_POWER_POF_ENABLE, uint32_t, sd_power_pof_enable(uint8_t pof_enable));
-
-/**@brief Sets the power-fail threshold value.
- *
- * @param[in] threshold The power-fail threshold value to use.
- *
- * @retval ::NRF_SUCCESS The power failure threshold was set.
- * @retval ::NRF_ERROR_SOC_POWER_POF_THRESHOLD_UNKNOWN The power failure threshold is unknown.
- */
-SVCALL(SD_POWER_POF_THRESHOLD_SET, uint32_t, sd_power_pof_threshold_set(nrf_power_failure_threshold_t threshold));
-
-/**@brief Sets bits in the NRF_POWER->RAMON register.
- *
- * @param[in] ramon Contains the bits needed to be set in the NRF_POWER->RAMON register.
- *
- * @retval ::NRF_SUCCESS
- */
-SVCALL(SD_POWER_RAMON_SET, uint32_t, sd_power_ramon_set(uint32_t ramon));
-
-/** @brief Clears bits in the NRF_POWER->RAMON register.
- *
- * @param ramon Contains the bits needed to be cleared in the NRF_POWER->RAMON register.
- *
- * @retval ::NRF_SUCCESS
- */
-SVCALL(SD_POWER_RAMON_CLR, uint32_t, sd_power_ramon_clr(uint32_t ramon));
-
-/**@brief Get contents of NRF_POWER->RAMON register, indicates power status of ram blocks.
- *
- * @param[out] p_ramon Content of NRF_POWER->RAMON register.
- *
- * @retval ::NRF_SUCCESS
- */
-SVCALL(SD_POWER_RAMON_GET, uint32_t, sd_power_ramon_get(uint32_t * p_ramon));
-
-/**@brief Set bits in the NRF_POWER->GPREGRET register.
- *
- * @param[in] gpregret_msk Bits to be set in the GPREGRET register.
- *
- * @retval ::NRF_SUCCESS
- */
-SVCALL(SD_POWER_GPREGRET_SET, uint32_t, sd_power_gpregret_set(uint32_t gpregret_msk));
-
-/**@brief Clear bits in the NRF_POWER->GPREGRET register.
- *
- * @param[in] gpregret_msk Bits to be clear in the GPREGRET register.
- *
- * @retval ::NRF_SUCCESS
- */
-SVCALL(SD_POWER_GPREGRET_CLR, uint32_t, sd_power_gpregret_clr(uint32_t gpregret_msk));
-
-/**@brief Get contents of the NRF_POWER->GPREGRET register.
- *
- * @param[out] p_gpregret Contents of the GPREGRET register.
- *
- * @retval ::NRF_SUCCESS
- */
-SVCALL(SD_POWER_GPREGRET_GET, uint32_t, sd_power_gpregret_get(uint32_t *p_gpregret));
-
-/**@brief Sets the DCDC mode.
- *
- * Depending on the internal state of the SoftDevice, the mode change may not happen immediately.
- * The DCDC mode switch will be blocked when occurring in close proximity to radio transmissions. When
- * the radio transmission is done, the last mode will be used.
- *
- * @param[in] dcdc_mode The mode of the DCDC.
- *
- * @retval ::NRF_SUCCESS
- * @retval ::NRF_ERROR_INVALID_PARAM The DCDC mode is invalid.
- */
-SVCALL(SD_POWER_DCDC_MODE_SET, uint32_t, sd_power_dcdc_mode_set(nrf_power_dcdc_mode_t dcdc_mode));
-
-/**@brief Request the high frequency crystal oscillator.
- *
- * Will start the high frequency crystal oscillator, the startup time of the crystal varies
- * and the ::sd_clock_hfclk_is_running function can be polled to check if it has started.
- *
- * @see sd_clock_hfclk_is_running
- * @see sd_clock_hfclk_release
- *
- * @retval ::NRF_SUCCESS
- */
-SVCALL(SD_CLOCK_HFCLK_REQUEST, uint32_t, sd_clock_hfclk_request(void));
-
-/**@brief Releases the high frequency crystal oscillator.
- *
- * Will stop the high frequency crystal oscillator, this happens immediately.
- *
- * @see sd_clock_hfclk_is_running
- * @see sd_clock_hfclk_request
- *
- * @retval ::NRF_SUCCESS
- */
-SVCALL(SD_CLOCK_HFCLK_RELEASE, uint32_t, sd_clock_hfclk_release(void));
-
-/**@brief Checks if the high frequency crystal oscillator is running.
- *
- * @see sd_clock_hfclk_request
- * @see sd_clock_hfclk_release
- *
- * @param[out] p_is_running 1 if the external crystal oscillator is running, 0 if not.
- *
- * @retval ::NRF_SUCCESS
- */
-SVCALL(SD_CLOCK_HFCLK_IS_RUNNING, uint32_t, sd_clock_hfclk_is_running(uint32_t * p_is_running));
-
-/**@brief Waits for an application event.
- * 
- * An application event is either an application interrupt or a pended interrupt when the
- * interrupt is disabled. When the interrupt is enabled it will be taken immediately since
- * this function will wait in thread mode, then the execution will return in the application's
- * main thread. When an interrupt is disabled and gets pended it will return to the application's 
- * thread main. The application must ensure that the pended flag is cleared using 
- * ::sd_nvic_ClearPendingIRQ in order to sleep using this function. This is only necessary for
- * disabled interrupts, as the interrupt handler will clear the pending flag automatically for
- * enabled interrupts.
- *
- * In order to wake up from disabled interrupts, the SEVONPEND flag has to be set in the Cortex-M0
- * System Control Register (SCR). @sa CMSIS_SCB
- *
- * @note If an application interrupt has happened since the last time sd_app_evt_wait was
- *       called this function will return immediately and not go to sleep. This is to avoid race
- *       conditions that can occur when a flag is updated in the interrupt handler and processed
- *       in the main loop.
- *
- * @post An application interrupt has happened or a interrupt pending flag is set.
- *
- * @retval ::NRF_SUCCESS
- */
-SVCALL(SD_APP_EVT_WAIT, uint32_t, sd_app_evt_wait(void));
-
-/**@brief Get PPI channel enable register contents.
- *
- * @param[out] p_channel_enable The contents of the PPI CHEN register.
- *
- * @retval ::NRF_SUCCESS
- */
-SVCALL(SD_PPI_CHANNEL_ENABLE_GET, uint32_t, sd_ppi_channel_enable_get(uint32_t * p_channel_enable));
-
-/**@brief Set PPI channel enable register.
- *
- * @param[in] channel_enable_set_msk Mask containing the bits to set in the PPI CHEN register.
- *
- * @retval ::NRF_SUCCESS
- */
-SVCALL(SD_PPI_CHANNEL_ENABLE_SET, uint32_t, sd_ppi_channel_enable_set(uint32_t channel_enable_set_msk));
-
-/**@brief Clear PPI channel enable register.
- *
- * @param[in] channel_enable_clr_msk Mask containing the bits to clear in the PPI CHEN register.
- *
- * @retval ::NRF_SUCCESS
- */
-SVCALL(SD_PPI_CHANNEL_ENABLE_CLR, uint32_t, sd_ppi_channel_enable_clr(uint32_t channel_enable_clr_msk));
-
-/**@brief Assign endpoints to a PPI channel.
- *
- * @param[in] channel_num Number of the PPI channel to assign.
- * @param[in] evt_endpoint Event endpoint of the PPI channel.
- * @param[in] task_endpoint Task endpoint of the PPI channel.
- *
- * @retval ::NRF_ERROR_SOC_PPI_INVALID_CHANNEL The channel number is invalid.
- * @retval ::NRF_SUCCESS
- */
-SVCALL(SD_PPI_CHANNEL_ASSIGN, uint32_t, sd_ppi_channel_assign(uint8_t channel_num, const volatile void * evt_endpoint, const volatile void * task_endpoint));
-
-/**@brief Task to enable a channel group.
- *
- * @param[in] group_num Number of the channel group.
- *
- * @retval ::NRF_ERROR_SOC_PPI_INVALID_GROUP The group number is invalid
- * @retval ::NRF_SUCCESS
- */
-SVCALL(SD_PPI_GROUP_TASK_ENABLE, uint32_t, sd_ppi_group_task_enable(uint8_t group_num));
-
-/**@brief Task to disable a channel group.
- *
- * @param[in] group_num Number of the PPI group.
- *
- * @retval ::NRF_ERROR_SOC_PPI_INVALID_GROUP The group number is invalid.
- * @retval ::NRF_SUCCESS
- */
-SVCALL(SD_PPI_GROUP_TASK_DISABLE, uint32_t, sd_ppi_group_task_disable(uint8_t group_num));
-
-/**@brief Assign PPI channels to a channel group.
- *
- * @param[in] group_num Number of the channel group.
- * @param[in] channel_msk Mask of the channels to assign to the group.
- *
- * @retval ::NRF_ERROR_SOC_PPI_INVALID_GROUP The group number is invalid.
- * @retval ::NRF_SUCCESS
- */
-SVCALL(SD_PPI_GROUP_ASSIGN, uint32_t, sd_ppi_group_assign(uint8_t group_num, uint32_t channel_msk));
-
-/**@brief Gets the PPI channels of a channel group.
- *
- * @param[in]   group_num Number of the channel group.
- * @param[out]  p_channel_msk Mask of the channels assigned to the group.
- *
- * @retval ::NRF_ERROR_SOC_PPI_INVALID_GROUP The group number is invalid.
- * @retval ::NRF_SUCCESS
- */
-SVCALL(SD_PPI_GROUP_GET, uint32_t, sd_ppi_group_get(uint8_t group_num, uint32_t * p_channel_msk));
-
-/**@brief Configures the Radio Notification signal.
- *
- * @note
- *      - The notification signal latency depends on the interrupt priority settings of SWI used
- *        for notification signal.
- *      - In the period between the ACTIVE signal and the start of the Radio Event, the SoftDevice
- *        will interrupt the application to do Radio Event preparation.
- *      - Using the Radio Notification feature may limit the bandwidth, as the SoftDevice may have
- *        to shorten the connection events to have time for the Radio Notification signals.
- *
- * @param[in]  type      Type of notification signal.
- *                       @ref NRF_RADIO_NOTIFICATION_TYPE_NONE shall be used to turn off radio
- *                       notification. Using @ref NRF_RADIO_NOTIFICATION_DISTANCE_NONE is
- *                       recommended (but not required) to be used with
- *                       @ref NRF_RADIO_NOTIFICATION_TYPE_NONE.
- *
- * @param[in]  distance  Distance between the notification signal and start of radio activity.
- *                       This parameter is ignored when @ref NRF_RADIO_NOTIFICATION_TYPE_NONE or 
- *                       @ref NRF_RADIO_NOTIFICATION_TYPE_INT_ON_INACTIVE is used.
- *
- * @retval ::NRF_ERROR_INVALID_PARAM The group number is invalid.
- * @retval ::NRF_SUCCESS
- */
-SVCALL(SD_RADIO_NOTIFICATION_CFG_SET, uint32_t, sd_radio_notification_cfg_set(nrf_radio_notification_type_t type, nrf_radio_notification_distance_t distance));
-
-/**@brief Encrypts a block according to the specified parameters.
- *
- * 128-bit AES encryption.
- *
- * @param[in, out] p_ecb_data Pointer to the ECB parameters' struct (two input
- *                            parameters and one output parameter).
- *
- * @retval ::NRF_SUCCESS
- */
-SVCALL(SD_ECB_BLOCK_ENCRYPT, uint32_t, sd_ecb_block_encrypt(nrf_ecb_hal_data_t * p_ecb_data));
-
-/**@brief Gets any pending events generated by the SoC API.
- *
- * The application should keep calling this function to get events, until ::NRF_ERROR_NOT_FOUND is returned.
- *
- * @param[out] p_evt_id Set to one of the values in @ref NRF_SOC_EVTS, if any events are pending.
- *
- * @retval ::NRF_SUCCESS An event was pending. The event id is written in the p_evt_id parameter.
- * @retval ::NRF_ERROR_NOT_FOUND No pending events. 
- */
-SVCALL(SD_EVT_GET, uint32_t, sd_evt_get(uint32_t * p_evt_id));
-
-/**@brief Get the temperature measured on the chip
- * 
- * This function will block until the temperature measurement is done.
- * It takes around 50us from call to return.
- *
- * @note Pan #28 in PAN-028 v 1.6 "Negative measured values are not represented correctly" is corrected by this function.
- *
- * @param[out] p_temp Result of temperature measurement. Die temperature in 0.25 degrees celsius.
- *
- * @retval ::NRF_SUCCESS A temperature measurement was done, and the temperature was written to temp
- */
-SVCALL(SD_TEMP_GET, uint32_t, sd_temp_get(int32_t * p_temp));
-
-/**@brief Flash Write
- *
- * Commands to write a buffer to flash
- *
- * This call initiates the flash access command, and its completion will be communicated to the
- * application with exactly one of the following events:
- *      - NRF_EVT_FLASH_OPERATION_SUCCESS - The command was successfully completed.
- *      - NRF_EVT_FLASH_OPERATION_ERROR   - The command could not be started.
- *
- * @note
- *      - This call takes control over the radio and the CPU during flash erase and write to make sure that
- *        they will not interfere with the flash access. This means that all interrupts will be blocked
- *        for a predictable time (depending on the NVMC specification in nRF51 Series Reference Manual
- *        and the command parameters).
- *
- *
- * @param[in]  p_dst Pointer to start of flash location to be written.
- * @param[in]  p_src Pointer to buffer with data to be written
- * @param[in]  size  Number of 32-bit words to write. Maximum size is 256 32bit words.
- *
- * @retval ::NRF_ERROR_INVALID_ADDR   Tried to write to a non existing flash address, or p_dst or p_src was unaligned.
- * @retval ::NRF_ERROR_BUSY           The previous command has not yet completed.
- * @retval ::NRF_ERROR_INVALID_LENGTH Size was 0, or more than 256 words.
- * @retval ::NRF_ERROR_FORBIDDEN      Tried to write to or read from protected location.
- * @retval ::NRF_SUCCESS              The command was accepted.
- */
-SVCALL(SD_FLASH_WRITE, uint32_t, sd_flash_write(uint32_t * const p_dst, uint32_t const * const p_src, uint32_t size));
-
-
-/**@brief Flash Erase page
- *
- * Commands to erase a flash page
- *
- * This call initiates the flash access command, and its completion will be communicated to the
- * application with exactly one of the following events:
- *      - NRF_EVT_FLASH_OPERATION_SUCCESS - The command was successfully completed.
- *      - NRF_EVT_FLASH_OPERATION_ERROR   - The command could not be started.
- *
- * @note
- *      - This call takes control over the radio and the CPU during flash erase and write to make sure that
- *        they will not interfere with the flash access. This means that all interrupts will be blocked
- *        for a predictable time (depending on the NVMC specification in nRF51 Series Reference Manual
- *        and the command parameters).
- *
- *
- * @param[in]  page_number Pagenumber of the page to erase
- * @retval ::NRF_ERROR_INTERNAL      If a new session could not be opened due to an internal error.
- * @retval ::NRF_ERROR_INVALID_ADDR  Tried to erase to a non existing flash page.
- * @retval ::NRF_ERROR_BUSY          The previous command has not yet completed.
- * @retval ::NRF_ERROR_FORBIDDEN     Tried to erase a protected page.
- * @retval ::NRF_SUCCESS             The command was accepted.
- */
-SVCALL(SD_FLASH_PAGE_ERASE, uint32_t, sd_flash_page_erase(uint32_t page_number));
-
-
-/**@brief Flash Protection set
- *
- * Commands to set the flash protection registers PROTENSETx
- *
- * @note To read the values in PROTENSETx you can read them directly. They are only write-protected.
- *
- * @param[in]  protenset0 Value to be written to PROTENSET0
- * @param[in]  protenset1 Value to be written to PROTENSET1
- *
- * @retval ::NRF_ERROR_FORBIDDEN Tried to protect the SoftDevice
- * @retval ::NRF_SUCCESS Values successfully written to PROTENSETx
- */
-SVCALL(SD_FLASH_PROTECT, uint32_t, sd_flash_protect(uint32_t protenset0, uint32_t protenset1));
-
-/**@brief Opens a session for radio requests.
- *
- * @note Only one session can be open at a time.
- * @note p_radio_signal_callback(NRF_RADIO_CALLBACK_SIGNAL_TYPE_START) will be called when the radio timeslot
- *       starts. From this point the NRF_RADIO and NRF_TIMER0 peripherals can be freely accessed
- *       by the application.
- * @note p_radio_signal_callback(NRF_RADIO_CALLBACK_SIGNAL_TYPE_TIMER0) is called whenever the NRF_TIMER0
- *       interrupt occurs.
- * @note p_radio_signal_callback(NRF_RADIO_CALLBACK_SIGNAL_TYPE_RADIO) is called whenever the NRF_RADIO
- *       interrupt occurs.
- * @note p_radio_signal_callback() will be called at ARM interrupt priority level 0. This
- *       implies that none of the sd_* API calls can be used from p_radio_signal_callback().
- *
- * @param[in] p_radio_signal_callback The signal callback.
- *
- * @retval ::NRF_ERROR_INVALID_ADDR p_radio_signal_callback is an invalid function pointer.
- * @retval ::NRF_ERROR_BUSY If session cannot be opened.
- * @retval ::NRF_ERROR_INTERNAL If a new session could not be opened due to an internal error.
- * @retval ::NRF_SUCCESS Otherwise.
- */
- SVCALL(SD_RADIO_SESSION_OPEN, uint32_t, sd_radio_session_open(nrf_radio_signal_callback_t p_radio_signal_callback));
-
-/**@brief Closes a session for radio requests.
- *
- * @note Any current radio timeslot will be finished before the session is closed.
- * @note If a radio timeslot is scheduled when the session is closed, it will be canceled.
- * @note The application cannot consider the session closed until the NRF_EVT_RADIO_SESSION_CLOSED
- *       event is received.
- *
- * @retval ::NRF_ERROR_FORBIDDEN If session not opened.
- * @retval ::NRF_ERROR_BUSY If session is currently being closed.
- * @retval ::NRF_SUCCESS Otherwise.
- */
- SVCALL(SD_RADIO_SESSION_CLOSE, uint32_t, sd_radio_session_close(void));
-
- /**@brief Requests a radio timeslot.
- *
- * @note The timing of the radio timeslot is specified by p_request->distance_us. For the first
- *       request in a session, p_request->distance_us is required to be 0 by convention, and
- *       the timeslot is scheduled at the first possible opportunity. All following radio timeslots are
- *       requested with a distance of p_request->distance_us measured from the start of the
- *       previous radio timeslot.
- * @note A too small p_request->distance_us will lead to a NRF_EVT_RADIO_BLOCKED event.
- * @note Timeslots scheduled too close will lead to a NRF_EVT_RADIO_BLOCKED event.
- * @note See the SoftDevice Specification for more on radio timeslot scheduling, distances and lengths.
- * @note If an opportunity for the first radio timeslot is not found before 100ms after the call to this
- *       function, it is not scheduled, and instead a NRF_EVT_RADIO_BLOCKED event is sent.
- *       The application may then try to schedule the first radio timeslot again.
- * @note Successful requests will result in nrf_radio_signal_callback_t(NRF_RADIO_CALLBACK_SIGNAL_TYPE_START).
- *       Unsuccessful requests will result in a NRF_EVT_RADIO_BLOCKED event, see @ref NRF_SOC_EVTS.
- * @note The jitter in the start time of the radio timeslots is +/- NRF_RADIO_START_JITTER_US us.
- * @note The nrf_radio_signal_callback_t(NRF_RADIO_CALLBACK_SIGNAL_TYPE_START) call has a latency relative to the
- *       specified radio timeslot start, but this does not affect the actual start time of the timeslot.
- * @note NRF_TIMER0 is reset at the start of the radio timeslot, and is clocked at 1MHz from the high frequency
- *       (16 MHz) clock source. If p_request->hfclk_force_xtal is true, the high frequency clock is 
- *       guaranteed to be clocked from the external crystal.
- * @note The SoftDevice will neither access the NRF_RADIO peripheral nor the NRF_TIMER0 peripheral
- *       during the radio timeslot.
- *
- * @param[in] p_request Pointer to the request parameters.
- *
- * @retval ::NRF_ERROR_FORBIDDEN If session not opened or the session is not IDLE.
- * @retval ::NRF_ERROR_INVALID_ADDR If the p_request pointer is invalid.
- * @retval ::NRF_ERROR_INVALID_PARAM If the parameters of p_request are not valid.
- * @retval ::NRF_SUCCESS Otherwise.
- */
- SVCALL(SD_RADIO_REQUEST, uint32_t, sd_radio_request(nrf_radio_request_t * p_request ));
-
-/** @} */
-
-#endif // NRF_SOC_H__
-
-/**@} */
--- a/TARGET_ARCH_BLE/TARGET_NORDIC/TARGET_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/nrf_svc.h	Fri Jul 25 09:46:51 2014 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,33 +0,0 @@
-#ifndef NRF_SVC__
-#define NRF_SVC__
-
-#ifdef SVCALL_AS_NORMAL_FUNCTION
-#define SVCALL(number, return_type, signature) return_type signature
-#else
-
-#ifndef SVCALL
-#if defined (__CC_ARM)
-#define SVCALL(number, return_type, signature) return_type __svc(number) signature
-#elif defined (__GNUC__)
-#define SVCALL(number, return_type, signature) \
-  _Pragma("GCC diagnostic ignored \"-Wreturn-type\"") \
-  _Pragma("GCC diagnostic ignored \"-Wunused-function\"") \
-  __attribute__((naked)) static return_type signature \
-  { \
-    __asm( \
-        "svc %0\n" \
-        "bx r14" : : "I" (number) : "r0" \
-    ); \
-  }
-#elif defined (__ICCARM__)
-#define PRAGMA(x) _Pragma(#x)
-#define SVCALL(number, return_type, signature) \
-PRAGMA(swi_number = number) \
- __swi return_type signature;
-#else
-#define SVCALL(number, return_type, signature) return_type signature  
-#endif
-#endif  // SVCALL
-
-#endif  // SVCALL_AS_NORMAL_FUNCTION
-#endif  // NRF_SVC__
--- a/TARGET_ARCH_BLE/TARGET_NORDIC/TARGET_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/softdevice_assert.h	Fri Jul 25 09:46:51 2014 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,46 +0,0 @@
-/*
- * Copyright (c) 2012 Nordic Semiconductor. All Rights Reserved.
- *
- * The information contained herein is confidential property of Nordic Semiconductor. The use,
- * copying, transfer or disclosure of such information is prohibited except by express written
- * agreement with Nordic Semiconductor.
- *
- */
-
-/** @brief Utilities for verifying program logic
- */
-
-#ifndef SOFTDEVICE_ASSERT_H_
-#define SOFTDEVICE_ASSERT_H_
-
-#include <stdint.h>
-
-/** @brief This function handles assertions.
- *
- *
- * @note
- * This function is called when an assertion has triggered.
- * 
- *
- * @param line_num The line number where the assertion is called
- * @param file_name Pointer to the file name
- */
-void assert_softdevice_callback(uint16_t line_num, const uint8_t *file_name);
-
-
-/*lint -emacro(506, ASSERT) */ /* Suppress "Constant value Boolean */ 
-/*lint -emacro(774, ASSERT) */ /* Suppress "Boolean within 'if' always evaluates to True" */ \
-/** @brief Check intended for production code
- *
- * Check passes if "expr" evaluates to true. */
-#define ASSERT(expr) \
-if (expr)                                                                     \
-{                                                                             \
-}                                                                             \
-else                                                                          \
-{                                                                             \
-  assert_softdevice_callback((uint16_t)__LINE__, (uint8_t *)__FILE__);        \
-  /*lint -unreachable */                                                      \
-}
-
-#endif /* SOFTDEVICE_ASSERT_H_ */
--- a/TARGET_ARCH_BLE/TARGET_NORDIC/TARGET_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_softdevice.hex	Fri Jul 25 09:46:51 2014 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,5290 +0,0 @@
-:020000040000FA
-:10000000C0070000D1060000D1000000B1060000CA
-:1000100000000000000000000000000000000000E0
-:100020000000000000000000000000005107000078
-:100030000000000000000000DB000000E500000000
-:10004000EF000000F9000000030100000D010000B6
-:1000500017010000210100002B0100003501000004
-:100060003F01000049010000530100005D01000054
-:1000700067010000710100007B01000085010000A4
-:100080008F01000099010000A3010000AD010000F4
-:10009000B7010000C1010000CB010000D501000044
-:1000A000DF010000E9010000F3010000FD01000094
-:1000B00007020000110200001B02000025020000E0
-:1000C0001FB5C046C04600F0EFFA04B00FB41FBD24
-:1000D00008205A49096809580847382057490968CB
-:1000E000095808473C2055490968095808474020E5
-:1000F0005249096809580847442050490968095875
-:10010000084748204D490968095808474C204B4981
-:10011000096809580847502048490968095808479C
-:100120005420464909680958084758204349096836
-:10013000095808475C204149096809580847602068
-:100140003E4909680958084764203C49096809582C
-:100150000847682039490968095808476C20374919
-:100160000968095808477020344909680958084740
-:100170007420324909680958084778202F490968CE
-:10018000095808477C202D490968095808478020EC
-:100190002A490968095808478420284909680958E4
-:1001A0000847882025490968095808478C202349B1
-:1001B00009680958084790202049096809580847E4
-:1001C00094201E4909680958084798201B49096866
-:1001D000095808479C201949096809580847A02070
-:1001E0001649096809580847A4201449096809589C
-:1001F0000847A8201149096809580847AC200F4949
-:10020000096809580847B0200C4909680958084787
-:10021000B4200A49096809580847B82007490968FD
-:1002200009580847BC2005490968095808470000D3
-:1002300003480449024A034B7047000000000020B5
-:10024000C0070000C00700000122D84B5A6000BF61
-:10025000D74A1268002AFBD0016000BFD44A126856
-:10026000002AFBD00022D14B5A6000BFD04A12684E
-:10027000002AFBD07047F0B505460E46174600240D
-:1002800006E0A200B158A2005019FFF7DDFF641C80
-:10029000BC42F6D30020F0BD0120C043C549086030
-:1002A000401048607047014601229204086890425D
-:1002B00001D9102070470020FCE7F0B505460C4638
-:1002C0001646002706E028462168FFF7BDFF2D1DD2
-:1002D000241D7F1CB742F6D3F0BD70B505460C4611
-:1002E0002E460BE0304600F075F9FF2C01D80024B3
-:1002F00001E0FF3C013C012080023618002CF1D1C6
-:1003000070BD0146012292044868904201D909203B
-:100310007047A9484069401C01D10F20F8E7002030
-:10032000F6E7FEB504462068030000F037FA05043E
-:100330002B4249598B00201DFFF7E3FF0546002D96
-:1003400001D02846FEBDFFF7A7FF0120C00200F044
-:1003500041F9042221469948FFF78DFF002801D07A
-:100360000320EFE708222146944800F06DF90028A9
-:1003700006D1002192480068FFF766FF00F00CF9F3
-:100380000320DFE7A768E6686068019031463846D9
-:10039000FFF7A3FF324638460199FFF78EFFB20000
-:1003A0003846019900F050F9002800D1CAE703202F
-:1003B000C8E700F0E3F9834800688349086041E03A
-:1003C00060680190E668A0680090B200009901980A
-:1003D00000F03AF90746002F00D1B3E70E20B1E74D
-:1003E000201DFFF760FF0546002D01D02846A9E734
-:1003F0006068002807D1FFF74FFF0320800200F05C
-:10040000E9F800F0C9F8FFF747FF0120C00200F04B
-:10041000E1F8042221466948FFF72DFF002801D0AA
-:1004200003208FE708222146644800F00DF90028D8
-:1004300006D1002162480068FFF706FF00F0ACF823
-:1004400003207FE700BF00207CE770B505460C461F
-:10045000182D04D12068FFF764FF206002E001201E
-:10046000206000BF00BF70BDF0B589B05248406940
-:1004700003905248806881000398081802900398FE
-:10048000000B01900121090302984018401E000B47
-:1004900000900124002520462946019A00F0C4F866
-:1004A0000022401E91410791069001260027304608
-:1004B0003946009A00F0B8F80022401E914105919B
-:1004C0000490049BDB43059AD2430698184307998E
-:1004D00011430791069037490698086007984860CD
-:1004E00009B0F0BD70B53448446934488568466841
-:1004F000AA003146204600F0A7F8002801D00020CD
-:1005000070BD0120FCE72D484068002801D0012083
-:1005100000E000200546FFF7E5FF002807D0FFF7C1
-:10052000BBFE0320800200F055F800F035F8FFF71D
-:100530009BFF002D0ED020484669204884684768FC
-:1005400021463046FFF7C9FE224639463046FFF7BE
-:10055000B4FE00BF00F020F810B5184844681A48EF
-:100560000460204600F0DCF810BD15480068006803
-:10057000401C01D100BFFEE710480068002802D0EF
-:10058000042806D101E0FFF7BEFFFFF7E5FF00BF3B
-:10059000FEE700BF00BFFEE7BFF34F8F0B480C49DB
-:1005A000C860BFF34F8F00BFFEE7000000E50140C9
-:1005B00000E40140000600400010001000080000A8
-:1005C000B8070000BC070000000000200400FA0586
-:1005D00000ED00E010B50146104B1A6808460223F2
-:1005E0000F4C636000BF0F4B1B68002BFBD0531CEC
-:1005F00004D0904202D20A4B186101E0084B986087
-:1006000000BF084B1B68002BFBD00023044C636029
-:1006100000BF044B1B68002BFBD010BD0010001066
-:1006200000E5014000E4014010B5202A04DB01464A
-:10063000203A9140002010BD914020239C1A03468F
-:10064000E3401943904010BD034610B50B439B0790
-:100650000FD1042A0DD308C810C9121FA342F8D025
-:1006600018BA21BA884201D9012010BD0020C04328
-:1006700010BD002A03D0D30703D0521C07E000208E
-:1006800010BD03780C78401C491C1B1B07D1037854
-:100690000C78401C491C1B1B01D1921EF1D118463D
-:1006A00010BD70477047704710B500F007F810BDD7
-:1006B000014B1B68DB6818470000002019481A49E5
-:1006C0007047FFF7FBFFFFF7FBFC00BD20BFFDE716
-:1006D0001649174C24688C420BD1164B1B68994263
-:1006E0000CD1154B154A1360186810498842EDD09B
-:1006F0000AE0134880F30888124B18470F4A13602A
-:1007000018680A498842E1D080F308880E49884277
-:1007100004DD0E48026802210A4302605B68184744
-:100720000346DFE7C0070000C0070000FFFFFFFF30
-:10073000000C000014100010001000000000002049
-:10074000000400206B05000000200020240500406C
-:100750000D48704502D1EFF3098101E0EFF3088104
-:10076000886902380078182802D1C046074A104725
-:10077000074A12682C3212681047000000B5054B7A
-:10078000054A9B58984700BDFDFFFFFF4B04000042
-:1007900000000020001000000400000030B4744687
-:1007A000641E2578641CAB4204D3635D5B00E318D0
-:1007B00030BC18471D46F8E7000C00000010000090
-:10100000901D002079500100ED3D0000DF4F0100F0
-:1010100000000000000000000000000000000000D0
-:10102000000000000000000000000000E950010086
-:101030000000000000000000ED3D0000ED3D00005C
-:10104000555101005B510100ED3D0000ED3D0000F8
-:10105000ED3D0000ED3D0000ED3D0000ED3D0000E8
-:1010600061510100ED3D0000ED3D000067510100C0
-:10107000ED3D00006D5101007351010079510100F7
-:10108000ED3D0000ED3D0000ED3D0000ED3D0000B8
-:10109000ED3D0000ED3D0000ED3D0000ED3D0000A8
-:1010A0007F51010085510100ED3D0000ED3D000044
-:1010B000ED3D0000ED3D0000ED3D0000ED3D000088
-:1010C00000F002F813F0B9FF0CA030C8083824185B
-:1010D0002D18A246671EAB4654465D46AC4201D170
-:1010E00013F0ABFF7E460F3E0FCCB64601263342CF
-:1010F00000D0FB1AA246AB463343184744410100D7
-:1011000074410100103A02D378C878C1FAD8520766
-:1011100001D330C830C101D504680C6070470000AD
-:101120000023002400250026103A01D378C1FBD803
-:10113000520700D330C100D50B6070471FB5C046C1
-:10114000C04613F01BFF04B00FB41FBD82690249F3
-:1011500081610248104470476111000001000000E5
-:1011600001B41EB400B510F02FFC01B401988646FE
-:1011700001BC01B01EBD0000F0B4404649465246D5
-:101180005B460FB402A0013001B50648004700BF1E
-:1011900001BC86460FBC8046894692469B46F0BC01
-:1011A00070470000C1100000401E00BF00BF00BF1C
-:1011B00000BF00BF00BF00BF00BF00BF00BF00BF37
-:1011C00000BFF1D17047000070B505460C461646C9
-:1011D00002E00FCC0FC5103E102EFAD2082E02D31B
-:1011E00003CC03C5083E042E07D301CC01C5361F2E
-:1011F00003E021782970641C6D1C761EF9D270BD45
-:101200008307FF22DB0E9A408907090E99400028C8
-:101210000BDA0007000F0838830828489B001B18CA
-:10122000D86990430843D8617047830824489B00DD
-:101230001B181868904308431860704710B504469F
-:1012400000210120FFF7DCFF00211820FFF7D8FF65
-:1012500000210B20FFF7D4FF02211920FFF7D0FF58
-:1012600002210D20FFF7CCFF02210E20FFF7C8FF5F
-:1012700002210F20FFF7C4FF0221C81FFFF7C0FFA4
-:1012800003211620FFF7BCFF03211520FFF7B8FF4D
-:10129000204600F019F8002010BD4F210180704752
-:1012A00010B500F03AF810BD0648704710B500F0D0
-:1012B00035F810BD704770477047000000ED00E042
-:1012C00000E400E003F900C330B50446374D95B0A3
-:1012D00007202870A81CFFF7E0FF5920A880344899
-:1012E00001F020FC0546072000F0DCF929462F48D4
-:1012F00000F08CFA641E072C0AD830216846017071
-:10130000847001F0DDFA002802D009A800F0DDFCAD
-:10131000284601F083FE15B030BD7047F8B5234E66
-:101320000446B61E307801270D46002807D0204617
-:1013300060380B2808D8204601F096FB2BE0602C83
-:10134000F9D01C480860F8BD20466C38032803D843
-:10135000204601F0CBFB1EE0204670381F2803D842
-:10136000204600F037F816E0204690380F2803D8C2
-:10137000204600F0BBF80EE02046A0380F2803D826
-:10138000204600F023F906E02046B0380F2804D8A4
-:10139000204600F000F9286000E02F60602CD2D1D8
-:1013A00028680028CFD13770F8BD00001A0000204F
-:1013B000C33300000130000070477047704770472A
-:1013C000704770477047704710B5012801D100F091
-:1013D00042FA10BD10B57038030013F0EBFE150C87
-:1013E00012161E22252C33383D41454950555C6468
-:1013F0006C747B8085004A680878114603F081FF91
-:1014000010BD086803F0F9FF10BD0C790B7B8A68EA
-:101410000868214604F005F810BD086804F07EF85D
-:1014200010BD03F05BFC10BD08884A6880B211460D
-:1014300004F043FA10BD0A790888114680B204F01E
-:1014400091FA10BD087840B204F09CFA10BD0888EB
-:1014500080B204F0B8FA10BD086804F0C7FA10BDF5
-:10146000086804F0DFFA10BD086804F00AFB10BD3C
-:10147000088982B209C9194604F034FB10BD05C9B8
-:10148000114604F082FB10BD08884A6880B21146FC
-:1014900004F0A0FB10BD0B7908888A6880B2194659
-:1014A00004F0FDFB10BD0B7908888A6880B21946EC
-:1014B00004F0B3FC10BD08884B688A6880B21946F6
-:1014C00004F0F3FC10BD08884A6880B2114604F0AD
-:1014D0003EFD10BD088880B204F056FD10BD08889E
-:1014E00080B204F076FD10BD012010BD10B590381B
-:1014F000030013F05FFE09060F161D242C363F462D
-:101500004E0088888A6883B20888194680B205F040
-:1015100093F910BD08884A6880B2114605F0E9F9D0
-:1015200010BD08884A6880B2114605F02DFA10BD3A
-:1015300008884A6880B2114605F063FA10BD088831
-:101540004B688A6880B2194605F094FA10BD088984
-:1015500082B2888883B20888194680B205F0C9FA39
-:1015600010BD08894B6882B20888194680B205F020
-:10157000FEFA10BD08884A6880B2114605F02EFBBD
-:1015800010BD888882B20888114680B205F0C2FB7F
-:1015900010BD012010BD10B5B02805D0B12808D06D
-:1015A000B2280BD0012010BD088880B205F0A6FE3D
-:1015B00010BD088880B205F0D1FE10BD08884B68C8
-:1015C0008A6880B2194605F0DAFE10BD10B5A03861
-:1015D000030013F0EFFD0B070E172028323C434D9C
-:1015E000545D65004B6808788A68194607F017FA59
-:1015F00010BD88888A6883B20888194680B207F0CF
-:1016000023FA10BD08884C68CB688A6880B22146EE
-:1016100007F02AFA10BD08884B688A6880B219461C
-:1016200007F044FA10BD8888CB6884B208888A68BD
-:1016300080B2214607F064FA10BD8888CB6884B276
-:1016400008888A6880B2214607F089FA10BD0888A8
-:101650004A6880B2114607F0BDFA10BD088982B20F
-:10166000888883B20888194680B207F0BDFA10BD99
-:1016700008884A6880B2114607F0DAFA10BD088976
-:101680004B6882B20888194680B207F057FB10BD3C
-:1016900008884B688A6880B2194607F014FC10BDB0
-:1016A000012010BD10B507F0FAFC0FF0A7FF00F005
-:1016B00007F810F0F5F808F0F5F908F081F910BD19
-:1016C00001202B49C00308602A490020087003202C
-:1016D0002949800288607047F8B5264D044628786D
-:1016E000A04207D0002C05D0002803D023A14D2014
-:1016F00013F06FFC2878A04213D02C700325002330
-:101700002349AD021C48002C27D01B4A214E4032F1
-:10171000214F012C06D0022C13D018A16E2013F0FB
-:1017200058FCF8BD0B6002230B604E6185601B49BD
-:1017300011625762091D91621749091DD162456006
-:10174000F8BD0B6003230B604E610121C90281606B
-:10175000134B9362D7624160F8BD0B600B608560EC
-:10176000F8BD10B505A1772013F033FC10BD0000C3
-:1017700080E100E02000002000F501407372635C0E
-:1017800068616C5F63636D5F6161722E630000006E
-:1017900000F500407C01002000F0004000110040F6
-:1017A000488100401CB50446002069460870204668
-:1017B00009F0F6F86946204608F0B4FF002803D186
-:1017C000FBA1B62013F005FC01A9204608F009FF93
-:1017D000002803D1F6A1BB2013F0FBFB684600787C
-:1017E0001CBD70B5F74D002428462C76203084713E
-:1017F000C47113F0EDFC2846403804702030847327
-:10180000847484762C74AC7070BDEAE710B50C4615
-:10181000ED4982888A8042884A80007808700846AC
-:101820000A38847008F0B3FEFFF7DBFF20460AF0A9
-:101830002FFAE44AE0321146383908461446813816
-:1018400009F020F92146E0480BF0C2FC09F09FF8AE
-:1018500013F0BEFC10BD10B50120FFF7ADFD10BDAB
-:10186000F8B509F083FDD84DD64C0A3D022802D0C8
-:10187000207C00287CD0207E0026102819D1A0785A
-:10188000002803D0CAA1D14813F0A3FBCD48E83803
-:10189000817A89070DD50146267160398989E180F1
-:1018A000C17A217281896181C089A0810120A070E3
-:1018B0002676C44F203FB87C002859D1C4486946D9
-:1018C000808908F02FFF002805D0694668780978DC
-:1018D0004018687004E0BD48B5A11D3013F079FBD5
-:1018E000207C002838D0BA488189FF300930406D0B
-:1018F0008089814204D0B548ADA1223013F069FB44
-:10190000B348808908F0B4FF002804D1AF48A8A1EB
-:10191000283013F05EFB09F022F800281CD0AC48F8
-:101920008089FFF73FFF697840186870A548403804
-:10193000416D20318A7C012A0DD1A54A3E779289DA
-:10194000C287C87C20700120B876207E102801D084
-:10195000282800D1267626746978002908D09C486A
-:101960008289FF300930C28601870120B8746E7009
-:1019700009F0CCFC002805D1207C002802D0A878F2
-:1019800001F0F4F8F8BDF8B50F460446FFF768FF1C
-:101990008C4D403D28788B4E002813D0002F10D15D
-:1019A000307E002804D0FF2081A1C63013F011FB47
-:1019B0002C22A91C204613F06FF90E202070002065
-:1019C00028708FE07F4D203DA87B002818D0002F85
-:1019D000F7D1307E102808D0282806D0002804D05F
-:1019E000FF2073A1D23013F0F4FA0120E070E87BFD
-:1019F000A070287C60700F2020700020A87371E018
-:101A00000121204608F0E4FF002807D0307C0028A0
-:101A100051D13946204608F0DBFFF8BDA97C694862
-:101A20000C38009068480A38002913D0017805293D
-:101A300010D2002F56D1491C0170002666700D206F
-:101A40002070012028750622A01C009913F024F9AB
-:101A5000AE7447E05C4800210A380170B078002875
-:101A600014D0002F3ED1307E002803D050A1594819
-:101A700013F0AFFA002565700120524920700A2248
-:101A8000091DA01C13F008F9B5702BE0394620465B
-:101A90000BF008FB002825D1A87C002805D0002FDA
-:101AA00020D149480A380178C5E7A87E002802D02D
-:101AB000307C002801D00020F8BD002F12D1307EEC
-:101AC000002804D08F203AA1800013F082FA00266B
-:101AD00066700A203B4920700622091FA01C13F0E3
-:101AE000DBF8AE760120F8BD10B53648017E00293E
-:101AF00008D1007C012805D001210020FFF743FF19
-:101B0000002801D0072010BD012010BD10B5012410
-:101B10000AF006F90443FFF7E7FF044308F038FF33
-:101B200001462143084610BDF8B51D4614460E4631
-:101B300008F077FD002807D0684608F07DFD0028F2
-:101B400003D0002C07D101E00120F8BD9B2018A193
-:101B5000800013F03EFA08F01BFDA04204D21D489D
-:101B600013A1583013F035FA009808F089F931467E
-:101B7000009808F097F9E2B22946009808F04EFB69
-:101B800008F06CFD002804D19F2009A1800013F00B
-:101B900020FA08F0FFFE0E4800244030417C002966
-:101BA00002D044740AF0A7F90948C480CCE70000C9
-:101BB0007372635C6C6C5F6374726C2E73302E6333
-:101BC00000000000200300202C00002082060000FE
-:101BD000D80100201502000010B50179002908D0B5
-:101BE00001290BD0FF20FE49043013F0F2F9002048
-:101BF00010BD831D42880488022103E042880488C6
-:101C0000831D01212046FFF78FFF10BDF8B51F4649
-:101C100015460E46044609F0A9FB022803D0F148F8
-:101C2000007C00281FD0F0488089208008F020FE2A
-:101C3000002803D1EA49ED4813F0CBF905246846A2
-:101C400008F021FE00280ED0009808F063F93070EB
-:101C5000022809D0012807D008F055FE641E24068A
-:101C6000240EECD10020F8BD3946009808F0EEFAB9
-:101C70002880002804D1AF20D949800013F0A9F9A9
-:101C800008F041FE002804D1D848D549193013F096
-:101C9000A0F90120F8BD38B50446831D821C6946B1
-:101CA000FFF7B4FF00280DD000206071684600786F
-:101CB000012808D0022806D0FF20C949253013F09A
-:101CC00088F9012038BD2071FBE700215BE670B583
-:101CD000C44C0546403C2078002803D1C148007E12
-:101CE000002804D0C120BE49C00013F072F9287842
-:101CF00008F085FF28780BF0C1FB0020207101203F
-:101D000060713921E170207070BD70B5B54D044629
-:101D1000403D2878002803D1B248007E002804D036
-:101D20005F20AF49000113F054F9AF4E2188B0890C
-:101D3000884203D109F01AFB022807D0022028713B
-:101D4000012068713821E970287070BD7F2070769D
-:101D5000A548E17820304174A17801740020EEE7B5
-:101D600010B5A04C403C207800280BD19D48007E47
-:101D7000002807D109F0FAFA032803D009F0FAFA8B
-:101D8000032804D199489649653013F022F9954902
-:101D900000202031C8712071012060713A21E1706A
-:101DA000207010BD70B58F4C0646403C207800284E
-:101DB0000BD18C48007E002807D109F0D7FA032800
-:101DC00003D009F0D7FA032804D1884884497B302E
-:101DD00013F0FFF8834D2035E87908280CD2E87914
-:101DE0001022000100196830314600F025FEE87924
-:101DF000401CE871002000E0072020710120607184
-:101E00003B21E170207070BDF8B5764D0446403D31
-:101E10002878002803D17348007E002803D0704939
-:101E2000734813F0D6F8704F2188B889884203D1DF
-:101E300009F09CFA022801D0022022E03E8C64883E
-:101E40007200788CF98B521C944217D3694A514323
-:101E50009200504312F09AFF401EFF2180B2F531EC
-:101E6000884200D90846844200D22046711C401C9A
-:101E700012F08CFF761C7043401E86B2FE85EE8009
-:101E800000202871012068713C21E9702870F8BD9C
-:101E9000F8B5544C0546403C2078002803D1514801
-:101EA000007E002804D052484D492C3813F091F898
-:101EB000A878002801D0012804D1A888FF21F53195
-:101EC000884204D959204649000113F082F8464E51
-:101ED0002988B089884203D109F048FA022807D03E
-:101EE00002202071012060713621E1702070F8BD60
-:101EF0003D48002720308772A988B18501213176BD
-:101F0000A978012900D00021817237484030407CF7
-:101F1000002801D009F0EFFF2771E3E770B5314CDD
-:101F20000546403C2078002807D12E48007E002836
-:101F300003D109F01BFA002804D02D482849533852
-:101F400013F047F8287809F0EEFE002020710120F8
-:101F500060713021E170207070BD70B5214C054674
-:101F6000403C2078002803D11E48007E002804D081
-:101F70001F481B495F3013F02CF8287800280BD03D
-:101F8000012809D0022807D06878402804D31848CF
-:101F90001349663013F01DF8284609F0DEF90028D1
-:101FA00001D0002000E00C2020710120607134215C
-:101FB000E170207070BD70B50A4C0546403C207839
-:101FC000002807D10748007E002803D109F0CEF988
-:101FD000002804D057200249000112F0FAFF0BE05C
-:101FE000B01B000020030020D8010020AA0200003E
-:101FF000B6050000C40900002978002913D00A2979
-:1020000011D014290FD01E290DD028290BD0322928
-:1020100009D04B2907D0642905D0FF2903D0FE49F8
-:10202000FE4812F0D6FF284609F0FCFE0020207181
-:10203000012060713321E170207070BD70B5F84CE3
-:1020400006462078251D002804D120464030007E19
-:10205000002804D05520F049000112F0BAFF3146A3
-:10206000002008F0A1FD2870002804D10622314686
-:10207000EC4812F011FE012060713221E1702070F5
-:1020800070BD70B5E64C05462078002804D1204686
-:102090004030007E002804D0A720DF49C00012F0A5
-:1020A00098FF00216956042914D0002912D0081D78
-:1020B00010D0001D0ED0001D0CD0001D0AD0001D38
-:1020C00008D00A3006D0283104D0D448D249443848
-:1020D00012F07FFFD448297801700120607131210E
-:1020E000E170207070BD10B5CD4C2078002804D16F
-:1020F00020464030007E002803D0C749CB4812F06C
-:1021000068FF08F045FAE08008F00AFB2072002022
-:102110002071012060710521E170207010BDF8B5BB
-:10212000BF4C07462034A07B25462035002805D12A
-:10213000287E002802D1A878002804D0B748B649E4
-:10214000703812F046FF09F011F91026022822D14A
-:10215000B7483988808988421DD1B1494839084635
-:102160000A7F6038807A002A03D080070CD40C20C4
-:102170000CE0800708D406200877AD484030407C4A
-:10218000002801D009F0B7FE2E760020E0732674F7
-:102190000120A073F8BD0220F8E710B5A04C20780C
-:1021A000002804D120464030007E002804D09B48FF
-:1021B0009949823812F00DFF002020710E20A07086
-:1021C0000F20E070FF20A0710020C04320819548BF
-:1021D000C01D0178A1728188A1814088E081012021
-:1021E0006071207010BD10B58D4C2078002804D18E
-:1021F00020464030007E002803D087498D4812F0E9
-:10220000E8FE0821A01D0FF095FA002020710120A2
-:1022100060712B21E170207010BD70B5804D0446B7
-:102220002878002804D128464030007E002804D0B9
-:102230007A487949B13012F0CCFE7D48102221460F
-:10224000303800F0F9FB7A481022A118203800F04D
-:10225000F3FB774830380FF074FB754910221039C2
-:102260002C46A81D00F0E8FB002020710E20A07075
-:102270002A20E07001206071207070BDF8B5684CB4
-:1022800005462034A07B26462036002802D1307E29
-:10229000002804D067486049E53012F09AFEA9781A
-:1022A000052912D0132910D014290ED015290CD0CD
-:1022B0001A290AD0292908D03D2906D03B2904D063
-:1022C0005C485549ED3012F084FE28885A4988420E
-:1022D00004D958485049F63012F07BFE09F046F810
-:1022E0000C212827022809D151482A888089904248
-:1022F00015D14B484838027E002A01D0E17310E026
-:10230000A97841760121017637760020E0734848AC
-:102310004030407C002804D009F0EDFD01E00220AF
-:10232000E07327740120A073F8BDF8B53C4F064652
-:1023300038783D1D002804D138464030007E002802
-:1023400004D089203449C00012F043FE31460120F8
-:1023500008F02AFC01242870002807D13048062202
-:1023600060303146054612F097FCAC717C71172045
-:10237000F8703C70F8BDF0B52B4F85B0403F3D7A0A
-:10238000064627480078002804D13846A038007E49
-:10239000002804D0D3202049800012F01AFE3078A3
-:1023A000002806D0012804D022481B492C3812F0FE
-:1023B00010FE082D4CD21C4820380190C46930789A
-:1023C00000283FD0012804D01A4813491E3812F0C3
-:1023D00000FE294608310120884004430120A8401E
-:1023E00020430090B1790E4C0802727969000919F6
-:1023F0001043FF3101318881B01C12F0AEFC7178BE
-:1024000000020843A9000919C031C862387A401C8B
-:1024100038720199009811E0B01B00007E050000A1
-:10242000E00200202500002000040020E706000054
-:10243000D801002079030000FF0E0000C8610020D1
-:10244000207108E029460831012088408443C5E70F
-:10245000FE48072101710121FC480B224171C27025
-:10246000017005B0F0BD10B5F84C2078002804D1FB
-:1024700020464030007E002803D0F549F54812F090
-:10248000A8FD12F0A5FE00202071012060710A2134
-:10249000E170207010BD10B509F0DDFB002804D0FC
-:1024A000EC48EB49583812F094FD08F06FFA08F048
-:1024B00052F80AF07EFE002804D0BD20E4498000D6
-:1024C00012F087FD08F0B3FA002804D05F20E0493D
-:1024D000C00012F07EFD12F07BFEDF480024047085
-:1024E000FFF77FF9D9480121047141710222C270BE
-:1024F000017010BD70B5D54D04462878002804D170
-:1025000028464030007E002804D0F320D0498000C7
-:1025100012F05FFD20781F2801D8601C04D1CD483F
-:10252000CB498F3012F055FD002028712078611CB6
-:1025300008F054FB012068712021E970287070BDFB
-:10254000F8B5C24C0646207825464035002802D111
-:10255000287E002804D0BF48BD499C3012F039FDC8
-:102560003078012806D0002804D0BA48B8499D30F8
-:1025700012F02FFD012060710C20207130780027AF
-:10258000B64E012808D008F0F1FE032867D008F005
-:10259000F1FE032871D076E008F0E8FE002803D1B0
-:1025A00008F0E8FE002804D008F0E0FE02283DD044
-:1025B00069E008F07EFA002865D0287C002862D106
-:1025C000A64802210C300FF03EF8002806D00F215B
-:1025D000B089090212F0DAFBB18100E0B781012273
-:1025E00003219E4807F05AFE9C4808F006FCB0897B
-:1025F00007F0D0FF002804D196489549B83012F072
-:10260000E8FCB089002108F0C9F9002804D09148FD
-:102610008F49BC3012F0DDFC297F688B09F087FB05
-:1026200000282FD08B488A49C03015E008F0A2FE60
-:10263000002828D1287F002825D0012823D008F0A1
-:1026400038FA00281FD0297F688B09F070FB00281A
-:1026500018D080487E49D33012F0BBFC12E0002035
-:1026600009F098FA00280ED12771287C00280AD199
-:10267000B089FFF797F806E0FFE7002009F08AFA33
-:10268000002800D127711B20E07001202070F8BDC8
-:1026900070B56E4D04462878002804D12846403095
-:1026A000007E002804D06B486949803012F091FC0C
-:1026B00020781F2801D8601C04D166486449813005
-:1026C00012F087FC002028712078611C08F09AFA2B
-:1026D000012068711A21E970287070BDF8B55B4D52
-:1026E000044628780C272E46403600280AD1307E32
-:1026F000002807D108F03AFE032803D008F03AFE7C
-:10270000032804D153485249473012F062FC6079E3
-:10271000002801D001282FD1A079002801D001285C
-:102720002AD1A07B002805D0012803D0022801D09F
-:10273000032821D1607B40071ED0618801208003DF
-:10274000814202D82288824201D920790CE0207986
-:10275000002804D0022805D0032803D004E0202953
-:1027600004D209E0A02A01D2012805D1208888429C
-:1027700007D92079012804D0364835495C3012F059
-:1027800028FC20887083207930776079002802D077
-:10279000012803D00CE0324A002105E02B4A6032C8
-:1027A0009079002804D00121204608F086F90746D8
-:1027B00001202F7168711821E9702870F8BD70B57B
-:1027C000224C05462078002804D120464030007E67
-:1027D000002803D01E49234812F0FBFB08F0C6FD79
-:1027E0000C2102280ED11D482A8883899A4219D1CA
-:1027F0000246C032137F002B04D1807E0E2803D006
-:102800000F2801D0217103E00520107700202071EE
-:102810000E20A0702E20E0702888E08001206071DA
-:10282000207070BD0220F2E770B5084C0546207894
-:10283000002804D120464030007E002804D00948FA
-:1028400003492C3812F0C5FB0EE00000E002002026
-:10285000B01B00003E03000000040020D80100204F
-:1028600025000020D104000008F080FD0C21022882
-:102870000ED178482A8883899A421FD10646C036ED
-:10288000327F002A04D1807E0E2803D00F2801D089
-:10289000217109E06F481022A91CEA3012F0FCF9FE
-:1028A00004203077002020710E20A0702D20E070D1
-:1028B0002888E08001206071207070BD0220F2E75E
-:1028C00010B501780B0012F075FC3D8787388787BB
-:1028D00058878787873B3E878787515487878787B5
-:1028E00087874228872C3087878787348787878721
-:1028F00087878746874A4E872024876B5B5F63679D
-:10290000876F877E827B77738700801CFFF78CFF41
-:1029100060E0801CFFF753FF5CE0801CFFF7DEFEE9
-:1029200058E0801CFFF7B4FE54E0801CFFF708FE5F
-:1029300050E0801CFFF7DEFD4CE0FFF7ACFD49E006
-:10294000FFF791FD46E0801CFFF715FD42E0801C7B
-:10295000FFF7EBFC3EE0801CFFF790FC3AE0801CA8
-:10296000FFF75BFC36E0FFF73EFC33E0FFF715FCBA
-:1029700030E0801CFFF7D3FB2CE0FFF7B4FB29E02D
-:10298000801CFFF77EFB25E0801CFFF757FB21E052
-:10299000801CFFF710FB1DE0801CFFF7DEFA19E03A
-:1029A000801CFFF7BBFA15E0801CFFF771FA11E0FD
-:1029B000801CFFF729FA0DE0801CFFF7F3F909E00E
-:1029C000FFF7CEF906E0801CFFF79FF902E0801CBC
-:1029D000FFF77DF9012010BD002010BD10B51E4984
-:1029E0001E4812F0F6FA10BD70B51D4A01241146BA
-:1029F000184D4031030012F0DDFB05191C1C0419B1
-:102A00001C0001220021134807F048FC1448002153
-:102A1000483801774177C03809F005FA002804D01A
-:102A20000E480D49D33012F0D4FA70BD0C745565C0
-:102A300070BD09490B48F6E730B5134606E0CC18DF
-:102A4000203CE47FD51A44555B1EDBB2002BF6D147
-:102A500030BD0000D8010020B01B0000410600007E
-:102A6000E00200204707000010B56038030012F0B4
-:102A7000A1FB0A060A0F13181F262A31363B0868E5
-:102A800000F093FD10BD05C9114600F0ADFD10BD6D
-:102A9000086800F04CFE10BD05C9114600F054FE58
-:102AA00010BD4B6808788A68194600F065FE10BDB5
-:102AB0004B688A680868194600F07FFE10BD0868F8
-:102AC00000F09AFE10BD08884A6880B2114600F0F6
-:102AD000EAFE10BD05C9114600F00AFF10BD05C988
-:102AE000114600F01DFF10BD012010BD10B56C286F
-:102AF00001D0012010BD087800F0B8FE10BD000024
-:102B000001203F49400608603E4908603E490A6886
-:102B1000FF231B029A4383121A430A603849803903
-:102B20000860704710B502460420384904E0C3002D
-:102B30005B181B79002B0AD00346401EC0B2002B45
-:102B4000F5D133A1432012F044FAFF2010BDC30099
-:102B5000CA50002259184A718A7101220A7110BDA7
-:102B60002A4A0021C00080180171704710B5044640
-:102B7000042803D326A1522012F02BFA2348E100A7
-:102B80000C182079012803D021A1532012F021FA3A
-:102B90006079A179401CC0B2814200D060710120EF
-:102BA000174940068031086010BD70B516480068AE
-:102BB0000004800F022803D015A1692012F009FA41
-:102BC000124E194C03252078C10088190279012A78
-:102BD00007D1427983799A4203D042798271705841
-:102BE00080472078401CC0B22070042801D3002008
-:102BF000207028466D1EEDB20028E4D170BD0000A3
-:102C000080E100E080E200E018E400E02C12002007
-:102C10007372635C736F635F7369676E616C6C6919
-:102C20006E672E63000000003C00002010B5EFF33B
-:102C30001080C407E40F72B6D6484178491C417031
-:102C40004078012801D10FF065F9002C00D162B65F
-:102C500010BD70B5CF4CE07800280AD10125E57091
-:102C6000FFF7E4FF0FF05EF9002804D000200FF01A
-:102C700031F9002070BDC84865714560F9E770B54D
-:102C8000EFF31080C507ED0F72B6C24C60780028D4
-:102C900003D1C2A18F2012F09CF96078401E6070B1
-:102CA0006078002801D10FF039F9002D00D162B60B
-:102CB00070BD10B5B748C178002904D0002141711A
-:102CC000C170FFF7DCFF002010BD10B504460FF007
-:102CD00029F9B049C978084000D0012020600020BF
-:102CE00010BDF8B50246AB4C0026A67108200421A1
-:102CF00001251027130012F05DFA0D080A0C0E10C2
-:102D00001214161E262123252800257122E00220F8
-:102D100001E021711EE020711CE027711AE02020E3
-:102D2000F9E7012616E0FFF781FF0FF0FBF8002816
-:102D3000FBD002260EE02171A5710BE02771FBE7A5
-:102D4000202000E040202071F6E7FF2093A17E3094
-:102D500012F03FF90FF0F2F8002809D00FF0F4F864
-:102D6000B04205D130460FF0F2F80028FAD024E046
-:102D700001208007C5608D4A002151608C4A966110
-:102D8000854B02225A6085608A4803690569DB43E6
-:102D9000DB06DB175B1C10273D430561834D00E01C
-:102DA00020BF6F68002FFBD0002B03D107691023D1
-:102DB0009F430761784882606960A07900280CD041
-:102DC0000FF0B0F805460FF00DF87B4A002D02D049
-:102DD000A260E06001E0E260A060002E01D100F09E
-:102DE000B1F8F8BD10B504460FF0A2F8002805D0E0
-:102DF00068490120C8704A78521C4A702046FFF783
-:102E000070FF10BDF8B5694FB8680025012802D1E0
-:102E1000BD600FF05FF87868012800D17D603868E8
-:102E200001265C4C012814D13D606079002803D054
-:102E300000200FF04FF865712078002809D00FF0BE
-:102E400071F8002805D05948C0388663000606612D
-:102E5000A670386901282CD13D6100F068F8012086
-:102E600080074661A079002815D00FF05BF800902C
-:102E70000EF0B8FF0099002901D0E16800E0A168D8
-:102E8000411A022901DA8A1C13DC0099002901D0B9
-:102E9000E06000E0A060FFF7C9FE0FF043F80028F3
-:102EA00006D04248C038866300060661A67000E07E
-:102EB0002670F868012819D100F039F800F037F8C9
-:102EC00000F035F8A078002804D1FF2033A10530A8
-:102ED00012F07FF8FD60A5702570FFF7D0FE0EF0B0
-:102EE000F8FA002802D03148C038C663F8BD10B5E2
-:102EF000284CE078002801D10FF010F8012081075C
-:102F0000886100F014F8A07800280BD0274CE06806
-:102F1000002803D10FF01BF80028F8D10020E06052
-:102F200000F005F800201C49C043886010BD08B5BA
-:102F30005020694608806A461088411E118000288A
-:102F4000F9D108BDF8B51448192787601749002042
-:102F50000860C8600EF0E6FFBD0701240D4E002892
-:102F600005D01248C03884632C61B47000E034701E
-:102F7000FFF75CFE084847600D4930798863FFF72A
-:102F8000D6FFAC61FFF7D3FF0849002008616C61F0
-:102F9000F8BD000040000020000300407372635C35
-:102FA000736F635F636C6F636B2E6300000100409F
-:102FB0000005004000ED00E0FFFFFF7F10B510F0BE
-:102FC00064F810BD00200449C8630120012181403C
-:102FD000024A116000BF7047C01F004080E200E05D
-:102FE00010B504460BF095F820460CF0AAF810BD79
-:102FF0007047704770477047704770477047704719
-:1030000010FFFFFFDBE5B151006001004F00FFFF43
-:1030100003B40148019001BD09000020FE49487039
-:10302000704710B5030012F0C5F8080E050E080829
-:103030000B0B0E1104F07DF810BDFFF7D1FF10BD92
-:103040000DF0E8FF10BD01F095FE10BDFF20F3A1CB
-:10305000713011F0BEFF10BD7FB5F44905464868D8
-:103060008968082301910090F14A1946F1480EF051
-:103070008BFD0024F0480EF0A5FD641CE4B2082C82
-:10308000F8D3EB490320803140020CF02FF90028DF
-:1030900003D0E2A1962011F09CFF1E220221E748F6
-:1030A0000AF0E7FCE5481E22032110300BF05BFA22
-:1030B000E2480722342174300AF034FCDF484C2106
-:1030C000283011F048FEDD496A46743108464C3814
-:1030D0000164FF317B31416401211172039002F0E0
-:1030E000B4F802A80CF050FC002803D0CBA1AA2011
-:1030F00011F06FFFCF4802222421A8380AF012FCF9
-:10310000CC4802222C215C380AF00CFCCC490B2064
-:103110000EF082F8002803D0C0A1B72011F059FFAB
-:1031200003F0F4FF03F0F8F904F05AFE6B460022B6
-:103130000821C4A001F070FF002803D0B7A1BE2071
-:1031400011F047FF284605F071F9002803D0B3A11C
-:10315000C02011F03EFF8521C900BD4811F0FBFDE4
-:10316000BB49B24A0020135C0C18401CC0B2E3708B
-:103170000428F8D3A849002048608870C8707FBD33
-:1031800070B5B44E0546706A94B00C46401C04D12C
-:10319000B06AC0430004000C0BD0306AC007C00FF7
-:1031A0002870706A11F0EAFDB06A2071000A60713F
-:1031B00013E02B206946087009A968460AF0F8FB5D
-:1031C000002803D095A1E42011F003FF012028700E
-:1031D00006220AA9204611F05FFD2878002803D0B6
-:1031E0006079C0210843607114B070BDF0B5994C8E
-:1031F0000646206895B00D463746401C0837002823
-:1032000008D16068401C05D1A068401C02D1E0686C
-:10321000401C11D02068314611F0B0FD6068311DAE
-:1032200011F0ACFDA068394611F0A8FDE068314608
-:103230000C3111F0A3FD25E02B206946087009A987
-:1032400068460AF0B5FB002804D0FF2073A10E30B9
-:1032500011F0BFFE08220AA9304611F01DFD2B20F7
-:103260006946087009A968460AF0A2FB002804D044
-:10327000FF206AA1153011F0ACFE08220AA93846D9
-:1032800011F00AFD20692E46401C0836002808D19E
-:103290006069401C05D1A069401C02D1E069401C56
-:1032A00012D02069294611F069FD6069291D11F0CD
-:1032B00065FDA069314611F061FDE06929460C31D8
-:1032C00011F05CFD15B0F0BD2B246846047009A90F
-:1032D0000AF06EFB002804D0FF2050A1333011F01B
-:1032E00078FE082209AF0AA9284611F0D5FC6846E5
-:1032F000047009A90AF05CFB002804D0FF2047A154
-:103300003A3011F066FE0822391D304611F0C4FC37
-:10331000D8E710B5002108460EF00CFD0021012071
-:103320000EF008FD002102200EF004FD0021032014
-:103330000EF000FD002104200EF0FCFC0021052011
-:103340000EF0F8FC10BD10B5414CA0780B2804D34A
-:10335000FF2032A18A3011F03CFE207860214843E2
-:1033600000190830002101704178E722C908C9001E
-:10337000C91C11404170284A0121917010BD70B5DF
-:10338000254CA07800280ED0314800250178491C32
-:10339000C9B201700B2900D105708178491C817078
-:1033A0000EF093FDA57070BD70B51B4C05466068AE
-:1033B000002804D0FF2019A1B33011F00AFE656087
-:1033C00070BD70B5144E224DFFF7BDFF7168044605
-:1033D000002907D06022FDF7F7FEFFF7D0FF00209D
-:1033E0007060F1E72879002876D012485C380AF03E
-:1033F000A9FA6060002804D1FF2008A1D13011F0A3
-:10340000E8FD60680AF0FCFA002831D0204600F0A0
-:103410006FFF607801071FE0340000207372635C67
-:10342000686F73745F636F72652E6300E051010013
-:10343000040400200C12002023300000840A002025
-:10344000B41000206E524635313832320000000090
-:103450008C0C00208000001007D5C008C000401C64
-:1034600060702879401E287127E0F74861682AE0DB
-:10347000F54861680AF06FFA687900282CD0F248A4
-:103480004C380AF05FFA6060002804D1FF20EF4951
-:10349000F43011F09EFD60680AF0B6FA002816D0EC
-:1034A000204603F085FE6078010709D5C008C000FA
-:1034B000801C60706879401E6871FFF760FF83E7C9
-:1034C000E14861684C380AF046FA7DE704E0DE48DE
-:1034D00061684C380AF03FFA70BDF7B505460078D0
-:1034E000002700090C463E46062803D0D749D84895
-:1034F00011F06FFD287A00280ED0012814D0D4488E
-:10350000D249213011F065FD0298002C068001D0CF
-:10351000278066800020FEBD02270926002C0ED0E1
-:10352000A889A080A87B08E003271426002C06D0D9
-:103530002869E060A88A2082287B2072E4E702984C
-:103540000680E7E770B50E4600211C461980154637
-:10355000030011F02FFE0723050B1711231D230075
-:1035600022462946304603F0EFFD70BD224629462B
-:10357000304601F078F970BD22462946304604F005
-:103580002AFB70BD22462946304602F0F9FF70BD85
-:10359000224629463046FFF7A0FF70BD9720AB4971
-:1035A000800011F016FD032070BD10B5A94C2178E4
-:1035B000002901D0082010BDFFF74EFD012020702A
-:1035C000002010BD0146A04810B54C380AF0C3F9E0
-:1035D000A1494879401CC0B24871012803D19D48D7
-:1035E0004078FFF7C3FA10BDF8B50546072040073D
-:1035F0000F460A18012189038A4209D2002D02D000
-:103600002818884204D2E81C80088000A84201D013
-:103610001020F8BD90488178002911D03988009198
-:103620004178602251430C18083420783B4600074B
-:10363000000F00222146FFF785FF060004D015E0A9
-:10364000002038800520F8BD002D13D0398800985F
-:10365000814201D90C260DE020783B460007000F7F
-:103660002A462146FFF76EFF060005D00C2E01D03A
-:10367000002038803046F8BD774D6878401CC0B2D5
-:1036800068700B2801D100206870A878401EA870CF
-:1036900061784807400F022810D00128EAD16A4813
-:1036A00061680AF058F92879401CC0B228710128D5
-:1036B000E0D168484078FFF759FADBE7C806D9D46B
-:1036C0006068FFF77FFFD5E770B50446634816468C
-:1036D0000D46814204D15E485C49C53011F079FC49
-:1036E000012E05D05A485949D53011F072FC70BDF1
-:1036F00058480121C1706620207000202072A581E9
-:10370000A17370BD70B516460D46040001D1FFF7D8
-:103710001AFE662101700121017229680161A988E0
-:1037200081820673002C01D1FFF729FE70BD0721AD
-:103730004907012241189203914201D3102070479A
-:103740000721017000207047454A10B590420ED302
-:1037500001239B04C21A434B9A4208D3424B98421E
-:1037600005D2072252078A18DB139A4201D3102090
-:1037700010BD0DF08AFD10BD394B10B599420ED326
-:1037800001239B04374CCB1AA34208D3364B9942F2
-:1037900005D2E3020124D318A403A34201D31020CD
-:1037A00010BD022803D0102801D0092010BD0DF053
-:1037B00092FD0028FAD0052010BD70B5284B984224
-:1037C00012D301239B04274CC31AA3420CD3264BCC
-:1037D000984209D2E4020D19DB139D4204D2002A5B
-:1037E00004D014199C4201D3102070BD0DF099FD36
-:1037F0000028FAD0072070BD10B504460720400706
-:1038000001212018890394B0884202D3102014B0FB
-:1038100010BD01F06AFD002801D01120F7E70F204C
-:1038200008A9087369460BA80AF0C2F80028EED16F
-:103830006846007A207068464089608068468089C2
-:10384000A0800020E3E70000B01100201C3400003D
-:1038500015020000340000208C0C0020FFFF000047
-:10386000006001000000FC1F0040002010B594B073
-:10387000044601F03AFD002801D01120C7E7002CD2
-:1038800001D00720C3E7392168460170002181700B
-:1038900009A90AF08DF8002803D02B492B4811F014
-:1038A00098FB0020B3E770B5294C0846E178002961
-:1038B00013D000280FD007225207012385189B033D
-:1038C0009D4203D20568AA189A4201D3102070BD08
-:1038D0008288002A03D0012903D0082070BD092066
-:1038E00070BD04F0E1FA0028FAD10021E17070BD4A
-:1038F000184A10B5914208D301229204164B8A1A35
-:103900009A4202D3154A914201D3102010BD0246BB
-:10391000203A1F2A02D801F01FFC10BD072010BD5D
-:1039200007225207012310B58A189B039A4201D33C
-:10393000102010BD0246203A1F2A02D801F068FC70
-:1039400010BD072010BD00001C34000079030000EA
-:1039500034000020006001000000FC1F0040002037
-:103960008107C90E002808DA0007000F0838800810
-:103970002C4A80008018C06904E080082A4A800030
-:1039800080180068C8400006800F704710B50D20F1
-:10399000FFF7E6FFC4B20420C043FFF7E1FFC0B267
-:1039A000844203D021A11A2011F013FB10BD012184
-:1039B000234A48031060234B00221A60224A5160B8
-:1039C000224A1060224A11601D4980390860704700
-:1039D00001211B4A480310601D4A5160194A002109
-:1039E00011601A490860704710B516490868012827
-:1039F00004D00EA1562011F0ECFA10BD15488068D5
-:103A00000022C0B20A600DF0BBFE10BD10B50D481B
-:103A100001680029FCD0FFF7E7FF01200B494003B4
-:103A2000086010BD00ED00E000E400E07372635C2C
-:103A3000736F635F68616C5F726E672E6300000076
-:103A400080E100E000D1004000D3004080E200E0CF
-:103A500000D0004000D5004030B40121BC48C9026C
-:103A60000160CD1005604A030260BA4803681B027A
-:103A70001B0A036004680023240A24020460B64879
-:103A80000468240A24020460B44801244460846069
-:103A9000B34C23606360A360B24B19601D601A6071
-:103AA000B14B19601A600121016030BC704710B43D
-:103AB0000121A748CC0204600A0202600B060360E1
-:103AC000A64841608160A64900200860486088607F
-:103AD000A44804600260036010BC70470121A14843
-:103AE000C9020160C91001607047002805D0012893
-:103AF00005D0022805D19D4870479D4870479D48D4
-:103B0000704710B59CA18B2011F063FA002010BD06
-:103B100070B500219F4CA04DA04A914B002808D0C1
-:103B200001281DD0022822D093A1B32011F051FA10
-:103B300070BD01200004A060A86011601960984B5E
-:103B400042109A60974A9060814A0012106096482D
-:103B5000016087480160954801609548017070BD1B
-:103B600001204004A060A8605160596070BD012030
-:103B70008004A060A8609160996070BDF8B594461B
-:103B8000844A854D00240127754E002808D001285D
-:103B900036D0022844D078A1E82011F01AFAF8BDF6
-:103BA000891E0902090A01200004906034606860DF
-:103BB0007A4A1160012B21D000217D4A7D4B517042
-:103BC00061463D31DC63DF637B4B5C6002249C60BB
-:103BD00004241C61744B196074490F60614B891592
-:103BE0001960704B58606048016075487349C16046
-:103BF00086606B49600348601770F8BD0121DCE7FF
-:103C000001205C4E40046F4F012B04D134605060A2
-:103C100068603960F8BD9060346068603960F8BDF4
-:103C20000120524E8004684F012BF4D1EEE7674823
-:103C30004068704770B54A4D28680026554C0128E9
-:103C400006D1A068C00303D501200004A0602E6047
-:103C50006868012809D1A068800306D501204004C6
-:103C6000A0606E6001200FF04CF9A868012809D10E
-:103C7000A068400306D501208004A060AE60022049
-:103C80000FF03FF970BD10B549490878002818D0E9
-:103C90000120434AC0039060424A400090602C4A91
-:103CA00000121060404A00201060314A10603F4A04
-:103CB000106008704A78002A02D048700FF021F98D
-:103CC00010BD0320FAE70120414900060860704753
-:103CD0000120244900060860704701203C49400546
-:103CE0000860704701201F4940050860704731494E
-:103CF0000020C86388151B4908607047410A354A8F
-:103D0000C005C00D5043801C5143400A081870473D
-:103D100010B4314C430B63431B0C5C020C602D4C04
-:103D20006343C31A2D485C0258432A4B400D43435A
-:103D3000E31A0124DB0324041B191B1613700A6801
-:103D40001018086010BC704710B50FF0B2F910BD24
-:103D500080E100E008E400E018E400E000B000408A
-:103D600040B1004080E200E000E100E048B10040E6
-:103D70004081004044B100407372635C72656D5FC6
-:103D800068616C5F6576656E745F74696D65722ECF
-:103D90006300000000B3004040B3004040B5004065
-:103DA00000F5014000830040408500400082004053
-:103DB00050000020C08F004000850040008000407F
-:103DC00080F5014044B5004048B5004000B50040D2
-:103DD00000E200E0093D0000378600006F0C0100A2
-:103DE0000E4A12680C498A420AD118470B4A1268D7
-:103DF000094B9A4204D101B50DF0DDFD03BC8E469E
-:103E0000074909680958084706480749054A064B03
-:103E10007047000000000000BEBAFECA1C0100206E
-:103E200004000020901D0020901D002010B5FA4CC9
-:103E300094B02168087A002836D017206A4610709E
-:103E400000A806220931023010F026FF09A96846B1
-:103E500009F0AEFD112825D02168C03189790629E5
-:103E600020D007291ED008291CD004291AD00929DE
-:103E700018D00A2916D00B2914D0052912D00028F1
-:103E800003D0E6A1F32011F0A4F82168B82040582F
-:103E900006221C30093110F0FFFE2068017A8030C4
-:103EA000806BC17614B010BD3220C7E770B5DA4D13
-:103EB000044629680300C03111F07CF90C077C0B23
-:103EC0001A212E3B48515C677080FF20D3A1093036
-:103ED0006EE0887901286DD009286BD0052869D05B
-:103EE0000A2867D00B2865D0FF20CCA10E305FE0F8
-:103EF000887901285ED0FF20C8A1153058E0887964
-:103F0000062857D0072855D0082853D0052851D067
-:103F1000FF20C2A118304BE0887909284AD00A282E
-:103F200048D00B2846D0042844D0FF20BBA11E3027
-:103F30003EE0887903283DD007283BD0082839D0B7
-:103F4000092837D0FF20B5A1243031E08879062830
-:103F500030D00A282ED0FF20B0A12A3028E088795E
-:103F6000062827D0072825D00B2823D0FF20ABA177
-:103F70002E301DE0887906281CD00A281AD00B287C
-:103F800018D0FF20A5A1333012E08879092811D07C
-:103F90000A280FD0FF20A1A1383009E0887909282C
-:103FA00008D00A2806D0082804D0FF209BA13C3066
-:103FB00011F00FF82868C030847170BDFF2097A100
-:103FC0004130F5E79449C9220968525CD206920F44
-:103FD00005D1A0318A8B824201D1887F70470020B1
-:103FE000704770B504461120207000218A4D617021
-:103FF0002968C031897A002908D003290ED0042904
-:1040000010D0FF2085A16A3010F0E3FF207800096E
-:10401000012802D92868807D607070BD0007000FFC
-:10402000203002E00007000F30302070EEE730B59E
-:1040300003887E497E4C8B4202D09A1FA2421ED238
-:1040400042888A4202D0951FA54218D2934216D8C0
-:1040500083887D24E400A34211D8C088884205D01B
-:10406000734D04460A3C2D1FAC4208D2884208D04A
-:104070008A4206D05B1C5A43C000824201DD072001
-:1040800030BD002030BDFFB50022099B002802D0C2
-:10409000994205DC5CE0002902D1002004B0F0BDAB
-:1040A0000920FBE7845C002C12D085186F780D2F57
-:1040B0004CD010DC3B0011F07DF80A421B2A2A305C
-:1040C0003032323A3A42835C002B3FD1521CD2B29A
-:1040D0008A42F8DBE1E7122F31D004DC0E2F35D015
-:1040E0000F2F2CD132E0142F11D0152F27D116E02D
-:1040F000022CD5D1AB78039C072B237001D25B0730
-:1041000001D40A20CAE7029B01241B7814E0E34390
-:10411000DB0708E0012C08D011E00620BEE70F25E0
-:1041200023072D075B19002BF4D03046B6E7029B1E
-:104130001B789C070AD402242343029C2370835CCF
-:10414000521C9A18D2B28A4204DDA9E70B20A5E7D7
-:10415000192676028A42A5DB9FE705E00278401C1B
-:10416000002A01D0002070470A46491E89B2002A61
-:10417000F4D10120704730B5274D0021286887B061
-:10418000C943A030818300248477214606200DF0A6
-:10419000D1FD002105200DF0CDFD002102200DF004
-:1041A000C9FD0120FFF782FE28686946C030C4714E
-:1041B00004720120087068460BF007FC07B030BDA0
-:1041C00030B5154C95B02268C0329279042A0CD0D3
-:1041D000052A0AD028236A4613705080132906D076
-:1041E0003B2904D0072015B030BD0820FBE7117132
-:1041F000104609A909F0DCFB05000BD12068C0308E
-:104200008179062916D0082914D0072912D0052053
-:10421000FFF74CFE2846E6E7540000207372635C0B
-:104220006761705F636F72652E630000FFFF0000BF
-:104230007B0C00000420EBE730B587B0040003D00E
-:10424000002107200DF076FDFE4D012128686A4609
-:1042500001720421117003210C300DF06BFA2968F2
-:104260004022887B8006800E1043887368460BF0DE
-:10427000ACFB00280DD12968098A00299ED0002CAA
-:104280009CD08B000122002107200DF0AEFC0728F6
-:1042900001D0032092E7002090E770B50025064684
-:1042A000002803D0002107200DF044FDE54C01213A
-:1042B00020680172062109300DF03CFA2068817BEC
-:1042C0008906890E8173FFF7B1FD2068008A0028F6
-:1042D0000AD0002E08D083000122002107200DF013
-:1042E00084FC072802D00325284670BD0025FBE783
-:1042F000F0B59BB0040004D11920D349400110F05F
-:1043000068FE72202070616800260A780825521F16
-:104310000127CC48130010F04DFF0F0976D9FD7628
-:1043200078FCFBB576767676FAF97600C5480068B3
-:10433000C0308079032803D0C349C44810F049FE37
-:10434000002108460DF0F6FC002107200DF0F2FCDC
-:104350006078BC4A28436070106810250146C0315F
-:104360004B7A2B434B7263689D783C2D48D00246B4
-:104370009D88A032977763688030DB890B80636803
-:104380001B8A4B8063685B8A8B8095836168826B34
-:10439000C97911756168806B08311530062210F0FB
-:1043A0007BFC0620FFF782FDA648CA210068FB229D
-:1043B0000E54017E11400176B82109588A7A92087C
-:1043C00092008A724682284602F0ACFE002804D091
-:1043D0009E489D491A3010F0FCFD284602F0BCF8BA
-:1043E000002804D0994898491D3010F0F2FD284665
-:1043F00003F008FD002806D069209349C0003EE183
-:104400000120FFF753FD1BB0F0BD064600688F8802
-:10441000C0308079062812D0072810D008280ED086
-:1044200004280CD009280AD00A2808D00B2806D066
-:10443000052804D0D5208449800010F0CAFD60789A
-:10444000284360703068C030417A294341728079D6
-:10445000092811D00A280FD00B280DD005280BD021
-:10446000FFF789FE384602F062FE384602F07AF81D
-:10447000384603F0FDFCC6E7FFF77DFE0220FFF79C
-:1044800015FDEFE70068C0308079062812D00728B4
-:1044900010D008280ED004280CD009280AD00A28E9
-:1044A00008D00B2806D0052804D06F206649C0002C
-:1044B00010F08FFD6068807902F0F1FE0028A2D034
-:1044C0006178294361706168C8809CE7074600688D
-:1044D000C0308079062812D0072810D008280ED0C6
-:1044E00004280CD009280AD00A2808D00B2806D0A6
-:1044F000052804D055485449623010F06AFD6078B0
-:10450000284360706068C188386804E032E197E150
-:1045100084E084E00FE0C030018061680989418057
-:10452000616849898180002102200DF003FC386810
-:10453000C030C67167E706460068C030807906283B
-:1045400019D0072817D0082815D0042893D0092897
-:1045500011D00A280FD00B280DD005288BD03B484E
-:104560003949793010F035FD3068C0308079042841
-:10457000ABD00528A9D03068807C40063AD5606869
-:1045800002210C30FFF7E9FD002833D060680821D4
-:10459000001DFFF7E2FD00282CD03168B8204058FC
-:1045A000807A800708D1CA20405C002808D1488A58
-:1045B000C20505D5C00703D14A8A402082434A82FA
-:1045C0004A8A802082434A822D2268460270BC209B
-:1045D000425A684642801022973101A810F05CFBD5
-:1045E00009A9684609F0E4F90028A3D0174816493C
-:1045F000A03044E062683068AC2192890A52616858
-:104600000822091DAE3010F047FB10A80574306871
-:10461000AE30159014A80BF0D8F9F4E68F71064669
-:104620000068C030807906281FD007281DD00828D0
-:104630001BD00428F1D0092817D00A2815D00B2840
-:1046400013D005E0540000201C42000029030000A4
-:104650000528E2D0F949FA4810F0BBFC3068C030B8
-:1046600080790428D9D00528D7D0606881790029BD
-:1046700002D08078002805D0F148F0496C3010F065
-:10468000A8FCC0E66078B8212843607030680958FB
-:10469000897A8907890F012952D1817C09064FD473
-:1046A000017E490701D5042100E00321C030817259
-:1046B0002B206946087009A9684609F079F9002895
-:1046C00004D0DF48DD49213010F083FC69463068B2
-:1046D000098D81820E2210A90A74DA49B822159137
-:1046E000125808324A61024660324A6092790A7072
-:1046F000024614320A61521D8A601032CA60133AAF
-:104700008A619632CA61921C0A62473A4A62103242
-:104710008A621032CA62473ACA63521E0A64921F02
-:1047200050304A64886414A80CF038FB022815D075
-:10473000002813D0C248C1494A3010F04AFC0DE0AD
-:10474000817C4906017E490701D5042100E003214F
-:10475000C0308172002106200DF0ECFA3068418AE9
-:104760000A0602D440229143418289B280229143B9
-:10477000418248E6B4480068C0308079032804D0FC
-:10478000AF48AE49783010F024FC002108460DF007
-:10479000D1FA002107200DF0CDFA6078AA4A28430B
-:1047A0006070106810250146C0314B7A2B434B7264
-:1047B00063689D783C2D00D122E602469D88A03298
-:1047C000977763688030DB890B8063681B8A4B8036
-:1047D00063685B8A8B8095836168826BC979117588
-:1047E0006168806B08311530062210F055FA0620FA
-:1047F000FFF75CFB9448CA210068FB220E54017E3F
-:10480000114001764682284602F08CFC002804D034
-:104810008B488A49923010F0DCFB284601F09CFE60
-:10482000002804D086488549953010F0D2FB2846F0
-:1048300003F0E8FA00289CD08148804997301EE7B1
-:10484000607828436070DEE500290BD088807E48C0
-:104850000068C0300288CA8002880A8142884A8182
-:10486000808888817047F7B5064600780C46002797
-:10487000010982B03D46012974D073480068009058
-:10488000C03002296FD0072904D00A296CD06B49A7
-:104890006E48E3E171680A78521F130010F08AFC39
-:1048A0000F09A551A5A52F585847A5A5A5A5656F22
-:1048B000A5008A783C2A1BD010271625002C7DD015
-:1048C0008888A0807068A21DC08920827068C08915
-:1048D000E0817068008A60827068408AA082716896
-:1048E00008460831C07901F09FFB0020607375E035
-:1048F00019270725002CE2D00021A17171E01127B2
-:104900000725002CDBD089880091A1807168F722EF
-:104910008979A171417A11404172009802F008FC36
-:10492000009801F023FE009803F0B0FAC1E10127DE
-:104930000925002CC3D08888A080706880792072F7
-:10494000B7E1888812270E252146FFF77DFFB0E1E9
-:1049500018270825002CB2D08888A080A01DFFF75A
-:1049600040FBA6E145E0A1E15DE01A270725002C08
-:10497000A5D04888A08070680079A07199E18A78F4
-:104980003C2AB5D010271625002C98D08888A08006
-:104990007068C08920827068C089E0817068008A70
-:1049A00060827068408AA0827168607B497D40089F
-:1049B0004000C907C90F0843607300E036E1716821
-:1049C000C007497DC00F49084900084360737168FA
-:1049D000A21D08460831C07901F026FB1A4800687C
-:1049E000C030417AEF22114046E1532013490001C3
-:1049F00034E1307A012803D014481049C5382DE13C
-:104A000012270E2570892146FFF71EFF002C91D03A
-:104A100070784007400F032888D10B480068C030E9
-:104A2000417AFB22DFE708490968A031002C01D058
-:104A30008A8BA280327A921E0AE000001C4200009B
-:104A4000ED030000AC120020540000200C06000012
-:104A5000130010F0AFFB073D4853EDEE6F05ED007E
-:104A600013270C25002C90D0009900224A82F1686F
-:104A700089788907890F0129217A26D049084900B8
-:104A80002172FD231940F3689B785B07DB0F5B0005
-:104A900019432172E323E2801940F3681B785B0716
-:104AA000DB0E19432172DF231940F3685B78DB07C3
-:104AB0009B0E194321726272F1680122C978A172BA
-:104AC000017A1143F7221140ADE001231943D7E7E2
-:104AD00015270C25002C9AD0F06806220068A11D2D
-:104AE0000EF07CFFE5E016270725002C8FD0317BE8
-:104AF000A171017A08221BE00172DAE01427122565
-:104B0000002C84D00098A21D8030806B01461531A6
-:104B1000007D01F089FAB089E081207C0121084301
-:104B2000F92108402074FE480068C030017A022252
-:104B30001143E1E717273825002C77D03221A01D3B
-:104B400010F007F90020A071207A03210843207299
-:104B5000FB210840F24909680A7E5207D20F9200F1
-:104B600010432072B8204058807A800757D0A07A2E
-:104B70008A7C4008D2074000D20F1043FD2210402B
-:104B8000A0728B7CFB229B07DB0F10409B0018431D
-:104B9000A0728B7CF7269B07DB0F3040DB001843AD
-:104BA000EF231840A072E07A10408A7CD206D20F20
-:104BB00092001043E0728A7C3040D206D20FD200BD
-:104BC0001043E072888AA0812046102267310E309F
-:104BD00010F062F8D249A07F0968C0078A7DC00F33
-:104BE00052001043A0770A7E400852074000D20FBF
-:104BF0001043A077084640304DC820344DC4303CA7
-:104C00003F20405C22463032393101F00DFAC44871
-:104C100000688030806B817A890889008172C04881
-:104C20000068C030017AFB22114065E737E000E000
-:104C300038E0327B022A14D017273825002C2ED0DA
-:104C4000017AFB2319400172012A17D0032A17D0D9
-:104C5000042A18D0052A16D0B249B34810F0B9F981
-:104C600027E019270725002C19D0898BA180012165
-:104C7000A171417A4908490041721AE0012000E01F
-:104C80000220A07106E0707B0007000F8030A07149
-:104C9000052A02D00020E0710BE00120FBE7049818
-:104CA00005800CE0A0489F490A30D7E7317A0029F7
-:104CB00008D00498002C058001D027806580002052
-:104CC00005B0F0BD19270725002CE8D00021C94305
-:104CD000A1800021A171417AFD2284E610B5904C9B
-:104CE00094B02068C0308079022809D0032807D00A
-:104CF000052805D0092803D00A2801D00B2837D170
-:104D00001B2108A801730021817369460BA808F0D4
-:104D10004FFE002804D1684640781B2802D00320AB
-:104D200014B010BD002108460DF004F80021072042
-:104D30000DF000F868468078002819D12068C0304E
-:104D40008079801E030010F035FA0A060613081356
-:104D500013130D0F1113012000E00420FFF7A6F834
-:104D60000020DDE70620F9E70720F7E70820F5E750
-:104D70000820D5E770B50025694C002807D0022827
-:104D800017D0072828D033206649400146E0FFF7B6
-:104D9000A5FF00280CD1FEF7D6FA2221017005727A
-:104DA000FEF7EDFA2068C030417A022211434172C9
-:104DB00070BDFEF7C8FA122101700121017221684D
-:104DC000BC22525A4281C031CD71FEF7D8FA206818
-:104DD000C030417A0422E9E72168C620405C0228FD
-:104DE00009D0032807D0092805D00A2803D00B28AA
-:104DF00001D00528DCD1887B8109012911D08009E7
-:104E000004D0494847496E3010F0E3F80020FFF71E
-:104E100044FA0028CCD044484249723010F0D9F806
-:104E200070BD0020FFF708FAF3E770B50D460400E7
-:104E300004D1CD203B49C00010F0CBF820780128E8
-:104E400005D0394837499D3010F0C3F870BDA188AE
-:104E50003648334E814209D1E288824206D1306819
-:104E60001321A030808BFFF7ABF970BD814202D1D6
-:104E7000E08800280AD012202870687808210843AA
-:104E8000687007CC083507C5002106E000227823AA
-:104E9000114602200CF0A9FE02213068C030C17119
-:104EA00070BD1F480068C030807A704738B51C4C10
-:104EB00005460278206813000146C03110F07AF9E7
-:104EC00009A8060909A21945728AA800FEF7AEFFD3
-:104ED00038BD8879062806D0092804D0124811491F
-:104EE000B53010F076F820680422017E1143017677
-:104EF00088E0A9880029EBD0A030808B0B4988423C
-:104F0000E6D0A868002804D107480649C53010F04B
-:104F100060F8A8680A38A8600090AB88206807E0AD
-:104F2000540000201C420000E9050000FFFF0000C3
-:104F3000A030808B0622042102F028F80028C7D078
-:104F4000F849F94810F045F838BD287902288879E1
-:104F50000DD00428F8D00528F6D0284601F075F8C1
-:104F600020681321A030808BFFF72AF938BD07286D
-:104F700006D00A2804D0EC48EA490A3010F029F893
-:104F8000284601F062F820680122C030417A1143BE
-:104F900041728079072803D00920FEF787FF38BDCA
-:104FA0000620FAE7887906280AD0042808D00928BC
-:104FB00006D0052804D0DC48DA49313010F009F871
-:104FC0000ECDDA480361C2608160A2210170FEF754
-:104FD000EBF938BD8879062818D0072816D009289B
-:104FE0000DD00A280BD0D048CE4944300FF0F1FF45
-:104FF0002068C0308079062808D0072806D00B200A
-:10500000FEF754FF284601F020F838BD0820F7E7E6
-:10501000C548C449583095E7FFB593B001246846A8
-:1050200003218470C9021D4601800AF0A6F90022FE
-:105030006946012003F0ABF906460AF0A2F9002EFA
-:105040005CD16846152184704902018000271C212B
-:1050500001A808970FF07FFE01200146103108A833
-:1050600001700020014608A841708178F9200140B4
-:10507000891C214308A881706846017902263143C2
-:10508000017114998185C7851F21018608A80A909E
-:1050900013980D90684609900AF06FF90EAA09A9B5
-:1050A00001A802F036FF07460AF06BF9002F02D084
-:1050B000384617B0F0BD9E4F68463968008F48806B
-:1050C000684684709B49018008A88078F9210840CF
-:1050D000801C4108490008A88170684686850686BC
-:1050E00015A80D900AF049F90EAA09A901A802F025
-:1050F00010FF06460AF045F9002E01D03046D8E7E9
-:1051000068463968008F88808A4968468470C91C5F
-:105110000180298810A8018069884180A988818040
-:10512000E988C180082168468185018610A80D9014
-:105130000AF023F90EAA09A901A802F0EAFE044622
-:105140000AF01FF9002C01D02046B2E76846396802
-:10515000008FC8800020ACE7F0B5774D95B00C46C5
-:10516000A9423FD30126B604744FA11BB94239D3DB
-:1051700073498C4236D2202806D0212827D02228F5
-:1051800042D0072015B0F0BD3C216846017021884F
-:1051900041806188818009A908F00AFC0028F1D1CA
-:1051A00008A98979002903D002290ED00320E9E754
-:1051B0006168A942E6D38A1BBA42E3D3604A9142AE
-:1051C000E0D26A46128D0A80DCE75E48DAE72068A2
-:1051D000574C002813D00721490701224118920398
-:1051E000914201D31020CDE706210EF0E1FB2168AA
-:1051F000A82250500120A03188750020C2E7206805
-:105200000021A0308175F8E7204600F02AFFB9E7B9
-:10521000494A10B5914208D301229204474B8A1A99
-:105220009A4202D3464A914201D3102010BD202851
-:1052300005D0212803D0222803D0072010BD062046
-:1052400010BD084600F051FF10BD70B50446374848
-:10525000CC21AC300FF07FFD3448354EAC3000210E
-:105260003060C943A0308183002585770120FEF797
-:105270001DFE3068C7210D54E121C57389000182EC
-:10528000B6210D54014609310830FDF779FF316828
-:10529000084629311930FDF7A9FF002C24D03068C9
-:1052A00080308463FEF7C2FD1E20E081607A8F218A
-:1052B0000840303060723068014614312161983105
-:1052C0006162933921601031616025721339A162E6
-:1052D000091FE1628531E163303921631031616377
-:1052E00010310930A163A06470BD11480068C0305E
-:1052F0008079042803D0052801D0002070470120C0
-:10530000704770B506460C480C46814208D3012010
-:1053100080040A49201A884202D30948844213D3E0
-:10532000102070BD1C420000B30600004C1200208B
-:1053300054000020012A0000006001000000FC1F52
-:105340000040002002300000FFF7CFFF002801D00E
-:105350001120E6E7FD48FE4D002E02D0012E46D179
-:105360002FE02278002A0AD00121012A09D0022A3E
-:1053700014D0032AD5D1A2799209D2D112E000210A
-:1053800003E0A2799209032ACBD128680622017290
-:1053900060308171611C0FF07FFC05E0A2799209F9
-:1053A000012ABED128680172002107200CF0C2FC3E
-:1053B00028680622611C09300FF06EFCFEF736FDEE
-:1053C00011E02178002912D0012910D0022910D033
-:1053D0000329A6D10120FEF760FF002803D0DD4994
-:1053E000DD480FF0F6FD2868C673002099E7072016
-:1053F00097E70120FEF720FFEFE707214907012289
-:1054000010B541189203914201D3102010BDD0492C
-:10541000024609680B7A0931184600F005FE0020A3
-:1054200010BDFFB599B005460020694608710872A5
-:1054300008A9087408751E4614460121C748890446
-:10544000C74AC84B002D06D085420DD36F1A97422C
-:105450000AD39D4208D2002C09D0844204D3601A9A
-:10546000904201D39C4202D310201DB0F0BD2846CB
-:10547000204318D01F270CAB01AA009728461A9981
-:10548000FEF701FE0028F0D10DAB02AA31462046FE
-:105490000097FEF7F8FD0028E7D16846007AC107BB
-:1054A00003D00A20E1E70720DFE7800705D568463B
-:1054B0000079800701D50B20D7E7FFF716FF0028FA
-:1054C00001D01120D1E703AF002D0FD01A2069467B
-:1054D00008731A9888732946F81C1A9A0FF0DCFB97
-:1054E0000EA903A808F064FA0028BED1002C0ED043
-:1054F000202168460173867332462146F81C0FF05E
-:10550000CBFB0EA903A808F053FA0028ADD19049AF
-:1055100008A80968007C08700020A6E7F0B50446DA
-:105520008E48002795B084426FD301208004211A51
-:105530008B488142F8D38B48844266D22378012B72
-:105540000BD1864960688842EED39904421A844997
-:105550008A42E9D383498842EFD27D490A681546D9
-:10556000C035A879022814D0032812D0052810D0FD
-:1055700009280ED00A280CD00B280AD0012803D005
-:10558000002B06D0012B04D0687AC506AD0F06D1DA
-:1055900001E00820F6E5850701D4400701D5112078
-:1055A000F0E5012B15D0208A6F4E0546203DB5420F
-:1055B0007ED2022B01D0032B01D1A02878D3012B5E
-:1055C00007D01078C00704D0608A002870D0B428B3
-:1055D0006ED8002B06D0012B08D0022B04D0032B51
-:1055E00066D110E0002512E0022510E06068012578
-:1055F000007800280BD0012808D0022806D0032804
-:1056000004D05248BEE5032501E066E00127D07BC7
-:1056100001281CD1108A002819D0907B810901290A
-:1056200011D0800904D04C484A49E4300FF0D1FC35
-:105630000120FEF732FE00280BD047484549E830EC
-:105640000FF0C7FC05E00120FEF7F6FDF3E7FEF7DB
-:10565000EDFB207A002806D0012806D0022806D0CB
-:10566000032825D105E0002604E0012602E00226F9
-:1056700000E00326002D01D0022D42D1002E40D0A3
-:10568000E068002814D00179002928D008290FD813
-:10569000027B9446082A0BD800290ED02F4A0168B5
-:1056A00091421AD3012292048B1A2D4A934200E0B0
-:1056B00084E012D32B4A91420FD26146002912D0C6
-:1056C00080682649884208D301218904421A244966
-:1056D0008A4202D32349884205D3102052E5027B37
-:1056E000002A6BD0D4E71A4800680078800702D0FF
-:1056F0001648401E46E5022D03D1022E5ED0032E31
-:105700005CD0182168460170218A4180218A8180FD
-:1057100085710F480068007A002801D0012870D1F7
-:105720006946C8716846077221780930012932D06C
-:1057300006210FF00EFB07216846C173067409A904
-:1057400008F036F90028C9D10A210FE00232000022
-:10575000540000201C4200005F08000000600100AF
-:105760000000FC1F00400020E13F0000684601707F
-:1057700009A908F01DF90028B0D13A20694608703F
-:1057800009A9684608F014F90028A7D1002D08D00F
-:10579000022D06D04CE061680622491C0FF07CFA0D
-:1057A000C9E7002E44D00026374623E00168B00048
-:1057B00009580978002903D0012904D00720E1E421
-:1057C00069468F7002E001216A469170E168062205
-:1057D0000968095800A8491C03300FF05DFA0B2036
-:1057E0006946087009A9684608F0E2F80028E6D181
-:1057F000761CF6B2E0680179B142D7D800266F4630
-:1058000012E050E08068B10041581022B81C0FF03F
-:1058100043FA3B206946087009A9684608F0C8F8B1
-:105820000028CCD1761CF6B2E068017BB142E9D801
-:105830001B20694608700120887009A9684608F095
-:10584000B7F80028BBD108A840791B282BD1002D20
-:105850000AD0012D04D0022D08D0032D18D105E067
-:105860000320FEF723FB26E003200FE0FE4800683C
-:10587000C030807903000FF09DFC0916061616183B
-:1058800016081A1C1600022000E00920FEF70EFB85
-:10589000608A00280FD000228300114610460CF0C9
-:1058A000A4F9002807D003206CE40520EEE70A20C5
-:1058B000ECE70B20EAE7002064E470B586B00C004A
-:1058C00006460BD0E94884424AD301208004E849C7
-:1058D000201A884244D3E748844241D2E24D2868E6
-:1058E000C030C179022902D0407A400702D5112088
-:1058F00006B016E5002C04D02046FEF798FB0028E1
-:10590000F6D13046FEF75EFB012803D0022823D0F3
-:10591000D948EDE721001BD1082069468882286814
-:1059200001ABC08805AA002103F019F90028DFD1D6
-:105930006846808A082801D00320D9E76846818814
-:105940008181C188C181018901824189418203A984
-:10595000304601F074FCCBE7002C01D00620C7E7ED
-:105960001020C5E770B50C460546FEF72BFB012855
-:1059700003D0022801D0C048D3E421462846FEF7D0
-:105980001FFCCEE400B50146143095B0192801D2B1
-:10599000880707D008461E3004D00A3002D00720FE
-:1059A00015B000BDFFF7A1FC002801D01120F7E7DA
-:1059B000AD4831220068417068460270817009A9C3
-:1059C00007F0F6FFECE701B582B0022069460880D7
-:1059D000A54802AB00686A468088002102F02AFFD1
-:1059E00069460988022900D003200EBD38B502217E
-:1059F0006A4611800721490701224118920391420A
-:105A000001D3102038BD9849034609686A468C883E
-:105A10000021204603F0A3F8694609880229F1D045
-:105A2000032038BD3EB504460820694608808F48EB
-:105A3000844208D3012080048D49201A884202D371
-:105A40008C48844201D310203EBD2046FEF7EFFA79
-:105A50000028F9D12088694688806088C880A0889D
-:105A60000881E0884881804801AB00686A46C088A8
-:105A7000002102F0DFFE694609880829E4D00320EE
-:105A80003EBD1FB504460820694688817748844298
-:105A900008D3012080047649201A884202D3754831
-:105AA000844202D3102004B010BD6F486B460068DA
-:105AB00003AAC088002103F052F80028F3D16946F8
-:105AC0008989082901D00320EDE7694609882180EA
-:105AD00069464988618069468988A1806946C98884
-:105AE000E180E0E7FEB50546604817460E46814274
-:105AF00008D3012189045E4A731A934202D35D4B95
-:105B00009E4201D31020FEBD1F2F01D90C20FEBDE7
-:105B1000554C85422AD3681A904227D39D4225D2FC
-:105B2000206801A9408802F037FE0028EFD12878CC
-:105B300069464871206801A9408802F010FE0028DB
-:105B4000E5D169460090087802210843694608704B
-:105B50004979090703D0082108436946087020687D
-:105B60006946408802F0A5FD0028D0D169460F8122
-:105B700020683346408802AA002102F05BFE694695
-:105B80000989B942C3D00320FEBD38B50C460721B0
-:105B9000012249079203002802D04318934202D2FF
-:105BA0006118914201D3102038BD21886A461180C6
-:105BB000002801D000290BD02B49034609684D88E5
-:105BC0000021284602F0CBFF69460988218038BDB4
-:105BD0000C2038BD30B50C46244987B08C4208D320
-:105BE00001218904224A611A914202D321498C423F
-:105BF00002D3102007B030BD1B4D2968C0310A7A8E
-:105C0000520708D48979491F0B000FF0D3FA050415
-:105C10000604040604000820ECE7FEF7D3F9012887
-:105C200003D0022839D01448E4E720881E2801D286
-:105C30000720DFE72868C030807906282BD00A20AB
-:105C4000FEF734F90520694608700879A1788008C4
-:105C5000C9078000C90F084369460871FB21084045
-:105C6000A1788907C90F09E05400002000600100F5
-:105C70000000FC1F004000200230000089000843A3
-:105C8000694608712088C880684609F09EFE002891
-:105C9000B0D00320AEE70720D2E70620AAE7F0B590
-:105CA00087B014460D46FEF78DF9012804D002286E
-:105CB00002D0FE4807B0F0BDFD4B18680146C03168
-:105CC0000A7AD20707D08A79042A04D0052A02D09A
-:105CD000002D02D052E00820ECE7F64A944208D3A7
-:105CE00001229204F44BA21A9A4202D3F34A94423C
-:105CF00001D31020DEE7A278D206520F042A0CD876
-:105D0000E378072B09D3102B07D822799A4204D3C2
-:105D1000102A02D822881E2A01D00720CAE702468C
-:105D20008032966BF727F372966B23793373966BF9
-:105D3000737A3B40A778BF06FF0FFF003B437372A7
-:105D4000966B2388F381966BA778B37AFF079B083D
-:105D50009B00FF0F3B43B372FB273B40A778966B3A
-:105D6000BF07FF0FBF003B43B372926BA478537A17
-:105D7000E406DB08DB00640F234353720B226B46FF
-:105D80001A70852D22D008DC002D17D0812D17D058
-:105D9000822D17D0832D08D116E0862D18D0882D9E
-:105DA00018D0892D18D08A2D18D00B221A71B6223E
-:105DB000125CBF4C002A13D0A83012E00022F5E795
-:105DC0000122F3E70222F1E70322EFE70522EDE7E4
-:105DD0000622EBE70822E9E70922E7E70A22E5E7DE
-:105DE00000200290887907280BD0082809D00920C4
-:105DF000FEF75CF8684609F0E8FD002803D00320B0
-:105E000058E70620F4E720680422C030017A4908E8
-:105E100049001143017200204CE770B5A44E0D46B5
-:105E2000316886B0C031097A1446090701D40820C8
-:105E30005EE5FEF7C7F8012803D0022801D09B4891
-:105E400056E5002D12D09B48844208D301208004DF
-:105E50009949201A884202D39848844201D31020DD
-:105E600046E5012D0BD0022D02D106E0002C01D019
-:105E700007203DE50020029005E0022000E001201F
-:105E8000694608710294032069460870684609F063
-:105E90009CFD002801D003202AE53068F722C0309D
-:105EA000017A11400172002022E570B594B01446C9
-:105EB0000E46FEF787F8012804D0022802D07B485E
-:105EC00014B059E57A4D2868C030007A800701D4B3
-:105ED0000820F5E7002C01D00720F1E7FFF705FACD
-:105EE000002801D01120EBE7002E1DD02D2168469F
-:105EF00001702C68BC20015B684641801022B11CF7
-:105F000001A80EF0C9FE207EFB210840B17CC90724
-:105F1000490F08432076B07CFF214008A075608AB5
-:105F200082310843608207E02E21684601702868AC
-:105F3000A030818B6846418009A9684607F038FD8A
-:105F40002968FD23C0310A7A1A400A72B8E710B5F1
-:105F50000C46FEF737F8012803D0022801D0534839
-:105F600010BD5448844208D3012080045249201AAD
-:105F7000884202D35148844201D3102010BD2046EC
-:105F8000FEF72FF8002010BD10B594B00446FEF7C0
-:105F900019F8012804D0022802D0444814B010BDDA
-:105FA00043480068C0308179042910D005290ED0FB
-:105FB0003820694608704C8001200871487109A991
-:105FC000684607F0F5FC0028E8D00B20E6E7002043
-:105FD000E4E710B594B00446FDF7F4FF012803D0C0
-:105FE000022801D03148D9E731480068C0308179B2
-:105FF00004290DD005290BD03820694608704C8043
-:1060000000200871487109A9684607F0D1FCC5E76E
-:106010000020C3E726480068C0308079062801D3F5
-:10602000012070470020704708B51346002806D0AD
-:1060300023A00068009048796A468009105C1870B7
-:106040000622581C0EF028FE08BD10B50446FDF7C8
-:106050007AF9A22101700ECC08300EC0FDF78FF93D
-:1060600010BD70B5124C054601682068002913D098
-:10607000104A914208D3012292040F4B8A1A9A4285
-:1060800002D30E4A914201D3102075E410227730DA
-:106090000EF002FE206801218030806B01722068C2
-:1060A000A9880182C17B012919D10BE002300000CF
-:1060B00054000020006001000000FC1F0040002090
-:1060C0000302FF01807B800901280AD00120FEF72E
-:1060D000E4F8002803D01A491A480EF07AFF00208D
-:1060E0004AE40120FEF7A8F8F3E770B5054600681A
-:1060F000154C00281ED007214907401801218903AB
-:10610000884201D3102037E42068B8210958097A61
-:10611000012909D00146773129300AF08EFF206825
-:1061200001218030806B017221681022286877314C
-:106130000EF0B2FD2068008AA88000201CE4000058
-:106140001C420000FD02000054000020FFB581B099
-:1061500001980E46C078174610360E37022809D02F
-:10616000032840D005287DD0F2A1F7480EF031FF7A
-:1061700005B0F0BDCC890A2060430E301880312371
-:106180000A98002A0380F3D0486800889080002095
-:10619000D0801081097B9481891FCDB21AE03088AC
-:1061A0007168388048780A7800021043F880C8780F
-:1061B0008A78000210433881BA1C091D28460BF06A
-:1061C0008AF8002D01D0002802D000203871788094
-:1061D00008360A372046641EA4B20028DFD1019990
-:1061E0000020C870C4E7CC890A2060430E301880B4
-:1061F00032230A98002A0380BAD048680025008814
-:106200009080D5801581087B401FC0B2009094819A
-:1062100042E0716832880878FA803A79C3075208F8
-:106220005200DB0F1A43FD231A408307DB0F5B008C
-:106230001A43FB231A404307DB0F9B001A43F72343
-:106240001A400307DB0FDB001A43EF231A40C30693
-:10625000DB0F1B011A43DF231A408306DB0F5B01B0
-:106260001A4300E020E0BF231A404306DB0F9B01E6
-:106270001A433A71C00978718A784B781002184332
-:1062800038813A46C91C00980BF025F8002801D047
-:10629000BD703D8008360A372046641EA4B200282F
-:1062A000B7D10198C57063E7087BCC89801E85B2A1
-:1062B0002846083060431030188034230A98002A9A
-:1062C00003808FD048681746008890800020D080D7
-:1062D000108194811037E000D581C0190CE030881E
-:1062E0003880009878602A46716800980EF0D4FCD7
-:1062F000009808360837401900902046641EA4B262
-:106300000028ECD16BE7FFB50546C07881B00C469C
-:106310000A9E03000EF04EFF0BA3071733414F6D8B
-:106320008F9D9D9DA300207B1746082806D003283B
-:1063300004D085487FA154300EF04BFE04990E2006
-:10634000088030200CE0207B1746042804D07E48CB
-:1063500078A171300EF03DFE04990E2008803120A6
-:106360003080002F44D060680088B880607AFF30A9
-:106370000130F880E08938810020B88137E0207B47
-:106380001746042804D070486AA18D300EF021FE13
-:1063900004990E2008803220E2E7207B174602286D
-:1063A00004D0694863A1A9300EF013FE04990E20B1
-:1063B00008803320D4E7207B1746042804D06248A5
-:1063C0005CA1C4300EF005FE049810210180342039
-:1063D0003080002F0CD060680088B880607AFF3071
-:1063E0000130F880E08938810020B881F881E870B8
-:1063F000BEE6207B1746052806D0062804D0524862
-:106400004CA1E1300EF0E5FD049812210180352009
-:106410003080002FECD060680088B880607AFF3050
-:106420000130F880E0893881E089B8810020388225
-:10643000A988F981DBE7207B1746072804D042486A
-:106440003CA1F8300EF0C5FD04990E2008803620DE
-:1064500086E700962846049B00F02DFD88E635A1CE
-:106460003A480EF0B6FD83E670B5054600780C4656
-:10647000082603000EF09EFE124C3434241C380A09
-:106480000A0A0A0A0A0A0A0A0A0A0A4C687800284A
-:1064900004D02E4827A12C300EF09BFD002C03D1F8
-:1064A0001F2024A1400108E060783043607020E0A4
-:1064B000002CF9D17D201FA1C0000EF08AFDF3E76A
-:1064C000002904D03F201BA100010EF082FDFCF743
-:1064D0003AFF0446407830436070FCF750FF08E014
-:1064E0001A4814A1473002E0184812A14C300EF0AF
-:1064F00070FD002C0AD06078000707D5932020702B
-:106500002046582229460830FAF75EFE002070BD6A
-:106510000E4808A15030EAE710B500200C4C0D4998
-:106520000346C2008C525218401C0006D370000E65
-:10653000F7D010BD7372635C67617474635F636FDF
-:1065400072652E63000000005A020000B3030000D1
-:10655000FFFF000058000020FE49088001208870DD
-:1065600000207047FB4900208870704710B500215B
-:10657000F848C94301800021C17007F053FAD8E7F9
-:10658000F7B584B0054600276846078187806868AC
-:106590000C46008800F0ECFB0646287A032805D05C
-:1065A000002E03D1EC49ED480EF013FD297A204668
-:1065B000C91E123000900B000EF0FCFD0FF2F1F03E
-:1065C0003D09AA465C6D34B3CDF38B8BF000F078B7
-:1065D000012803D0E049AD200EF0FBFCA8896946F4
-:1065E000C0000E30888030200881002C22D06868DE
-:1065F0000188A180E7802781A989A18100200DE081
-:10660000C100B27909190A74B288CA81820052198C
-:10661000D3894B82128A401C8A8280B2A18981422E
-:10662000EED8D7E002A8009001AB224629463046BA
-:1066300000F0CCFBF1E002A8009001AB2246294615
-:10664000304600F005FCE8E0F07806281AD0FF207C
-:10665000C149223014E068680188A180E780278161
-:10666000A989A181B188E181E9892182EA89296921
-:1066700000982BE0F078062804D0FF20B6493C3083
-:106680000EF0A7FCE8896946123088803520088121
-:10669000002CE0D1C1E0F078072804D0FF20AE49FB
-:1066A00056300EF096FCA88969460E308880362058
-:1066B0000881002CBED068680188A180E78027810E
-:1066C000A989A1812046AA890E3029690EF0E4FA31
-:1066D00080E0E8896946123080B2382288800A81D9
-:1066E000002C79D068680188A180E7802781A9897A
-:1066F000A181287A102809D00221A173E989218279
-:10670000EA89296900980EF0C7FA86E00121F4E7CA
-:1067100002A8009001AB224629463046FFF716FD3D
-:106720007BE0F078082803D08B498D480EF051FCAF
-:1067300014206946888037200881002C6DD0686855
-:106740000188A180E7802781A989A18167822782AA
-:106750000120A0733EE0F078092804D080487E49EB
-:1067600018300EF036FC288A6946143088803720AD
-:106770000881002C51D068680188A180E78004213D
-:106780002781A173A989A181E9892182298A61824E
-:1067900020462A8A1430696998E702E038E01CE054
-:1067A00024E0F0780A2804D06D486B4933300EF0AD
-:1067B00010FC14206946888037200881002C2CD0DA
-:1067C00068680188A180E78027810521A173A781DE
-:1067D00027826782F77020E017E002A8009001ABE3
-:1067E000224629463046FFF78EFD16E00D20694609
-:1067F000392288800A81002C07D00120E08055488A
-:106800000188A1802781277307E00699088010E09E
-:106810008F205149C0000EF0DCFB68460699808845
-:106820000880002C05D06846008920806846808852
-:106830006080002007B0F0BDF7B594B015460F4654
-:10684000149800F0A0FA04000AD0032000F088FB9E
-:10685000022802D2E078002804D0112017B0F0BD41
-:106860004048FBE71720694601260883002D0FD01A
-:106870000321684601711021018210A8024605908B
-:1068800004A928460AF04DFD00280DD00720E5E7B1
-:1068900008216846017100210781C9434181052112
-:1068A0008673C90281810CE0A878A0712888A08035
-:1068B000684605218673C902818100210781C94389
-:1068C000418109AA023206A901A807F0E4F80028CC
-:1068D00002D000F06BFAC1E707A800906846038B6E
-:1068E00004220321149800F051FB0028B6D1E67071
-:1068F000B4E770B592B00D0006460ED000F043FA32
-:1069000004000CD0032000F02BFB022802D2E07818
-:10691000002806D0112012B070BD1020FBE71148EE
-:10692000F9E7172168468180042101722988818155
-:106930006988C181012181740B4901820AAA02324E
-:1069400001A902A807F0A7F800280FD000F02EFA3E
-:10695000E1E7000058000020346500003C0400001E
-:1069600063020000023000000228000008A8009026
-:106970006846838804220321304600F007FB002884
-:10698000C9D10221E170C6E770B592B00D0006468C
-:106990000DD000F0F8F904000BD0032000F0E0FA6D
-:1069A000022802D2E078002805D01120B3E7102099
-:1069B000B1E7FA48AFE717216846818004210172E8
-:1069C000298881816988C18101218174F44901820A
-:1069D0000AAA023201A902A807F05DF8002802D035
-:1069E00000F0E4F997E708A800906846838804223D
-:1069F0000321304600F0CAFA00288CD10321E1704F
-:106A000089E770B592B00D0006460DD000F0BBF9D5
-:106A100004000BD0032000F0A3FA022802D2E07891
-:106A2000002805D0112076E7102074E7DB4872E7D4
-:106A3000022168460172298881816988C1811721F4
-:106A400081800AAA023201A902A807F024F80028CE
-:106A500002D000F0ABF95EE708A800906846838892
-:106A600004220321304600F091FA0028DBD10421F2
-:106A7000E17050E7F0B591B015000E4607460ED014
-:106A800000F081F904000CD0032000F069FA02281C
-:106A900002D2E078002806D0112011B0F0BD1020FD
-:106AA000FBE7BE48F9E7172168468180042101729F
-:106AB000298881816988C181B17881743188018296
-:106AC0000AAA023201A902A806F0E5FF002802D0B6
-:106AD00000F06CF9E1E708A800906846838804227A
-:106AE0000321384600F052FA0028D6D10521E17082
-:106AF000D3E7F7B592B015460E46129800F043F969
-:106B000004000AD0032000F02BFA022802D2E07819
-:106B1000002804D0112015B0F0BDA048FBE70627DF
-:106B2000002D12D0684607728681C581A580172086
-:106B3000694688800AAA023201A902A806F0ABFFC2
-:106B4000002807D000F032F9E5E705216846017218
-:106B50008681EBE708A80090684683880422032119
-:106B6000129800F013FA0028D5D1E770D3E7F7B5F3
-:106B700092B016460D000ED0129800F004F90400F1
-:106B80000BD0032000F0ECF9022802D2E0780028B4
-:106B900005D01120BFE71020BDE78048BBE70727DD
-:106BA0006846077286811721049581800AAA0232FD
-:106BB00001A902A806F06FFF002802D000F0F6F845
-:106BC000A9E708A800906846838804220321129848
-:106BD00000F0DCF900289ED1E7709CE7F3B51720A0
-:106BE00091B00C46002915D021780B000EF0E2FA86
-:106BF000062B05051A041C2B1520C01EE28880B246
-:106C0000002A02D0A368002B04D0824204D90C20B1
-:106C100013B0F0BD1020FBE7042905D0A0880028A0
-:106C200011D101E00620F3E7119800F0ACF805005F
-:106C30000BD02078092701281AD0022807D0042871
-:106C400024D0052835D00720E2E75448E0E768461D
-:106C5000077161880181E1884181A068082603905D
-:106C6000304600F07DF9072829D34C48801CCFE737
-:106C70000C216846017161880181E1884181A06829
-:106C800003900EE0E878002811D118E00D21684645
-:106C9000017161880181A1884181E1888181A068B9
-:106CA00004900326304600F05BF90228EAD3112055
-:106CB000AEE70E2168460171217B0172F1E71721D1
-:106CC0006846018309AA023206A901A806F0E3FE7C
-:106CD000002802D000F06AF89AE707A800906846FA
-:106CE000038B04223146119800F050F900288FD10F
-:106CF0002178012907D002298AD0042905D0052945
-:106D000005D0032084E7082102E0EF7080E70A2124
-:106D1000E9707DE730B591B00C46054600F033F8D8
-:106D2000002808D0032000F01BF9022805D31B48D7
-:106D3000801C11B030BD1948FBE70F216846017176
-:106D400004811721018309AA023206A901A806F0CD
-:106D5000A2FE002802D000F029F8EAE707A8009078
-:106D60006846038B04220321284600F00FF9E0E770
-:106D70000C49884205D00C490988814201D10A4852
-:106D800070470020704710B5FFF7F2FF002802D0CF
-:106D90008178C90700D1002010BD0000023000003A
-:106DA00003280000FFFF000058000020002806D044
-:106DB000012805D0052805D0062805D003207047F6
-:106DC00011207047082070475C487047FFB583B0BA
-:106DD00003980C9EC0781D4614460F46012803D028
-:106DE0005749D2200EF0F5F8F889C0000E302880FF
-:106DF00030203080387B001FC0B20190002C26D09C
-:106E000078680088A0800020E0802081F889A08137
-:106E1000002616E0F0000519C01900902A464169C5
-:106E20000E3201980AF057FA002802D00020287488
-:106E3000E8810098761C008A68820098B6B2408A81
-:106E4000A882A089B042E5D803990020C870F1E477
-:106E5000F8B50646C0781F4614460D46042804D0EF
-:106E6000FF20374903300EF0B4F8A88906214843C3
-:106E70000E30388033210698002C01801AD06868C3
-:106E80000088A0800020E0802081A989A18103469C
-:106E90000CE01946062251434A190919D789CF81B6
-:106EA000977C8F74128A5B1C0A829BB2A1899942DB
-:106EB000EFD8F070F8BD70B514460546142204985A
-:106EC0001A8037220280002C18D0486800260088DB
-:106ED000A080487AFF300130E080C8892081C889CD
-:106EE000A0816682E878082809D0092811D00A28EC
-:106EF00019D0134913480EF06CF8EE7070BD087B82
-:106F00000C2804D00F480E490C380EF062F801200E
-:106F100012E0087B0D2804D00A48094908380EF011
-:106F200058F8042008E0087B0E2804D005480449DE
-:106F3000001F0EF04EF80520A073DEE703300000BE
-:106F4000346500008203000001460020FA4A02E096
-:106F5000401C082803D24300D35A8B42F8D1704713
-:106F600030B50446F44A0020163A117953790AE004
-:106F70005518AD79A54201D1401CC0B2491CC9B217
-:106F8000102900D100218B42F2D130BDFFB5EA4873
-:106F900081B0163841790A9C491CCDB21E46102D8D
-:106FA00000D10025E44816380079A84202D1042017
-:106FB00005B0F0BD0820FFF7D3FF0746072804D926
-:106FC000FF20DEA1A5300EF004F80298082801D1B8
-:106FD000072F17D001982080301D6080002060713D
-:106FE0002071E68003982081204606F005FD0028E8
-:106FF0000AD0D148029916384379821D99544571B7
-:107000000020D5E7D248D3E7FF20CCA1B7300DF060
-:10701000E0FF0320CCE7F0B58DB0044600256846BC
-:10702000057116468C460620FFF79AFF00281CD1F2
-:1070300021780127C807002801D0132917D96846ED
-:1070400087766178C17602218183C58304A8009088
-:1070500070680C23008805220621FFF797FF00289F
-:1070600003D0B6A185200DF0B4FF0DB0F0BDB2483D
-:1070700016380278002AF8D0427863789A42F4D120
-:10708000012918D0132919D16146062916D1057096
-:10709000002101200AF04EFE6846077170680188E1
-:1070A0006846C1800021C9430181607922790102CB
-:1070B000114368461AE06146062908D068460079FF
-:1070C0000028D2D0314601A8FDF7AFFECDE705700C
-:1070D000002101200AF02EFE6846077160792279AE
-:1070E00001021143684601810021C9434181E9E75A
-:1070F000914810B50021163801704A1E4280417037
-:107100000171417101200AF015FE10BD10B5FFF7A5
-:10711000EFFF0020884902464300401CCA5208285D
-:10712000FAD310BD84491639488000207047DFE744
-:1071300070470EB501216846017086498180C18083
-:107140000021FDF772FE0EBDF7B505460078002759
-:1071500000090C463E46012804D0FF2077A1683084
-:107160000DF037FF287A02280CD0FF2073A17E3063
-:107170000DF02FFF0298002C068001D0278066803A
-:107180000020FEBDEA89702710460A3086B2002C26
-:107190000BD068680088A080A8892081E280204602
-:1071A0000A3029690DF078FDE4E702980680E7E7E8
-:1071B000F0B543680246D9799C79090221435C7A8B
-:1071C0001E7A25025C88981D3543241F87B0A14292
-:1071D0001DD11B79022B1AD1042D1AD0052D2AD0CE
-:1071E000062D1AD0402D12D3061D0F4614462846F0
-:1071F000FFF7AAFE08280AD0112020700220207272
-:10720000A581E7812661607808210843607007B096
-:10721000F0BD001D00F0E1F8F9E7041D0D46FEF792
-:10722000F9FE0028F3D0062168460170019405722A
-:1072300008F0CBFBEBE7001DFFF7EDFEE7E710B52D
-:107240003D4C8AB0163C2278012A26D012236A4689
-:10725000937363789B1CD373082313820B88538228
-:107260004B8893828B88D382C988118301A90091AE
-:107270000C2305220721FFF789FE00280BD10022ED
-:10728000F023114601200AF0B0FC01202070607844
-:10729000801C607000200AB010BD1120FBE7F0B523
-:1072A000254C0027163C87B00646A51D1FE06079D7
-:1072B0002179884204D1112020A140010DF089FEDE
-:1072C0002079405D042804D0082808D17F1CFFB233
-:1072D00005E0072069460870684608F076FB2079CB
-:1072E000401CC0B22071102801D10020207130460E
-:1072F000761EF6B20028DAD1384688E710B5044683
-:10730000402801D2072010BDFFF71EFE082802D03A
-:107310003120000210BD0021074802E0491C082965
-:1073200003D24A00825A002AF8D1082914D0490011
-:107330004452002010BD0000DA1300207372635C19
-:107340006C326361705F636F72652E6300000000D2
-:1073500004300000FFFF00000420EBE700B54028E8
-:1073600001D2072000BDFFF7EFFD082805D000215E
-:107370003B4A40001152084600BD052000BDF0B553
-:107380008BB016460C00074607D0002E05D061884A
-:10739000402904D207200BB0F0BD1020FBE7208865
-:1073A000002801D0172801D90C20F4E70846FFF780
-:1073B000CBFD08280FD0258803A82A463146023085
-:1073C0000DF06AFC01A8009062882B46082138461F
-:1073D000FFF7DCFDDFE70520DDE7F0B50E460746E9
-:1073E00001468BB014460125304606F0D1FC082832
-:1073F0001DD10020694608850120FFF7B1FD002856
-:1074000002D117206946088503AB02330AAA394620
-:107410003046009407F0CFF800280AD0022819D08F
-:10742000032804D0FF200F4902300DF0D2FD28467A
-:10743000B1E76846038D002BF9D001A80090606881
-:10744000042200880121FFF7A1FD0028EFD00549A3
-:10745000EC20EAE760780025102108436070E6E739
-:10746000DA1300203C730000002803D08178012942
-:1074700039D101E0102070470188FA4A881A9142F8
-:1074800033D01BDCF84A881A91422ED00BDC00293D
-:107490002BD00320C002081A27D0012825D00121B3
-:1074A0000903401A07E001281FD002281DD0FF2839
-:1074B0001BD0FF380138002815D116E0FF22013219
-:1074C000811A904211D008DC01280ED002280CD07D
-:1074D000FE280AD0FF2806D107E0012905D002299D
-:1074E00003D0032901D0002070470F20704700B55A
-:1074F0000A2821D008DC03000DF05CFE0A1C2024C1
-:10750000241A24282224261A102819D008DC0B2833
-:1075100016D00C2814D00D281AD00F2808D111E04D
-:1075200011280FD0822807D084280DD085280DD0AF
-:10753000032000BD002000BD052000BDCB4800BDDC
-:10754000072000BD0F2000BD042000BD062000BDA7
-:107550000C2000BD70B500290BD0CB1FFA3B812455
-:107560001E46CDB2112B1BD2012805D0022806D011
-:1075700009E0002010701DE0FF20043001E0FF2032
-:107580000330814218D033000DF014FE111613138E
-:1075900016131616131616161313131316131600B6
-:1075A0000846FF3881381F2803D9FF39FE390229E0
-:1075B00002D81570002070BD1470072070BD00B592
-:1075C00003000DF0F7FD060406040C080A0C002069
-:1075D00000BD112000BD072000BD082000BD032014
-:1075E00000BD00780207120F04D0012A05D0022A3C
-:1075F0000AD10EE0000907D108E00009012805D0F2
-:10760000022803D0032801D007207047087000200B
-:10761000704706207047002807D0012807D00228AD
-:1076200007D0032807D007207047002004E011206E
-:1076300002E0212000E0312008700020704738B5BA
-:107640000C4605004FD06946FFF7CBFF002822D13A
-:107650002088032189028843694609788907090D32
-:10766000084320806946681CFFF7BBFF002812D141
-:107670002188032000038143684600788007800C3E
-:1076800001432180A8784007820F2020012A03D0DF
-:10769000022A03D0072038BD814300E00143218046
-:1076A00088B20105890F08D0012189038843A97890
-:1076B0000907C90F89030843208080B28104890F1C
-:1076C0000AD0A9784004C906C90F400CC903084371
-:1076D00020808004800F02D12088400403D52088B8
-:1076E000402108432080002038BD70B504460020AA
-:1076F000088015466068FFF7A2FF002815D1218990
-:10770000A089814210D86168594E8978C90707D08D
-:10771000711E884208D831460DF038FB298009E0F7
-:10772000FF21FF31884201D90C2070BDFF30FF30AE
-:107730000330288060688078C007A08903D0314674
-:107740000DF024FB03E0FF30FF30033081B22980CD
-:1077500020688178474801732068464900882039AD
-:107760004885002070BD10B5137804785B08E407E5
-:107770005B00E40F23431370FD2423400478A40727
-:10778000E40F640023431370FB2423400478640750
-:10779000E40FA40023431370F72423400478240744
-:1077A000E40FE40023431370EF2423400478E4063D
-:1077B000E40F240123431370DF2423400478A4063C
-:1077C000E40F6401234313700078BF244006C00F08
-:1077D0002340800103431370002906D00878C107B5
-:1077E00001D1800701D5012000E00020C001590629
-:1077F000490E0843107010BD30B50A8803239B0260
-:1078000004889A4323059D0F02D1A3049C0F01D045
-:107810009B0F00E001239B021A4303230A801B03F2
-:107820009A4303889804840F02D11805830F01D06E
-:10783000800F00E00120000302430A8030BDF3B551
-:1078400091B00D0018D01198002818D012212846A8
-:107850000DF07FFA01A9012007F0A9FE00242646B9
-:10786000374677E0022900000128000003300000BD
-:10787000010200000C140020102013B0F0BD0720FE
-:10788000FBE76846007C01280BD16846C1890520CA
-:10789000C002081A0AD001280AD002280CD00328F6
-:1078A0000CD0042C0ED0052C0FD10DE0012400E0EB
-:1078B00002246846868908E0032406E0684604241A
-:1078C000878902E0052400E0062468468189119832
-:1078D00081423FD12C74002E3AD00BA800900CAB03
-:1078E00010220021304607F0F4FE002820D168461F
-:1078F000808D2A46C0B20CA909F0EDFC002817D1F2
-:10790000AE81002F24D00BA8009006AB13220021DB
-:10791000384607F0DEFE00280AD16846808D06A9A9
-:10792000C01E0331C0B22A1D09F0D5FC002801D0C9
-:107930000320A2E76846817E427E08021043E88168
-:10794000062C05D16846007CA8726846C08928814B
-:10795000002092E701A807F032FE002891D0FFF73F
-:10796000C6FD8AE7002804D0012903D0022904D0EB
-:1079700003207047F949C98D02E0F8494031C988B0
-:10798000814201D1002070470720704730B5F34C89
-:107990000025608B91B0C00B2ED1216900292BD01E
-:1079A000207B800728D401226846027102720022DF
-:1079B0004272228B8281A28A8282049117210183E2
-:1079C00009AA0023023206A901A807F0A7F9002896
-:1079D00003D0FFF7F4FD11B030BD207B0221084336
-:1079E000207307A8009069460B8B20880422012190
-:1079F000FFF7CCFA05460BE0FBF7A5FC84210170EC
-:107A00000921017218341ECC0C301EC0FBF7B7FCE4
-:107A10002846E0E710B5D14C034621690020002933
-:107A200009D02146012210311846FBF76BFE0020D9
-:107A30002061A0820120217BF9221140217310BD19
-:107A400070B50C4605461C2120460DF082F9002039
-:107A50002080002D08D0012D04D0C1A1C5480DF013
-:107A6000B8FA70BD062000E00520A07070BD10B50A
-:107A700007F07CFB10BDFEB50546007800260C46DD
-:107A8000374603000DF096FB0C91070C1D962F4610
-:107A90002F46486C899168680A38FBF793FD89E0A6
-:107AA000002904D0B348AEA11B300DF092FAFBF7C9
-:107AB0004AFC04464078082108436070FBF75FFCED
-:107AC00078E0002C04D1BB20A5A180000DF081FA44
-:107AD000284601F0B1FA00286CD0607808210843EC
-:107AE0006070022666E0E888694608800190002CF4
-:107AF00004D1A0489AA12F300DF06BFA28780728FE
-:107B00001CD10198C00B19D0944800218171A9881B
-:107B1000818012E003264DE0002C04D1C52090A105
-:107B200080000DF056FA8D48017B89070BD500695E
-:107B3000002802D0E888C00B3CD0022660780821DB
-:107B40000843607036E0291D8EC918308EC0283871
-:107B50000188022601222046FBF7B6FD0127EDE74A
-:107B6000002C04D183487EA164300DF032FA7B48AA
-:107B70000821007B4007C00F460060780843607012
-:107B8000002E17D12879012802D16879002811D058
-:107B90002046FFF73FFF07460CE0002CCED10D201A
-:107BA0006FA180010DF015FAC8E772486CA17A3018
-:107BB0000DF00FFA002C0CD06078000709D5002FCB
-:107BC00007D1842020702046582229460830F9F732
-:107BD000FBFA3046FEBDF7B5027A88B00C46054682
-:107BE00020460C300490069216300027921E029018
-:107BF0003E460A31594813000DF0DCFA0ADF06E66A
-:107C00002AE62AE66A98C6E64288002A02D0522767
-:107C10000726DDE051271E26002C7DD06A684F48DC
-:107C20001288A2800122A2718079C0004019C08907
-:107C3000FFF705FE002877D148488179C900491926
-:107C4000C98921818079C0004019408AA083BFE0A2
-:107C5000688A00900698072817D1E889C00B14D0CD
-:107C600000985127223086B2002C55D0A88904995B
-:107C7000FFF7E5FD002857D168680088A080022042
-:107C8000A071A8892081012041E000985027203070
-:107C900086B2002C40D0A889FFF7D1FD002843D13F
-:107CA00068680088A080A889E080287A07280AD020
-:107CB00002202072288AA0830098E0832046696908
-:107CC0002030009A01E00120F3E70CF0E5FF7FE0AF
-:107CD000698A00910169002902D0E989C90B22D083
-:107CE0000099512722318EB200218171A9898180AA
-:107CF000002C5FD00088A080A8890499FFF79FFD21
-:107D0000002811D10220A071A88920810420A0722E
-:107D1000288AE083009801E04CE005E0208469694E
-:107D2000009A0298D1E703200BB0F0BD007B40071A
-:107D300002D55127222601E050272026002C39D0D9
-:107D40006868502F0088A08016D00220A0712146BC
-:107D5000287B0831FFF774FE3AE00000EC130020A6
-:107D60007372635C67617474735F636F72652E63B3
-:107D700000000000CB020000287BA11DFFF760FE81
-:107D80000020FFF747FE23E0A9890089884207D138
-:107D900054270626002C0DD068680088A08017E0C4
-:107DA00053270826002C05D068680088A080A88981
-:107DB000E0800DE00A98068010E055270726002C89
-:107DC000F8D00020A07103E0FD49FE480DF001F954
-:107DD0000A98002C068001D0278066800020A3E747
-:107DE000F94800210172203801814181418081716F
-:107DF0008180027BF923520852001A40027301610C
-:107E00008182704770B5F04C86B0203C2080002005
-:107E10006080A071A0806946012007F0C8FB102691
-:107E200008E00199088802461207D20FB0431201F8
-:107E300010430880684607F0C2FB0500F1D02069B6
-:107E4000002804D0DF48DE4933300DF0C2F8207B33
-:107E5000800704D5DB48DA4934300DF0BAF8822DBA
-:107E600004D02846FFF743FB06B070BD0020FBE7B7
-:107E7000D54810B52038017B012211430173002140
-:107E800041808171818006F045FB10BD10B5CE4C5C
-:107E90000020C043203C20800020FFF7BBFD207B5A
-:107EA00040084000207310BD70B5C74D0446203D0A
-:107EB000287B800704D5C348C1494B300DF089F8B1
-:107EC000287BC00706D12888C049884202D028698B
-:107ED000002801D0082070BD002C08D0A0881628EA
-:107EE00001D2092070BD20682861A088A882FFF710
-:107EF0004DFD70BD10B50C4607F02DFB002804D0D9
-:107F0000C520AF49C0000DF064F82046FFF7EFFA36
-:107F100010BDF0B5AC4D0446203591B0002008905E
-:107F200068820E462882E8812946E8804039088622
-:107F3000694608830885088688838882A2480E904F
-:107F4000007A1746012808D0022806D0032804D05A
-:107F5000042802D0082011B0F0BD9D48844269D3A6
-:107F600001239B049B49E21A8A4263D39A4A9442B2
-:107F700060D286425ED31001331A0846834259D339
-:107F80001046864256D26068002815D09049884233
-:107F900050D31101421A8F498A424BD38E498842ED
-:107FA00048D260892189884203D801225202914235
-:107FB00001D90C20CFE7089010AA0CA93046FFF792
-:107FC00094FB0028C7D106A92069FFF738FB0028D9
-:107FD000C1D1206900280CD060788007002868464D
-:107FE000008B03DA8004800F75D002E08004800FDC
-:107FF00071D16846008B81061ED58004800F6068B1
-:1080000009D0002818D00721490740180121890309
-:1080100088420FD201E000280ED06D496068884286
-:1080200008D301218904421A6A498A4202D36A4963
-:10803000884201D310208EE705A96069FFF7FFFA97
-:10804000002888D16069002808D06846808A010528
-:10805000890F01293FD18004800F3CD007A9A06976
-:10806000FFF7EDFA0028A5D16846808A800632D451
-:108070006846808B81062ED4A169002906D00105AF
-:10808000890F012927D18004800F24D0E0680028BF
-:1080900004D0007800281ED01C281CD24A4A611C3B
-:1080A000123220460992FFF75EFB0321002089026D
-:1080B000884301218902411868460D9101850121FB
-:1080C000817446490182404A0FA91532306809F08F
-:1080D00028F9002801D007203DE708A8007F3A4989
-:1080E000C01CC2B26A7100201031FF3200900190B2
-:1080F000FF3203460291039003320AA904A807F055
-:10810000C5F9002827D130482038008E0B902E4822
-:108110003389383032690146123902910093019255
-:10812000039010A90A8873890CA9306807F0AEF98A
-:1081300001007CD12448E98811308170090AC1709E
-:108140000026009631386A79008E3146099B07F087
-:108150001CF9002802D0FFF7CAF9FCE60E98807CD3
-:10816000C00928D068460D99018501218174292113
-:1081700009020182AE81287B61784008C90740006E
-:10818000C90F08432873FD2108406178022289073E
-:10819000C90F4900084328730B4900922A31881CF3
-:1081A00002910190002303960D4A0AA904A807F042
-:1081B0006DF901003BD1606800283DD0206911E0D5
-:1081C000607D0000220400000C140020FFFF00006E
-:1081D000006001000000FC1F004000200328000098
-:1081E0000302000000280DD106A90CA8FFF704FB2C
-:1081F0006078800706D46946088B03210903884309
-:1082000069460883012069468874FD4808822089F0
-:10821000FC490CF0BBFD6268089BFB48019200938F
-:1082200002900A460396002306A904A800E081E014
-:1082300007F02CF901007DD12078C10601D4800619
-:108240002ED568460684606900280DD105A90CA8C2
-:10825000FFF7D2FA6846818A032080028143012019
-:1082600080020918684681826946888A4821084345
-:108270006946888201208874E14808AA401C088267
-:10828000E1490192891C0220DE4A029100900023FC
-:108290000396921C05A904A807F0F8F8010063D121
-:1082A0002078C0072ED068460684A06900280DD12A
-:1082B00007A90CA8FFF7A0FA6846818B032080026B
-:1082C0008143012080020918684681836846818BBA
-:1082D000402001436846818301218174C84908AA6E
-:1082E000891C0182C8480192001D0221C54A0091E3
-:1082F000029000230396921C07A904A807F0C6F871
-:10830000010031D1E068002832D068460D9901851E
-:1083100001218174BA49C91C0182E16808A80A7860
-:10832000027049784170E068418868464184E0689D
-:10833000017900E018E008A80171E0680722C1880F
-:1083400008A84171090A8171AF4808A9801D0092EF
-:1083500001910290412200230396D2000AA904A8A9
-:1083600007F094F8010003D00B98FFF7C3FDF2E586
-:1083700003210E98002F017207D0E8883880E88921
-:108380007880288AB880688AF8800020E3E5F0B514
-:1083900001248BB016460F46012802D002281BD1BB
-:1083A00004E0684605218474C90202E068469749E2
-:1083B00084740182002F11D0032100208902884398
-:1083C0000121890241186846018506AA05A9384697
-:1083D00008F0A7FF002803D00720A5E41020A3E49D
-:1083E000894DB8782E3D287338882F46203F7885F0
-:1083F0006A46127D0020294606AB00920E31019399
-:10840000FF32029103900346FF3203320AA904A807
-:1084100007F03CF8002802D0FFF769F884E4002E4A
-:1084200001D0F88D30802C7200207DE470B592B0C0
-:108430000446012508A8857075496846018406F040
-:108440009CFF002208A90120FFF7A1FF064606F0C5
-:1084500098FF30003AD120780024C00700283FD090
-:108460001C2168460CF077FC684601782020014307
-:108470006846017008A885706649684601841194B1
-:108480000794817FF9200140891C6846817700208C
-:10849000014668460177002001466846417704217D
-:1084A0008185C485018607A80A9011A80D9008A8A7
-:1084B000099006F062FF0EAA09A96846FFF729FD98
-:1084C000054606F05EFF002D02D0284612B070BDB2
-:1084D0004D486946098F4E3801816946898F41812F
-:1084E00049482E3804720020F0E7F7B5464E9CB09C
-:1084F00000212E3E0091317A012904D0022902D0B8
-:1085000008201FB0F0BD40494E39CA8D824201D0CB
-:108510000620F6E71D98824201D10720F1E73B488B
-:10852000012110AA9176401C1083002003239B0296
-:1085300002469A438B02D31810AA93846A46918408
-:108540003549D18410AA9077908317AA0A926A4677
-:1085500091850C9009A807F051F80024254627467C
-:1085600004A909A807F04DF8002810D082287BD173
-:10857000002C7CD0002D7AD010A8048145810024E5
-:10858000047518A8807812AD012872D07AE0684688
-:10859000807D002F1FD0012862D16846818A1B4848
-:1085A000401C814219D114A800906846408A0EAB45
-:1085B0001022002107F08DF8002877D110A8008A3A
-:1085C000042801D006285BD16846018F1D9881429E
-:1085D00046D10F2095E7012842D16846808A0521BF
-:1085E000C902884202D0491C884239D106484E3817
-:1085F000C18D6846408A814210D101270FE00000FA
-:1086000001290000010200003A14002001280000A6
-:1086100001180000052A0000FFFF00000027002CC1
-:1086200001D0002D0DD01D99884219D114A90091B7
-:1086300004460EAB1022002107F04BF8002835D17C
-:1086400001E0009D0CE010A8008A022801D010284B
-:1086500016D1C0B218AA0EA908F03DFE00280FD10D
-:108660006846408A00907BE720E000E001E00520BA
-:1086700047E72A1D15A918A808F053FE002801D0C5
-:1086800003203EE710A8007D0023001DC2B210A801
-:1086900002751E98029019A901950394009216A8DC
-:1086A00006F0F4FE002801D102213172FEF71FFF0F
-:1086B00027E73EB50B46401E84B201AA00211846AA
-:1086C000FFF751F806F059FE02A8009001AB012215
-:1086D0000021204606F059FE044606F052FE684688
-:1086E0000089012803D0FE49FE480CF072FC2046A8
-:1086F000FEF7FDFE3EBDF0B5FB4E0446307A89B074
-:108700000F46032804D0042802D0082009B0F0BD89
-:1087100004AA06A92046FEF7E8FF0500F6D1F248B4
-:108720002389383022690146103902910093019261
-:10873000039069460A8A638906A9206806F0A6FEA6
-:10874000002802D0FEF7D3FEE0E7002F03D0E64872
-:10875000203000893880042030722846D6E738B5AA
-:108760000C00054608D00022694607F00CF80028E6
-:1087700004D0FEF7BCFE38BD102038BD6946204647
-:10878000FEF75DFF0028F8D1A0786946C207D20F36
-:10879000284607F013F8ECE73EB50C0008D002AA13
-:1087A000694606F0F0FF002804D0FEF7A0FE3EBDAB
-:1087B00010203EBD032120460CF0CBFA684600880D
-:1087C00001A90005800FFEF726FF00280BD168469F
-:1087D000007920706846008801A98004800FFEF7A8
-:1087E0001AFF002801D003203EBD68460079607062
-:1087F000A278EF20024068460088C10B09010A43B5
-:10880000F7210A404104C90FC9000A43A270F921A7
-:108810000A40800601D5012000E0022040006946A0
-:108820000243097A50084000C907C90F0843A070E5
-:1088300000203EBDFEB51D4614460E46074606F016
-:108840009CFD01A8009022882B463146384606F050
-:108850009CFD054668468088208006F092FD2846EB
-:10886000FEF745FEFEBDF0B50C46002199B0074667
-:10887000684681850D46002C11D0E068002806D09E
-:10888000A06800280BD002886B469A850180A078EA
-:10889000012806D0022804D0072019B0F0BD10200E
-:1088A000FBE72088002807D0401E80B201A906F00F
-:1088B0007EFE002842D136E08C48EEE769468A8980
-:1088C00021888A420BD26846007C002501282CD1E1
-:1088D0006846C0898649884227D1012525E08A4219
-:1088E00003D1002D2FD06D1C01E0022D02D0032DED
-:1088F0001BD31FE06946097C012916D169467C4BD0
-:10890000CA895B1ED11A9A421DD005DC7948101A1B
-:1089100019D0012809D116E0012914D0FF390139F5
-:1089200003D1032506E00D26B60201A806F047FE96
-:108930000028C3D0822804D0002806D0FEF7D7FD37
-:10894000ABE7022DFAD13046A7E7E068002813D044
-:1089500006F013FD0BA800906A46A1882088928D2E
-:10896000E36806F012FD054606F00BFD002D19D157
-:108970006846A168808D088002980078C00601D5FD
-:108980005D488AE706F0F9FC0EA8009068468089E9
-:108990000CAB0222002106F09CFE054606F0F1FC1D
-:1089A000002D01D02846C9E76846008F022801D073
-:1089B000032072E7A078012808A8007C03D0800774
-:1089C0000ED4082069E7C007FBD00820FEF7C8FADC
-:1089D000072802D34548401C5FE70825022001E034
-:1089E000022503206946087621886846818317217D
-:1089F000818611AA002302320DA906A806F08EF97D
-:108A0000002802D0FEF7DBFD47E70FA8009068467C
-:108A1000838E042229463846FEF7B8FA3DE770B542
-:108A2000064615460C460846FEF71EFD00280AD1EC
-:108A300006F0A3FC2A4621463046FFF7A8FC044670
-:108A400006F09FFC204670BD70B514460D460646E4
-:108A500006F093FC224629463046FFF746FD0446C1
-:108A600006F08FFC204670BD70B51E4614460D0002
-:108A70001AD0002C18D06168002915D00121FEF70A
-:108A800071FF00280FD12068FEF7EEFC00280AD104
-:108A900006F073FC324621462846FFF73AFA0446B0
-:108AA00006F06FFC204670BD102070BD70B51546F5
-:108AB0000C0023D00221FEF755FF00280ED12068BC
-:108AC000FEF7D2FC002809D106F057FC29462046C3
-:108AD000FFF711FE044606F054FC204670BD00006E
-:108AE000607D00003E0600000C14002003300000F2
-:108AF0000328000000280000013400001020EDE7EA
-:108B0000FEB507460E4607201546400701211218FC
-:108B100089031C468A4219D2002C02D020188842B0
-:108B200014D2384600F045FA00280AD1002C0FD1A3
-:108B300001AA6946384606F026FE002802D0FEF754
-:108B4000D6FCFEBD68460088800601D41020FEBD1C
-:108B500023462A4631463846FFF76CFEFEBDFFB578
-:108B600085B01E4614000F4609D003AA02A9059835
-:108B700006F009FE002804D0FEF7B9FCC6E5102077
-:108B8000C4E568460089C00601D5FB48BEE506F08D
-:108B9000F4FB01A800900023F84A3946059806F036
-:108BA00098FD054606F0EDFB002D11D1002E0CD0EE
-:108BB00006F0E3FB002000902288334639460598F2
-:108BC00006F087FD054606F0DCFB684680882080BD
-:108BD0002846D1E7002906D0E94B0A885B899A42EA
-:108BE00001D8E84870473EE610B586B004236C46CD
-:108BF000A382E34B1C89002C07D05B898B4201D2F6
-:108C0000914204D9DF4806B010BD0620FBE76B4651
-:108C100019825A820021009101911C8002219970D1
-:108C200005A9029104A903916946FFF71CFEEAE732
-:108C3000F0B591B00D4681206946087105F09CFCA5
-:108C40000646002D08D02878CD4C012806D00228F1
-:108C500028D0072011B0F0BD1020FBE7A98801AA99
-:108C6000FEF778FC0028F5D1B00734D568460079C6
-:108C7000002820D1A879C0071DD006F07EFB002077
-:108C800000906A892989A088EB6806F07EFB694616
-:108C9000087106F076FB6946087900280BD0FEF7CC
-:108CA00026FCD7E7A98801AAFEF754FC0028D1D1F9
-:108CB000342006420FD00121684601720173017908
-:108CC0004173F00609D5A18868460182A18A018313
-:108CD0002069059004E00820BCE7A0886946088266
-:108CE000FAF731FB05461720694688830AAA2B4606
-:108CF000023207A902A806F011F8074668780007B3
-:108D000001D5FAF73CFB002F03D03846FEF757FC9D
-:108D1000A0E7F00603D5207B062108432073B006A8
-:108D200002D50020FEF776FE08A8009069468B8BDE
-:108D3000208804220121FEF729F98BE7F0B50026EF
-:108D400095B014460D4600290FD0022C4FD3A71E14
-:108D5000BAB28A480AF052FE29191039CA7B8B7BB5
-:108D600011021943884242D1BCB201A9012006F088
-:108D70001EFC7AE0029F3888010776D5002D41D08D
-:108D8000A9190691CA788B78361D1102B6B219431B
-:108D90008919A1422BD869468A8906994B780978A6
-:108DA0001B020B439A4222D1C00623D506F0E5FAF6
-:108DB00007A800900698AB19C17880780A02069936
-:108DC00002434878097800020843002106F0DDFAE2
-:108DD000009006F0D6FA009800283ED10698C17897
-:108DE000827808026946898B1043884202D00B20A2
-:108DF00015B0F0BD0698C17882780802104380193A
-:108E000086B22EE0C0062CD5002007AA01461154D8
-:108E1000401C80B21028FAD306F0AFFA06A80090E2
-:108E20006846002380891022194606F052FC009003
-:108E3000002803D006F0A5FA00980EE00BA86946BA
-:108E4000009088890A8B07AB002106F09EFA0090FB
-:108E500006F097FA0098002803D0FEF748FBC7E712
-:108E600003E0388810218843388001A806F0A7FB6A
-:108E7000002800D17EE7424D6988002921D00122D7
-:108E800068460276027700244477018417218185A1
-:108E90000EAA234602320BA906A805F03FFF0028C0
-:108EA00002D0FEF78CFBA3E70CA8009069468B8DDF
-:108EB000288804220121FEF769F8002898D16C80E7
-:108EC00096E7002094E7F0B5002487B015460E46DB
-:108ED000002A04D002A9012006F069FB41E010201D
-:108EE00007B0F0BD0398007800073AD506F045FAC0
-:108EF00001A8009068460023008A204A194606F01F
-:108F0000E8FB074606F03DFA002F23D1002E23D0C0
-:108F100068468088298820183719001D814239D376
-:108F20006946098A3970090A797069468988B97071
-:108F3000090AF97006F021FA01A869460090088A2A
-:108F40008A883B1D002106F0C4FB074606F019FA8B
-:108F5000002F01D00320C3E7684680882018001D39
-:108F600084B202A806F02BFB0028BBD082280BD0CD
-:108F7000FEF7BDFAB4E7000001340000FFFF000077
-:108F8000EC13002003300000002E0ED02988A01C16
-:108F9000814201D20C20A3E72246314639480AF02B
-:108FA0002DFD31190870000A4870A41C2C80002087
-:108FB00096E700B585B06946FEF741FC00280AD166
-:108FC0006846007C03000CF0F5F808052F2F2F2FC2
-:108FD00008080531032005B000BD684680780128E7
-:108FE00007D1684600880321C902401A1CD0012815
-:108FF0001AD068468079012806D1684680881521F4
-:109000004902401A05280FD96846807A012811D1F3
-:109010006846018929200002081A05D0022803D0D9
-:10902000032801D0042805D10F20D4E7164917489A
-:109030000BF0CFFF0020CEE738B5154A0021518054
-:1090400003791AE0CC002418A46800946C462488A4
-:10905000250707D5E50605D5D90008182038C08BA7
-:10906000508006E0640406D59171C9000818C088D4
-:109070009080012038BD491CC9B28B42E2D8002043
-:1090800038BD0000FFFF0000607D000033020000DB
-:10909000EC1300200120F8494006C861704770B504
-:1090A000F54D0024AC7028466C7020304470047478
-:1090B0006C61AC72AC6209F01AFFA86128463430CA
-:1090C0000AF0B4FD002804D0FF20ECA13A300BF0E8
-:1090D00080FFEE48C46301204006E86170BD70B5B2
-:1090E0000125EB4902260E60E849CD63E949C96ACA
-:1090F00009070ED4E7494031CB6AE74A53620B6B4C
-:1091000093624B6BD3628B6B1363C96BD3051943AB
-:109110005163D949E14CC96900282BD001282DD0D1
-:10912000FF20D6A169300BF054FFDD48A063FF207B
-:10913000043060632563DB49032008602061D74960
-:10914000962040314860D948D7494163D549FC3918
-:109150000163D549091FC163D249F03981630320F6
-:10916000D249000340394860D14910204860D148B5
-:10917000066070BDD0486061D04804E0CF48E03060
-:109180006061CE48801F0143A161CEE7BA4901204A
-:1091900008707047B84900200870704770477047E2
-:1091A000BE4940310028086802D00122104301E086
-:1091B000400840000860704770B50C46AE4D01464F
-:1091C0000622E81C0BF068FD6C7270BDAA482030C6
-:1091D00040787047A84A91705070704770B50D463E
-:1091E0000446082904D9FF20A4A1C6300BF0F1FEE3
-:1091F0000022B34809E09100635809180B6053003E
-:109200001B191B8C0B62521CD2B2AA42F3D3206BE7
-:10921000AB494031086070BD0B23DB4310B5C21A67
-:109220009E4998421FD008DC1C3222D00A2A20D046
-:10923000142A1CD0182A08D117E0083011D00428AD
-:109240000DD0082809D00C2805D0FF208BA1F230C2
-:109250000BF0BFFE10BD04200CE000200AE0FC2053
-:1092600008E0F82006E0F42004E0F02002E0EC2022
-:1092700000E0D820C86010BD7F482030007B7047D8
-:1092800010B5864CC17861620BF067FD0002E061A9
-:1092900010BD252808D0262808D0272808D041004E
-:1092A0000A2807D8091D06E0022105E01A2103E07B
-:1092B000502101E0891DC9B2784A91607749403157
-:1092C000486170476C494861704770B56A4CA0723C
-:1092D00000F01FFBA07AC00740D0724D28688007BD
-:1092E00003D466A177480BF074FEA07A01061DD561
-:1092F000800707D5734861A1801C0BF06AFEA07A35
-:10930000000613D52078694E012816D0002804D015
-:109310006C485AA111300BF05CFE6B487061A0697B
-:109320003061FF206149013040394860A07A8007F0
-:1093300014D52868C00708D102E06348001FEDE794
-:1093400060484EA11A300BF044FEA07A400728680E
-:1093500001D5042100E008210843286070BD70B5E4
-:109360000124454D002807D0012818D002281AD022
-:10937000232042A100010BE000F0CBFA52482978EB
-:10938000001F012907D0002907D04E483BA15738BC
-:109390000BF01FFE70BD046070BD446070BD812085
-:1093A000FFF793FF70BD00F0B4FA6869002804D19C
-:1093B000444832A14F380BF00CFE6969A86A401886
-:1093C0004249C86039484249403001603E490C3149
-:1093D00041600814354940394860274820300474FA
-:1093E00070BDF8B50C2069460870314C6068C00645
-:1093F000C50F1026A66034480021FC300161324BB5
-:1094000001221B1F1A610BE000BF00BF00BF00BF9D
-:1094100000BF00BF00BF00BF6B461A78521E1A7013
-:109420006A461278002A02D00269002AECD0016153
-:1094300068460078002804D1912010A180000BF02C
-:10944000C8FD002D00D06660F8BD0B490020C86142
-:10945000704710B50BF081FC00021049000AC86388
-:1094600010BD0B49022008607047094902200860BE
-:109470001049086070470000481400207372635C54
-:1094800068616C5F7263732E63000000C01F004050
-:1094900080E100E08000001000170040001500404F
-:1094A0005B060000001200404480004040F501408F
-:1094B0000013004080E200E00601020025000300E6
-:1094C0000016004075020000041000404085004076
-:1094D0004C810040F74902200860CBE7F64908704C
-:1094E000C8E710B5F5480AF0A9FB002803D0F449F5
-:1094F000F4480BF06EFD10BD10B5F0480AF0B6FB55
-:1095000010BDF1494860B5E7EC4910B53439EF4B6F
-:109510000022C8605A60896A0818ED49486000F066
-:10952000FFF910BDE54810B5C2213438C160E74AE3
-:1095300000215160806AE649C230486000F0F0F9CD
-:1095400010BD0120E34940028860DC490020343925
-:10955000C860DF4948608DE7D84900203439886207
-:1095600088E7D648DA493438806AFE30886081E777
-:10957000D749002088607DE7D748016810229143D1
-:109580000160D6490120886174E7D5490020C8618F
-:10959000D14801681022114301606BE700B5FFF765
-:1095A000EBFFC64900203439087400BD00B5FFF751
-:1095B000ECFFC24901203439087400BDC849CA69AA
-:1095C000012A01D0002055E7BF4A40329268520676
-:1095D000520E524202700020C86101204AE7F8B5DD
-:1095E000BF4C2069012806D00021B44834380078E7
-:1095F000012802D004E04021F7E7E268012A04D004
-:1096000000220A43012802D004E02022F9E7616821
-:10961000012905D000211143B24A002802D007E0F9
-:109620001021F8E71368012B02D1E368012B04D065
-:1096300000230B43002802D007E00823F9E7116854
-:10964000002902D1E168012905D000221A439F4E6A
-:10965000002802D004E00422F8E77168012904D050
-:1096600000211143002802D004E00221F9E76068DC
-:10967000012829D000259C480D4301680906090EE0
-:1096800002D06169012900D000218C4F143F397349
-:1096900000680006000E02D0A069012800D000205A
-:1096A00078738B488068002803D000F03DFA0128C9
-:1096B00000D00020B8730021E16021616160616128
-:1096C000A16171602846F8BD0125D4E77B480121DE
-:1096D0001438C173CEE6F8B5784E0127143E307CBD
-:1096E0000025002825D07C4C206800902560FFF7DD
-:1096F00078FE009820607A48C56005614560456144
-:1097000085617449001488603046203801787348B8
-:1097100001290AD000290AD0D920694980000BF01C
-:1097200058FCF9F775FC3574F8BD0760F9E7476038
-:10973000F7E7FFF754FF04460020F07364484268DF
-:109740005E4D343D6A620068A8622978002909D11B
-:10975000A978002906D05C4B5B681B780B406978C0
-:10976000994309D000213170E10707D0104602F07B
-:1097700029FD0121A86A08E03770F5E7A10601D5A7
-:10978000022102E0A10702D5002102F02AFD4E4F7E
-:10979000796806220931E81C0BF051FA002807D13C
-:1097A000687A79680978C909884201D1012000E006
-:1097B00000207070204600F0BDF83F48C2270078B6
-:1097C000002815D0012828D002283BD003285AD0E1
-:1097D0003B4946480BF0FDFB287C002804D0287844
-:1097E000002865D0FFF7C8FE2878002861D089E0FE
-:1097F000A00701D501F0CCFB200703D50120EF60C5
-:1098000001F0FEFB600703D50020EF6001F0F8FBDC
-:10981000A006E1D501F068FBDEE7A00701D503F063
-:1098200026FF200703D50120EF6003F09FFE6007AD
-:1098300003D50020EF6003F099FEA006CCD503F01D
-:1098400020FEC9E7A00703D5BF200440F9F7D2FBEB
-:10985000200705D5BF2004400120EF60F9F7C9FBC0
-:10986000600705D5BF2004400020EF60F9F7C1FB79
-:10987000A00603D5BF200440F9F7BAFB6006ABD5BC
-:10988000F9F7B9FBA8E7A00701D5F9F7B7FB20075F
-:1098900003D50120EF60F9F7B0FB600703D5002086
-:1098A000EF60F9F7AAFBA00696D5F9F7A5FB93E7B9
-:1098B0001EE020E000E100E0600000207C140020B9
-:1098C0007C940000AB020000001500404081004085
-:1098D0004085004000F501400012004000100040AB
-:1098E00000110040001400404016004094040000A5
-:1098F000FFF74BFE78E7E868002803D0A96A09184B
-:1099000028484160F07B002800D10DE7F9F780FB83
-:10991000F8BD254903200860881524498860A9E519
-:10992000224823494030C161224981611F494015C5
-:1099300048609FE570B50546FFF7EBFF1E4CA17A26
-:10994000080701D568071CD41C4AC80605D5507BFA
-:10995000002802D0907B002813D0880602D510780A
-:1099600000280ED1480602D55078002809D00020E2
-:109970008A070026002A07DA4A0704D50122227046
-:1099800002E00120F4E72670CA0709D0AA0705D42F
-:10999000890705D5002803D0A80601D4FFF721FDCB
-:1099A000A67270BD408500400012004000F50140E5
-:1099B000101000404481004048140020681400202A
-:1099C0002E48002101704170704770B5064614465C
-:1099D0000D460120F7F780FE28490120284B08702A
-:1099E0009E60DC601D6170BDF8B504460120F7F78C
-:1099F00073FE22490120087021494C60214900264C
-:109A00004E600321204D8902A960204F002C0AD00E
-:109A1000012C03D01EA140200BF0DBFA3E60032096
-:109A200080026860F8BD386001208002F9E710B557
-:109A30001248017800290ED00321134A890291604F
-:109A400010494A680021002A03D0154A1268427062
-:109A500000E0417001700020F7F73EFE10BD07489E
-:109A60000178002907D007484068002802D00C4838
-:109A70000068C0B270474078704700006100002065
-:109A800000F5004000F1004000F5014000F2004008
-:109A90007372635C68616C5F63636D2E63000000CA
-:109AA00000F400403648002101704170102181709F
-:109AB000704770B5064614460D460220F7F70CFEB7
-:109AC00001202F492F4A0870E41E146196605560EA
-:109AD00070BD10B50220F7F7FFFD2949012008707D
-:109AE000294800210160416081602849C014486014
-:109AF00010BD10B5224C2078002811D00120234938
-:109B0000C002886000F02EF80021002804D0012057
-:109B100060701F48006801E061701020A070217023
-:109B20000020F7F7D9FD10BD10B5154801780029C0
-:109B300005D000F017F8002800D0012010BD4078B3
-:109B400010BD10B50E480178002909D000F00AF8C0
-:109B5000002803D00E480068C0B210BD102010BD10
-:109B6000807810BD08480168002905D041680029A7
-:109B700002D08068002801D0002070470120704783
-:109B80006300002000F5004000F1004000F50140B6
-:109B900000F4004010B528210BF0DBF810BD407830
-:109BA0008006800E704740788006800EC01C70478B
-:109BB0002820704770B5054600780A0700090001A3
-:109BC000120F104328700B000BF0F4FA070507057D
-:109BD000070509050B00062408E00C2406E02224F2
-:109BE00004E00024FEA158200BF0F3F96878800906
-:109BF00080012043687070BD00780007000F704737
-:109C000010B50622C01C0BF047F810BD0B4610B56E
-:109C1000C11C062218460BF03FF810BD10B50622F5
-:109C200009300BF039F810BD0B46014610B506227D
-:109C3000093118460BF030F810BD0278BF23C90770
-:109C40001A40490E0A430270704700784006C00F60
-:109C5000704702785206520EC9010A4302707047DB
-:109C60000078C009704770B50C460546C11C2046F7
-:109C7000062209300BF010F820784006400E2070C4
-:109C800029784906C90FC9010843207070BD70B515
-:109C900015460E4604461F2A03D9D1A1A9200BF070
-:109CA00098F920462A46314609300AF0F5FF6078D7
-:109CB000AD1D80098001A906890E0843607070BD42
-:109CC00070B5054640780E468406A40E062C03D2D5
-:109CD000C3A1B9200BF07DF9A41FE4B21F2C00D959
-:109CE0001F2429462246093130460AF0D5FF204676
-:109CF00070BD70B515460E4604461F2A03D9B8A19B
-:109D0000CD200BF066F920462A46314609300AF08C
-:109D1000C3FF6078AD1D80098001A906890E084344
-:109D2000607070BD70B5044640780E468506AD0E75
-:109D3000062D03D2AAA1DE200BF04BF9AD1FEDB228
-:109D40001F2D03D9A6A1E2200BF043F921462A4694
-:109D5000093130460AF0A0FF284670BD10B5042234
-:109D60000F300AF099FF10BD0B46014610B50422D2
-:109D70000F3118460AF090FF10BD10B503221330C2
-:109D80000AF08AFF10BD0B46014610B503221331BD
-:109D900018460AF081FF10BD4176090A81767047A6
-:109DA000817E427E080210437047C176090A01771E
-:109DB0007047017FC27E0802104370474177090A4D
-:109DC00081777047817F427F080210437047C175D9
-:109DD000090A01767047017EC27D08021043704770
-:109DE00081757047807D704720300279C90652091D
-:109DF0005201C90E0A430271704720300079C00633
-:109E0000C00E704720300279D206D20E49010A43B3
-:109E100002717047203000794009704710B5052263
-:109E20001F300AF039FF10BD0B46014610B5052260
-:109E30001F3118460AF030FF10BD30B5411C837E3B
-:109E40000A461902D37D447E927D1B0221431343AF
-:109E5000674D827D8C1FAC4210D8002A0ED0082A94
-:109E60000CD88A420AD28B4208D8817F427F0802EE
-:109E70001043A91D884201D8012030BD002030BD0B
-:109E800000210A464254491C2229FBDB70474078D6
-:109E9000C006C00E70474078C006C00EC01C704798
-:109EA0002220704710B502788B07920892009B0F12
-:109EB0001A4302704278520952014270012908D0B7
-:109EC000022906D0032905D0FF2045A1A3300BF0BD
-:109ED00080F810BD01210A43427010BD10B5027810
-:109EE0008B07920892009B0F1A4302704278520926
-:109EF00052014270012908D0022906D0032905D059
-:109F0000FF2037A1BD300BF064F810BD01210A43DA
-:109F1000427010BD00788007800F70470278FB23E5
-:109F2000C9071A40490F0A4302707047007840077A
-:109F3000C00F70470278F723C9071A40090F0A4378
-:109F40000270704700780007C00F70470278EF2357
-:109F5000C9071A40C90E0A43027070470078C0064C
-:109F6000C00F704770B50546C1700B000BF022F9A9
-:109F70000E080A0C0E1012120C14141212160C18E1
-:109F80000C2413E0082411E002240FE017240DE054
-:109F90000D240BE0012409E0092407E0062405E074
-:109FA000452000240EA1C0000BF013F8687840098A
-:109FB00040012043687070BDC078704770B504469A
-:109FC00040780E46C506ED0E1B2D03D904A10948A5
-:109FD0000AF0FFFF6019C01C042231460CE00000AB
-:109FE0007372635C756C5F7064752E6300000000B3
-:109FF0007A0C00003A0200000AF04EFE70BD70B507
-:10A00000044640780E46C506ED0E1B2D03D9A04927
-:10A01000A0480AF0DEFF6119C91C042230460AF08C
-:10A020003BFE70BDC171090A01727047017AC279A5
-:10A030000802104370474172090A81727047817AA1
-:10A04000427A080210437047C172090A01737047CF
-:10A05000017BC27A0802104370474171090A81717D
-:10A060007047817942790802104370470171704747
-:10A07000007970474173090A81737047817B427B85
-:10A0800008021043704730B5411C037A0A46C47970
-:10A0900019022143537914791B0223437E4D007921
-:10A0A0008C1FAC4210D800280ED008280CD888424B
-:10A0B0000AD28B4208D8D07A917A00020843A91DAF
-:10A0C000884201D8012030BD002030BD10B50522E6
-:10A0D000001D0AF0E1FD10BD0B4610B5011D052263
-:10A0E00018460AF0D9FD10BD4172090A8172704705
-:10A0F000817A427A080210437047017170470079F3
-:10A10000704710B50822001D0AF0C6FD10BD0B46B1
-:10A1100010B5011D082218460AF0BEFD10BD0A78D0
-:10A120000273497841737047027B0A70407B487024
-:10A13000704710B508220E300AF0AEFD10BD0B4678
-:10A14000014610B508220E3118460AF0A5FD10BDD3
-:10A1500010B5042216300AF09FFD10BD0B460146D3
-:10A1600010B50422163118460AF096FD10BD10B540
-:10A170000822001D0AF090FD10BD0B4610B5011D10
-:10A18000082218460AF088FD10BD10B504220C30D4
-:10A190000AF082FD10BD0B46014610B504220C31B9
-:10A1A00018460AF079FD10BD017170474171090A26
-:10A1B00081717047C171090A017270470079704757
-:10A1C00081794279080210437047017AC279080206
-:10A1D00010437047017170470079704701717047F3
-:10A1E0000079704710B50822001D0AF055FD10BD1A
-:10A1F0000B4610B5011D082218460AF04DFD10BD92
-:10A2000010B50822001D0AF047FD10BD0B4610B521
-:10A21000011D082218460AF03FFD10BD70B5154615
-:10A220000E4604461B2A04D93720194900010AF0BA
-:10A23000D0FE2A463146E01C0AF02EFD6078E90681
-:10A2400040094001C90E0843607070BD70B50546F5
-:10A2500040780E46C406E40E1B2C04D9DF200C49BE
-:10A2600080000AF0B6FE2246E91C30460AF014FDD2
-:10A27000204670BD4078C006C00E1B2801D80120C2
-:10A2800070470020704710B522220AF005FD10BD6E
-:10A29000E09F0000430200007A0C0000FEB50F466C
-:10A2A00004460146064620302546C031603640351A
-:10A2B0000190032F04D0002F2DD0012F2BD04BE085
-:10A2C00000206080A080E08020816081A082E08505
-:10A2D000E0826874A074E074A076E076A073E07306
-:10A2E00020746074019B987401232B74A8822883C6
-:10A2F0000876E883B0706883A873E8732077607786
-:10A30000019988720199087430727072B072327457
-:10A31000B074A883FEBD0020A8822883012F52D0EC
-:10A32000E08B0090608C0290C00000990AF02EFD36
-:10A33000401C80B2E8820099192241439202914266
-:10A3400001DD401EE8827D20000200990AF01EFD1A
-:10A35000401C3080002F01D0022FDBD10198007A01
-:10A36000C1060198C90E01720020687322182421C9
-:10A370008B5C4032D9075B08DE07C90FF60F7118F6
-:10A380005B08DE07F60F71185B08DE07F60F711821
-:10A390005B08DE07F60F71185B08DE07F60F711811
-:10A3A0005B08DE07F60F76185908891911726A7B67
-:10A3B000401C5118C0B269730528D7D3002FA9D10A
-:10A3C0000020A874FEBD4A7F2046E030022A12D049
-:10A3D000097F022913D050A173200AF0FAFD012051
-:10A3E00000900290E08BA98B484300990AF0DCFCB6
-:10A3F000A883029898E7818800910089F1E7018A93
-:10A400000091808AEDE770B504464034667B0546CE
-:10A41000002E68D0252E66D8002964D03E20405DED
-:10A42000A27B4843101825210AF0B0FC0846A1730E
-:10A430004207C908520F3C4B691820319A5C0979D0
-:10A440008A4367D031460AF0A1FC491CCAB20020F9
-:10A4500006E0002804D029184031C979511ACAB23F
-:10A46000291848235B5C93423AD320310979C943C8
-:10A47000CB07DB17D21A521E1206120E34D08B07EE
-:10A48000DB17D21A521E1206120E2FD04B07DB1703
-:10A49000D21A521E1206120E2BD00B07DB17D21A3D
-:10A4A000521E1206120E27D0CB06DB17D21A521EEE
-:10A4B0001206120E23D08B06DB17D21A521E12067A
-:10A4C000120E1FD04B06DB17D21A521E1206120EA6
-:10A4D0001BD00906C917511A491E0A06120E17D0B9
-:10A4E000401C0528B5DB70BDC00013E0C000401C57
-:10A4F00010E0C000801C0DE0C000C01C0AE0C000DD
-:10A50000001D07E0C000401D04E0C000801D01E008
-:10A51000C000C01DE07370BD7372635C6C6C5F75CE
-:10A5200074696C2E63000000EC51010010B5FF4807
-:10A530000021017041708170C17041718171C171E0
-:10A54000083009F073FB002804D0FF20F8A1843004
-:10A550000AF03FFD10BD10B5F44900204872081DF7
-:10A5600009F064FB002804D0FF20F1A1C3300AF0F9
-:10A5700030FDFFF7DBFFF148FFF782FC0021EF48D9
-:10A58000FFF7E4FC0121ED48FFF78CFC10BDE2E78A
-:10A590001B207047E5494A7A002A01D00020704705
-:10A5A000488101204872704710B5E0494A7A002A74
-:10A5B00002D04989814201D0002010BDDB48001D36
-:10A5C00009F03CFB002804D0FF20D9A1B4300AF0E8
-:10A5D00000FDD648001D09F049FBFFF7A7FF012049
-:10A5E00010BD70B5D14C0025627A002A02D0628974
-:10A5F000824201D00D700DE0227863789A4203D335
-:10A6000022786378D21A04E062782378D21A102371
-:10A610009A1A0A70FFF7C8FF002801D0657201205E
-:10A6200070BDC2494A7A002A04D04989814201D1C9
-:10A630000120704700207047BC490A784B78521CB3
-:10A640001207120F9A4207D0097822225143BC4ABE
-:10A65000891801600120704700207047B3480178D5
-:10A660004278491C0907090F914206D00178491C1C
-:10A670000907090F01700120704700207047AB499E
-:10A680004A7A002A04D04989814201D101207047C9
-:10A6900000207047A5490A784B789A4207D049783C
-:10A6A00022225143A64A89180160012070470020E8
-:10A6B000704710B59D4C20786178884216D060783C
-:10A6C000401C0007000F6070201D09F0B7FA002839
-:10A6D00004D0E078401CE070012010BDA078401C40
-:10A6E000A0709248001D09F0C1FAF5E7002010BDE6
-:10A6F0008E4801784078814201D1012070470020C6
-:10A7000070478A4801784278914202D301784078B4
-:10A7100003E041780078081A1021081AC0B2704787
-:10A720000F20704770B5814C0D46617A002916D014
-:10A730006189814213D100262E70201D09F07EFA16
-:10A74000002805D1A0782870A670201D09F08EFA87
-:10A750002878E17840182870E670012070BD00204C
-:10A7600070BD76490160704770494A7A002A04D06A
-:10A770004989814201D101207047002070476B490F
-:10A780004979002901D0002070476E4901600120FD
-:10A79000704766484179002901D0002070470121A7
-:10A7A00041710846704761494A7A002A04D04989B4
-:10A7B000814201D101207047002070475B494979EF
-:10A7C000012901D0002070475E49016001207047D7
-:10A7D00056484179012901D000207047002141717C
-:10A7E0000120704751484079012801D0012070476D
-:10A7F000002070474D494A7A002A04D04989814295
-:10A8000001D1012070470020704770B5474C0546C4
-:10A81000A0790721401C0AF0B9FAE079814208D0FA
-:10A82000A07922214843474922314018286001205D
-:10A8300070BD002070BD10B53C4C0721A079401CB4
-:10A840000AF0A4FAE079814207D0A0790721401CE0
-:10A850000AF09CFAA171012010BD002010BD334800
-:10A860008179C079814201D1012070470020704771
-:10A870002E494A7A002A04D04989814201D1012017
-:10A8800070470020704710B504462848083009F08A
-:10A89000D5F9002815D125498879CA7990420CD07C
-:10A8A000C8792221484327492231401820601F4897
-:10A8B000083009F0DBF9012010BD1C48083009F010
-:10A8C000D5F9002010BD10B504461848083009F02D
-:10A8D000B5F9002815D115498879CA7990420CD06C
-:10A8E000C8792221484317492231401820600F4877
-:10A8F000083009F0BBF9012010BD0C48083009F000
-:10A90000B5F9002010BD094810B5083009F096F9D6
-:10A91000002822D1054CA079E17988421AD0E0794B
-:10A920000721401C0AF032FAE1710DE066000020B8
-:10A930007372635C646D5F712E630000B01700205A
-:10A9400080140020A01600202046083009F08EF95F
-:10A95000012010BD0C4809F089F9002010BD0A48FB
-:10A9600008388179C079814201D1012070470020E7
-:10A970007047054808388179C079814201D10120AA
-:10A9800070470020704700006E000020704770473D
-:10A99000FF207047704770470020704700207047C5
-:10A9A000002070470020704700207047002070474B
-:10A9B000002070470020704700207047012070473A
-:10A9C000002070470020704700207047002070472B
-:10A9D000F8B5FF4D0446A87F002600280CD00029BA
-:10A9E00023D1667010202070E87FA07028462030A8
-:10A9F0000078E070AE7718E0287A012801D00020B6
-:10AA0000F8BD002911D16670F149687A01270A3131
-:10AA1000002801D0132000E0052020701422A01C83
-:10AA20000AF03AF9A7716E722E720120F8BDF8B5DE
-:10AA3000E8480078002802D00C273846F8BD0027E7
-:10AA4000E34D3C46203DAF74EF746F75AF752F75C5
-:10AA500028466F732038DE4E47737771E87D0028F3
-:10AA600004D0FEF785FDFFF744F8EC75347274727C
-:10AA7000B477D7482430FFF78DF8D5484C30FFF72E
-:10AA800089F8DAE710B5D34C00232370D04C203C72
-:10AA9000E375CF4B01241C71603B583307C3FFF7AC
-:10AAA000C6FF002804D0FF20CBA102300AF091FAA3
-:10AAB00010BDC7482038807C7047F8B5C44D0646A5
-:10AAC000407B203DE873C24837791346AF73B27BB1
-:10AAD00082710446603C217006221946601C0AF00F
-:10AAE000DBF8B07960730622F11DE01D0AF0D4F89E
-:10AAF000687B0126002800D0EE74B5484038407BC2
-:10AB0000002800D02E75002F09D0012F09D0022F68
-:10AB100024D0032F46D0FF20AFA14D3013E00021F9
-:10AB20001DE0AB4801212430FFF744F8A848E11D9F
-:10AB30002430FFF773F8607B002807D0012807D086
-:10AB4000FF20A5A143300AF044FA0CE0002100E008
-:10AB500001219F482430FFF77CF804E006219C483F
-:10AB60002430FFF727F800206875A8759848611C05
-:10AB70002430FFF745F8964821782430FFF75DF838
-:10AB8000934804214C30FFF715F89148611C4C3074
-:10AB9000FFF736F88E4821784C30FFF74EF8AE7448
-:10ABA0000020F8BD0221DAE770B5894C0125203C70
-:10ABB0000246A5758648007A002801D03A2070BD6B
-:10ABC000834860380378934206D1002262750622DA
-:10ABD000401C0AF061F86575002070BD70B5044630
-:10ABE0007B4D0020203D28752846224632380AF049
-:10ABF00053F82846203844730120287570BD7449E5
-:10AC00000871704710B5724C0022203CE2746073EA
-:10AC10000246204612380AF03FF80120E07410BDC9
-:10AC2000F8B500F04CFB6A4C0025203CE07D002884
-:10AC300004D0FEF79DFCFEF75CFFE575654E3570B0
-:10AC4000FEF75AFCA07B012804D00021084601F041
-:10AC500082FAF8BD0021022001F07DFA5C4C207AD6
-:10AC60000127002809D0A07F0028F2D10520E07735
-:10AC7000204620300570A777F8BD70780028FBD0FB
-:10AC8000534906226039487BE073C91D0846693084
-:10AC90000AF002F83C20A07227727570F8BD10B55A
-:10ACA0004B4C203CE17B207CCA0701D0C2070BD073
-:10ACB0008A070FD582070DD42620FEF7EAFA207CFA
-:10ACC00002210843207410BD2520FEF7E2FA207C03
-:10ACD0000121F6E74907F6D54007F4D42720FEF70F
-:10ACE000D8FA207C0421ECE770B53A4D287800288A
-:10ACF0007CD1374C203CA07C00287CD0FEF7F1FBB7
-:10AD00000026267466746E703046FEF7E7FB00205E
-:10AD1000FEF7E5F93448FEF7B3FA2546403D296EC3
-:10AD20008857FEF779FA3048C01EFEF792FBFEF70F
-:10AD300008FCFFF7B4FFFEF729FAFEF7CBFB012072
-:10AD4000FEF70DFB0F210520FEF744FA2978681C59
-:10AD5000FEF732FAA07B01280AD0E07C002807D059
-:10AD6000214612390846627B5630FEF790FFE674A2
-:10AD7000207D002808D0164840380146427B123911
-:10AD80008C30FEF7B6FF2675607D00280BD010488A
-:10AD9000691C2430FEF734FF0D48691C4C30FEF767
-:10ADA0002FFF6675A675E86D0178002903D001783C
-:10ADB000001DFEF713FAA86D0178002907D001786D
-:10ADC000034A401C7732FEF774FE0120E0750EE066
-:10ADD00034180020740000207372635C6C6C5F6137
-:10ADE00064762E6300000000F751010003E0FEF7D7
-:10ADF00083FB002070BD0C2070BDFB49486070478C
-:10AE000070B50546FEF79DFB002D06D00020FEF72D
-:10AE10005CFAFEF7BBF9FFF742FFF44C607C0028B8
-:10AE200009D0A07B012803D1F149F2480AF0D1F8FA
-:10AE3000FFF7F6FE70BD0126002D05D00220FEF7BB
-:10AE40008EFAEA4820304671E8484430FEF759FB54
-:10AE5000012008F0A8FDFEF7A1F9A07B00280FD083
-:10AE600001280DD002280BD003280BD0E148E0497F
-:10AE70001E300AF0AEF8E07B217C884306D009E062
-:10AE8000032000E00120FEF720FAF4E7A07B012870
-:10AE900003D06674D448067070BD00202074F9E7B2
-:10AEA00010B5FEF71EFBD048007800280ED1CF4821
-:10AEB000807C00280AD00020FFF7A2FFF6F781FA75
-:10AEC000CA4820300079012806D007E000F0F7F9E1
-:10AED000FEF712FB0C2010BDF8F79AF8002010BD09
-:10AEE000C14901204870704770B500F0DAFF0028B2
-:10AEF0001BD0FF202D30FEF7E5F9BB4E3078BB4C60
-:10AF00002034012814D0022801D003282ED0A520F7
-:10AF1000B74980000AF05DF83078002807D0F6F7CE
-:10AF200050FA207901282BD02FE0FFF779FE70BD71
-:10AF3000AE4DA87B032819D0FEF7F4FAE87D00286F
-:10AF400003D0FEF7C6FDFEF70CFBA8489430FEF7D1
-:10AF5000D8FA012008F028FDA87B01280BD0A179A0
-:10AF60006F20012906D0032904D004E00120FFF757
-:10AF700047FFD1E77F20FEF7A8F902203070CBE72A
-:10AF80006079002801D1FEF7A1FB0020607170BD3F
-:10AF900070B5964CE07D002803D0FEF7E9FAFEF785
-:10AFA000A8FD00F07EFF00281CD08F4D28780228D5
-:10AFB00003D08F4990480AF00CF8A07B012814D0E8
-:10AFC000FF202D30FEF77EF90120FFF719FF2878CA
-:10AFD000002809D0F6F7F5F9844C203420790128AF
-:10AFE00006D00AE0FFF71CFE70BD99208000E9E75B
-:10AFF0006079002801D1FEF769FB0020607170BD07
-:10B00000F8B50446FEF738F90746FEF78DFD01282E
-:10B0100027D0002674480078022804D07648744966
-:10B020003C3009F0D6FF714DE87D002803D0FEF7D3
-:10B030009FFAFEF75EFDFEF784FA6C489430FEF747
-:10B04000DBFD21006D4C009064D0FEF7BFF80028B6
-:10B0500060D0009803000AF0ADF8065D5D5D065D06
-:10B060001E5D0126D6E7A87B012853D0374304D1C3
-:10B07000A079002801D002284CD160484C30FEF75E
-:10B0800040FA012008F08FFC0120FEF71EF9564817
-:10B090000321017045E059487430C178D438C27931
-:10B0A00091421DD10146D4310A79037A9A4217D1CF
-:10B0B0004A79437A9A4213D18A79837A9A420FD194
-:10B0C000CA79C37A9A420BD10A7A037B9A4207D192
-:10B0D0000978407B4906C90F814201D1012100E076
-:10B0E0000021A87B012802D0002803D012E000290B
-:10B0F00007D10FE0374304D1A079002801D00128FF
-:10B1000008D13E487430FEF798FE002802D0A87D92
-:10B11000002810D0FF202D30FEF7D4F80120FFF7D3
-:10B120006FFE3148007800286AD0F6F74AF9207996
-:10B1300001286ED0C0E02C4F30497868042283315A
-:10B14000343009F0A9FD2D484021743000784006C4
-:10B15000C20F78680A54294906227731413009F034
-:10B160009BFD2649786803228731383009F094FD29
-:10B1700022483B217430827D78680A541F4974311B
-:10B180000A7ECB7D12021A4382878A7E4B7E120290
-:10B190001A43C2830A7FCB7E1102194301841749E7
-:10B1A00074318A7F4B7F1102194341841349052270
-:10B1B0009331243009F070FD10497F68943108798B
-:10B1C000C20638462030D20E0090827709794909AC
-:10B1D000C177207A00281DD0A07F00285BD1607A3B
-:10B1E00000280ED013200DE0740000201418002059
-:10B1F000D8AD0000F9030000BF02000034180020A1
-:10B200005CE00520E0773449002008700120A07739
-:10B2100041E04CE03048E97D1038002924D000217D
-:10B22000A172B989A1814021C95DE1733946062225
-:10B23000413109F031FDF88BE082388C2083788C25
-:10B2400060830098C07F2077607F400840003043D3
-:10B250006077FEF776FC617F4000C907C90F0143A4
-:10B2600061770120607215E00021A172B989A18186
-:10B270004021C95DE17339460622413109F00CFDD8
-:10B28000F88BE082388C2083788C60830098C07FB4
-:10B29000207701202072114D0020287000F00FF857
-:10B2A000FEF72AF90120696800F055FF39E7607957
-:10B2B000002801D1FEF70AFA00206071F8BD10B530
-:10B2C000FEF74AF9FEF73DF9FEF78BF80020FDF78F
-:10B2D000FCFFFEF7CAF810BD5418002074000020CF
-:10B2E0008107C90E002808DA0007000F0838800817
-:10B2F000FD4A80008018C06904E08008FB4A800095
-:10B3000080180068C8400006800F704710B500F034
-:10B310007BFF10BD70B5F64C0546A26800290DD024
-:10B32000002A04D0FF20F3A14C3009F052FEA560A2
-:10B33000F6F748F80220F6F73FF870BD002A04D16E
-:10B34000FF20ECA1543009F044FE0020A060F6F785
-:10B350003AF80120F6F738F870BDE5481030C07EA5
-:10B36000002801D00020704701207047E0481030CD
-:10B37000C07E7047DE483430C07E70470021C17601
-:10B38000817601600162DA481030C07E002807D162
-:10B39000D7483430C07E002802D1D549012008703A
-:10B3A000704710B50B46C17E847EA14204D0114681
-:10B3B000184607F0B4FB10BDFFF7E0FF10BD38B52D
-:10B3C000CB4C606801684978012924D00121684686
-:10B3D00006F05EF968460078CA49000209F0D6FC1A
-:10B3E00060680268C0685268511807F0B5F9616872
-:10B3F000C860BF49606834310022884215D0018B93
-:10B40000002912D04272032101720271021D017FD4
-:10B41000FFF7C7FF38BD7D21C068C90007F09CF960
-:10B420006168C860B8480861E3E7018B491C018383
-:10B4300002214172E7E7FFB5AD4F02461037386A87
-:10B440003C68056889B060680790A948C1680291A6
-:10B450006B880B98C01A80B208900C98002804D012
-:10B46000264638362046483002E03E1D28466430E5
-:10B47000059003203071002A15D0012A7ED0022ABF
-:10B4800052D0032A7BD09BA1A04809F0A2FD0C98C2
-:10B490000028307974D0032804D09C4895A1093045
-:10B4A00009F097FD40E1002904D1984891A169383D
-:10B4B00009F08FFD9549A88FA839484340180A998B
-:10B4C00000F0A8FEA0619149E88BA83948430A9989
-:10B4D00000F0A0FEE06186488C4AC068A98FA83AB7
-:10B4E000514384464118A069894A091A8A183B21A8
-:10B4F000A262864B495DA83B594341180818FF30AA
-:10B500001630206260626046101AFF38ED2135382F
-:10B51000C9008842BBD27F49884204D27B4875A1CA
-:10B520005C3809F056FDBAE0784AA88FA83AE1687D
-:10B53000504308180A9900F06DFEA0617349E88B2A
-:10B54000A83948430A9900F065FEE0616848C06880
-:10B55000002804D16D4867A1543809F03AFD5820FD
-:10B56000405B6D4A0028A88FE16822D0504308183C
-:10B57000A169401AA0622169A06802E022E051E0BE
-:10B58000CDE04843A169644A40183B21495D5143DD
-:10B5900041180818FF3014302062E88BE1695043ED
-:10B5A000411A0F208001081A60625148A16AC068E0
-:10B5B0006DE050430818A169401A3968D3384968CA
-:10B5C0004018D7E7284640300290008B002801D071
-:10B5D000002904D14D4847A13C3809F0FAFCE88B1A
-:10B5E0004D494843E169401AA062029A138B2269CF
-:10B5F0009B1A9C46A3685343A2699A186346594311
-:10B6000051183B22525D444B5A438A185118FF315E
-:10B61000143121620F218901411A61623449C968DC
-:10B62000401A35E00C98002803D03420005D002833
-:10B6300074D1E88B38494843E169401A0899484376
-:10B64000A062284640300690008B0028079829D039
-:10B65000002804D02D4827A1163809F0BAFC069816
-:10B660002D4A018B08980818E16948434000FF30D3
-:10B6700014302062E88B5043411A0F208001081AD1
-:10B68000606200F0C1FD00281CD0A16A0298081A6F
-:10B69000FF38ED212338C900884200D3F7E60220A5
-:10B6A0003071F4E6002802D00298002804D117482F
-:10B6B00010A11D3809F08DFC0798A16AD33808182D
-:10B6C000A062CCE706F0B1FD7A690146104607F0AA
-:10B6D000D5FFA16A081AFF38ED211E38C90088423B
-:10B6E000DCD201200DB0F0BD00ED00E000E400E090
-:10B6F000D01800207372635C6C6C5F6C6D2E7330BD
-:10B700002E63000010270000B78913008A0500008F
-:10B7100036040000A3020000E20400002AE003282F
-:10B7200002D1FD4807210170A16A786907F014F879
-:10B73000B060616A206A884202D90598016001E020
-:10B74000059908600598F54900680818F060A9880F
-:10B750000B98081A00B2002801DD022000E000204A
-:10B7600070710C9830700C98002805D03420005D62
-:10B77000002801D00220B5E70C9801214840203470
-:10B780006075397F32463846FFF70BFE0020A9E787
-:10B7900010B5E14900284A68116A096807D01268A3
-:10B7A000C98BDF4BD2695943891A09F0EFFA10BDF2
-:10B7B000F8B5D94F35227868016A0C680168525C87
-:10B7C000002A0AD0498E6288914206D1407A002828
-:10B7D00003D1D449D44809F0FCFB06F026FD01460C
-:10B7E0007868406907F04AFFFFF7D2FF79686588FB
-:10B7F0000B682E185A8EB24202DB521C5A8602E0A7
-:10B80000401C2818588608683622125C002A05D188
-:10B81000428E23899A4201D1521C4286088B03280A
-:10B8200002D2401C088302E00868408EA0802046B7
-:10B830004030C18A808A081A6188401E401885B24B
-:10B84000203416E0096AE67F097976004B00B74993
-:10B85000007DCB5A895BC91889B20023FFF7EBFD45
-:10B86000002811D0012810D0AF48AE493A3009F075
-:10B87000B0FB79680868428EAB1A1BB2002BE1DA84
-:10B880000820E07400F00BFEF8BD78680068418E77
-:10B89000491C4186EDE770B51F209F4D002128709F
-:10B8A000E960A868C27E130009F084FC04545403C4
-:10B8B0004654026A14680268117002685160006898
-:10B8C0002030407D002808D106F0AFFCA968096847
-:10B8D000096C07F0D3FE002815DCA86801684A8EC1
-:10B8E00061888A4204D12289511A6181628004E010
-:10B8F000511A61810168498E61800268C1681164D2
-:10B90000C16841610FE0A8680168098E6288891AE0
-:10B9100061810168098E618001680A6CC2600A6CED
-:10B920004261886C6066204601F06DFC00280ED0F4
-:10B930007B487C49BD3808E0C1684161FFF7D4F914
-:10B94000002804D076487749B73809F042FBF5F76C
-:10B9500038FD70BD72487349B038F6E710B56E4ACD
-:10B960000B00526809F026FC0906090F1E0C2D2D4C
-:10B97000082A2D00FFF78FFF10BD00F059FC10BD05
-:10B98000FDF7A9FE10BDD07E022805D0D07E032889
-:10B9900005D0644966480EE0FFF70AFF10BDFFF7C7
-:10B9A0000EFD10BDD07E0228F6D0D07E0328F6D042
-:10B9B0005F485C490B3009F00CFBF0E706F01BFC1C
-:10B9C00010BD23205749000109F003FB10BDF3B55A
-:10B9D00081B0514C029825460026012710350300FE
-:10B9E00009F0E8FB0906313C3C3143433C3C430051
-:10B9F000494801211030FFF78DFC02990198FFF7AB
-:10BA0000ADFFE87E022828D1A0680468006A0668B5
-:10BA100006F0EAFBF18B424A5143E269891AD339B5
-:10BA2000FF223232E162904202D24248081802E01C
-:10BA3000081A41494018E0624048E16A814200D852
-:10BA40000846E06206E001460198FFF787FFE87EBE
-:10BA5000022802D1286820300775FEBD01466560C6
-:10BA60000198FFF77BFF6660FEBDFF202D49C130C6
-:10BA700009F0AFFAFEBDF8B5064627480D4600248A
-:10BA80003430254F0B0009F095FB09060C10100C03
-:10BA9000161610101600204801213430FFF73AFC2A
-:10BAA00029463046FFF75AFFF8BD78603046FFF769
-:10BAB00055FF7C60F8BDFF201A49F53009F089FA7E
-:10BAC000F8BDF0B5144C0020616885B003268E7671
-:10BAD000CA7E0746032A03D0C97E00293FD03FE033
-:10BAE000087F002804D112480E49D93009F071FAB4
-:10BAF0006068057F684606710221417106F095FB7A
-:10BB00000290FF20F53003900121684601706946DC
-:10BB1000284607F004F814E0D0180020EF160000C3
-:10BB2000E2040000F4B6000074060000FC510100BD
-:10BB30001602000084F8FFFFB5F9FFFF161200009F
-:10BB400020BF6068007F07F025FE0028F8D06068FD
-:10BB5000007F06F050FB60680777FFF70FFC0120BD
-:10BB600061688F7605B0BEE5FD494A68907600E0D1
-:10BB700020BF4A68D07E002803D0D07E937E9842B2
-:10BB8000F6D0D07E002803D00020002191767047A7
-:10BB90000120FAE770B5F24900241031CA7EF04D59
-:10BBA000032A03D02431CA7E032A17D169600028F2
-:10BBB00010D001280AD0EB49EB4809F00AFA00201E
-:10BBC0006968002C0860686008D070BD0320FFF72A
-:10BBD000CBFF01E0FFF775FF0446F0E70C2070BDD6
-:10BBE000F8B5DF4F04461F25E67E330009F0E2FA80
-:10BBF000042A20031B20DA481030844203D0D9499C
-:10BC0000DA4809F0E6F902207C60FFF7ADFF002872
-:10BC100005D07968002008600862786012E00C2581
-:10BC2000002078600BE00120FFF7B4FF054604E038
-:10BC3000CE48CC490C3009F0CCF9002D02D0E07E82
-:10BC4000B042D1D1E07E002804D0C848C5491230A6
-:10BC500009F0BFF9F8BDC24810B51030FFF7C0FFBA
-:10BC6000BF483430FFF7BCFFBD490020583108758C
-:10BC7000BF494870BA49103148610A4624325061C0
-:10BC800088769076012210390A708860486010BD6D
-:10BC900070B504460120FFF723FBC5B20B20FFF768
-:10BCA0001FFBC0B2854204D0B048AE49343809F019
-:10BCB00090F90120FFF714FBC5B21820FFF710FB25
-:10BCC000C0B2854204D0A948A649333809F081F9A9
-:10BCD0000420C043FFF704FBC5B21920FFF700FBA7
-:10BCE000C0B2854204D0A1489E49323809F071F9AA
-:10BCF0009F489B490C38047000201031C876887624
-:10BD00000A462432D0769076994B0124083B1C7168
-:10BD100018600862106208601060FFF79CFF70BD39
-:10BD20008F48007870479249083908717047F3B519
-:10BD30000D468B4983B01031CA7E08462430884CAA
-:10BD4000002A02D1C27E002A03D0C97E022903D074
-:10BD500005E08848616006E0C17E002901D00C2022
-:10BD600000E76060844806F0F2F96168087760686F
-:10BD70007F490160007F002804D17B4879496238FF
-:10BD800009F027F906F030FA7C49884200D20846CB
-:10BD9000FF30C83086B260680321C1760027012DCC
-:10BDA0002FD0724A0399121D5143026851600068F6
-:10BDB00001210170684605F06BFC68460078704907
-:10BDC000000208F0E3FF019106F02FFA01997118C3
-:10BDD00006F0C2FC6168032DC86021D06948086183
-:10BDE000606803210172022141720771021D017F07
-:10BDF000FFF7D7FA6068078307202070002067608C
-:10BE0000B0E606F012FA314606F0A6FC6168C8609A
-:10BE10005D48086108680770096801204870DFE71D
-:10BE20005A48DCE77047F8B54D4E1036F17E0029D0
-:10BE300004D131462431C97E002901D00C20F8BD3F
-:10BE40000221F176464C4A4F5834083F376234603D
-:10BE5000002538602575397920304A004C49C07F6B
-:10BE60008A5A4000085A2B46101881B22A462846A2
-:10BE7000FFF7E1FA002804D03B483A49323009F094
-:10BE8000A8F825610120A5602075658625863448BF
-:10BE90007830857539684888401E48803583002091
-:10BEA000F8BD10B52E4901248868827E032A0CD083
-:10BEB00000684078002806D0C8683649884202D910
-:10BEC0000024FFF70DF8204610BD0024FBE72448AE
-:10BED000826813681978491C1970C1681068C26AB1
-:10BEE000914204D8007D012801D001207047002034
-:10BEF000704700207047F8B51948194C1030606041
-:10BF0000016A00260D68006834212F460E54403720
-:10BF1000B97C002963D1007D032860D106F085F942
-:10BF200001466068406907F0A9FB002857DDFFF76C
-:10BF30002FFC6988401C41186068026811860068FF
-:10BF40002989028E91424AD9012120308175F88ACF
-:10BF5000B98A401A6988401E401887B238E000004C
-:10BF6000D0180020F4B600008D0300006D02000020
-:10BF700088000020CFB9000077BA0000F605000065
-:10BF800010270000CB120000B7891300B70800008B
-:10BF9000FC5101002E841300096A09794A00CD4939
-:10BFA0008B5A028E007D94463F22525D5200895A80
-:10BFB000C91889B201236246FFF73DFA00280ED066
-:10BFC00001280ED002280AD0C349C44809F001F85C
-:10BFD00061680868028EBA1A12B2002ADCDA66605A
-:10BFE000F8BD60680068018E491C0186F0E7F8B56D
-:10BFF000BB4D0026AA680128116A0C6810D00720E2
-:10C00000287006F05DF8B7480078F6F7AFFDA8682D
-:10C010000683026861885186006820308675F8BD05
-:10C02000087913684100AB481F7D415A032F18D08F
-:10C030001A7D022A22D01A7D012AE2D13F231B5DFC
-:10C0400022895B00C05A0023401881B20120FFF70B
-:10C05000F2F90028D5D0A1489F49B53008F0B9FFC2
-:10C06000CFE71E6112683F2396601B5D22895B004B
-:10C07000C05A0023401881B20320E8E75822125B1F
-:10C080001A613F231B5D22895B00C05A00234018C0
-:10C0900081B20220FFF7CFF9AA6801211268117559
-:10C0A000D7E738B58E4C0021A0680D46006842786D
-:10C0B000002A01D045701FE00078002809D0012136
-:10C0C000684605F0E5FA684600788749000208F0FE
-:10C0D0005DFEA0680268C0685268511806F03CFB1B
-:10C0E0000146A068C160057102214172021D017FF5
-:10C0F000FFF757F9A068058305F0E2FF794800785B
-:10C10000F6F734FD38BD10B50146754A0B0090684E
-:10C1100009F050F8060D150408190C1C012100F057
-:10C12000A6F807E00021506800F0A1F810BD01203A
-:10C13000FFF75DFF00210846FFF7ECF810BD00682F
-:10C140000321017510BD00F0A5F810BD62496748D4
-:10C1500008F03FFF10BD70B5614C002809D00128E0
-:10C1600016D0022821D061485B49243008F031FF05
-:10C1700070BDFFF796FF00210846FFF7CBF8A068D7
-:10C18000807E002801D01F2000E00720207070BDB5
-:10C19000A068002501684D70FFF7F0F80320F6F75E
-:10C1A00023FC05F08DFFA56070BDFFF77AFFA06846
-:10C1B000FFF7E4F800210846FFF7ACF80420F6F793
-:10C1C00013FC70BD46498968CA7E022A08D10A68F4
-:10C1D0001378002B04D150600968CA6A1018C8622D
-:10C1E000704710B53E4A00290CD0012907D002291A
-:10C1F00007D03E483849443008F0EBFE10BD401EE1
-:10C2000000E0401FD06010BD35488068002800D095
-:10C210000120704710B504460020002907D034489B
-:10C2200008F0B4FD0146204608F0B0FD401C10BDEA
-:10C2300010B52B488068C07E030008F0BBFF0414D3
-:10C2400014030A1401F0F2F800280BD022492948FF
-:10C2500006E0FEF725FE002804D026481E49001DF2
-:10C2600008F0B7FE10BD23481B490B30F8E710B5A6
-:10C270000446002903D00020FFF7B9FE03E0194867
-:10C280000078F6F773FC2046FFF778F80020F6F701
-:10C29000ABFB10BD10B512488268106A11680068C7
-:10C2A000CB698B60134BC18B9B3359431368D960A7
-:10C2B0000146E0314B8883870C783B231C548B88E4
-:10C2C000C383CB88038409894184116802200875DF
-:10C2D00010BD0000FC510100F4B600005A06000039
-:10C2E000D01800207C00002010270000B2070000BA
-:10C2F00040420F0047040000F8B5FEF702FA064678
-:10C30000FEF770FAF94D07466879F94C002809D014
-:10C31000012823D0022826D003282ED0FF20F5A103
-:10C32000C63033E0F2481830FEF748FA002801D052
-:10C3300003200FE0EE481830FEF7ACF9002804D0D7
-:10C3400060696030007A002806D0E9481830FEF7AE
-:10C3500008FA012068711BE00220FBE7E44818306E
-:10C36000FEF7FFF914E0E2481830FEF793F90028D1
-:10C370000ED1FF20DFA1B83008E0DD481830FEF70D
-:10C380001DFA002804D1FF20DAA1C03008F021FEF8
-:10C39000A169F722087810400870AA79D207120F15
-:10C3A0001043FB2210400870EA79D207520F104365
-:10C3B00008706B79EF22022B04D0012B07D0032BDE
-:10C3C00007D00CE0012E06D8002F04D007E07F1E16
-:10C3D0003E43002E03D010401022104300E01040D6
-:10C3E0000870287C002811D0687901280ED0BF4839
-:10C3F0005438FDF786F8BD49606954397830A26930
-:10C40000FDF7E3FA0020FDF7EFFA04E00846FDF738
-:10C4100078F8FDF70CFBA0690078C00606D4E06947
-:10C420000078C00602D4E079002802D0A079002864
-:10C4300001D0012000E00320FCF747FF032020701B
-:10C4400001202071F8BDAA4810B51C30FEF7DDF9B7
-:10C45000A74C002802D00020607004E0012060702A
-:10C46000A2485438E061A148407C002802D060789E
-:10C47000002805D0E069FDF744F8FDF7D8FA10BDB3
-:10C480009A485438FDF73DF8984A6069543AA0300C
-:10C49000E169FDF79AFA0120FDF7A6FA10BD10B583
-:10C4A00093490022486932238276C27601221A54C7
-:10C4B0004030807C002803D00A700021022001E077
-:10C4C00000210320FFF71FFE10BD70B5884C607976
-:10C4D000C2062046416908464030002A01DA00229F
-:10C4E00002E0028B4B89D2180B460283C0331A7EBE
-:10C4F000002A03D0828B4D8952198283627A002AE6
-:10C5000003D03D2001F0C9F852E08A7E032A4FD0C3
-:10C51000227A002A13D0500701D4D00601D51E205C
-:10C5200036E0100701D53D2032E0D00705D1900755
-:10C5300003D470A1734808F04CFD2A2028E0603134
-:10C540008A78002A05D0C28B551CC5830D88AA4263
-:10C550000FD25A7F062A02D01A7F062A05D1428BB3
-:10C56000531C438309888A4203D2828BC18A8A4240
-:10C5700001D322200CE0027C808A002A0FD00628FA
-:10C580000FD35A48C07B012801D03E2000E008208C
-:10C5900001F083F86069807E032809D001E08842B9
-:10C5A000F5D20120207000210846FFF7ACFD70BDD8
-:10C5B000FFF775FF70BD10B54C494D48CA7B002A86
-:10C5C0002BD0012A29D0022A27D0032A04D049A13E
-:10C5D0004D4808F0FEFC10BD897B02290FD00729C9
-:10C5E0001BD0406901464031CA8A898A511A891E86
-:10C5F00089B2032900D30321028951180BE0406955
-:10C60000014640318A8A032A01D2018903E0428827
-:10C61000C98A5118491C818010BD4069F5E700B5F1
-:10C62000030008F0C7FD0604070B0F1212170029BC
-:10C630000ED00FE0491E02290AD90BE0491F01293B
-:10C6400006D907E0072903D004E00A390C2901D8EC
-:10C65000012000BD002000BDFEB50546244818306D
-:10C66000FEF78DF8002804D1274822A1CF3808F022
-:10C67000B0FC1F4CA069FDF703FC0321A069FDF786
-:10C680002DFCA069EF220178114001702946FDF7C9
-:10C6900069FC002601272B0008F08CFD0E5D5D086B
-:10C6A0005D1D6161155D4D5D613D385D60697121A4
-:10C6B000095C002901D0062101E0C030417EA0695B
-:10C6C000FDF71BFD4BE0E069FDF776FC0146A06934
-:10C6D000FDF784FD43E06169A069D031FDF747FDB6
-:10C6E0006169A0699531FDF750FD38E0C819002057
-:10C6F000900000207372635C6C6C5F736C61766594
-:10C700002E6300006B020000780800000621A0697B
-:10C71000FDF760FD23E020690178A069FDF744FD85
-:10C7200020698188A069FDF741FD20694188A069E1
-:10C73000FDF740FD13E00096019660696030007CD3
-:10C74000002803D069460878384308706946A06914
-:10C75000FDF756FD03E0FE49FE4808F03AFCFEF7FF
-:10C7600018F8002804D1FB48F949801D08F031FC75
-:10C770000C2D07D0072D04D060695E210E52603069
-:10C780008770FEBD606940304683FEBDF0B5F24C57
-:10C79000DC2061698DB0405C042809D0052834D1C3
-:10C7A0006031487A002829D001204874022026E010
-:10C7B0001022EA31684600F0A8FF61691022C831F2
-:10C7C00004A800F0A2FF684605F0BBF8616908AA5A
-:10C7D0006CCA0F46CB6778378A670846FE608030A0
-:10C7E000BD60074620376CC7002303634363012005
-:10C7F000A0310876D9494874052000E00D20FFF7E4
-:10C800002BFF61690020C03108770DB0F0BDF8B58D
-:10C81000D1481830FDF7B3FF002842D0CE4C207A23
-:10C8200000283ED160690025C030007ECB4E002834
-:10C830000BD0B17B0120FFF7F2FE002805D1B17BC0
-:10C840000420FFF7ECFE002806D060690127C03005
-:10C85000407F062807D00CE060695C210D526030F3
-:10C86000457402202FE0B17B0420FFF7D8FE00289A
-:10C8700010D0B07B030008F09DFC173F3F3F3F1EE8
-:10C880003F3F3F3D3F203F3F3F292C3F3F3F3F3F02
-:10C890003F2F3F0060696A21095CC90702D0C030A0
-:10C8A0004577F8BD0C20FFF7D7FE60696030817ACC
-:10C8B00039438172F8BD072005E0FDF7D0FF00285D
-:10C8C000F8D075740B20FFF7C7FEF8BD00F02CFF01
-:10C8D000F8BDFFF75BFFF8BD606900218030816023
-:10C8E000C160057437740620FFF7B6FE60696030DA
-:10C8F0008570F8BD0920E6E700F0D8FEF8BD70B5F8
-:10C90000964DA87B072834D1934CDE22606941887C
-:10C91000125A491C91422CD1217A002929D1014671
-:10C92000E0318B88C28B934207D1CA88068CB24211
-:10C9300003D10A89468CB2420DD0884A8689303AA2
-:10C9400056819381CB88D3810989118201462E318A
-:10C9500051600121117001221146FDF79FFC002159
-:10C960000420FFF7D0FB61690020C0314877A8732D
-:10C97000E87370BD70B5794CA07B162803D074495C
-:10C98000774808F026FB74480021426973486032FA
-:10C99000117291703038067E0B250123002E06D0CF
-:10C9A000027D002A12D14575817503750EE0567A15
-:10C9B000002E06D051722288828381760C22027664
-:10C9C00004E022888283817683770576A17370BD27
-:10C9D000F8B5614DA879800723D5287A002820D1A1
-:10C9E0005E4C0120A17BFFF71AFE002819D1A8692F
-:10C9F0000127C0780026030008F0DCFB0E62620805
-:10CA0000622E3B4F0A62146220524562022021E0EE
-:10CA1000A07B042804D052484D49333808F0D9FA95
-:10CA2000A673F8BDA07B082804D04D4848492D388E
-:10CA300008F0CFFA686960308670F1E7A07B0A28B9
-:10CA400004D047484249263808F0C3FA6869603084
-:10CA500007720B20A073F8BDA07B0E2804D0AB207A
-:10CA60003B49C00008F0B5FA6869603007720F20D2
-:10CA7000F0E7A07B0F2804D039483549183808F072
-:10CA8000A8FA1120E6E7A07B0F2804D034483049EB
-:10CA9000123808F09EFA1320DCE7FFF76BFFF8BDB1
-:10CAA00069690846C0310A7F062A04D16030807A5D
-:10CAB000800700D50E77487F0628F0D14E77F8BD65
-:10CAC000274823496E3008F084FAF8BD10B5234C8E
-:10CAD0000020A17BFFF7A3FD002804D11E480122FE
-:10CAE000017A114301720420A07310BD10B51A4CD5
-:10CAF00060690146C0314A7F002A06D0097F0629B5
-:10CB000003D0217A0122114321726030807A80079C
-:10CB100015D4E069FDF752FB61696031C872E069C4
-:10CB2000FDF74EFB616960318881E069FDF74DFBDF
-:10CB3000616902226031C881887A10438872606915
-:10CB400000220146C0310B7F062B00D10A7709E095
-:10CB5000F4C60000ED07000090000020C819002076
-:10CB6000770500006A231B5CDB0703D106234B77A4
-:10CB70004030428310BDF8B5FE48817B0020FFF7AE
-:10CB80004EFDFD4C0126002807D160696030407AD7
-:10CB9000002802D1207A30432072616900255E208E
-:10CBA000455262204654C831E069FDF7C8FA616910
-:10CBB000E0699131FDF7D2FA6169042208469131AA
-:10CBC000B93008F069F8EB483038017E08270029B1
-:10CBD00006D0017D002912D14775857506750EE0D6
-:10CBE0006169054689894183E249E0691439FDF7A5
-:10CBF0008EFAE049E0690C39FDF796FA2F76DD48A8
-:10CC00000E218173F8BD70B5DA4D0020A97BFFF7C6
-:10CC100006FDD94C002803D1207A01210843207257
-:10CC2000E069FDF730FA00280ED0E069FDF726FA3A
-:10CC30006169DE225052498800F0C1FD002806D00B
-:10CC4000282000F02AFD70BDFFF740FF70BDE069AD
-:10CC5000FDF70EFA6169E0310870E069FDF701FA4D
-:10CC60006169E0314880E069FDF7E0F96169E03130
-:10CC70008880E069FDF7E3F96169E031C880E06927
-:10CC8000FDF7E6F96169E03108810720A87370BDFE
-:10CC9000F8B5B94CA079C0076FD0207A00286CD1C4
-:10CCA000B44D0120A97BFFF7BAFC002853D1E069FD
-:10CCB0000027C178022201260B0008F07BFA0D162E
-:10CCC0001308354A4A384C474A1929444A00FDF7A7
-:10CCD00016FA6169DA225054AE735E204752603111
-:10CCE0008E7038E000F076FD35E0FFF78CFF32E023
-:10CCF000A97B0020FFF793FC002802D1207A304363
-:10CD0000207260695E210F52603086700A2018E040
-:10CD1000A87B0B2802D0207A104320722F74606900
-:10CD2000603046720C200CE0FFF725FF13E0A87B73
-:10CD3000112802D0207A1043207260696030877019
-:10CD40001620A87307E0FFF7D1FE04E000F00FFD06
-:10CD500001E0FFF7BBFEFDF76EFD002804D14F2078
-:10CD60008649000108F035F9606900238030016BC5
-:10CD7000426B491C5A4142630163F8BDF8B57D4FCF
-:10CD8000012814D1787C002802D1387C002801D0F9
-:10CD9000FCF74DFEFCF7E0FBFCF7D3FB0020FCF7B3
-:10CDA00094FAFCF71EFBFCF760FBFCF7A5FBF87B95
-:10CDB00001260025704C00280FD16079C10705D0ED
-:10CDC0000220F87360694030057402E0800717D5CF
-:10CDD000FE7300210120FFF796F9F87B012802D0AD
-:10CDE000022808D00CE06079C00709D00220F8734F
-:10CDF0006069403005746079000701D50320F8733D
-:10CE000000F018FDFFF703FD2079002801D03D81D7
-:10CE100002E03889401C38816079C007606904D01D
-:10CE200072210D544030858203E04030818A491CD4
-:10CE30008182E079002806D061696031887C02280F
-:10CE400006D8401C887460696030807C022804D950
-:10CE50003D817D81606960308574B97B0020FFF77A
-:10CE6000DEFB002802D1B87B06284BD16069014661
-:10CE7000C0310A7F062A45D0497F062942D03D4964
-:10CE8000C97B03293ED16030807C00283AD1FDF770
-:10CE90002FFC002836D0FDF7A5FC002832D06169B0
-:10CEA000C88801282ED90A4640325674D08A978AFB
-:10CEB000831E9F4201DB012002E0C01B401E80B2A6
-:10CEC0002C4B1F89A3899F4201D3012302E0DB1B66
-:10CED0005B1C9BB2984200D91846012800D15574BA
-:10CEE0002A22525C002A11D0224A898D52898A4214
-:10CEF00001D3012102E0891A491C89B2884205D96F
-:10CF0000084603E06169012040314D7461694A8837
-:10CF100010180881FFF74FFB6069122215490C3089
-:10CF200007F0BAFEFFF7D1FAFEF7E3FF00280AD0B8
-:10CF3000104810388179002905D161690246898934
-:10CF4000203A118586710C481C30FDF7BCFC002886
-:10CF50000FD0E06900788007800F012809D00228EF
-:10CF600007D0FDF7D0FC002803D10449044808F09D
-:10CF700030F807E0C819002090000020F4C6000037
-:10CF80007F030000606940308574F8BD70B5FE4CC9
-:10CF9000607900283CD0FD4D022810D1FDF789FBB7
-:10CFA000002803D1FA49FB4808F013F86A69002306
-:10CFB00080329068D168401C5941D1609060002651
-:10CFC00066712079012804D12671A87910210843BF
-:10CFD000A871E078012816D1E670A87908210843E5
-:10CFE000A871FDF7F5FB002804D1EA48E84918309C
-:10CFF00007F0EFFF6969002380318A68C868521C16
-:10D0000058418A60C860A079012802D00120A0712F
-:10D0100070BDA67170BDF8B5DC4CDB4DE269002730
-:10D020001078042183079B0FE8790126012B11D08A
-:10D03000022B0FD0032B01D0207A30E06178002939
-:10D0400005D1AE70A1793143A17123E0EF71F8BD34
-:10D05000EE71F8BD5278D3061CD060780028F8D164
-:10D06000D006C00E1B2818D8607908436071FDF700
-:10D07000E2FB002804D1C748C5494B3007F0A9FF9F
-:10D08000606900238030026B416B521C594102637E
-:10D090004163E8790128DBD1D8E7207A10210843E1
-:10D0A0002072F8BDF8B5B84D0446303D287D002704
-:10D0B00000280AD0002978D1677010202070687D80
-:10D0C000A070A87DE0702F756FE02878002814D03C
-:10D0D00000296AD1072067702E462070083607E0C5
-:10D0E000686807802F700A223146A01C07F0D4FD23
-:10D0F00028780028F4D1A77057E0287EA24E143E6D
-:10D10000002837D0002950D1297EA0480B0008F014
-:10D1100051F80D2C2C2C2C2C2C2C2C112C2C2008C8
-:10D120002C0067700C212170A97EA1704069808954
-:10D13000A08018E008216770217040690A46808944
-:10D14000914960801439201D07F0A6FD3089A08127
-:10D1500009E067700B212170A97EA1704069808968
-:10D16000A080A87FA0712F761FE089498A4807F028
-:10D1700030FF1AE0844810388279002A08D000294C
-:10D1800013D1677011212170B189618087710CE022
-:10D19000827A002A0BD0002907D1677012212170F2
-:10D1A000318A6180718AA18087720120F8BD0020D8
-:10D1B000F8BD76480078012801D00C2070477249EC
-:10D1C0000020303908700875087620318871704762
-:10D1D00070B56E4C064620780D46002804D093208A
-:10D1E0006B49000107F0F5FE01202661E07225621F
-:10D1F0002070FFF7DEFF002804D0674864494930FB
-:10D2000007F0E7FE70BDF8B5604C2178012902D126
-:10D210002178012901D00C20F8BD01460546606146
-:10D2200012220C31584807F037FD01274035AF7402
-:10D23000554D2888FDF723FA002827D02888FDF7C8
-:10D24000D9FA002822D02888FDF78EFA00281DD0B0
-:10D250002888FDF7A8FA002818D0FCF742F9606981
-:10D260000026C088002825D048481830FDF787FAE6
-:10D2700000281FD06069C030007E00281AD0A97B2A
-:10D280000120FFF7CCF9002802D013E01220F8BDEE
-:10D29000A97B0420FFF7C3F900280BD16069014680
-:10D2A0004030868360314E740220FFF7D5F9606903
-:10D2B00040304674344830380078002806D1606920
-:10D2C000C18D008C814201D9A18102E06069008C8E
-:10D2D000A08160694189491E8AB2298989182981FA
-:10D2E000297B002902D06E812E7302E0698989189A
-:10D2F0006981014640318B8A9B188B82C388012B40
-:10D3000001D85B1CC380002A01D060308674A87BE2
-:10D31000032816D0487C002815D02889A189884286
-:10D3200011D2FDF7E5F900280DD060692A21095CCA
-:10D3300000290BD06989808D814207D3A670E770E0
-:10D340000CE0A7700AE0A670E67007E0688900218B
-:10D35000401C6881A7700520FEF7D5FE6069512149
-:10D360000E54A97B052901D0062920D1DE2142884F
-:10D37000095A511A09B2002919DB01460522E03188
-:10D380002430F3F721FF09E0C819002090000020A5
-:10D39000F4C6000039070000F10800000122022154
-:10D3A0006069FCF77BFF6069C0304677AE736069E7
-:10D3B0004189FDF728F8A07800282AD1606920303B
-:10D3C000807A002800D06E810120FBF788FE60691A
-:10D3D0003830FCF73EF860693430FBF751FF216AC2
-:10D3E00000200856FBF718FF0120FCF777F8FBF741
-:10D3F000D1FEFCF76FF80120FBF7B1FF6069406ECA
-:10D40000FCF782F8FFF71FF860694030C07BFBF73C
-:10D4100040FF6671E671A6712672A6726672267169
-:10D4200002202070FCF768F80020F8BD10B5F74C1A
-:10D430002078022801D00C2010BDA078002803D04D
-:10D440000020FFF79BFC17E0FCF74BF800F01DF9FC
-:10D4500060692030007C012809D0FCF79FF8FBF7B9
-:10D460009EFEF3F7AEFFE07A012803D004E0FCF75C
-:10D470009DF8F4E7F5F7CCFD002010BDE349C87234
-:10D48000704710B5E14C2078032803D0E049E1480B
-:10D4900007F09FFDE04801218278002A06D0002293
-:10D4A00082700171A27904231A43A271A2691378D0
-:10D4B000DB439B0707D1C378002B04D1C170A0794F
-:10D4C00002210843A0711078C00606D4E0690078F4
-:10D4D000C00602D4E07900280CD06078002809D179
-:10D4E000A079002806D1FEF7F2FC002802D0207AAD
-:10D4F000002803D00120FFF741FC03E0FEF7A3FF63
-:10D5000000F0C3F82078012806D0F3F75AFFE07A3C
-:10D51000012801D1FCF7DAF810BD38B5BB4C6069C1
-:10D520002030007C012820D1A07A00281DD1684637
-:10D53000FCF744F8002818D061693120405C0128CC
-:10D5400010D1B54A0D236D460020D356285683428C
-:10D5500008D050738989303A9185114620318873FB
-:10D5600001208872A07A401CA07238BD70B5A74C0B
-:10D5700006462078042804D0A648A549553007F06F
-:10D5800028FD607910210843A34D6071002E47D01B
-:10D59000FCF765FA61780126084300280ED1687C03
-:10D5A00000280BD0E0694178C90607D00078E979F6
-:10D5B0000007C00F884201D1667247E0E07800287A
-:10D5C00009D0E0694178C90605D10078C00602D4C7
-:10D5D000FFF7A3FF3AE0FFF7A0FFE069A979007821
-:10D5E0004007C00F884205D0FFF7D0FC60790821C2
-:10D5F00008436071E069E97900780007C00F88424C
-:10D6000001D1FFF708FD6079304360710020E071BF
-:10D61000A079000702D5A87B022817D0207A13E052
-:10D62000022108436071E079401CC0B2E07101281A
-:10D630000CD8687C00280DD0774854384078C10653
-:10D64000C90E052906D2C006002803D00120FFF725
-:10D6500095FB01E0FEF750FE2078012806D0F3F795
-:10D66000B0FEE07A012801D1FCF730F870BD10B5AA
-:10D6700066480078042804D066486549B73007F04A
-:10D68000A8FC0120FFF77AFB10BD10B50720FBF7BF
-:10D690001CFE5E490420087010BD5C4933224969B4
-:10D6A00050545D4A032090738876704710B5574CEC
-:10D6B0006069C030007F00281CD0062806D056487C
-:10D6C000817B0020FEF7ABFF002813D06069014684
-:10D6D000C0310A7F130007F06DFD070D0D0D0D0D14
-:10D6E0000D050D006030807AC20704D0C04380076A
-:10D6F00000D1087710BD0C20FEF7AEFF6069012253
-:10D700006030817A1143817210BD10B5002A0AD0B1
-:10D71000002306E0D41A6418203CE47FC4545B1C48
-:10D72000DBB29342F6D310BD10B503F0B0FF0C2866
-:10D730001CD3364C08216069D03003F0A9FF0028C3
-:10D7400006D060690421953003F0A2FF002803D1C0
-:10D750002F49324807F03DFC6169042208469531A3
-:10D76000BD3007F099FA0420FEF776FF10BD7CB5B6
-:10D77000294E0020B17BFEF752FF0125234C0028E3
-:10D7800002D1207A284320726946E069FCF73EFD09
-:10D79000684600780021C207D20F684602706069AF
-:10D7A000002A02D06030057401E0603001746069C5
-:10D7B0005E221152603085700820B0737CBD401A23
-:10D7C000174900B2884201DC002801DC01207047C3
-:10D7D0000020704770B5104D0020A97BFEF71FFF99
-:10D7E0000A4C002803D1207A012108432072E06905
-:10D7F000FCF77EFC6169DE2250524988FFF7DFFFAB
-:10D8000000280FD02820FFF748FF70BD90000020AF
-:10D81000F4C60000330A0000C819002062060000A8
-:10D82000FE7F00006169E069E031FCF755FC0520EE
-:10D83000A873EAE770B500F047F8384C384D6079C6
-:10D84000400709D5A97B0520FEF7E9FE002803D093
-:10D85000207A082108432072FFF71AFA00F012F824
-:10D86000FFF7B6F8A079C00609D5A87B030007F03A
-:10D87000A1FC06060606060604060620A873FFF7A6
-:10D880003EF8C2E710B525488179490714D5017AD9
-:10D89000002911D12249897B0B0007F08BFC080D70
-:10D8A000050D0D0D0E0D100D4069002262210A5468
-:10D8B000C030807EFFF7F1FE10BD012100E00221A3
-:10D8C0004069C030417710BD10B51448817909070F
-:10D8D0001DD5017A00291AD1114A947B230007F043
-:10D8E00069FC1416160B16161616161616161616AC
-:10D8F0001616161616161716406960308170407C91
-:10D90000002801D0062000E01620FFF7C6FE10BD5B
-:10D910004069603001728170917310BD90000020E9
-:10D92000C819002010B5031D03600020521E04E03A
-:10D930005C181C60401C2346C0B29042F8DB0020FB
-:10D94000186010BD01460A680020002A02D0104667
-:10D9500012680A60704702680A6001607047000040
-:10D9600000B51A2822D00ADC030007F023FC0D11B1
-:10D970001F131F1F191915171F1F1F1B1F002A28F0
-:10D9800014DD3A38030007F015FC030F11091100EC
-:10D99000002000BD1E4800BD042000BD0D2000BDBC
-:10D9A0000F2000BD082000BD112000BD032000BDD8
-:10D9B00010B50C46F4F784FF00281AD02046F4F77F
-:10D9C00084F9002812D020780E280BD00F2809D017
-:10D9D000022807D0032805D00EA1772007F0F9FA16
-:10D9E000002010BDA078FFF7BBFF10BD09A17D206E
-:10D9F000F4E708A18320F1E710B5F4F7EDF810BDC6
-:10DA000010B5F4F762F910BD10B5F4F744F910BD84
-:10DA1000023000007372635C686F73745F686369DF
-:10DA20002E630000F0B597B00021032004F082F9C6
-:10DA30000025FE4E022775807574347C12E0F06874
-:10DA4000E1004018818800290CD0858069460F705C
-:10DA50004D7001680291808869468880002168467F
-:10DA6000F8F702FD2046641EE4B20028E7D117B0A3
-:10DA7000F0BDEE4BD86019741A80D3E7EB49EC4B3C
-:10DA80004A8800201A4200D00120497C002901D098
-:10DA9000082108437047F7B504460E460078012177
-:10DAA000E34A8140521C114098B0E04A00915188ED
-:10DAB000E04B994205D0009B002B05D0DC4B19426E
-:10DAC00002D001201BB0F0BD009BD84A1943518001
-:10DAD0001A9D002D11D00020287022781A98002756
-:10DAE000401C130007F066FB10EF0D152137555D44
-:10DAF0006A39AFAB85B3EEEDECEF0B28EDD0042027
-:10DB0000E0E702212970A1880170090A4170032011
-:10DB100093E004212970A1880170090A4170E1880D
-:10DB20008170090AC170052087E006212970A1884B
-:10DB30000170090A4170E1888170090AC170218968
-:10DB40000171090A4171A289E81D216907F0A4F851
-:10DB5000A089C01D71E0082129702178082901D110
-:10DB600010212970A1880170090A4170E188817033
-:10DB7000090AC1700520308020466A1D01A90830BD
-:10DB800003F0CFFB00287DD1694630880979401821
-:10DB900053E00A212970A1880170090A417003200D
-:10DBA0000AE00C212970A1880170090A4170E188FE
-:10DBB0008170090AC170052030809DE0A0888446EC
-:10DBC0004000401C81B2308888425BD3052959D37C
-:10DBD0000E202870002008E0A36842009B5A5219CA
-:10DBE00053701B0A401C937080B26045F4D331809F
-:10DBF000B6E08E49487C002873D0401E4874C8683F
-:10DC000021790822C9004518A988286840180838D1
-:10DC1000A16807F041F802216846017100214171B5
-:10DC200028680390A98868460181002101A8F8F7B7
-:10DC30001BFC0020A880002E00D0308090E02978C6
-:10DC400080221143297029784022114329702978B4
-:10DC50008909890112312970A1880170090A41706E
-:10DC6000E288E81CA16807F017F8E088C01C308043
-:10DC70002878410640D5C00972D00121684601715B
-:10DC8000002100E02BE041713188ED1C091D01816C
-:10DC90001A980390E08840190490001D634D059088
-:10DCA000297C68460176002101A8F8F7DDFB0746CC
-:10DCB00030880C303080022F06D0002F50D060E02A
-:10DCC0003CE032E01CE059E06946097EE868CA00A1
-:10DCD00080182A7C914202D28188002902D0042730
-:10DCE0004FE02EE0697C491C69741A990160318803
-:10DCF00081800020308044E04C48A188C1802FE022
-:10DD000029788909890116312970A1880170090AC9
-:10DD10004170E1888170090AC1702289681DE1683B
-:10DD200006F0BAFF2089401D46E728788009800167
-:10DD3000183028702079687002207EE73B480A047A
-:10DD400001D405271DE00289A3889A4201D0062745
-:10DD500017E01E222A70012249043280490C4180BA
-:10DD6000009800280DD0314D0022288811468300EC
-:10DD7000032003F03AFF2078287107E0002030806C
-:10DD800003272A48009942888A434280384699E608
-:10DD9000F7B59AB002000C4606D0172A04D82348DB
-:10DDA000244B4088984202D107201DB0F0BD237853
-:10DDB0005D0601D4DB0901D00820F6E700236D469B
-:10DDC0002B706B701D462378611C9F06931E189361
-:10DDD000531E19939BB2169302AB1793134BBF0EAE
-:10DDE000DE883B0007F0E6F9208511F15EF16BF16A
-:10DDF000A3F1C6F1F2F1FBF1EEF1EDF1ECF1F1F18D
-:10DE0000EBF1EAF1E9F1E8F185F1052A71D104229B
-:10DE100069460A7005490A7969460A71E178A3786A
-:10DE20000A021A436946CA80227905E0DC190020FB
-:10DE3000FE710000FFFF00004A7061788906890EBC
-:10DE40000C2923D009DC891E0B0007F0B3F9091354
-:10DE500052155219521B521D520012291CD004DCBB
-:10DE60000E2915D01029D1D114E0162916D0182961
-:10DE7000CCD115E0800700E04007002839DA2AE11C
-:10DE80000007FAE7C006F8E78006F6E74006F4E781
-:10DE90000006F2E7C005F0E7C004EEE78004ECE717
-:10DEA0004004EAE7800724D5032AAFD105206A465B
-:10DEB0001070487809780002084390800BE1400711
-:10DEC000F1D5062A15D31898617880B2012902D0BD
-:10DED00002299BD101E0022700E0102706226946B3
-:10DEE0000A7000228A8001AEA11C0236BA1C179269
-:10DEF00018E0B6E04A780B7812021A433280801E8E
-:10DF0000891C1890B21C1691384603F0E4F9169952
-:10DF100018986B469A88C919C01BB61D521C9A8066
-:10DF2000179A80B28242E5D900289CD1D3E000073D
-:10DF3000B9D51998694682B20720087000208880F8
-:10DF4000601C891D11E0437806781B0233430B8067
-:10DF5000C37886781B0233434B806E46121FB3880A
-:10DF6000001D091D5B1C92B2B380042AEBD2002A6B
-:10DF700077D1B0E0C00674D5022A72D31898082170
-:10DF800082B2684601700021C18063780371A01CD1
-:10DF900017990EE04678077836023E430E80861CBD
-:10DFA0004E606F46D21AFE88C0180831761C92B2B5
-:10DFB000FE809342EED9DAE76FE076E065E051E06B
-:10DFC00046E01EE014E00AE000E0A0E0800648D54C
-:10DFD00009206A46107096801698D0800FE040069F
-:10DFE0003FD50A22684602708680169AC28006E0F3
-:10DFF000000636D50B206A46107016989080029164
-:10E0000069E0C0052DD5022A7FD318980C2182B271
-:10E01000684601700021C18063780371A01C1799C4
-:10E0200013E04678077836023E430E80C67887783C
-:10E0300036023E434E80061D4E606F46D21AFE8861
-:10E04000C0180831761C92B2FE809342E9D98EE75F
-:10E05000C0045AD5012A58D10D2168460170868026
-:10E0600039E052E0800450D5052A4ED30E2368468D
-:10E0700003708680C8788B78010219436846C18096
-:10E08000521F0281601D039025E040043DD5012A06
-:10E090003BD10F20694608701DE0030435D44B784E
-:10E0A0000E781B023343244E3381032A2DD31B2FBA
-:10E0B00027D011236E46337001261F4BF6033043E1
-:10E0C000588048780B780102194368468180D21E37
-:10E0D000C280E01C029020788006800E1B280AD0A7
-:10E0E0001D2808D00021032003F024FE1248418897
-:10E0F000C90BC903418068461C99F8F7B5F9284651
-:10E1000053E610206B461870DBE70725F7E7082574
-:10E11000F5E700B50022D243074997B04A800328AB
-:10E1200007D1032268460270097901710021F8F7CE
-:10E130009BF917B000BD0000DC190020FFB589B0C5
-:10E140000020019009981027FE4C1E46154608280D
-:10E1500006D0E06901F05EF8002809D03770BEE013
-:10E16000288809213843108013980227017016E08F
-:10E17000E169012088710521E269C9029180E169A4
-:10E180008872E169F0480881E16900208873288875
-:10E190002021084328801121139804270170139827
-:10E1A0000225801C0290307806900A203070E548E5
-:10E1B0001830049001F022FA0020059020462C30FF
-:10E1C00003906DE00998102808D1022D06D001991E
-:10E1D0000298A28D401A8270110AC170E08D0A99CE
-:10E1E000884202D901F0CDF806E0884204D10698B1
-:10E1F000002801D030701CE00298E18D0170090AFE
-:10E20000417012980088401BC01B82B2FF20C01BC7
-:10E21000904200D2024607A8009002980021C3193C
-:10E22000E08D01F056FA3070002805D0C0B2832886
-:10E2300058D0E08D20833EE00598002804D0206C63
-:10E2400000790A282CD336E06846808BC119C9B200
-:10E250000191022D0DD01399019A4978914202D172
-:10E26000228F824208D00191206C0178032908D0C6
-:10E2700023E0084613994870206C0178042906D0E1
-:10E2800007E000790A2818D20120059008E0E18D06
-:10E29000818002990198081802900198281885B287
-:10E2A0000399049801F0ADF9002804D11298008870
-:10E2B000401BB84286DA022D0DD00998102806D1ED
-:10E2C00002990198A28D081A8270110AC1701298E1
-:10E2D000058000203070206C0078032802D00020D8
-:10E2E0000DB0F0BD0220FBE7F8B5964A0026126D8E
-:10E2F000002A2ED0401F934D84B24035E88A234631
-:10E300000833AF8AC318BB4222D88B784F781B02E0
-:10E3100010183B4303701B0A43700B79CF781A0225
-:10E320003A438270120AC2700471220A4271224674
-:10E33000491D801D06F0B0FCE88AA41D001980B2BA
-:10E340008049E882096D002208180270427000E0DE
-:10E3500009263046F8BD30B57A4B028840339B8A97
-:10E36000934213D9774B1C6DA3185C781D78240257
-:10E370002C430BD05C791D7924022C436404640C7B
-:10E38000A41D1219028000200B6030BD822030BD18
-:10E39000F0B585B0074600266846068155E001982D
-:10E3A000417802780D021543417902790802104341
-:10E3B00000044AD43D8003A80023012200905202A9
-:10E3C0001946284601F085F9040044D168460189C0
-:10E3D0000182019841790279090211434378027858
-:10E3E0001C021443AC421CD10A041AD44A04012171
-:10E3F000520C89030A430096C178807809020143D0
-:10E400000023204600F0C1FF040010D10199487993
-:10E410000A79000210430122D20310430871000A56
-:10E42000487101A904A8FFF796FF0400D1D0019913
-:10E4300000964878097800020843694600238A89D3
-:10E44000194600F0A2FF822C05D101A902A8FFF70E
-:10E4500082FF0400A3D06846068109E0019948794B
-:10E460000A79000210434004400C0871000A487108
-:10E4700001A902A8FFF76FFF0028EFD0822C02D07D
-:10E48000204605B0F0BD0020FBE7F7B584B0144688
-:10E490000646002700F071FF2A480025006D00287D
-:10E4A0002FD0059801282CD12046FFF771FF0700D7
-:10E4B00027D1002E29D06846058118E001994878B7
-:10E4C0000978000208432080019B0095587919794A
-:10E4D0000202D8780A4301029F78587839431F789E
-:10E4E00000029B1D384300F050FF002805D101A910
-:10E4F00002A8FFF730FF0028E0D0822800D10020DA
-:10E500000746002E01D00F48056500F03AFF384657
-:10E5100007B0F0BDF0B597B00021042003F00AFC6D
-:10E52000084F00243D467C8040356C73AC73287BDB
-:10E53000B96CC00008380E18B08800280DD0012032
-:10E54000694603E0F01900200128000008703068D7
-:10E55000019000216846F9F78EFAB4803C65AC82E0
-:10E56000EC8217B0F0BDFE4B986418464030017342
-:10E570001A803838D861CDE7F949002049880A0760
-:10E5800000D501200A06120F01D002221043CA054D
-:10E5900001D5042210438A0501D5102210434905F4
-:10E5A00001D520210843EE494031497B002901D0A3
-:10E5B000082108437047FFB5A7B004002898164605
-:10E5C0001B9022D00178E6484D06428822920246EE
-:10E5D00040320092002D14DB8A06920E1E2A0ED0C5
-:10E5E000229A5205520E10D13288172A0DD3009A62
-:10E5F000927B002A09D1DB4D229AAA4205D0CA0992
-:10E6000006D08A06920E122A02D003202BB0F0BD4B
-:10E61000D348826C0098007B2590C0000838101801
-:10E620001F9048060CD40098407B002808D0009921
-:10E6300088731F99289808601F9884800220E5E756
-:10E64000002718A90F7069460F72C54902AA0A640B
-:10E65000309A4A6410A90F850F861B981D460078D2
-:10E6600020908106BE4B601F24901A462C322192C6
-:10E670002898DA691833890E1E93401C0B0006F0A7
-:10E6800099FD1FFDFD11FD1AFD90FDFCFDFBFDFA3E
-:10E69000FDF9FDFCFDF8FDFDFDF7FDF6FDFDFDFDC1
-:10E6A000FDF5FD00032C7BD10320287017226A7032
-:10E6B0000022AA70E0E2052CF5D141780278090227
-:10E6C0001143A74B10AA19831185C27880781202D2
-:10E6D00002435A8300297DD091427BD800211846FD
-:10E6E00081720181491E01841E9800F087FF052078
-:10E6F0002870A81C1D900220009021991E9800F0FF
-:10E7000080FF002803D047E018A90870F0E2944881
-:10E710002030807C012803D002206870102002E0A5
-:10E7200001206870022022908D4830302390002212
-:10E7300020A9239802F0F5FD00282AD120A800780E
-:10E740002299814225D132880099801C511A814238
-:10E750001FDB83481D99C08D0870000A48701D9802
-:10E7600020A9801C1D9000981D9A801C0090239861
-:10E7700002F0D7FD20A909781D9840181D90009837
-:10E78000401880B2009021991E9800F03AFF0028AE
-:10E79000CDD0009802288DD10A2018A908706CE20B
-:10E7A0006DE0072C6BD341780378090219436C4B59
-:10E7B0008446198310AB1985C37880781B021843EF
-:10E7C000674B0029588305D0814203D801211846A0
-:10E7D000817200E0A4E061464B7909791B020B438A
-:10E7E000038100218173104600F014FD00280FD131
-:10E7F0005B480121C26991710522C369D2029A80E6
-:10E80000C2699172C26958491181C069002181733E
-:10E810005349E01F08841B98C01D48621E9800F0F1
-:10E82000EDFE07202870681C009001201D904C48C8
-:10E830000021C18530E01D98012815D04848C169E4
-:10E84000897901292FD000981038C17B807B09027B
-:10E85000014300980170090A41700098801C0090E3
-:10E860001D98801C80B21D903D4809E013E2BEE176
-:10E870007AE1D8E00DE2A0E080E03BE01EE2B6E005
-:10E88000C18D00980170090A41700098801C0090A9
-:10E890001D98801C80B21D9021991E9800F0B1FE39
-:10E8A000002802D006E0818DD3E731881D98081A30
-:10E8B0000428C0DA1D98012800D16DE72848C169F5
-:10E8C0008979012903D0828D26498A4205D1818D1B
-:10E8D00000980170090A417009E000981038C17B66
-:10E8E000827B0802009910430870000A48701D9846
-:10E8F000801CC1E1072C01D0152C78D14178037818
-:10E9000009021943164B198310AB1985C378807817
-:10E910001B02034312480029438301D0994201D9C5
-:10E920000120F1E60E4801218172002101818173ED
-:10E93000052C07D024981B99C0B2491D02F0CBFCCE
-:10E940000028BAD100200649C04308841B980096CD
-:10E950000195007818AB8006800E1CAA002105E006
-:10E96000F0190020FFFF000001280000FFF7E6FB80
-:10E970000746FE4810A9008B08857EE1032CBCD118
-:10E98000402210A90A86417802780802F74910430C
-:10E99000088310A9088520A9009131886B1C491EA5
-:10E9A0008AB2002100F095FE18A90870002830D125
-:10E9B0000B20287020A8008833E0052C9DD18021F1
-:10E9C00010AB1986014640780B780202E7481A43DB
-:10E9D0000283CB7889781B021943E44B10461984D3
-:10E9E00010AB1A85E24A914202D307208CE697E0E9
-:10E9F0003F23DE4A9B021943118421AA00923288E8
-:10EA00006B1C521E92B200F064FE18A90870002818
-:10EA100003D08328B1D102272FE10D20287020A830
-:10EA20008088401C28E120990C22C9095143C91C47
-:10EA30001E91A14204D92098400671D500201BE107
-:10EA4000417800780902014310A801851B980078DD
-:10EA500042062898C01C1D90002A62DA05206A46EA
-:10EA600010721B980078C00944D0082268460272D0
-:10EA70008181A01A87B268468782289806901E98DE
-:10EA8000201A81B26846C1811D980490401806F092
-:10EA900064F9079006982599C0190890491E08A89E
-:10EAA000017102A83099F8F7E6FF07460021684691
-:10EAB0000172002F1BD0022F18D1009808A9007BEB
-:10EAC0000979401E884210DDA848289A836CC90045
-:10EAD0005A50816C08A80079C000001D0C520098A3
-:10EAE0000099407B401C4873C7E00527EAE00620F8
-:10EAF00069460872002000901E980021201A20907C
-:10EB000082B21B9B10A8DB1C008D00F03EFC01466E
-:10EB100018A80170002268460272832903D003E01E
-:10EB200093E00720E4E702271B98007840060ED503
-:10EB30008E484188C90506D510AA018B128D9142D5
-:10EB400001D100214162002018A9087094E0FF2142
-:10EB5000013110A80186018D844801832099018428
-:10EB60001D994162132085E0052C6ED3417803780E
-:10EB70000A021A4310A90A859446092269460A72B4
-:10EB80000021009101222499D20311438AB2C17855
-:10EB9000807809021B9B01435B1D604600F0F5FB7A
-:10EBA00018A90870002269460A720122520210A9AF
-:10EBB0000A86832802D0002805D099E06B48098D89
-:10EBC000018302277EE06948006D002807D02046B7
-:10EBD0001B99FFF789FB18A9087000284DD12B4617
-:10EBE000324620461B9900F024FB074645E01B985F
-:10EBF000022C4078009064D1002801D0012860D117
-:10EC00000A2168460172009901731AAA002000992E
-:10EC1000FFF73BFC0146684641730021817302A85F
-:10EC20003099F8F728FF0746002168460172012154
-:10EC3000890210A80186022F08D04C48006C807908
-:10EC4000002807D018A9087020E04BE04749009839
-:10EC5000088337E0002F03D0812018A9087031E025
-:10EC60001AAA01200099FFF710FC18A908700028C3
-:10EC700003D119202870012030806846007A0028CE
-:10EC800004D002A83099F8F7F6FE0746002F2BD0E3
-:10EC900018E0062038E522993448090711D5012CDF
-:10ECA0000FD10B2269460A72C08888810021042096
-:10ECB00003F040F8082010A90886BFE62098400617
-:10ECC00010D50327294810AA4188128E114341808C
-:10ECD0005005400E04D01F99289808601F98848022
-:10ECE000384693E404200FE518A8007800280ED0D9
-:10ECF000012028701B980078687010A8008DA870FB
-:10ED0000000AE87018A8007828710520308017489C
-:10ED100010AA4188128E91434180E1E7FFB5064673
-:10ED20009FB000201B903178012088401149124A81
-:10ED3000084010A908860D494988914203D000284F
-:10ED400004D0080702D5012023B0F0BD219D002783
-:10ED50002F7020983C46018810A8018418A80771DC
-:10ED600000F00BFB6846077202A907E0F0190020CB
-:10ED70000102000009F80000FFFF0000FA480164EA
-:10ED800001464031826C1A91097BC9000839571835
-:10ED900022994164307801282AD0022809D003281A
-:10EDA00079D12878800980011D302870EE48B1881B
-:10EDB000C1803078022804D12878800980011B3076
-:10EDC000287001A8009010A8008CEB1CC01E82B215
-:10EDD000B088002100F07DFC0028E1D1B188697085
-:10EDE000090AA9706946888810A9C01C08842DE109
-:10EDF000717918A801713079012802D00228CFD189
-:10EE0000E6E0D9487F2340881B010246184010AB3A
-:10EE10001886802840D006DC102810D020280ED07C
-:10EE200040280AD120E0FF38013859D0FF38013896
-:10EE30006AD0FF38FF3802387ED0052491E0D00632
-:10EE400001D5082000E010201B90042069460872BC
-:10EE50000020888118A800900195318919AB1CAA5F
-:10EE60001B98FFF76BF977E0BF4B3289188B824212
-:10EE70004FD10A221B92002973D101A9009110A938
-:10EE8000098C6B1C491E8AB2002100F022FC18A9D3
-:10EE900008710B2017E0F6E0B34B3289188B8242E1
-:10EEA00037D10C221B9200295BD101A9009110A936
-:10EEB000098C491E8AB21946098C6B1C00F009FCAA
-:10EEC00018A908710D2028706946888810A9401C6F
-:10EED0000884042069460872A348008B888140E0BA
-:10EEE000A14A3389108B834213D112231B9300292B
-:10EEF00037D1536A002B05D00091128C00F045FAEF
-:10EF000018A9087113205EE097483289038B9A4252
-:10EF100001D00424E7E016221B92026D002A09D1D9
-:10EF2000F268002A06D002651A98328A82821A9AFA
-:10EF30000020D082002900E02FE012D1B888396883
-:10EF4000FFF7D2F918A9087100280AD1B8882B4612
-:10EF500018AA396800F06DF90446022818D0042C6C
-:10EF600016D0B88800280FD06846007A002804D050
-:10EF700002A82299F8F77FFD04460120694608722D
-:10EF8000386803900020B880002C5FD0052C7BD01F
-:10EF90006846007A032873D0A5E018201B9000294A
-:10EFA00005D071483189018300210165D9E76E4898
-:10EFB0000246017E18320120FFF767FA18A908718E
-:10EFC0000028CED119202870012010A90884C8E794
-:10EFD0001A98407B002856D0307AC0001358001D84
-:10EFE0000193105A1D9000291AD100F0CAF9062089
-:10EFF00069460872002000901D980F3882B201986F
-:10F000008178437808021843019B0021DB1C00F043
-:10F01000BCF918A90871002269460A72832830D009
-:10F02000002118A8017110A801840121684601720D
-:10F03000019803901A981A99407B401E48731A98B9
-:10F04000807B002802D01A99401E887310A8008E79
-:10F050007F21090102468A431DD0434800220088CF
-:10F0600011468300042002F0C0FD3F483178017151
-:10F0700010A94088098E08433B4948800FE003E00F
-:10F080002BE002242FE00524374810AA4188128E75
-:10F090009143418027E034494A8882434A80684648
-:10F0A000007A002805D03048416C02A8F8F7E3FC4C
-:10F0B000044618A80079002815D01B986870012014
-:10F0C00028702948008BA870000AE87018A80079F9
-:10F0D0002871052110A8018405E02348416C02A88D
-:10F0E000F8F7C9FC044600F04CF91F484088400579
-:10F0F000400E20D11A98807B00281CD1B8880028A7
-:10F1000019D0209910AA0988118422990091396890
-:10F1100018AA219BFFF74FFA044602280BD00120C2
-:10F12000694608723868039002A82299F8F7A3FC90
-:10F1300004460020B88010A8018C20980180204649
-:10F1400002E600B50022D243074997B04A8004285E
-:10F1500007D1022268460270097901710021F8F78F
-:10F160008AFC17B000BD0000F019002010B5394C22
-:10F1700003780022216C012B02D0022B44D126E01F
-:10F180000B78002B01D0042B03D10A71226C0321D0
-:10F190001170216C83880A79D200921D8B52216CE8
-:10F1A0000A79D20008328918C2880A80216C038942
-:10F1B0000A79D2000A328B524289206C0179C90047
-:10F1C0000C314252216C0879401C087120E00A740D
-:10F1D000226C81889180216CC288CA80226C01894E
-:10F1E0001181226C41895181216CC068C860616CB9
-:10F1F000206CF8F740FC0146022807D0206C007C08
-:10F20000002802D1002903D0812010BD832010BD29
-:10F21000002010BD8178012909D100880521C9028B
-:10F22000884202D0491C884201D100207047052045
-:10F23000704710B51488844201D2052010BD1724F0
-:10F240001C701080421E491C581C05F025FD002032
-:10F2500010BD0000F019002010B58B78002B11D0E4
-:10F2600082789A4207D10B88002B0BD003E0091D4E
-:10F270008B78002B08D08B789A42F8D103880C88C1
-:10F28000A342F4D1002010BD812010BD10B500298B
-:10F2900002D001290DD102E00088000501E00088BC
-:10F2A0008004800F07D001281CD0022809D0032831
-:10F2B00010D0812010BD002901D0032010BD0220F4
-:10F2C00010BDF5F7EEFD03280CD004280AD0002865
-:10F2D00006D009E0F5F7E5FD042803D0022803D0A5
-:10F2E000052010BD002010BD0F2010BDF3B5C81CB7
-:10F2F00080080E46800081B0B04201D08620FEBD5D
-:10F30000FE4C354626600198A08000202081E080D8
-:10F3100014E0B807A978800D0843F94905F036FDD7
-:10F32000E088401CE080B80607D42089401880B2ED
-:10F3300020810199081A8019A8600C352F88780758
-:10F34000E7D40020A072FEBDEC480C22C1880089E1
-:10F350005143081880B2704770B51346E74A451804
-:10F360009488AC4201D2842070BD126810180A46FD
-:10F37000194605F091FC002070BDE049012088721B
-:10F380007047DE49002088727047FFB589B0970446
-:10F390000E460546BF0C029200F034FA040021D05C
-:10F3A000002069460873D548807A012812D00121CF
-:10F3B0002046FFF76BFF002815D12078400609D5BD
-:10F3C0000221684601730582218841828682C782B4
-:10F3D0000C9806900298000407D500273E460125A8
-:10F3E00001970CE001200DB0F0BD2078A1788007D6
-:10F3F000800D0843C249019005F0C8FC0D460298F3
-:10F4000040040AD50198A84207D12088E1788005F8
-:10F41000800F00020843B04201D3AE4201D9072059
-:10F42000E1E7B81980B20290A84201D90D20DAE7CD
-:10F430006846007B002804D003A8F8F718FB0028D2
-:10F44000D1D10198A8420BD1208803210902884319
-:10F4500002998905890F0902084320800298E0700B
-:10F460001298002800D007800C9800280CD0207833
-:10F47000000609D4A0683A4680190C9905F00CFCE6
-:10F4800020881021884320800020ACE7FFB59B4DE9
-:10F4900081B00E46E8882F680C21009048433C1844
-:10F4A0009749039805F072FC0A462889E11B8446B7
-:10F4B0000C314018318880B28B0601D5002300E062
-:10F4C00013461818AB8880B2834202D8842005B056
-:10F4D000F0BD0098894D401C80B2E88021800D99D4
-:10F4E000002900D00C600399A170E2702188039D6F
-:10F4F0008908AD058900AD0F294303252D02A943D5
-:10F500009505AD0F2D0229430425294321800C992F
-:10F51000002900D0088001998978A1710199098892
-:10F52000A1803178890601D50B9905E073496244C1
-:10F5300092B20A81991AC919A16000212173327807
-:10F54000920601D50020C2E700910B9B0A9A04990C
-:10F55000FFF71BFFBBE7FEB5044600F053F90700B9
-:10F5600008D0664D641EE8880190A6B2286834462B
-:10F57000009015E00120FEBD0C2000996043095A5F
-:10F580008A060BD489078A0D0099801C085C5C49A7
-:10F59000104305F0FBFB2889401A2881641CA4B2A3
-:10F5A0000198A042E8D8EE8000203870FEBD002807
-:10F5B00003D0401E0880002070470120704710B51E
-:10F5C0004E490288CB889A4201D3822010BD0B6835
-:10F5D0000C21514359180B88CC789B059B0F1B02BB
-:10F5E000234341608C7904738C884481C38189688A
-:10F5F000521C016102800281002010BD01210182A4
-:10F600007047FEB505460020C043088068680F4675
-:10F6100081786846817068680188684601800021A9
-:10F620008171288A2C88A04200D304462C8234E0C1
-:10F63000288A401C2882301D6968FFF70DFE0028CB
-:10F6400029D139882F48814201D1601E38806888CD
-:10F65000A04227D33088F1788005800F000208434C
-:10F6600002906946301DFFF7F7FD002813D1298964
-:10F67000244881421AD000213046FFF707FE0028B7
-:10F6800009D12A890298824205D1E968B06805F05B
-:10F69000D6FA00280AD0641CA4B2204600F0B2F8C2
-:10F6A0000600C5D1641E2C828220FEBD7C80B0790C
-:10F6B000B871B088B8803088388130788007810D83
-:10F6C000B078014379810298B881B0683861002030
-:10F6D000FEBDFFB585B014460F46059800F092F8C0
-:10F6E000050037D00548BE05807AB60D01281CD02C
-:10F6F00000212846FFF7CAFD002805E0481A00202F
-:10F7000001020000FFFF000022D1287840060CD53E
-:10F71000012168460170059981802988C180068190
-:10F720004481F8F7A4F9002812D12888AA78810723
-:10F73000890D11438005800FEA7800021043BE4214
-:10F740000AD0374A914207D3611E814204DD0B2063
-:10F7500009B0F0BD0120FBE7864201D90720F7E799
-:10F76000801B82B2A24200D922460E98002800D007
-:10F7700002800898002804D0A8688119089805F02C
-:10F780008BFA0020E4E770B514460D4600F03AF815
-:10F7900000280DD001882980002C0DD001788078B8
-:10F7A0008907890D01431E48814203D2012002E0EE
-:10F7B000012070BD00202070002070BD70B516467D
-:10F7C0000D4600F01FF804000DD02D882580FF2E77
-:10F7D00016D0A807A178800D0843114905F0D6FA84
-:10F7E000002E06D101E0012070BDFF31FF31033151
-:10F7F00089B2A170A80880008905890F084320807C
-:10F80000002070BD0749CA88824207D3002805D06E
-:10F810000C22096850430C380818704700207047C4
-:10F8200001020000481A0020F0B585B00E460546DA
-:10F830000020694608707078FE49C00003900C589B
-:10F84000FD4F002D0ED0022D73D0002C72D02078E9
-:10F85000801E030005F0AEFC09837F7F7F83797FE4
-:10F8600077727F00002C03D1F4A16B2005F0B1FB6F
-:10F870002078801E030005F09DFC09065E5E5E197F
-:10F88000365E50545E003078062803D0EBA1762017
-:10F8900005F09FFBB8687168806C032205F0FCF9E5
-:10F8A000012069460870002835D1CEE730780C2851
-:10F8B00003D0E2A1812005F08CFBE06800780028ED
-:10F8C00006D0B8687168806B102205F0E5F928E071
-:10F8D000B8681021006B05F03CFAB868816A006BCB
-:10F8E0000A787168F1E730780D2803D0D3A194200D
-:10F8F00005F06FFB04206946087071684878097844
-:10F9000000020843B9684A6A517812780902114323
-:10F91000484069468880084608E0C8A1AF2005F045
-:10F9200058FB6846007800288FD06846F5F7BEFA85
-:10F930008BE727E01CE0C1A1B420F0E7B86861695B
-:10F94000006CFEF708F8A16900E0E168B868006C97
-:10F95000FEF701F803E0B9A1E32005F03AFBB8682F
-:10F960002146006CFDF7F7FFB24A03990020505082
-:10F97000022D07D0002D05D0012D03D0AFA1EF201F
-:10F9800005F027FB05B0F0BD10B501780124012971
-:10F9900002D0022910D112E04268A74800218260FB
-:10F9A0000170A4486C38C166016741678167D289DC
-:10F9B00002214C3001F0E1F90024204610BDFF2067
-:10F9C0009EA1163005F005FBF7E7F0B505469EA1B0
-:10F9D00003C997B014911390002008A908759549A0
-:10F9E0002A781031944C0491217805910126914F89
-:10F9F000A168130005F0DEFB0CEF07309AF0EDEC88
-:10FA0000EBEAE9E9E8EF20700124FF264F360546CE
-:10FA100010A80570457001F0C1F90746012803D010
-:10FA200086A1304605F0D5FA10A93846FFF7FCFE4E
-:10FA30002046641EE4B20028EAD10A206946087014
-:10FA40006846029501F088FA002803D0FF207BA1C8
-:10FA5000583068E0002646E3C86A0078C0072FD017
-:10FA6000012069460870684601F076FA002804D043
-:10FA7000FF2072A16B3005F0ACFAA068006CFDF7B6
-:10FA800061FF050004D1FF206CA16E3005F0A1FAE2
-:10FA900008984078C0003D5006202870A068016892
-:10FAA00069600069A8606448C01CE860284601F0ED
-:10FAB00053FA022804D0FF2060A1783005F089FABB
-:10FAC000A068C06A00784007C4D501206946087064
-:10FAD000684601F041FA002804D0FF2057A1803089
-:10FAE00005F077FAA068006CFDF72CFF050004D143
-:10FAF000FF2052A1833005F06CFA08984078C000CE
-:10FB00003D5006202870A068016869600069A860FF
-:10FB10004948401DE860284601F01EFA022899D0A5
-:10FB2000FF2046A18D3005F054FA93E7A96800291B
-:10FB300033D0694608712979012932D0022904D0CD
-:10FB4000FF203EA1A73005F044FA3A4810221030B9
-:10FB5000A96805F0A1F837481030364920314860CF
-:10FB60002078C1062CD5EF2108402070032069467B
-:10FB70000870304810300290684601F00FF90446D2
-:10FB8000022808D0002C06D0012C04D0FF202BA185
-:10FB9000B83005F01EFA69466FE101216A4611711D
-:10FBA000DBE7244A04996C3AD06748608860C860F3
-:10FBB0000621A86803F0FCFE1E4910310860CAE760
-:10FBC00020210843207045E7A1E15AE119E1E6E070
-:10FBD00086E056E000E081E2886C407980090128E7
-:10FBE00004D0FF2015A1CC3005F0F3F9A068017A0C
-:10FBF000002906D1416B406801F01FFAA16801207D
-:10FC00000872012069460870684601F0A5F90028CD
-:10FC100004D0FF2009A1D73005F0DBF9A068006C03
-:10FC2000FDF790FE050004D1FF2004A1DA3005F0B5
-:10FC3000D0F90DE0C01A0020B40000207372635C9C
-:10FC4000736D2E630000000004411A8800A4800038
-:10FC500008984078C0003D5002202870A068416B91
-:10FC60006960806CC01CA860284601F075F904002A
-:10FC700004D0FF20FD49E23005F0ABF929462831D8
-:10FC8000FBE0172268460272012202708078820827
-:10FC9000287992008007800F024368468270FB201B
-:10FCA000024028794007C00F8000024368468270F6
-:10FCB000EA8882804A6C02A901F090F9002804D0F9
-:10FCC000FF20EA49F73005F084F9052108A80175FD
-:10FCD0006846017A0187A0680026406C0F9006E212
-:10FCE000012069460870684601F036F9002803D003
-:10FCF000DE49DF4805F06DF9A068006CFDF722FED3
-:10FD0000060004D18320D949800005F062F9A0687B
-:10FD1000006CFDF717FE1290002804D1D448D34997
-:10FD2000801D05F056F9D3488068006CFDF70AFE87
-:10FD3000040004D1CE48CD49093005F04AF90898AD
-:10FD40004078C0003E500A203070287A30716868D0
-:10FD5000C84DB060A868406C3061172030731298AD
-:10FD6000B4617061304601F0F7F80446022808D00B
-:10FD7000002C06D0012C04D01120BC49400105F014
-:10FD800028F92046316AFFF74FFD28780521014008
-:10FD9000042900D05EE6FB21084028702AE005987F
-:10FDA00040084000207082071CD5FD2210402070C2
-:10FDB0000F206A46107017201071486C0290684638
-:10FDC00000F0ECFF0546022808D0002D06D0012DDA
-:10FDD00004D0A748A5493A3005F0FBF86946284603
-:10FDE000FFF722FD2078052101400429D2D1FB2113
-:10FDF00008402070072008A908759E48807808767A
-:10FE000028E6012069460870684601F0A5F8002838
-:10FE100004D097489549543005F0DBF8A068006C91
-:10FE2000FDF790FD060004D113209049400105F034
-:10FE3000D0F890488068006CFDF784FD040004D180
-:10FE40008B488A495A3005F0C4F808984078C000B9
-:10FE50003E5007203070874880684068706068684E
-:10FE6000F460B060304601F077F8040004D08048B8
-:10FE70007E49653005F0ADF8316A2046FFF7D4FCC5
-:10FE8000E8E5012069460870684601F065F8002839
-:10FE900004D0774875497A3005F09BF80898407887
-:10FEA0001190A068006CFDF74DFD060004D15120B3
-:10FEB0006E49C00005F08DF8A068006CFDF742FDAA
-:10FEC000040004D16A486949823005F082F811982B
-:10FED000C0003E50C019296941600920307068682F
-:10FEE0007060A868B060A889B08163483061103044
-:10FEF000B4617061304601F02FF8022804D05C48EC
-:10FF00005A49903005F065F811982875A2E55A4ACB
-:10FF100000208C32107002206B46187001922879F4
-:10FF2000002801D0107098E0524803230C3040683C
-:10FF3000FB2703708378504A9B089B003B408370EB
-:10FF40004B7A00271B07DB0F43708C3257600B7B0B
-:10FF5000C370CB7A1372537A0C7D5B08E4075B00A5
-:10FF6000E40F23430C461534D460FD242340CC7E9B
-:10FF7000E407A40F234353720B461C3313614771EC
-:10FF800007718B7A3B4A9C070C32A40F1268012C34
-:10FF900004D19478A407A40F012C1DD09B089B00CA
-:10FFA0008B7293785B0702D48B7A5B0728D54B7AE8
-:10FFB00013AF5B075B0FDC005B00E3181478640091
-:10FFC0001B19DBB2DC083C5D5F077F0F0623DB1BE0
-:10FFD000DC40A3079B0F14E04C7A53796406640F4E
-:10FFE00023404371147906273C400471E4001C430C
-:10FFF000204B5C7083789B089B005B1C8370D0E770
-:020000040001F9
-:1000000000238478FB273C408F7A7F07FF0FBF00D7
-:100010003C4384704C7A6407640F04705078012864
-:1000200007D1487A000704D5032008A908750220E3
-:100030002DE0022B27D0012B2BD00F4B0020049A50
-:10004000D86750609060D06018467C30024610320D
-:100050005060887AFB2210408872684600F09EFE4D
-:10006000040035D0012C34D0004907E03CFC0000EE
-:1000700009020000B4000020541A00206520C000CE
-:1000800004F0A7FF25E0032008A9087501200876E1
-:10009000E3E77E4C0D21E01C04F05BFE20461030AF
-:1000A0004460022008A908750E94A868002807D0AB
-:1000B0000068206005997648202211430170CCE742
-:1000C00005980007C9D57349734804F082FFC4E757
-:1000D000002669462046FFF7A7FB04E06E486D49FD
-:1000E000203004F076FF08A8007D002802D00DA87B
-:1000F000F4F7DCFE304617B0F0BDF0B597B00C4613
-:10010000054600206946087061482F785F4E0178E7
-:10011000583E82683B0005F04DF80BAA8407263B49
-:100120004C6B79798F9CAA002B20694608730CA927
-:1001300003A8FDF73DFC002804D05748554941303D
-:1001400004F047FF55490D9804F020FE4F48016028
-:100150004F4869680C300160AA684260019108202C
-:10016000694608708CE08A0610D5DF2211400170C4
-:1001700003202070454810304168A1604068002885
-:1001800002D00020207177E00120FBE7102256E02A
-:100190002B20694608733D4903A85C39FDF708FC2C
-:1001A000002804D03C483B496A3004F012FF042088
-:1001B0001BE02A206946087303A8102202306968F0
-:1001C00004F06AFD07A810220230A96804F064FD5B
-:1001D0002E4903A85C39FDF7EBFB002804D0392039
-:1001E0002C49000104F0F5FE05202070666043E014
-:1001F0002A79002A02D001221143017005206946A4
-:10020000087028798880A868029039E0D06A402375
-:10021000018819430180D06B6968102204F03CFD0D
-:100220002AE0FB2211400170062069460870A96887
-:1002300068680291019023E0CB0703D002221143AA
-:10024000017058E70F20207017202071506CA060BB
-:1002500012E0937A9B0706D0D26A44781388FF3461
-:1002600001342343138004221143017004E00A483F
-:100270000849BD3004F0ADFE684600780028E0D0A3
-:100280006846F4F713FE36E701207047D01A0020C5
-:10029000B40000203CFC00001503000040420F00A9
-:1002A00070B504780D460646230004F083FF0B1C4E
-:1002B000181C1C1C1C07181C1C181C0000210520E5
-:1002C00001F038FDB068007805280CD0FA4800220B
-:1002D000008811468300052001F087FC03E000211F
-:1002E000052001F027FD002D0ED0002028702946A2
-:1002F0003046FFF702FFF1482978005D884201D1BE
-:10030000032070BD022070BD00213046FFF7F5FECE
-:10031000002070BD30B5E8494B68497A0A011146A2
-:100320000C315C5C032C0CD0044600252034257174
-:1003300025725C5CA500AA18641C5C5498500320CC
-:1003400030BD062030BDF0B50446264620360D46A9
-:100350003279012008218FB0002A0CD0012A21D047
-:10036000022A2BD0032A04D12A78052A01D1297028
-:1003700000200FB0F0BD01203071606800280AD065
-:10038000A069017061684160216981606169C16033
-:10039000FFF7C0FFEDE707202870206968606069FB
-:1003A000A86009E029780729E3D1022030710520EF
-:1003B0002870C248203868600320DAE729780529C8
-:1003C000D7D1A08910280AD9103880B2A081A1689D
-:1003D0001023091803A86A6800F054FE2DE01028C5
-:1003E00004D0C1B20BAA1020A76809E0102322692B
-:1003F000A16817E0491EC9B2401EC0B27B5C13540D
-:100400000029F7D100280AD0401EC0B28021115423
-:10041000002102E0401EC0B211540028FAD16269E6
-:1004200010230BA907A800F02DFE102307A903A88D
-:100430006A6800F027FE032030716068019003A80D
-:10044000029005206946087029466846FFF728FF94
-:100450008FE7F0B5044626460D4620363179012057
-:100460008DB000290BD0012938D0022905D1297877
-:10047000052902D10920287000200DB0F0BD217D92
-:100480006846CA07D20F02738807C10F6846017415
-:10049000012203A905A800F0EDFD04A9012205AF82
-:1004A000481D00F0E7FD0722B81CE16800F0E2FDFE
-:1004B00007A807220130216900F0DCFD6068019087
-:1004C00009A80290102305AAA16800F0DBFD012015
-:1004D0003071052168460170294621E029780529F7
-:1004E000CBD1062203A8E16900F0C4FD04A80622CE
-:1004F0000230A16900F0BEFD042106A800F0B2FDA3
-:100500006068019007A80290102303AA696800F0B0
-:10051000B9FD0220307105206946087029466846F9
-:10052000FFF7BEFEA9E7F0B5074685B00D460020EF
-:10053000694608703E466248203632798179133820
-:1005400001240078130004F035FE180DFEFDFCFBBD
-:10055000FAF9F8F7F6F5F4F3F2F1F0EFEEEDECEB73
-:10056000EAE9E8E7B968039100291BD0012269464E
-:100570000A7003220A710A224A7139690291397993
-:1005800000297DD0039A1278002A7AD00C2A78D2DA
-:10059000130004F00FFE0BEF09EF354D8498B0F116
-:1005A000EDECEF000020C8E30021062001F0C2FBC3
-:1005B0003879072866D1424C133C2078022802D0B3
-:1005C00000287FD101E00020207003980079C11F2E
-:1005D0000A2901D30A2598E1607039480722C01F13
-:1005E000039900F047FD0120307120700220694618
-:1005F00008703348801F01903869401C029037E230
-:1006000011293DD12E4C133C0228DAD16068617863
-:10061000007A884201D9062577E1039926481022FD
-:10062000491C303800F026FD03202070022045E1EF
-:100630001129E6D1224C133C0428C2D10520207098
-:1006400003991D481022491C203800F013FD062094
-:100650003071786903210170626851684160164900
-:100660002039816021460C31C160C91D0161017DC5
-:10067000537A49084900DB07DB0F1943017502E093
-:1006800070E354E384E1D3688361FD231940537A16
-:100690009B07DB0F5B0019430175116976E10229A5
-:1006A000AFD1002867D005206946087103984078CB
-:1006B00048713869029051E3241B00203452010034
-:1006C000DB00002082E011299BD1F74C06287DD168
-:1006D000A0680399806B1022491C00F0CBFC062116
-:1006E0006846017038690290002168460171FFF781
-:1006F000D7FD072057E00B299BD1EB4C07287ED173
-:10070000A0680399006B0222491C00F0B3FCA068AA
-:100710000822406B039917E00EE116E3FDE2DDE2EB
-:10072000C7E2BCE29EE267E248E241E21FE2F5E195
-:10073000DFE1C8E1BEE1B1E1A5E16AE147E128E11D
-:10074000DAE0BEE0AFE075E0C91C00F093FC0621E2
-:100750006846017038690290002168460171FFF710
-:100760009FFD204613304179490849003EE041E0B1
-:100770001BE001E05CE0EFE2112991D1CA4C0828AE
-:100780003DD1A0680399C06B1022491C00F072FC97
-:10079000062168460170386902900021684601719F
-:1007A000FFF77EFD09202070C9E208298CD1BE49DF
-:1007B000092824D1039842788868016C0A7003994B
-:1007C000406C0622891C00F055FC00E017E0062171
-:1007D0006846017038690290002168460171FFF790
-:1007E0005FFDB14813304179FD221FE041715EE2A7
-:1007F0003071F2E11129C0D1AB490A2801D0082596
-:1008000083E088680399806C1022491C00F032FC58
-:10081000062168460170386902900021684601711E
-:10082000FFF73EFDA04813304179FB221140DDE780
-:1008300007256AE0297802297ED19B490128FBD14E
-:100840006A684A6015780846002D5CD106216A4620
-:1008500011703969029107211171029902240C70FB
-:10086000CA785207520FCA704B795B075B0F4B7106
-:100870008B795B075B0F8B71D20701D18A714A714B
-:1008800005460A794078824200D26A70864807227B
-:10089000133000F0EFFB00202C70307101466846E9
-:1008A000FFF7FEFC4BE229780429C5D103286FD15C
-:1008B00008227E48696800F0DDFB032030710420C7
-:1008C000F2E129780429B7D1774F0328B4D17748CA
-:1008D00008220830696800F0CDFB04203071786888
-:1008E0004168002906D00321297000212971406840
-:1008F000A86072E10320D7E1287803289CD12879E9
-:1009000000281AD00546002D16D006216846017031
-:100910003869029002216846017102980521017030
-:10092000457000216846FFF7BBFC01216846017055
-:1009300004210171457115E293E15B49A86849689A
-:100940000028486001D15A48486005203071786914
-:10095000032202704A684260544A8260524A0C3252
-:10096000C260D21D0261027D4B7A5208DB07520041
-:10097000DB0F1A430275CB688361FD231A404B7A63
-:100980009B07DB0F5B001A4302750969C16130E107
-:100990000DE12978092988D14349032885D104200C
-:1009A00008700620694608703869029011200871A5
-:1009B000029803210170401C1022696800F05AFB64
-:1009C00000216846FFF76CFC00203071B7E1297800
-:1009D000092993D1052891D134496A68203910201A
-:1009E000401EC0B20B5C145CA34203D0002004255F
-:1009F00030718AE70028F3D107203071786904212B
-:100A00000170294949684968416028498160103965
-:100A1000EEE028780A28BED10620694608703869B9
-:100A2000029011200871029804210170401C1022CC
-:100A30001E4900F01FFB00216846FFF731FC1A48F1
-:100A4000102140786A68091AC9B2101800F00AFB30
-:100A50006868019014481330C178C9070BD08179B8
-:100A6000002902D14079002805D0082030711BE10F
-:100A700029466846EFE0072069460870002168466D
-:100A8000FFF70EFC5FE128780E2884D106486968DC
-:100A900081608969407808700920A9E6C80701D0FB
-:100AA0000A20FFE00F20A3E6C8000020141B00204E
-:100AB0001452010028780F2879D1A8683861287964
-:100AC00038730B20FAE628780428F5D1FC4C6968C5
-:100AD000A0680822006A00F0CDFA0C203071786915
-:100AE0000722B9690270A268D3684360126A826003
-:100AF0007EE028780D28DFD1F14C6968A0680223D8
-:100B00000269C06900F0BEFA0D20307178690621D3
-:100B10000170A1688A684260096966E028780C283B
-:100B2000CAD1E74C6968A0686278406A00F0A2FA0E
-:100B30006078A2681021091A526AC9B2101800F030
-:100B400091FA0621684601703869029011226846C0
-:100B50000271029810220170A168401C496A00F0DD
-:100B600089FA00216846FFF79BFB0E206EE028788B
-:100B70000F2876D1062168460170386902900B2152
-:100B800068460171029C0720CD4D2070A8680222A2
-:100B9000C169601C00F06EFAA8680822016AE01CB6
-:100BA00000F068FA00216846FFF77AFB7AE7C8E0B0
-:100BB000880701D5102075E0132019E628780F2842
-:100BC0004FD1A86838612879387311203071BC483A
-:100BD000816848690078002801D00324CAE0786958
-:100BE00006220270C9684160B6498160B549091D95
-:100BF000C160FFF78FFB30E0B14880684169097838
-:100C000000290CD129780C292BD1AD4C6968806A58
-:100C1000102200F02FFAA16801204969087006210E
-:100C20006846017038690290112168460171029886
-:100C300008210170A249401C89681022896A00F0CD
-:100C400019FA00216846FFF72BFB122030710921A9
-:100C5000684601702946FFF723FB044601287DD032
-:100C600088E06FE028780F286CD10620694608706C
-:100C70003869029008200871029809210170904992
-:100C800089680A78D207D20F427049680622801C10
-:100C900000F0F0F900216846FFF702FB8CE74807F7
-:100CA00005D514203071092069460870E0E6162049
-:100CB0009EE528780F2851D1A868386128793873C3
-:100CC000152030717869062101707D4989688A682C
-:100CD0004260096981607B49891D89E728780C2871
-:100CE00045D1774C6968A0681022C06A00F0C2F94B
-:100CF0000620694608703869029011200871029830
-:100D00000A210170A168401CC96A102200F0B2F9E2
-:100D100000216846FFF7C4FAC9E7694813304079F3
-:100D2000002810D0C10703D065480621017006E0F5
-:100D3000800701D5082000E00A20614908700024DE
-:100D400018E00BE013E0172052E55D49002805D0BC
-:100D50000020307108700A206946087068460078E3
-:100D6000002804D000216846FFF79AFA002454486E
-:100D700000210170204605B0F0BD10B5524BFF2494
-:100D80005C72586019721A80002204E0491EC9B2D0
-:100D90000B010C33C2540029F8D110BDF0B54A4EF6
-:100DA0000546717A01208DB0FF2971D00127727A32
-:100DB000736811015C180C31595C8900091F645873
-:100DC0006A7021780B0004F0F5F90B960709272CBF
-:100DD00059888D4A4F5492002F707CE02146203173
-:100DE0000A9109790120002902D0012967D10EE07A
-:100DF0006068019005A802900D21C01C00F032F936
-:100E0000032205A8A16800F035F90A984EE0297878
-:100E1000052974D106215DE029462046FFF719FB1C
-:100E200069E021462031069109790120002902D08C
-:100E3000012964D10EE06068019007A802900822A1
-:100E4000E16800F017F9082209A8A16800F012F97A
-:100E500006982BE02978052951D10A213AE0294644
-:100E6000204600F01AF946E029462046FFF76BFAC3
-:100E700041E029462046FFF756FB3CE02146203161
-:100E8000059109790120002903D0012937D11DE0FE
-:100E900056E06068019007A802900822A16800F05F
-:100EA000E9F8082109A800F0DDF8059869460771FE
-:100EB0000520087029466846FFF7F2F91BE00BE0B1
-:100EC000C80000200C520100241B002029780529AD
-:100ED00015D10B212970002011E02946204600F091
-:100EE00023F908E02946204600F04EF903E02946A0
-:100EF0002046FFF7C9F9002801D001280CD125624E
-:100F0000717A736809010C315A5C521E1206120E76
-:100F10005A5401D003204AE70328FCD0737A726840
-:100F200019011D010D312C46515C7172FF270D34E2
-:100F300017550C35545D002C02D0FF2903D1737274
-:100F40000DB0F0BD21460C010D34145DFF2CF9D11C
-:100F500009010D315354F3E770B5AD4C0546607A85
-:100F6000214603464A6811E0010108460C30105C36
-:100F700008E0401EC0B286008E199659AE4201D1DB
-:100F8000042070BD0028F4D10D31505CFF28EBD156
-:100F90009F480021007A01E0491CC9B2884204D967
-:100FA0000E010C36965D002EF6D1884201D8052040
-:100FB00070BD08010D30135461722846FFF7AAF97D
-:100FC000032806D0617A626809010D31515C6172B3
-:100FD00070BD28462830FFF7E1FE70BD10B50478DB
-:100FE0000123012C14D10C78022C11D30B23137084
-:100FF00083785B075B0F537002220A708088002899
-:1010000005D0830000221146062000F0EEFD0023EB
-:10101000184610BD0EB50022012105280AD0062869
-:1010200007D1684601700221017142710021FFF76A
-:1010300064F80EBD68460170F6E710B58EB00C4638
-:1010400006216A461170019072480290001D0390BB
-:101050006846FFF781FF102220460B9900F00AF83E
-:101060000EB010BD002202E0491EC9B24254002950
-:10107000FAD1704703E0521ED2B28B5C8354002A2F
-:10108000F9D1704730B505E05B1EDBB2CC5CD55CB6
-:101090006C40C454002BF7D130BD3EB5044620301F
-:1010A0000D4602790121002A02D0012A3AD10FE02F
-:1010B00061680191574908310291012101710520B0
-:1010C0006946087029466846FFF7EAF8014629E0B4
-:1010D0002878052826D169681022A06800F087F8D2
-:1010E0006868C07B000606D54A4AA06810231832FB
-:1010F0000146FFF7C7FF1022A168E06800F077F80B
-:10110000A068C07B000606D5424AE068102318326A
-:101110000146FFF7B7FF07202870A0686860E06805
-:101120000021A86008463EBDF0B5044626460F469D
-:1011300020363179012089B0002909D0012905D153
-:101140003978052902D10C203870002009B0F0BD93
-:10115000606803AD01900295022203A8A168FFF721
-:1011600089FF0222A81CE168FFF784FF0C21281DDB
-:10117000FFF778FF01203071052069460870394675
-:101180006846FFF78DF8E1E710B5034620331C7978
-:101190000122002C04D0012C10D0022C25D11EE0FD
-:1011A00001211971C16806220A7040684860194817
-:1011B000801C8860801CC86008460CE00C780C2CF1
-:1011C00013D102221A71C268052313704968516055
-:1011D000806890601046FFF79DF8024605E00878A9
-:1011E0000B2802D10D2008700022104610BD10B54A
-:1011F000002409E00B78521E5B0023430370401C5F
-:101200000B78491CD2B2DC09002AF3D110BD0000D2
-:10121000241B00200C52010070B50D46040012D0B2
-:10122000002D10D02101284603F093FD10225449CF
-:10123000284603F031FD52480121083801804480DE
-:101240004560002070BD012070BD70B54C4E00247B
-:101250000546083E11E0716820014018817BAA7B99
-:10126000914209D1C17BEA7B914205D10C222946EA
-:1012700003F0E5FC002806D0641C30888442EADBD9
-:101280000020C04370BD204670BD70B50D460600FD
-:101290000AD0002D08D03A4C083C20886188401CB8
-:1012A000884203D9042070BD102070BD3046FFF77E
-:1012B000CCFF002801DB401C0AE0208861680001A7
-:1012C00040181022314603F0E7FC2088401C2080A3
-:1012D0002870002070BD70B514460D001FD0002C82
-:1012E0001DD00021A170022802D0102817D108E0DB
-:1012F000687829780002084311D00121A17010807C
-:101300000BE02846FFF7A1FF002808DB401CA07077
-:10131000687B297B000208432080002070BD0120EB
-:1013200070BD70B5054614460E000AD0002030701E
-:10133000A878012807D004D9114908390A889042B1
-:101340000BD9012070BD002C04D02878207028888B
-:10135000000A50700220087010E0002C0CD0496880
-:101360000001411810391022204603F095FC28781E
-:1013700020732888000A607310203070002070BD30
-:10138000EC00002073490968016000207047714932
-:1013900008600020704701216F4A704B002803D07D
-:1013A000012805D06E48704791630020187001E055
-:1013B000D1631970002070476A49012008606848AD
-:1013C000801C70470422684B6649002805D05A608B
-:1013D000086901221043086108E0086940084000DC
-:1013E00008619A605C490020C03188600020704725
-:1013F0005C490622002808D0012809D002280DD017
-:1014000003280FD05648401C70470869904302E0FB
-:1014100008699043801C0861002070470869904368
-:10142000001DF8E708691043F5E74E494A6A024390
-:101430004A62002070474B494A6A82434A62002050
-:1014400070474849496A0160002070474549CA69A8
-:101450000243CA61002070474249CA698243CA6197
-:10146000002070473F49C96901600020704730B5CE
-:101470000546002072B601463A4A384C4032002DEB
-:1014800011D00123012D0CD0022D02D0072062B60D
-:1014900030BDA3706478002C01D09363F7E79163AB
-:1014A000F5E7A170F9E7A170F9E72F4904208860FA
-:1014B00029490020C03188602849012008702B4943
-:1014C0000A688023120A12021A430A602849086037
-:1014D000704722480078704770B5EFF31080C50759
-:1014E000ED0F72B61D4C6078401C0006000E607057
-:1014F00003D120A1CC2003F06CFD6078012806D137
-:10150000A078002803D01749012040318863002DBE
-:1015100000D162B670BD70B5EFF31080C507ED0F56
-:1015200072B60E4C6078002803D112A1DC2003F0C3
-:1015300050FD6078401E0006000E607006D1A07855
-:10154000002803D00749002040318863002D00D1D6
-:1015500062B670BD0004004040000040FC00002066
-:1015600004200000000500400003004000E400E00B
-:1015700000E100E07372635C736F635F706F7765A7
-:10158000722E63008107C90E002808DA0007000FD9
-:1015900008388008B94A80008018C06904E08008D3
-:1015A000B74A800080180068C8400006800F704766
-:1015B000B44948788978884201D3401A02E0212250
-:1015C000511A0818C0B27047AE492331487889785B
-:1015D000884201D3401A02E02122511A0818C0B2F1
-:1015E0007047A849463148788978884201D3401A23
-:1015F00002E02122511A0818C0B27047A04810B565
-:101600000C300168FF22120291430122D2031143E0
-:1016100001609C490020233148708870233948704C
-:101620008870463148708870974802F0FFFA9648F3
-:10163000401C02F0FBFAF2F7A9F900F015F910BD11
-:1016400020207047B4E770B50C4605460026FFF72A
-:10165000AFFF8C49A04214D30A46203A002320460B
-:10166000641EE4B200280BD08878105C287088785B
-:101670006D1C401CC0B288702128F0D18B70EEE741
-:10168000012600F0F1F8304670BD202070479BE73E
-:1016900070B50C4605460026FFF796FF79492331C1
-:1016A000A04214D30A46203A00232046641EE4B226
-:1016B00000280BD08878105C287088786D1C401C3E
-:1016C000C0B288702128F0D18B70EEE7012600F0BF
-:1016D000CBF8304670BD202101700020704710B556
-:1016E0000446FFF77EFF2070002010BD70B50C4649
-:1016F0000546FFF776FF63494631A04215D30A46F7
-:10170000203A00232046641EE4B200280BD08878DB
-:10171000105C287088786D1C401CC0B2887021282D
-:10172000F0D18B70EEE7002400E0584C00F09CF8FC
-:10173000204670BD70B50C460546212904D9FF200E
-:1017400053A1473003F045FC4C484068103840B284
-:10175000FFF718FFC6B20D20FFF714FFC0B2864294
-:1017600007D2FF204AA14D3003F033FC01E0F2F72D
-:101770004DF921462846FFF766FF0028F7D070BDD7
-:10178000F8B5404E07462336B1787078212200F034
-:1017900060F8354623353B4C00280ED0A1786078A0
-:1017A000212200F056F8002814D0A9786878212268
-:1017B00000F04FF800281AD025E032497078C91C93
-:1017C0000F547078401CC0B2707021281BD10020CB
-:1017D000707018E02B49607820390F546078401CF5
-:1017E000C0B2607021280ED1002060700BE0254946
-:1017F000687826310F546878401CC0B26870212880
-:1018000001D100206870B1787078212200F021F8B1
-:1018100000281DD0A1786078212200F01AF8002855
-:1018200016D0A9786878212200F013F800280FD08C
-:10183000F2F7CEF8144802F001FA01214903884278
-:1018400003D013A1C12003F0C4FB0F4802F00EFA2D
-:10185000F8BD401C884205D0904201D1002901D03A
-:10186000002070470120704710B5074802F0E6F9E4
-:10187000002801D1F2F79BF810BD000000ED00E058
-:1018800000E400E0501B0020FF00002007200000C3
-:101890007372635C736F635F72616E642E630000CA
-:1018A00010B5284802F0C2F9002803D026A11D2057
-:1018B00003F08FFB2348401C02F0B8F9002803D046
-:1018C00021A1212003F085FB10BDF1B5224D6F68E9
-:1018D00001261C4802F0B2F91A4C002803D1002658
-:1018E000601C02F0C3F91D4A1D490120506000BF71
-:1018F00000BF00BF00BF00BF00230B604B60009B18
-:101900006B60106000BF00BF00BF00BF00BF086871
-:10191000002802D148680028F9D048680028E4D19E
-:10192000002E04D06F60601C02F088F907E0601C94
-:1019300002F084F90028D3D1024802F097F9002080
-:10194000F8BDC2E7010100207372635C736F635FCF
-:101950006563622E6300000000E5004000E0004087
-:1019600000E1004030B5EFF31081CC07E40F72B610
-:101970001D4A116910230D461D431561002C00D12D
-:1019800062B61A4DC406E40E0120A0402C68044241
-:101990000DD0C8060AD4EFF31080C007C00F72B68E
-:1019A000116999431161002800D162B630BD20BF92
-:1019B00040BF20BFEAE70E4908784A78401CC0B211
-:1019C000904200D008707047084A094820BF40BFC5
-:1019D00020BF4178037843701368002B02D103784D
-:1019E0008B42F3D00020704700ED00E000E200E001
-:1019F00003010020FEB5F64C07466068FF213E015A
-:101A000081552178FF2913D0090108314158324608
-:101A1000491E083209020192090A805800F0CEF9E5
-:101A2000002802D02478254615E061682078885582
-:101A30002770FEBDE64842680198115828010090C1
-:101A40000830105800F0BAF9002806D1E0482C46BA
-:101A5000416800980D5CFF2DECD1DD482101406804
-:101A600085554754FEBD70B5D94A04460020157A05
-:101A700053680AE00201561C9E5DA64203D10C3257
-:101A80009A588A4204D0401CC0B28542F2D8FF2046
-:101A900070BDF8B5CE4F3E7801F01AFE0146FF2E1C
-:101AA00071D03401254678680835405900F086F930
-:101AB00002280CD97868405901F0FDFD01F008FEBC
-:101AC00001467868405900F079F902285BD8C0498E
-:101AD0004868025D0A70A11C425C002A0CD0521EAC
-:101AE000425441590122D20589180902090A41517B
-:101AF0003046FFF77FFF30E0631CC25C0092221D7E
-:101B000094468258002A10D001239B029A420FD992
-:101B10009205920D43595703DB191B021B0A4351CF
-:101B20006346C3589A1A920A09E0FF21C1540AE099
-:101B3000435952039A181202120A42510022425487
-:101B40003046FFF757FFA2480C344168C26800983E
-:101B5000095980001258009890479D4C2078FF2822
-:101B600011D0000161680830085801F0A4FD01F0AF
-:101B7000AFFD01462078626800010830105800F07F
-:101B80001DF9022886D3F8BDF8B51C4615460E4649
-:101B90000746FF2B03D38FA1D42003F01AFA8C48F9
-:101BA000FF21C76045600472067401700022427014
-:101BB000104604E00201521C401CA954C0B2A042CD
-:101BC000F8D3F8BD70B5824C06466578207C854216
-:101BD00003D380A1E72003F0FCF9E068A900465098
-:101BE0006078401C6070284670BDFFB581B01D460E
-:101BF000FF2401F06DFD764F064679780198814209
-:101C000003D874A1F52003F0E4F971480021037AA8
-:101C1000406810E00A019446521C825CFF2A25D0DD
-:101C2000019FBA4205D162460C328758029A974208
-:101C30001ED0491CC9B28B42ECD8FF2C18D0210110
-:101C40004A1C019B83540B460C33029AC250039BDF
-:101C50005F4F0022012B0ED00B1DC25001239B02AF
-:101C60009D4216D9AA05920D08D008E00C46E0E77F
-:101C7000FF2005B0F0BD0B1DC550EFE71A4653031A
-:101C80009B190E461B0208361B0AAA1A8351920A98
-:101C900009E0002D00D101256B039B191D022D0ABF
-:101CA0000B460833C550891C42543D463E782046B9
-:101CB000FFF7A0FE2878B04214D000016968083010
-:101CC000085801F0F8FC01F003FD29786A68090161
-:101CD000083152580146104600F070F8022801D22F
-:101CE000FFF7D7FE0198C4E770B50C46054601F032
-:101CF000EFFC064621462846FFF7B5FEFF2817D021
-:101D0000334D04012046696808300858314600F018
-:101D100055F80121090340186968A41C095D400BAE
-:101D2000002901D089020818002800D1012070BDC7
-:101D3000002070BDF3B581B00F460198FFF793FE08
-:101D4000FF282AD0224E3578726829460C4604E0D6
-:101D5000844205D025462301D45CFF2CF8D11CE039
-:101D6000FF2C1AD0A5421CD10801105C3070FF284E
-:101D700015D000010830105801F09DFC01F0A8FCBE
-:101D800001463078726800010830105800F016F8EB
-:101D9000022806D2FFF77DFE03E00020FEBD01F021
-:101DA00092FC39460198FFF79FFF22017168FF23DB
-:101DB000541C0B558A5C2B01CA54FEBD401A00020C
-:101DC0000121000AC905884200D90020704700009F
-:101DD0009C1B00207372635C736F635F74696D6535
-:101DE000722E6300F0B500241C4A01211C4B08032D
-:101DF000546018601B4B1C601B4C20601B4804691E
-:101E0000E443E406E6170469761C10252C430461BC
-:101E1000174C6160174D296000E020BF1F68002F3C
-:101E2000FBD0002E03D107691026B74307619068E5
-:101E30008005906801D5104A10436960A1600021B7
-:101E400019600121084A09031160F0BD10B504466C
-:101E5000FFF7C8FF2060002010BD000000C5004053
-:101E600080E100E000C1004080E200E000ED00E021
-:101E700000C3004000C0004000FCFFFF70B51F49D8
-:101E80000A68002A17D000231D4601244A68521C04
-:101E90004A60092A00D34D600E792246B2400E688E
-:101EA00016420AD072B60B6893430B6062B649685B
-:101EB0000160002070BD052070BD5B1C092BE5D3BF
-:101EC0000FA1362003F085F8F5E7012010498005C1
-:101ED00008607047EFF31081CA07D20F72B6012174
-:101EE00081400648036819430160002A00D162B6A8
-:101EF000EBE70248002101604160704708010020C3
-:101F00007372635C736F635F6576742E63000000A9
-:101F100000E200E00120810708607047012081078E
-:101F2000486070471048C068C00700D00120704763
-:101F30000D488068C00700D0012070470A484069FA
-:101F4000C00700D0012070470748C06970470649A4
-:101F50008A69D20306D589698907890F814201D12F
-:101F6000012070470020704700040040F8B5FE4C87
-:101F7000207BE17A88421AD00126FC4D0027E07AC6
-:101F8000215C14200A4642435019037C052B0FD0D4
-:101F9000062B1BD0072B28D0437C012B33D0F4A178
-:101FA000F64803F016F8207BE17A8842E7D1F8BDC5
-:101FB0000674E07A0A2807D0E07A401CE072491CD7
-:101FC000C8B2AA5802210CE00020F7E70674E07AB4
-:101FD0000A2808D0E07A401CE072491CC8B2AA580E
-:101FE00003219047DFE70020F6E70674E07A0A282D
-:101FF00007D0E07A401CE072491CC8B2AA580821F8
-:10200000EFE70020F7E74774E07A0A2807D0E07A84
-:10201000401CE072491CC8B2AA580721E1E7002021
-:10202000F7E770B5D64D06206872D648002444778D
-:10203000047738300473C472D34801F0F7FDD348F5
-:102040000475EC72D249601E88606C71AC70EC70E3
-:102050002C716C70CF48022104704470CE4804701B
-:10206000047528300470491EFAD10120F1F750FDA3
-:102070000020F1F74DFD0120A871F0F741FDC748A0
-:10208000F0F750FDC64C2070C648F0F74BFD60706D
-:10209000F1F7E2FC70BD10B5F1F709FDC04C2078F6
-:1020A000F0F75EFD6078F0F75BFDB54C207A002814
-:1020B00005D0FFF730FAF0F7E2FD0020207210BDE6
-:1020C00070B5AF4CA079002804D0A9A1B64802F0A1
-:1020D00080FF70BDE07A002804D11320A4A1400144
-:1020E00002F077FF0126A6710025E572607A0421CF
-:1020F000142250439D4A80180174A5488168491CE8
-:1021000004D0691E81600120F1F702FD0020F1F783
-:10211000FFFCF1F7E3FC01F023FEF1F7E8FDA34833
-:10212000056005600120A249C0030860F0F74AFF7E
-:1021300098480078022804D0032804D1E0780028C9
-:1021400001D0A67000E0A570F1F7BDFD70BD03469B
-:1021500086490520142242435218203A127F002A51
-:1021600004D0401E0006000EF4D1704714224243F2
-:1021700051180A46403AD362012220390A77704743
-:10218000012805D0032805D1002903D1002070477C
-:102190000029FBD010B47A4C002363707D4A0028DC
-:1021A00090700CD002280AD007291AD20B007B4469
-:1021B0001B79DB189F441505070D0F111300D37011
-:1021C00003E01B2000E03A20D0700120607010BCBA
-:1021D00070475820F8E77720F6E79620F4E7B52017
-:1021E000F2E710BC0020704710B56A484078F1F75C
-:1021F00085FD80B210BD411E1422504310B55B4ACC
-:102200008418203C042902D8207F002803D158A13B
-:10221000684802F0DEFE207F012803D054A1664802
-:1022200002F0D7FE0020207710BD70B5554C607FBE
-:10223000217F884201D1012500E00025F1F7F7FC5C
-:10224000F1F75CFD617F227F914201D1012100E025
-:102250000021A942EBD170BDF7B50646481E844661
-:102260008EB0C0B2142204905043404A85182846CC
-:102270000595007C2D1D07282AD13B4C0027E07ACC
-:10228000227B824221D0235C049A934201D1012710
-:1022900001E0002F04D00A2811D0421CA25C225475
-:1022A0000A280ED0401C227BC0B28242EBD1002F04
-:1022B0000BD0207B002806D0207B401E04E00022AB
-:1022C000ECE70020EFE70A202073059A0120107444
-:1022D00060462B4C04280FD814204143234808188B
-:1022E0002038007F002807D00598007C012807D0FF
-:1022F0001098807A012807D01DA1304802F069FEAD
-:102300001098807A012871D10598184B007C02281A
-:102310001AD0154C207B0A2874D0207BE17A401C0F
-:10232000884204D1C92012A1800002F052FE059912
-:1023300001204874217B04986054207B0A2865D0D2
-:10234000207B401C20731CE1607A049A0146904275
-:1023500006D0014614277843C018807C9042F8D1FB
-:10236000627A824235D12BE0A81C0020B81C0020E4
-:102370007372635C72656D2E63000000D50500000A
-:102380003C1D0020701C0020481D0020901C0020D7
-:102390001C1D002012010020C81C0020931A0100FF
-:1023A000100100206D1F01007F02000000F50040B9
-:1023B00080E200E0CD020000CE0200001703000022
-:1023C000617A14225143C918897C61720121A1727A
-:1023D00007E014224243D21814277943927CC9188B
-:1023E0008A74142206215043C01881741098007A10
-:1023F000062819D203007B441B79DB189F4408127E
-:10240000100E0C0AE07A00288CD090E7002099E7A3
-:1024100000210FE0B4210DE073210BE0322109E02F
-:102420000A2107E0062105E0FF20FE49E23002F024
-:10243000D0FD0021109802910068401A2860109980
-:10244000097A002912D00221401A0102090A2960E2
-:1024500010980268406810180002000A686010981E
-:10246000807A0228109803D0007B74E00421EBE707
-:10247000007A002813D0022202981018844610987F
-:102480004268604608301718E748029A4078904240
-:1024900002D9E278002A04D03846083005E0042248
-:1024A000EAE7029A801AC0190830627A062A1CD01C
-:1024B000627A14235A43DD4BD2185268914214D0E9
-:1024C000DB4B0793617A14225143D84A89184A6832
-:1024D0008968921B891B12020902120A090A90429A
-:1024E0003AD89A4238D8994236D83018C01B0002E0
-:1024F000000A286010996044CE4AC9680002000AA8
-:102500009446421A01239B0507929A4201D2104633
-:1025100014E00A1A09929A4201D207980EE0079A2B
-:102520006346624503D9591A0818401C06E0099A07
-:10253000624506D9181A4018401C404200285FDC4A
-:1025400003E0B849BC4802F044FD2868C019000205
-:10255000000A6860002028726868082708300002B6
-:10256000000A68601098407AA8721098007A687221
-:1025700003280ED200280CD0FFF7D4FC002803D08B
-:1025800007E0002011B0F0BD02983A210F1A322066
-:102590000290A5480178012901D0032909D1417889
-:1025A0000298814205D9E078002802D10298081AE1
-:1025B000C71928689E4A801B844601026868090A78
-:1025C000801B03021B0A8F421AD81746914217D864
-:1025D000BB4215D8617A062916D0677A6146062271
-:1025E000039200923A4614235A43904BD2189368B0
-:1025F0009B1B8B4216D80397977C062FF2D177E06E
-:10260000049801F059F9BCE7059802220499027474
-:10261000627A062A00D0627A827461720120A07206
-:1026200011B0F0BD062F63D0002239469446142223
-:102630007E4B4A43D21853689B1B834229D2917B1D
-:10264000AB7A99421FD805980521049C7B4D0174F3
-:10265000287B0A2811D0287BE97A401C884203D1C4
-:102660007049774802F0B5FC287B2C54287B0A2857
-:1026700007D0287B401C287383E7E87A0028EFD036
-:10268000F2E70020F7E701218C46917C0629CED1A4
-:1026900002E0604600282AD03D46009114202A46D8
-:1026A000424362480621161831741038007B0A280C
-:1026B000624816D0017BC07A491C814203D161A1D6
-:1026C000634802F086FC5D48017B4554017B0A2982
-:1026D0000BD0017B491C0173B57C0098A842DDD169
-:1026E00006E0C07A0028EAD0EDE70021F3E7009782
-:1026F0000599022008744D4D607AB84207D10599BA
-:1027000000988874049860720120A07221E00398F8
-:10271000062F0FD0062803D14AA14E4802F059FCDB
-:102720000398142250434019049981740599009824
-:1027300088740EE0062803D142A1474802F049FC04
-:102740000398142250434019049981740599062076
-:102750008874012011B0F0BD70B50D4606463F49A2
-:1027600000242046891BA04103D236A13C4802F038
-:1027700030FC3C490020491BA04103D231A13A481A
-:1027800002F027FC394A70190021821A8C4101D3CA
-:102790003749401870BDF8B5401EC0B214214843F7
-:1027A00022494518687B062813D203007B441B7915
-:1027B000DB189F44020C0A080604002066E0B420DF
-:1027C00010E073200EE032200CE00A200AE0062020
-:1027D00008E0FF201BA1E23002F0FBFB697B002038
-:1027E000002953D0022140186968002440180C21A8
-:1027F00000026956000A00294ADBF1F77FFA174AFE
-:1028000006460C27EF570021101AA14103D20DA153
-:10281000134802F0DEFB13490020C91BA0412CD253
-:1028200008A127E07023010012010020B81C00203D
-:10283000FFFF3F00FFFFFF0014070000A81C00205F
-:10284000090200007372635C72656D2E6300000004
-:10285000C7030000DF030000E5030000FF7F841EC4
-:10286000F50300000020A107F60300000080841E8D
-:1028700000807BE1FB4802F0ACFBFB4AF019002131
-:10288000821A8C4101D3F9494018F8BD0421AAE706
-:10289000F1F734FA0C21695600224018F449091A5C
-:1028A000A241F2D24042F8BDF0B5064683B0F148ED
-:1028B0000190457A029534687068001B0702EE4863
-:1028C0003F0A001B0090062D2DD0142029464143BD
-:1028D000EA480122081884464168E748920586467E
-:1028E000081B904210D3631A93420DD302467046E0
-:1028F000724503D900984018401C05E073450ED975
-:10290000411A0819401C404200280CDA6046029522
-:10291000857C0198C0790028D5D003B0F0BDD84996
-:10292000D84802F056FB0298854226D0142148432D
-:10293000D2490123401802908068CF499B058C46FC
-:10294000011B8646994210D3221A9A420DD3634640
-:10295000614503D900997144491C06E01946624556
-:102960002DD9091A0819401C4142002905DD029899
-:10297000B17A807B814200D37446062D15D0BF49C1
-:102980001420454368184268121B1202120ABA4208
-:102990000BD2B27A837B9A4200D38468857C0198FB
-:1029A000C0790028B9D1062DEAD13068A042B4D050
-:1029B000E0190002000A3460706003B0F0BDB04955
-:1029C000B04802F006FBD8E7F0B5AF4904464868C6
-:1029D00085B0C005C00D1CD0103840B200280CDAFC
-:1029E0000207120F083A920892005118C96980072D
-:1029F000C00EC1400806800F09E08108A34A890083
-:102A0000891809688007C00EC1400806800F002899
-:102A100008D000262078002806D0012804D0002005
-:102A200005B0F0BD0126F5E72079062813D2030092
-:102A30007B441B79DB189F44020C0A080604002023
-:102A400018E0B42010E073200EE032200CE00A20E1
-:102A50000AE0062008E0FF208949E23002F0B9FAD6
-:102A600021790020002905D002214718814D002E30
-:102A700002D003E00421F8E70020E87102AA6946C9
-:102A8000A068F1F745F9694608228A56E06801A96D
-:102A90008018C01C01221F2801DA019209E003AA54
-:102AA000F1F736F96846007B002802D00198401CF7
-:102AB000019000990198401808300002000A019026
-:102AC000C81B0002000A009060796946887200986D
-:102AD0000390F1F7ACF8009A019B121A181A6C498E
-:102AE00012020002120A000A8A4216D8884214D83A
-:102AF0006846FFF7D9FE00990398814205D0C819AE
-:102B00000002000AF1F7FAF8A0600120E979002933
-:102B100086D0002EB0D005B0F0BD0020F6E7F3B5AA
-:102B20008FB05C480C460B9001F088F85A4A0F9918
-:102B3000504E5518203D594F00280BD05848007D65
-:102B4000002803D057A15A4802F043FA2078012800
-:102B50007DD05FE1787F0A280CD0787F397F401CD8
-:102B6000884203D14FA1534802F033FA207801285C
-:102B700004D00CE0387F0028F4D0F7E7E87F002885
-:102B800003D048A14C4802F024FA0120E877787F6E
-:102B90000F991422494D504340190174207802289E
-:102BA00023D0787F14214843451920792872607911
-:102BB00068722A460C322946A068F1F7A9F80C2061
-:102BC00028560F2804DD1F3828732868401C286009
-:102BD0000C22AA56281DE16802908818C01C1F28E4
-:102BE0003FDA029901200860FDE027494868C005E6
-:102BF000C00D20D0103840B200280CDA0207120FA6
-:102C0000083A920892005118C9698007C00EC14065
-:102C10000806800F09E081081C4A890089180968A4
-:102C20008007C00EC1400806800F002803D11DA1F7
-:102C3000234802F0CEF9787F14214843451900213A
-:102C4000E0686A460591117303AA05A900E0D8E07F
-:102C5000F1F75EF86A460C2010560F2832DD01208D
-:102C600031E0B3E0F60300000080841E00807BE1C9
-:102C7000FF7F841E3C1D0020FFFFFF00B81C0020CA
-:102C8000442801001407000000ED00E000E400E02B
-:102C9000FFFF3F00481D002016010020701C00208F
-:102CA000901C00207372635C72656D2E63000000DF
-:102CB00017050000F5040000FA040000B01B002016
-:102CC0000605000000200599401808900220A8720F
-:102CD0002079287260796872A068291DC01C039150
-:102CE0001F2801DA01200AE006AAF1F711F8684668
-:102CF000007E002804D0039803990068401C0860F7
-:102D0000287A062813D203007B441B79DB189F44E2
-:102D1000020C0A08060400200FE0B4200DE0732026
-:102D20000BE0322009E00A2007E0062005E0FF2042
-:102D3000FD49E23002F04DF900202179002943D00D
-:102D400002214118069168680831401808990590D9
-:102D500008180699401A0C900020F071F0F767FFF0
-:102D600004462860089820180002000AE860707A7B
-:102D7000062825D0707A14214843EC494018406851
-:102D80000090059940180002000A0190687A69468F
-:102D900088726846FFF788FD0098019A001B121B95
-:102DA00000021202E24B000A120A0C99984207D85C
-:102DB0008A4205D80099069808180002000A28607F
-:102DC000F0790028C8D110E00421BAE704AA0299DA
-:102DD000F0F79EFF6846007C002804D00298029914
-:102DE0000068401C08602078A872787F0A2806D006
-:102DF000787F401C78770B9800F038FF47E0002080
-:102E0000F8E7E87F002803D0CAA1CD4802F0E1F836
-:102E10000120E877CB490F9808742078022803D165
-:102E2000C4A1C94802F0D5F8C64D2079287260794E
-:102E300068722A460C322946A068F0F769FF0C2018
-:102E400028560F2804DD1F3828732868401C286086
-:102E50000C22AA56281DE16802908818C01C1F2861
-:102E600003DA0299012008600CE003AA0299F0F746
-:102E70004FFF6846007B002804D002980299006842
-:102E8000401C08602078A872AE4901200875797F3F
-:102E9000387F814223D0747A062C22D0F0F7C7FE07
-:102EA00014214C43A1496218117C042917D003292D
-:102EB00015D0536892681B1A101A1B0200029C4915
-:102EC0001B0A000A082B0AD30A468B4207D89042F5
-:102ED00005D8787F397F884201D0F0F7F4FE11B031
-:102EE000F0BD787F397F8842F7D111B0F0BD10B5C1
-:102EF0000020F0F7FAFD10BD10B50120F0F7F5FD48
-:102F000010BDF1B5009802281FD0904C607A0628B9
-:102F100003D188A18E4802F05CF80026A671012535
-:102F2000E572607A03211422804F5043C019017466
-:102F3000F0F7CEFE009800280CD001282AD00328F4
-:102F40007CD0B5207BA1C00044E082480078EFF738
-:102F50000DFEF8BD8048007F002803D075A17F4892
-:102F600002F037F865717C4D00202E60F0F7D0FD3F
-:102F7000A968481C04D0012300221846F0F7FEFD82
-:102F8000607A617A401CC0B2142251437A58012100
-:102F90009047F8BD0120F0F7BBFD607900280DD007
-:102FA0006D488068401C09D0607A617A401CC0B2CC
-:102FB000142251437A5806219047F8BD6648007F95
-:102FC00001280AD0022812D0032824D0042836D0A1
-:102FD00058A1634801F0FDFFF8BD2079002803D017
-:102FE0002671F0F77AFEE5705B480677F8BD207A27
-:102FF000002804D1FEF770FAEFF718FE2572607A08
-:10300000617A401CC0B2142251437A580021904783
-:1030100051480677F8BD504F0123397B786800226C
-:10302000411A1846F0F7AAFD2079002803D026712E
-:10303000F0F753FEE57002203877F8BD1BE0464EEE
-:10304000217870680123411A00221846F0F796FD96
-:10305000207A002804D1FEF73FFAEFF7E7FD25724A
-:10306000607A617A401CC0B2142251437A58002120
-:1030700090473577F8BD607A617A401CC0B214225F
-:1030800051437A5805219047F8BD10B52F4C607A0E
-:10309000062803D127A1334801F09BFF607A617AAB
-:1030A000401CC0B214225143204A52580421904778
-:1030B00010BDF0B583B006200290F0F7B8FD234CA8
-:1030C0000090617A28480190062920D0617A142066
-:1030D000414316480918097C042918D0617A142242
-:1030E00051430818007C03287BD00198009A03689C
-:1030F00040689B1A801A1B0200020D491B0A000A35
-:10310000082B6ED30A468B426BD8904269D812487E
-:103110008068401C03D007A1144801F05AFF00202A
-:103120006071607A062823E0A42C0100B81C0020FE
-:10313000FFFF3F007372635C72656D2E63000000D9
-:103140001E050000901C0020240500003C1D0020EE
-:1031500055050000100100201C1D00206105000025
-:103160009C050000AF0500002C1D0020EB050000B1
-:1031700007D16078002804D0FE48C178417081787A
-:103180000170607A062815D0607A1421FA4A484303
-:103190008018007C04280DD1607A0290617A0120A9
-:1031A0001423594389180874617A59438918897C12
-:1031B0006172A072F14D687F297FF14F884233D050
-:1031C000F04E287F142148438019007CC05D0128FF
-:1031D000287F07D048438019007CC05D02282FD08B
-:1031E00044E001E2142148438019807A01280AD082
-:1031F000287F0221142250438019007CC155287F6A
-:103200000A2808D009E0297F002014225143891997
-:10321000097CC8552AE0002001E0287F401C28775F
-:10322000687F297F8842CCD1D74D287D00284CD09B
-:10323000287CC15D012928D0C05D022830D03AE049
-:10324000287F142148438019807A012803D0CFA118
-:10325000D14801F0BEFE297F002014225143891974
-:103260008872297F51438919097CC855287F142108
-:1032700048438219287F48438019017C0098FEF753
-:10328000EBFF287F0A28C8D1C5E7A97A012904D015
-:103290000221C155002028750DE00021C1550AE02A
-:1032A000A87A012803D0B9A1BC4801F092FE002001
-:1032B000A872297CC855287D002806D0297CB24AEE
-:1032C0000098FEF7C9FF00202875029806281ED036
-:1032D00014214843A8494018017C012917D107212E
-:1032E000AF4D0174287B0A283CD0287BE97A401C2A
-:1032F000884203D1A5A1AB4801F06BFE297B02985F
-:103300006854287B0A2831D0287B401C2873607AB7
-:1033100006287DD0A07A00287BD00020A072617A98
-:10332000142041439448A04B0A18566891681D46E2
-:10333000D2687C35DE67AA6069609C4D697E002991
-:1033400016D00226617A14228B4851430818407B1C
-:1033500006281BD203007B441B79DB189F440A1408
-:1033600012100E0CE87A0028C4D0C7E70020CDE781
-:103370000426E7E700200FE0B4200DE073200BE007
-:10338000322009E00A2007E0062005E0FF207FA1A7
-:10339000E23001F01EFE00202873697E022901D070
-:1033A000012910D12969009A09188A1A1202120AF1
-:1033B0003A2A08D90320687632390802000A2861BF
-:1033C000322028730AE0322808D2207A00280ED151
-:1033D000FEF782F8EFF72AFC012007E0207A0028A8
-:1033E00005D0FEF798F8EFF74AFC002020726149FB
-:1033F0000822487820700978012901D0032906D1D4
-:1034000001212171297B884201D9421A083201E049
-:1034100091E0A1E0A378002B00D0921C2179002933
-:1034200001D1002B5DD09446614A00990092019A27
-:10343000176852687F1A511A3F0209023F0A090AA7
-:10344000BC451BD85A4A974218D8009A914215D8C1
-:10345000297B884223D92B69421A9A1A1202120A2E
-:10346000101880190002000A2A616860002914D02F
-:10347000032028770006000E3ED14CE0002020718A
-:10348000A070297B002925D02869401880190002E6
-:10349000000A6860022028772EE00120E9E78142D7
-:1034A0000BD92A69511889190902090A696000288B
-:1034B00001D00420DDE70220DBE7002B03D133A19C
-:1034C0003C4801F086FD286980190002000A686006
-:1034D000002004E0296989190902090A696028772E
-:1034E00019E0287B00280FD02969081880190002EC
-:1034F000000A6860022028772869012381190022C8
-:103500001846F0F73BFB09E0286980190002000A21
-:103510006860002028770120F0F7FAFA607A142119
-:10352000484315490C22401882560123002069683F
-:10353000F0F724FB10E00120F0F7EAFA0020F0F7A2
-:10354000E7FAF0F7CBFA207A002805D0FDF7E3FF81
-:10355000EFF795FB00202072A078002804D0F0F748
-:10356000BCFB0020E070A0706078002827D00148E4
-:10357000C17821E012010020B81C0020701C00203E
-:1035800015010020B01B0020901C00207372635CAA
-:1035900072656D2E630000000D0600002906000014
-:1035A000A81C00203B060000B01C00201C1D0020B1
-:1035B000FFFF3F008D060000417081780170207987
-:1035C000002806D00020CE49E0700978002900D1FB
-:1035D0002071CC48017BC07A814203D0CA48407830
-:1035E000EFF7C4FA0120E07103B0F0BDF0B5C74CAD
-:1035F0000746607A83B0062804D16F20C4A1000179
-:1036000001F0E7FC607A1421C44E48438019007C25
-:10361000032803D0BEA1C24801F0DBFCC14DA8685D
-:10362000401C03D0BAA1C04801F0D3FC607A142139
-:10363000484381190C20085600216A4600911171F7
-:10364000C01901AA6946F0F763FB6A4604201056C8
-:103650000F2801DD012000E0002000994018696872
-:1036600040180102090AA9606079002804D00123EA
-:1036700000221846F0F782FA03B0F0BD70B5AC4CEA
-:10368000AA4A0B1AA34214D3451AA54211D3934256
-:1036900003D9101A43185B1C0BE0954204D9511A48
-:1036A0000818401C434204E099A1A24801F091FC93
-:1036B0000023184670BD10B50146012300220220E8
-:1036C000F0F75CFA10BD10B50220F0F721FA10BD3A
-:1036D00010B5F0F7ACFA10BDF0B58C4D0446E87AA1
-:1036E00083B0002803D18AA1934801F072FC642CB6
-:1036F0004DD3924A00210846121B884147D3904877
-:10370000417F007F814242D18E48007D00283ED11A
-:10371000687A1421814F4843824EC519306801AA46
-:1037200000196946F0F7F4FA6946042008560028A3
-:1037300002DD0098401C0090A96800986B680A1888
-:10374000D21A1202804B120A9A4220D8AA7C062A68
-:1037500008D014235A43D2195268511A0902090A8F
-:10376000814214D3B068401C05D00120F0F7D0F995
-:103770000020C043B060306800193060A86800992C
-:1037800040180002000A7061012003B0F0BD002063
-:1037900003B0F0BDF8B50646401EC4B214205F4920
-:1037A00060434518287C002804D1772058A10001E7
-:1037B00001F00FFC6248017F407F81420CD0634AD8
-:1037C00014234B439B181B7CB3420CD00A290CD00A
-:1037D000491CC9B28142F3D15A48017D002961D008
-:1037E000007CB0425ED10020F8BD0021F1E7052940
-:1037F00003D0062901D0072928D101212974C17AD3
-:103800000023027B8A4221D00246565CA64201D1A7
-:10381000012301E0002B04D00A2911D04E1C965D33
-:1038200056540A290ED0491C167BC9B28E42ECD1DF
-:10383000002B0BD0117B002906D0117B491E04E020
-:103840000026ECE70021EFE70A211173697C0029CB
-:103850002AD06F74C17A0023027B8A4224D0425C52
-:10386000A24201D1012301E0002B04D00A2912D089
-:103870004A1C825C42540A290FD0491C027BC9B2FF
-:103880008A42ECD1002B0FD0027B0146002A06D0E1
-:103890000A7B521E04E00022EBE70021EEE70A2239
-:1038A0000A7301E017480027297C01299FD16A7C0F
-:1038B000002A9CD10120F8BD70B505461420174A96
-:1038C0000521684380180F4C0174207B0A2811D011
-:1038D000207BE17A401C884203D10DA11C4801F0F5
-:1038E00078FB207B2554207B0A2807D0207B401CB6
-:1038F000207370BDE07A0028EFD0F2E70020F7E7F0
-:1039000012010020A81C0020100100203C1D0020F6
-:103910007372635C72656D2E63000000B81C00203A
-:10392000F10600001C1D0020F2060000FF7F841E2F
-:103930000020A1071407000033070000FF1FA107A4
-:10394000701C0020901C0020FFFF3F00B01B0020D7
-:103950000902000010B501462022094801F09CF937
-:1039600007490020C877084610BD06490120486174
-:103970000548064A0168914201D100210160704763
-:103980004C1D0020000500401C010020BEBAFECAEC
-:10399000064A10705170704704481C22017841712A
-:1039A00042700170704770477047704720010020D7
-:1039B00030B50346002002460DE09C5C2546303DB4
-:1039C0000A2D02D30020C04330BD0A256843303899
-:1039D0002018521CD2B28A42EFD330BD70B50D46CA
-:1039E000144608E00A2101F0D1F92A193031203AB1
-:1039F000641ED177E4B2002CF4D170BD10B5002361
-:103A000010E0040A00020443A0B2CC5C444020064B
-:103A1000000F60400407240C44402006C00C6040A6
-:103A20005B1C9BB29342ECD310BD10B520380C4602
-:103A3000030001F0BFFB33E0DBE41B1F23272C3125
-:103A4000373C41474D5054585C606D7165697478DE
-:103A50007C8084888C9094989C9FA2A6AAAEB2B8D1
-:103A6000BCC0C5CACFE9F0F3D3D7F800206800F096
-:103A7000DDF8D6E0206800F0E1F8D2E0206800F040
-:103A8000F5F8CEE0207840B200F092FAC9E0207854
-:103A900040B200F0B0FAC4E02078616840B200F0B3
-:103AA000C3FABEE0207840B200F0D3FAB9E0207843
-:103AB00040B200F0DEFAB4E02078217940B200F0A4
-:103AC000E9FAAEE02078616840B200F013FBA8E0AC
-:103AD00000F01FFBA5E0206800F023FBA1E02078A8
-:103AE00000F038FB9DE02068FDF7F5FD99E02068C7
-:103AF000FDF7F5FD95E021792068FDF7F7FD90E0F1
-:103B00002068FDF73FFC8CE02068FDF740FC88E072
-:103B10002078FDF740FC84E0FDF74EFC81E0207842
-:103B2000FDF750FC7DE02078FDF762FC79E020682D
-:103B3000FDF77BFC75E02068FDF77DFC71E02068F7
-:103B4000FDF77FFC6DE02068FDF780FC69E02068F0
-:103B5000FDF782FC65E02068FDF784FC61E02068E9
-:103B6000FDF785FC5DE00846EDF7F0FA59E0EFF768
-:103B700070F856E0EFF79DF853E02068EFF7A5F8EE
-:103B80004FE0206800F080F84BE0206800F082F8F9
-:103B900047E0206800F083F843E02078A26861687D
-:103BA00000F082F83DE0207800F089F839E02078D4
-:103BB00000F091F835E02078616800F098F830E086
-:103BC0002078616800F09FF82BE02179207800F0E0
-:103BD000D5FB26E02068FDF778FE22E02068FEF79E
-:103BE0004DF91EE02068FEF731F91AE0204607C8BB
-:103BF00000F0B9FC15E0206800F00CFD11E06168F0
-:103C0000206800F037FD0CE0206800F029FF08E094
-:103C100009E003E0FFE700F03BFF02E0206800F06E
-:103C200073FF206010BD0120086010BD00210170ED
-:103C3000084670470146002008707047EFF3108176
-:103C4000C907C90F72B60278012A01D0012200E02B
-:103C5000002201230370002900D162B6002A01D09E
-:103C600000207047012040037047E7E7EFF3108121
-:103C7000C907C90F72B600220270002900D162B6CE
-:103C800000207047F2E7000038490968C9B20160B6
-:103C9000002070473549C0B2486000207047334962
-:103CA000C0B2886000207047082801D330487047B0
-:103CB000C3002E4818180161426100207047022895
-:103CC00002D32B48401C70472A4A0121C0008018AB
-:103CD000016000207047022802D32548401C70472D
-:103CE000244A0121C000801841600020704702284A
-:103CF00002D31F48401C70471F4A8000C9B2801879
-:103D0000016000207047022802D31948401C704708
-:103D1000194A800080180068C0B20860002070470F
-:103D200010B5FF20114AC043906008200021C30055
-:103D30009B1819615961401C1028F8D300200E4AC5
-:103D400005E0022803D383009B18196004E0830078
-:103D50009B181C68E4B21C60401C0428F1D310BD01
-:103D6000FF200249C04388607047000000F5014011
-:103D70000820000000F0014000F8014010B572B6C4
-:103D800000F0DEF800280BD0EDF78AFAFEF783F991
-:103D900000F0BBFA6F490020C86288626E49086073
-:103DA00062B6002010BDF3B5002501200007C06AEF
-:103DB00081B0C0430006000E04D168480068401C72
-:103DC00000D1012572B600F0BBF8002801D062B620
-:103DD00087E0EDF7D1F9EDF767FA614C614A002110
-:103DE0002368CB40DB071FD00346CB40DB0718D14D
-:103DF0004BB2002B07DA1E07360F083EB608B60096
-:103E0000B618F66904E09E08574FB600F6193668F2
-:103E10009B07DB0EDE4033069B0F012B04D0032BE8
-:103E200002D062B65148FEBD491C2029D8D3019C5E
-:103E300001204F49230001F0BDF914222424242439
-:103E4000242424240B0D1012142016181A1C1E2FC3
-:103E5000002400E00124C86314E00224FBE70324EB
-:103E6000F9E70424F7E70824F5E70924F3E70A242F
-:103E7000F1E70B24EFE70C24EDE70524EBE707243B
-:103E800000E00624D06901210002000AC9070843A6
-:103E9000D061002D04D009E062B601200003FEBD10
-:103EA0002C4D3448E862EDF7FFF9A8622A49324800
-:103EB0000860324902980860EDF7F6F9214600F0F3
-:103EC0000BFAFEF7AEF800F00DFC00F087FA01984F
-:103ED000EDF7B4F9040062B603D0FFF74FFF2046B8
-:103EE000FEBD0020FEBD10B5044600F029F80028F4
-:103EF00000D001202070002010BD21490860002062
-:103F0000704710B50C46102808D011280BD0122885
-:103F10000CD013280ED00120086010BD6168206805
-:103F2000FFF741FF0AE0FFF729FF07E02068FFF7EE
-:103F3000DAFF03E01249206808600020206010BD0D
-:103F400005480D490068884201D1012070470020D2
-:103F500070470000000500401C0100200010001008
-:103F600000E100E000ED00E000E400E001100000EE
-:103F70004000004000200000BEBAFECA2801002018
-:103F8000040000208107C90E002808DA0007000F8E
-:103F900008388008814A80008018C06904E08008E1
-:103FA0007F4A800080180068C8400006800F704774
-:103FB00010B5044600F0DBF8002813D02046FFF7C8
-:103FC000E1FFC0B200F0E1F800280DD07549E2062B
-:103FD0000B78D20E01209040002B08D04A68104385
-:103FE000486006E0704810BD6F48401C10BD6F4926
-:103FF0000860002010BD10B5044600F0B8F8002895
-:104000000BD06849E2060B78D20E01209040002BBD
-:1040100005D04A6882434A6004E0634810BD6349A2
-:1040200080310860002010BD70B50D46044600F0D8
-:104030009EF800280BD05E480068E206D20E0121EF
-:104040009140084000D001202860002070BD5648F3
-:1040500070BD10B5044600F08AF8002807D0E106CC
-:10406000C90E0120884052490860002010BD4E480A
-:1040700010BD10B5044600F07AF8002808D0E1061B
-:10408000C90E012088404A4980310860002010BDD7
-:10409000454810BD70B50D46044600F068F800288C
-:1040A00019D0284600F071F8002816D0A007C20EDB
-:1040B000FF209040A907090E9140002C10DA22073A
-:1040C000120F083A9308354A9B009B18DA6982431D
-:1040D0000A43DA610CE0344870BD3348401C70BDBF
-:1040E000A3082F4A9B009B181A6882430A431A6050
-:1040F000002070BD70B50C46054600F038F8002869
-:1041000005D02846FFF73EFF2070002070BD2648EE
-:1041100070BDBFF34F8F21492648C860BFF34F8F52
-:10412000FEE770B51F4C05462178012000290ED10D
-:10413000207072B600F0F8F81C4E8036316881436A
-:10414000616000F0F1F8C043306062B60020287072
-:10415000002070BD13490A78002A06D0002804D137
-:10416000124A48681060002008700020704710B59F
-:104170000446202805DA00F0D7F80121A1400842C2
-:1041800001D0002010BD012010BD012803D003285C
-:1041900001D00020704701207047000000ED00E0D2
-:1041A00000E400E02C0100200120000000E100E01C
-:1041B00000E200E00400FA05F8B504468007002597
-:1041C0000126002804DA5A48C563C66302208443E6
-:1041D000E00404D55748C563C66380148443600077
-:1041E00003D55548456080058443E00504D5534810
-:1041F000C563C66380158443A00404D55048C563D5
-:10420000C6634014844360042704C00FF90F88423A
-:1042100003D04CA1612000F0DCFEB80F0AD04E495B
-:10422000CD634E48C563C563CE63C663C6630320D2
-:104230008003844320050AD5494FFD632F20ECF706
-:10424000B3FFFE632F20ECF7AFFFF8148443002C7C
-:1042500003DAFFF765FD640064084248044203D0B6
-:1042600038A1902000F0B5FEF8BDF0B500210A4657
-:10427000FF230446CC40E4072AD04CB2E606F60EF3
-:104280000125B540384E3560384E3560002C11DAC6
-:1042900025072D0F083DAE08354DB6007619F56996
-:1042A000A407E70E1C46BC40A5431446BC4025436A
-:1042B000F5610DE0A6082F4DB60076193568A40704
-:1042C000E70E1C46BC40A5431446BC402543356060
-:1042D000491C2029CDD3F0BD70B5274C0D46206078
-:1042E000FFF76AFF2068FFF7C0FF2846EEF77AFD68
-:1042F000FDF7D6FAFDF782F9FFF712FDFDF7D5F8C5
-:10430000EEF7FEFB00F06AF870BD10B51A4C20689D
-:10431000FFF752FF2068FFF7A8FFFFF701FDEEF758
-:10432000E6FD0020206010BD1348006870470000C3
-:10433000C01F0040C0CF004000E50140C08F0040DA
-:10434000C0DF00407372635C736F635F636F6E66A0
-:1043500069672E6300000000C0EF0040C0FF00400E
-:10436000C0BF0040FEFF0FFC80E100E080E200E003
-:1043700000ED00E000E400E03401002070B500240E
-:1043800002460D4620462146002A1ED0012A04D0AE
-:10439000022A04D0032A1ED103E0012002E00220F9
-:1043A00013E003202B0000F005FF07160507090B9B
-:1043B0000D0F1600012108E0022106E0032104E0B0
-:1043C000042102E0052100E00621FDF7D9FE0028C6
-:1043D00001D0204670BD0724FBE70000B148002152
-:1043E00001708170704770B5AF4D01236B60AF4BAA
-:1043F0001C68002CFCD0002407E00E6806601E68D4
-:10440000002EFCD0001D091D641C9442F5D3002031
-:10441000686018680028FCD070BD70B5A14C0D46CE
-:104420006178884203D0A2A16C2000F0D2FD2B005D
-:1044300000F0C0FE094F0625254F4F4F4F464F0055
-:104440002078022803D09AA1702000F0C2FD03203A
-:104450002070A078022802D0012804D008E0A068CB
-:1044600000F0CEFB04E02269E168A068FFF7BBFF23
-:104470000020A070FDF724FE0420207070BDFDF721
-:10448000D4FE01466068FFF7F9F805462078022857
-:1044900003D087A1842000F09CFD894A89498A487D
-:1044A000954206D8401BC86086496078FEF737FB06
-:1044B00070BD854202D802224A71F3E7032003E06F
-:1044C000A0780028FAD10220FDF704FD00F0E0F802
-:1044D00070BD77A1AD2000F07CFD70BD70B50546C4
-:1044E000FDF7A3FE6F4C60602078012803D070A117
-:1044F000B42000F06EFD73490220087000220A719A
-:104500008D6003224A71704ACA6020706078FEF79D
-:1045100006FB70BD10B5634CA078002802D120784E
-:10452000002801D0112010BD6848FDF710FE607012
-:104530006078002803D001202070002010BD0320E7
-:1045400010BD10B50124020B64040121604BA04290
-:1045500002D29140186802E0203A58689140084021
-:1045600000D0012010BDF8B50E46910005464F1948
-:1045700014463F1F009100F054FB009980028919F6
-:10458000091FB14201D2012200E00022002C03D019
-:10459000FF2101318C4201D90920F8BD4D498D42DE
-:1045A00019D3AF4217D3854205D2874203D228469A
-:1045B0003043800701D01020F8BD8E420BD3002A73
-:1045C00009D12846FFF7BDFF002804D13846FFF780
-:1045D000B8FF002801D00F20F8BD3F483F490068D0
-:1045E000884205D0224631462846FFF7FCFE0FE000
-:1045F000FFF790FF0028EFD12A480121C6608560AF
-:10460000046181702046312148431430FFF766FF72
-:104610000020F8BD10B504462E48800A84420BD312
-:1046200000F0FFFAA04201D8102010BDA0020446FD
-:10463000FFF787FF002801D00F2010BD264827492B
-:104640000068884203D0204600F0DAFA0AE0FFF75B
-:1046500061FF0028F1D11348022184608170204855
-:10466000FFF73CFF002010BD1A48010B01208840D5
-:10467000401E704700B50B460246FFF7F5FF10429B
-:1046800001D00F2000BD124802604360002000BD31
-:1046900010B5044C6078FDF7AEFD00202070A070CE
-:1046A00010BD00003801002000E5014000E4014099
-:1046B0007372635C736F635F666C6173682E630013
-:1046C000307500006C1D0020D0FB01001B44010070
-:1046D00000060040006001001C010020BEBAFECAB6
-:1046E00010540000F74805218170002101704170CD
-:1046F000C1708160704710B5F3490A78022A07D06B
-:10470000CA681018C860C8689638FEF76FFF10BDF9
-:104710008A68101888608868F6E70378EB49EC4AE5
-:10472000002B02D0012B10D014E00379002B01D014
-:10473000012B0FD14379002B01D0012B0AD18368C3
-:10474000643B8B4206D2C06810E00379002B03D093
-:10475000012B01D0002070474379002B01D0012BA1
-:10476000F8D1C368643B8B42F4D280689042F1D8A0
-:1047700001207047F8B504460226FEF7BDFB00682D
-:10478000002803D0D3A1BE2000F023FC0127CD4D8B
-:10479000002C08D02078002817D0012805D0022846
-:1047A00011D0032813D02F710DE06068C82808D3FA
-:1047B000FEF792FF002804D06068FFF79CFF0126F7
-:1047C00003E0002601E000F0F9F93046F8BD287852
-:1047D0000028F8D16068FFF7A0FF0028E3D06068E8
-:1047E0000078002826D0A878042803D0B9A1F820A2
-:1047F00000F0EFFBB44F00203870606800790128AA
-:1048000000D00020387160684079002837D003203C
-:10481000787160688168E868FDF79EFFB86060683D
-:10482000C0689630F8600320A870A749E878FEF7C2
-:1048300076F9C8E7A4480221017061680979012965
-:1048400019D00021017161684979002915D003212F
-:10485000417161688968963181606168C968C16029
-:10486000C068984C14346060FDF7DFFC20606F7006
-:104870000220A870A7E70321E4E70221E8E702206D
-:10488000C6E7F8B58F4C0D46E178884204D0FF208A
-:1048900090A11A3000F09DFB28468A4F0025012682
-:1048A0001437030000F086FC090612375A7C8D97F6
-:1048B000C4A0C400A078032807D0A078022804D0A0
-:1048C000FF2084A11E3000F084FBF8BDA0780328EF
-:1048D00007D0A078022804D0FF207EA1223000F06B
-:1048E00078FB0420A07025712078002810D1FFF7F4
-:1048F00002FFE078FDF74FFFE0607D49886A7D4A5E
-:10490000024022617B4AD24310408862002050E07E
-:1049100000F054F9F8BDA078032807D0A078022849
-:1049200004D0FF206BA1453000F053FB2078002815
-:1049300002D000F04FF9F8BDA07803281FD1042061
-:104940002AE0091A6048C1600146E078FEF7E7F8FE
-:10495000F8BD0420FDF7BEFAA570F8BDA0780328C5
-:1049600007D0A078022804D0FF205AA1663000F0BA
-:1049700030FB20780028DCD1A07803280BD0FDF78D
-:1049800054FC01463868FEF779FE0028E1DB7968BF
-:104990008142DEDBD5E70520FDF79CFAA670F8BD65
-:1049A000A078042804D0FF204AA1873000F011FB32
-:1049B0000220A1688847FFF7DDFEFF260546C036C6
-:1049C00042E0A078042804D0FF2042A18C3000F0FF
-:1049D00000FB0120EDE7A078042899D0FF203DA13D
-:1049E000913000F0F6FA93E7A07804280AD06078B6
-:1049F000002802D0A078022804D0FF2035A19630EC
-:104A000000F0E7FA2078002893D12079002804D01C
-:104A10000620FDF75FFA2571C0E76078002805D011
-:104A20002949E078FEF77BF86570F8BD0720B3E709
-:104A3000FF2028A1B13046E7002D0AD0012D06D075
-:104A400024A1304600F0C5FA022DF5D1F8BD0420AE
-:104A500000E00320A1688847FFF78CFE0546F3E7D6
-:104A600070B5050005D0174CA078052803D011209B
-:104A700070BD102070BD2048FDF769FBE070E07844
-:104A8000002803D0A5600020A07070BD032070BD79
-:104A900010B50C480178002901D0112010BD817893
-:104AA00005292BD0817801292AD08178002927D0A7
-:104AB000012101708178012922D0807800281FD03F
-:104AC00020E000004C0100207C1D00203D860100FC
-:104AD000FF1FA1077372635C736F635F7261646928
-:104AE0006F5F74696D65736C6F742E6300000000F6
-:104AF0000005004002810080834801000F2010BDA6
-:104B000000F068F8002010BDF8B5394E0446B078C2
-:104B1000002801D001280DD1002C0DD02046FFF730
-:104B2000FCFD00280AD02078324D002808D0B0784B
-:104B3000012823D00F20F8BD1020F8BD0720F8BDB4
-:104B400002272F702079012814D000202871607965
-:104B5000002811D003206871A0689630A860E06832
-:104B6000E860E868224C14346060FDF75EFB20606A
-:104B7000B77019E00320E9E70220ECE70020287075
-:104B80002079012816D0002028716079002813D0E0
-:104B900003206871A168F068FDF7DEFDA860E06899
-:104BA0009630E8600320B0701249F078FDF7B7FF47
-:104BB0000020F8BD0320E7E70220EAE710B50E4821
-:104BC000816A0E4A11400A4A126911438162FDF757
-:104BD00077FA10BD10B5064CE078FDF70CFB082005
-:104BE000FDF778F90520A07000202070607010BDDE
-:104BF0004C0100207C1D002000050040FD7EFF7F51
-:104C00000A4A022151600A490B68002BFCD09060CF
-:104C100008680028FCD00020506008680028FCD0FC
-:104C200070470120000740697047000000E501401F
-:104C300000E4014070477047704770477047034673
-:104C400010B50B439B070FD1042A0DD308C810C918
-:104C5000121FA342F8D018BA21BA884201D9012004
-:104C600010BD0020C04310BD002A03D0D30703D0DD
-:104C7000521C07E0002010BD03780C78401C491C32
-:104C80001B1B07D103780C78401C491C1B1B01D14E
-:104C9000921EF1D1184610BDF8B5042A2CD3830713
-:104CA00012D00B78491C0370401C521E83070BD096
-:104CB0000B78491C0370401C521E830704D00B78EC
-:104CC000491C0370401C521E8B079B0F05D0C91A4C
-:104CD000DF002023DE1B08C90AE0ECF775FAF8BDF7
-:104CE0001D4608C9FD401C46B4402C4310C0121F8D
-:104CF000042AF5D2F308C91A521EF0D40B78491CC5
-:104D00000370401C521EEAD40B78491C0370401CEF
-:104D1000521EE4D409780170F8BD01E004C0091FF7
-:104D20000429FBD28B0701D50280801CC90700D063
-:104D30000270704700290BD0C30702D00270401CDC
-:104D4000491E022904D3830702D50280801C891ED4
-:104D5000E3E70022EEE70022DFE70378C278194696
-:104D6000437812061B0219438378C0781B04194349
-:104D700011430902090A000608437047020A087035
-:104D80004A70020C8A70020ECA7070470022030932
-:104D90008B4273D3030A8B4258D3030B8B423CD311
-:104DA000030C8B4221D312E003460B437FD4002235
-:104DB00043088B4274D303098B425FD3030A8B42AF
-:104DC00044D3030B8B4228D3030C8B420DD3FF2219
-:104DD000090212BA030C8B4202D31212090265D0E7
-:104DE000030B8B4219D300E0090AC30B8B4201D39A
-:104DF000CB03C01A5241830B8B4201D38B03C01AE1
-:104E00005241430B8B4201D34B03C01A5241030B57
-:104E10008B4201D30B03C01A5241C30A8B4201D308
-:104E2000CB02C01A5241830A8B4201D38B02C01AB3
-:104E30005241430A8B4201D34B02C01A5241030A2A
-:104E40008B4201D30B02C01A5241CDD2C3098B420F
-:104E500001D3CB01C01A524183098B4201D38B018C
-:104E6000C01A524143098B4201D34B01C01A52412F
-:104E700003098B4201D30B01C01A5241C3088B4274
-:104E800001D3CB00C01A524183088B4201D38B005F
-:104E9000C01A524143088B4201D34B00C01A524101
-:104EA000411A00D201465241104670475DE0CA0FD8
-:104EB00000D04942031000D34042534000229C4698
-:104EC00003098B422DD3030A8B4212D3FC228901A2
-:104ED00012BA030A8B420CD3890192118B4208D378
-:104EE000890192118B4204D389013AD0921100E0DA
-:104EF0008909C3098B4201D3CB01C01A52418309EE
-:104F00008B4201D38B01C01A524143098B4201D31A
-:104F10004B01C01A524103098B4201D30B01C01A45
-:104F20005241C3088B4201D3CB00C01A52418308BF
-:104F30008B4201D38B00C01A5241D9D243088B4215
-:104F400001D34B00C01A5241411A00D201466346B8
-:104F500052415B10104601D34042002B00D549421C
-:104F6000704763465B1000D3404201B50020C04645
-:104F7000C04602BD704770477047704710B500F0DB
-:104F800059F810BD30B58C180278401C13071B0F60
-:104F900001D10378401C120906D10278401C03E0BD
-:104FA0000578401C0D70491C5B1EF9D101E00B70A7
-:104FB000491C521EFBD1A142E6D3002030BD0000A7
-:104FC00001231B68134B1860134B1960134B1A60B5
-:104FD0007047134A134B13607246053AF0E7114AC3
-:104FE0000F4B1B689A420ED10D4B002018600198A0
-:104FF0000D4B04B598470CBC9E460246029800999A
-:105000000A4B1B68184706980599094B1B68DB6813
-:105010001847000070010020740100207801002072
-:1050200068010020EFBEADDE5539010028010020E7
-:10503000040000201D481E497047FFF7FBFFECF7F6
-:105040007DF800BD01200007C06AC0B2FF2804D16E
-:10505000184819490968884202D01848184901605F
-:10506000184819490968884203D1184A13605B68D7
-:10507000184700BD20BFFDE7124813490968884260
-:105080000ED1134B18680B498842F3D080F308887F
-:105090001049884204DD1048026802210A43026078
-:1050A0000E4880470E4880470E480047901D00205C
-:1050B000901D0020FFFFFFFF001000102C05004096
-:1050C0000800000000100000000000200400002084
-:1050D0000060010000200020240500406B39010021
-:1050E00045500100C14F01001348704502D1EFF354
-:1050F000098101E0EFF308818869023800781028FF
-:1051000014DB202810DB23280BDB0C4A12680C4B25
-:105110009A4203D1602804DB0A4A10470220086043
-:105120007047094A10470000084A1047084A1268A9
-:105130002C32126810470000FDFFFFFF1C01002009
-:10514000BEBAFECAAD1200002B3A0100033F0100B7
-:10515000040000200D4B0E4908470E4B0C49084730
-:105160000D4B0B4908470D4B094908470C4B0849A3
-:1051700008470C4B064908470B4B054908470B4BA2
-:10518000034908470A4B024908470000052E000062
-:10519000E13D0000BD2F0000873C0000353C0000D1
-:1051A000E9390000B912000063170000493D000012
-:1051B000AB2B000030B47446641E2578641CAB42EF
-:1051C00000D21D46635D5B00E31830BC1847000049
-:1051D00002490020C861203908727047E0030020AE
-:1051E00000020207FFFFFFFF0000FFFF01020408AB
-:1051F00010204080555555D6BE898E00F401FA0026
-:10520000960064004B0032001E00140001000300F1
-:10521000000001000000000000000000000000008D
-:1052200000000000870000000000000000000000F7
-:105230000000000000000203040500000E0F000043
-:10524000705201000800002010000000041100004E
-:10525000805201001800002064010000844F01000A
-:10526000A45201007C010020141C00002011000049
-:105270000249022208681042FCD0704700E200E0B8
-:10528000E1078F56FF9900CD29022B01360100015D
-:1052900000EC3720FB349B5F8074800010027001AB
-:0452A000E4C54F0111
-:00000001FF
--- a/TARGET_ARCH_BLE/TARGET_NORDIC/TARGET_NRF51822/PeripheralNames.h	Fri Jul 25 09:46:51 2014 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,58 +0,0 @@
-/* mbed Microcontroller Library
- * Copyright (c) 2013 Nordic Semiconductor
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-#ifndef MBED_PERIPHERALNAMES_H
-#define MBED_PERIPHERALNAMES_H
-
-#include "cmsis.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define STDIO_UART_TX     TX_PIN_NUMBER
-#define STDIO_UART_RX     RX_PIN_NUMBER
-#define STDIO_UART        UART_0
-
-typedef enum {
-    UART_0 = (int)NRF_UART0_BASE
-} UARTName;
-
-
-typedef enum {
-    SPI_0 = (int)NRF_SPI0_BASE,
-    SPI_1 = (int)NRF_SPI1_BASE,
-    SPIS = (int)NRF_SPIS1_BASE
-} SPIName;
-
-typedef enum {
-    PWM_1 = 0,
-    PWM_2
-} PWMName;
-
-typedef enum {
-    I2C_0 = (int)NRF_TWI0_BASE,
-    I2C_1 = (int)NRF_TWI1_BASE
-} I2CName;
-
-typedef enum {
-    ADC0_0 = (int)NRF_ADC_BASE
-} ADCName;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
--- a/TARGET_ARCH_BLE/TARGET_NORDIC/TARGET_NRF51822/PortNames.h	Fri Jul 25 09:46:51 2014 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,30 +0,0 @@
-/* mbed Microcontroller Library
- * Copyright (c) 2013 Nordic Semiconductor
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-#ifndef MBED_PORTNAMES_H
-#define MBED_PORTNAMES_H
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-typedef enum {
-    Port0 = 0 //GPIO pins 0-31
-} PortName;
-
-#ifdef __cplusplus
-}
-#endif
-#endif
--- a/TARGET_ARCH_BLE/TARGET_NORDIC/TARGET_NRF51822/TARGET_ARCH_BLE/PinNames.h	Fri Jul 25 09:46:51 2014 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,177 +0,0 @@
-/* mbed Microcontroller Library
- * Copyright (c) 2013 Nordic Semiconductor
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-#ifndef MBED_PINNAMES_H
-#define MBED_PINNAMES_H
-
-#include "cmsis.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-typedef enum {
-    PIN_INPUT,
-    PIN_OUTPUT
-} PinDirection;
-
-#define PORT_SHIFT  3
-
-typedef enum {
-    p0  = 0,
-    p1  = 1,
-    p2  = 2,
-    p3  = 3,
-    p4  = 4,
-    p5  = 5,
-    p6  = 6,
-    p7  = 7,
-    p8  = 8,
-    p9  = 9,
-    p10 = 10,
-    p11 = 11,
-    p12 = 12,
-    p13 = 13,
-    p14 = 14,
-    p15 = 15,
-    p16 = 16,
-    p17 = 17,
-    p18 = 18,
-    p19 = 19,
-    p20 = 20,
-    p21 = 21,
-    p22 = 22,
-    p23 = 23,
-    p24 = 24,
-    p25 = 25,
-    p26 = 26,
-    p27 = 27,
-    p28 = 28,
-    p29 = 29,
-    p30 = 30,
-//    p31=31,    
-    
-    P0_0  = p0,
-    P0_1  = p1,
-    P0_2  = p2,
-    P0_3  = p3,
-    P0_4  = p4,
-    P0_5  = p5,
-    P0_6  = p6,
-    P0_7  = p7,
-    
-    P0_8  = p8,
-    P0_9  = p9,
-    P0_10 = p10,
-    P0_11 = p11,
-    P0_12 = p12,
-    P0_13 = p13,
-    P0_14 = p14,
-    P0_15 = p15,
-    
-    P0_16 = p16,
-    P0_17 = p17,
-    P0_18 = p18,
-    P0_19 = p19,
-    P0_20 = p20,
-    P0_21 = p21,
-    P0_22 = p22,
-    P0_23 = p23,
-    
-    P0_24 = p24,
-    P0_25 = p25,
-    P0_26 = p26,
-    P0_27 = p27,
-    P0_28 = p28,
-    P0_29 = p29,
-    P0_30 = p30,
-    
-    LED1  = p30,
-    LED2  = p14,
-    LED3  = p15,
-    LED4  = p16,
-        
-    RX_PIN_NUMBER = p7,
-    TX_PIN_NUMBER = p8,
-    CTS_PIN_NUMBER = p26,
-    RTS_PIN_NUMBER = p27,
-
-    // mBed interface Pins
-    USBTX = TX_PIN_NUMBER,
-    USBRX = RX_PIN_NUMBER,
-        
-    SPI_PSELMOSI0 = p25,
-    SPI_PSELMISO0 = p28,
-    SPI_PSELSS0 = p24,
-    SPI_PSELSCK0 = p29,
-        
-    SPI_PSELMOSI1 = p12,
-    SPI_PSELMISO1 = p13,
-    SPI_PSELSS1 = p14,
-    SPI_PSELSCK1 = p15,
-    
-    SPIS_PSELMOSI = p12,
-    SPIS_PSELMISO = p13,
-    SPIS_PSELSS = p14,    
-    SPIS_PSELSCK = p15,
-
-    I2C_SDA0 = p5,
-    I2C_SCL0 = p6,
-
-    I2C_SDA1 = p13,
-    I2C_SCL1 = p15,
-
-    D0  = p7,
-    D1  = p8,
-    D2  = p9,
-    D3  = p10,
-    D4  = p11,
-    D5  = p12,
-    D6  = p13,
-    D7  = p17,
-    
-    D8  = p18,
-    D9  = p23,
-    D10 = p24,
-    D11 = p25,
-    D12 = p28,
-    D13 = p29,
-
-    D14 = p5,
-    D15 = p6,
-
-    A0  = p1,
-    A1  = p2,
-    A2  = p3,
-    A3  = p4,
-    A4  = p5,
-    A5  = p6,
-
-    // Not connected
-    NC = (int)0xFFFFFFFF
-} PinName;
-
-typedef enum {
-    PullNone = 0,
-    PullDown = 1,
-    PullUp = 3,
-    PullDefault = PullUp
-} PinMode;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
--- a/TARGET_ARCH_BLE/TARGET_NORDIC/TARGET_NRF51822/TARGET_ARCH_BLE/device.h	Fri Jul 25 09:46:51 2014 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,57 +0,0 @@
-/* mbed Microcontroller Library
- * Copyright (c) 2006-2013 ARM Limited
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-#ifndef MBED_DEVICE_H
-#define MBED_DEVICE_H
-
-#define DEVICE_PORTIN           1
-#define DEVICE_PORTOUT          1
-#define DEVICE_PORTINOUT        1
-
-#define DEVICE_INTERRUPTIN      1
-
-#define DEVICE_ANALOGIN         1
-#define DEVICE_ANALOGOUT        0
-
-#define DEVICE_SERIAL           1
-
-#define DEVICE_I2C              1
-#define DEVICE_I2CSLAVE         0
-
-#define DEVICE_SPI              1
-#define DEVICE_SPISLAVE         1
-
-#define DEVICE_CAN              0
-
-#define DEVICE_RTC              0
-
-#define DEVICE_ETHERNET         0
-
-#define DEVICE_PWMOUT           1
-
-#define DEVICE_SEMIHOST         0
-#define DEVICE_LOCALFILESYSTEM  0
-
-#define DEVICE_SLEEP            1
-
-#define DEVICE_DEBUG_AWARENESS  0
-
-#define DEVICE_STDIO_MESSAGES   0
-
-#define DEVICE_ERROR_PATTERN    1
-
-#include "objects.h"
-
-#endif
--- a/TARGET_ARCH_BLE/TARGET_NORDIC/TARGET_NRF51822/gpio_object.h	Fri Jul 25 09:46:51 2014 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,52 +0,0 @@
-/* mbed Microcontroller Library
- * Copyright (c) 2006-2013 ARM Limited
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-#ifndef MBED_GPIO_OBJECT_H
-#define MBED_GPIO_OBJECT_H
-
-#include "mbed_assert.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-typedef struct {
-    PinName  pin;
-    uint32_t mask;
-
-    __IO uint32_t *reg_dir;
-    __IO uint32_t *reg_set;
-    __IO uint32_t *reg_clr;
-    __I  uint32_t *reg_in;
-} gpio_t;
-
-static inline void gpio_write(gpio_t *obj, int value) {
-    MBED_ASSERT(obj->pin != (PinName)NC);
-    if (value)
-        *obj->reg_set = obj->mask;
-    else
-        *obj->reg_clr = obj->mask;
-}
-
-static inline int gpio_read(gpio_t *obj) {
-    MBED_ASSERT(obj->pin != (PinName)NC);
-    return ((*obj->reg_in & obj->mask) ? 1 : 0);
-}
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
--- a/TARGET_ARCH_BLE/TARGET_NORDIC/TARGET_NRF51822/objects.h	Fri Jul 25 09:46:51 2014 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,73 +0,0 @@
-/* mbed Microcontroller Library
- * Copyright (c) 2013 Nordic Semiconductor
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-#ifndef MBED_OBJECTS_H
-#define MBED_OBJECTS_H
-
-#include "cmsis.h"
-#include "PortNames.h"
-#include "PeripheralNames.h"
-#include "PinNames.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-struct serial_s {
-    NRF_UART_Type *uart;
-    int index;
-};
-
-struct spi_s {
-    NRF_SPI_Type *spi;
-    NRF_SPIS_Type *spis;
-};
-
-struct port_s {
-    __IO uint32_t *reg_cnf;
-    __IO uint32_t *reg_out;
-    __I  uint32_t *reg_in;
-    PortName port;
-    uint32_t mask;
-};
-
-struct pwmout_s {
-    PWMName pwm;
-    PinName pin;
-};
-
-struct i2c_s {
-    NRF_TWI_Type *i2c;
-    PinName sda;
-    PinName scl;
-    int freq;
-};
-
-struct analogin_s {
-    ADCName adc;
-    uint8_t adc_pin;
-};
-
-struct gpio_irq_s {
-    uint32_t ch;
-};
-
-#include "gpio_object.h"
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
Binary file TARGET_ARCH_BLE/TOOLCHAIN_ARM_STD/board.o has changed
Binary file TARGET_ARCH_BLE/TOOLCHAIN_ARM_STD/cmsis_nvic.o has changed
Binary file TARGET_ARCH_BLE/TOOLCHAIN_ARM_STD/mbed.ar has changed
Binary file TARGET_ARCH_BLE/TOOLCHAIN_ARM_STD/retarget.o has changed
Binary file TARGET_ARCH_BLE/TOOLCHAIN_ARM_STD/startup_nRF51822.o has changed
Binary file TARGET_ARCH_BLE/TOOLCHAIN_ARM_STD/sys.o has changed
Binary file TARGET_ARCH_BLE/TOOLCHAIN_ARM_STD/system_nrf51822.o has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TARGET_ARCH_BLE/TOOLCHAIN_GCC_ARM/NRF51822.ld	Fri Aug 15 15:28:31 2014 +0100
@@ -0,0 +1,151 @@
+/* Linker script to configure memory regions. */
+
+MEMORY
+{
+  FLASH (rx) : ORIGIN = 0x00016000, LENGTH = 0x2A000
+  RAM (rwx) :  ORIGIN = 0x20002000, LENGTH = 0x2000
+}
+
+OUTPUT_FORMAT ("elf32-littlearm", "elf32-bigarm", "elf32-littlearm")
+
+/* 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
+ */
+ENTRY(Reset_Handler)
+
+SECTIONS
+{
+	.text :
+	{
+		KEEP(*(.Vectors))
+		*(.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*))
+	} > FLASH
+
+
+	.ARM.extab :
+	{
+		*(.ARM.extab* .gnu.linkonce.armextab.*)
+	} > FLASH
+
+	__exidx_start = .;
+	.ARM.exidx :
+	{
+		*(.ARM.exidx* .gnu.linkonce.armexidx.*)
+	} > FLASH
+	__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 = .);
+
+		*(.jcr)
+		. = ALIGN(4);
+		/* All data end */
+		__data_end__ = .;
+
+	} > RAM
+
+	.bss :
+	{
+		. = ALIGN(4);
+		__bss_start__ = .;
+		*(.bss*)
+		*(COMMON)
+		. = ALIGN(4);
+		__bss_end__ = .;
+	} > RAM
+
+	.heap (COPY):
+	{
+		__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 (COPY):
+	{
+		*(.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")
+}
Binary file TARGET_ARCH_BLE/TOOLCHAIN_GCC_ARM/board.o has changed
Binary file TARGET_ARCH_BLE/TOOLCHAIN_GCC_ARM/cmsis_nvic.o has changed
Binary file TARGET_ARCH_BLE/TOOLCHAIN_GCC_ARM/libmbed.a has changed
Binary file TARGET_ARCH_BLE/TOOLCHAIN_GCC_ARM/retarget.o has changed
Binary file TARGET_ARCH_BLE/TOOLCHAIN_GCC_ARM/startup_NRF51822.o has changed
Binary file TARGET_ARCH_BLE/TOOLCHAIN_GCC_ARM/system_nrf51822.o has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TARGET_ARCH_GPRS/TARGET_NXP/TARGET_LPC11UXX/PeripheralPins.h	Fri Aug 15 15:28:31 2014 +0100
@@ -0,0 +1,43 @@
+/* mbed Microcontroller Library
+ * Copyright (c) 2006-2013 ARM Limited
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ 
+#ifndef MBED_PERIPHERALPINS_H
+#define MBED_PERIPHERALPINS_H
+
+#include "pinmap.h"
+#include "PeripheralNames.h"
+
+/************ADC***************/
+extern const PinMap PinMap_ADC[];
+
+/************I2C***************/
+extern const PinMap PinMap_I2C_SDA[];
+extern const PinMap PinMap_I2C_SCL[];
+
+/************UART***************/
+extern const PinMap PinMap_UART_TX[];
+extern const PinMap PinMap_UART_RX[];
+
+/************SPI***************/
+extern const PinMap PinMap_SPI_SCLK[];
+extern const PinMap PinMap_SPI_MOSI[];
+extern const PinMap PinMap_SPI_MISO[];
+extern const PinMap PinMap_SPI_SSEL[];
+
+/************PWM***************/
+extern const PinMap PinMap_PWM[];
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TARGET_ARCH_GPRS/TOOLCHAIN_ARM_MICRO/LPC11U37.sct	Fri Aug 15 15:28:31 2014 +0100
@@ -0,0 +1,20 @@
+
+LR_IROM1 0x00000000 0x20000  {    ; load region size_region (128K)
+  ER_IROM1 0x00000000 0x20000  {  ; load address = execution address
+   *.o (RESET, +First)
+   *(InRoot$$Sections)
+   .ANY (+RO)
+  }
+  ; 8_byte_aligned(48 vect * 4 bytes) =  8_byte_aligned(0xC0) = 0xC0
+  ; 8KB - 0xC0 = 0x1F40
+  RW_IRAM1 0x100000C0 0x1F40  {
+   .ANY (+RW +ZI)
+  }
+  RW_IRAM2 0x20000000 0x800   { ; RW data, I/O Handler RAM
+   .ANY (IOHANDLER_RAM)
+  }
+  RW_IRAM3 0x20004000 0x800   { ; RW data, USB RAM
+   .ANY (USBRAM)
+  }
+}
+
Binary file TARGET_ARCH_GPRS/TOOLCHAIN_ARM_MICRO/board.o has changed
Binary file TARGET_ARCH_GPRS/TOOLCHAIN_ARM_MICRO/cmsis_nvic.o has changed
Binary file TARGET_ARCH_GPRS/TOOLCHAIN_ARM_MICRO/mbed.ar has changed
Binary file TARGET_ARCH_GPRS/TOOLCHAIN_ARM_MICRO/retarget.o has changed
Binary file TARGET_ARCH_GPRS/TOOLCHAIN_ARM_MICRO/startup_LPC11xx.o has changed
Binary file TARGET_ARCH_GPRS/TOOLCHAIN_ARM_MICRO/sys.o has changed
Binary file TARGET_ARCH_GPRS/TOOLCHAIN_ARM_MICRO/system_LPC11Uxx.o has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TARGET_ARCH_GPRS/TOOLCHAIN_ARM_STD/LPC11U37.sct	Fri Aug 15 15:28:31 2014 +0100
@@ -0,0 +1,20 @@
+
+LR_IROM1 0x00000000 0x20000  {    ; load region size_region (128K)
+  ER_IROM1 0x00000000 0x10000  {  ; load address = execution address
+   *.o (RESET, +First)
+   *(InRoot$$Sections)
+   .ANY (+RO)
+  }
+  ; 8_byte_aligned(48 vect * 4 bytes) =  8_byte_aligned(0xC0) = 0xC0
+  ; 8KB - 0xC0 = 0x1F40
+  RW_IRAM1 0x100000C0 0x1F40  {
+   .ANY (+RW +ZI)
+  }
+  RW_IRAM2 0x20000000 0x800   { ; RW data, I/O Handler RAM
+   .ANY (IOHANDLER_RAM)
+  }
+  RW_IRAM3 0x20004000 0x800   { ; RW data, USB RAM
+   .ANY (USBRAM)
+  }
+}
+
Binary file TARGET_ARCH_GPRS/TOOLCHAIN_ARM_STD/board.o has changed
Binary file TARGET_ARCH_GPRS/TOOLCHAIN_ARM_STD/cmsis_nvic.o has changed
Binary file TARGET_ARCH_GPRS/TOOLCHAIN_ARM_STD/mbed.ar has changed
Binary file TARGET_ARCH_GPRS/TOOLCHAIN_ARM_STD/retarget.o has changed
Binary file TARGET_ARCH_GPRS/TOOLCHAIN_ARM_STD/startup_LPC11xx.o has changed
Binary file TARGET_ARCH_GPRS/TOOLCHAIN_ARM_STD/sys.o has changed
Binary file TARGET_ARCH_GPRS/TOOLCHAIN_ARM_STD/system_LPC11Uxx.o has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TARGET_ARCH_GPRS/TOOLCHAIN_GCC_ARM/LPC11U37.ld	Fri Aug 15 15:28:31 2014 +0100
@@ -0,0 +1,151 @@
+/* Linker script to configure memory regions. */
+MEMORY
+{
+  FLASH (rx) : ORIGIN = 0x00000000, LENGTH = 128K
+  RAM (rwx) : ORIGIN = 0x100000C0, LENGTH = 0x1F40
+  USB_RAM (rwx): ORIGIN = 0x20004000, LENGTH = 0x800
+}
+
+/* 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
+ */
+ENTRY(Reset_Handler)
+
+SECTIONS
+{
+    .text :
+    {
+        KEEP(*(.isr_vector))
+        *(.text.Reset_Handler)
+        
+        /* Only vectors and code running at reset are safe to be in first 512
+           bytes since RAM can be mapped into this area for RAM based interrupt
+           vectors. */
+        . = 0x00000200;
+        *(.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*))
+    } > FLASH
+
+    .ARM.extab : 
+    {
+        *(.ARM.extab* .gnu.linkonce.armextab.*)
+    } > FLASH
+
+    __exidx_start = .;
+    .ARM.exidx :
+    {
+        *(.ARM.exidx* .gnu.linkonce.armexidx.*)
+    } > FLASH
+    __exidx_end = .;
+
+    __etext = .;
+        
+    .data : AT (__etext)
+    {
+        __data_start__ = .;
+        *(vtable)
+        *(.data*)
+
+        . = ALIGN(4);
+        /* preinit data */
+        PROVIDE (__preinit_array_start = .);
+        KEEP(*(.preinit_array))
+        PROVIDE (__preinit_array_end = .);
+
+        . = ALIGN(4);
+        /* init data */
+        PROVIDE (__init_array_start = .);
+        KEEP(*(SORT(.init_array.*)))
+        KEEP(*(.init_array))
+        PROVIDE (__init_array_end = .);
+
+
+        . = ALIGN(4);
+        /* finit data */
+        PROVIDE (__fini_array_start = .);
+        KEEP(*(SORT(.fini_array.*)))
+        KEEP(*(.fini_array))
+        PROVIDE (__fini_array_end = .);
+
+        . = ALIGN(4);
+        /* All data end */
+        __data_end__ = .;
+
+    } > RAM
+
+    .bss :
+    {
+        __bss_start__ = .;
+        *(.bss*)
+        *(COMMON)
+        __bss_end__ = .;
+    } > RAM
+    
+    .heap :
+    {
+        __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 :
+    {
+        *(.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")
+}
Binary file TARGET_ARCH_GPRS/TOOLCHAIN_GCC_ARM/libmbed.a has changed
Binary file TARGET_ARCH_GPRS/TOOLCHAIN_GCC_ARM/retarget.o has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TARGET_ARCH_GPRS/TOOLCHAIN_GCC_CR/LPC11U37.ld	Fri Aug 15 15:28:31 2014 +0100
@@ -0,0 +1,155 @@
+/* mbed - LPC11U35 linker script
+ * Based linker script generated by Code Red Technologies Red Suite 4.1
+ */
+GROUP(libgcc.a libc_s.a libstdc++_s.a libm.a libcr_newlib_nohost.a crti.o crtn.o crtbegin.o crtend.o)
+
+MEMORY
+{
+  /* Define each memory region */
+  MFlash32 (rx) : ORIGIN = 0x0, LENGTH = 0x20000 /* 128k */
+  RamLoc8 (rwx) : ORIGIN = 0x100000C0, LENGTH = 0x1F40 /* 8k */
+  RamUsb2 (rwx) : ORIGIN = 0x20004000, LENGTH = 0x800 /* 2k */
+}
+  /* Define a symbol for the top of each memory region */
+  __top_MFlash32 = 0x0 + 0x10000;
+  __top_RamLoc8 = 0x10000000 + 0x1F40;
+  __top_RamUsb2 = 0x20004000 + 0x800;
+
+ENTRY(ResetISR)
+
+SECTIONS
+{
+
+    /* MAIN TEXT SECTION */ 
+    .text : ALIGN(4)
+    {
+        FILL(0xff)
+        KEEP(*(.isr_vector))
+        *(.text.ResetISR)
+        . = 0x200;
+        
+        /* Global Section Table */
+        . = ALIGN(4) ;
+        __section_table_start = .;
+        __data_section_table = .;
+        LONG(LOADADDR(.data));
+        LONG(    ADDR(.data)) ;
+        LONG(  SIZEOF(.data));
+        LONG(LOADADDR(.data_RAM2));
+        LONG(    ADDR(.data_RAM2)) ;
+        LONG(  SIZEOF(.data_RAM2));
+        __data_section_table_end = .;
+        __bss_section_table = .;
+        LONG(    ADDR(.bss));
+        LONG(  SIZEOF(.bss));
+        LONG(    ADDR(.bss_RAM2));
+        LONG(  SIZEOF(.bss_RAM2));
+        __bss_section_table_end = .;
+        __section_table_end = . ;
+        /* End of Global Section Table */
+        
+
+        *(.after_vectors*)
+        
+        *(.text*)
+        *(.rodata .rodata.*)
+        . = ALIGN(4);
+        
+        /* C++ constructors etc */
+        . = ALIGN(4);
+        KEEP(*(.init))
+        
+        . = ALIGN(4);
+        __preinit_array_start = .;
+        KEEP (*(.preinit_array))
+        __preinit_array_end = .;
+        
+        . = ALIGN(4);
+        __init_array_start = .;
+        KEEP (*(SORT(.init_array.*)))
+        KEEP (*(.init_array))
+        __init_array_end = .;
+        
+        KEEP(*(.fini));
+        
+        . = ALIGN(0x4);
+        KEEP (*crtbegin.o(.ctors))
+        KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors))
+        KEEP (*(SORT(.ctors.*)))
+        KEEP (*crtend.o(.ctors))
+        
+        . = ALIGN(0x4);
+        KEEP (*crtbegin.o(.dtors))
+        KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors))
+        KEEP (*(SORT(.dtors.*)))
+        KEEP (*crtend.o(.dtors))
+        /* End C++ */
+    } > MFlash32
+
+    /*
+     * for exception handling/unwind - some Newlib functions (in common
+     * with C++ and STDC++) use this.
+     */
+    .ARM.extab : ALIGN(4)
+    {
+        *(.ARM.extab* .gnu.linkonce.armextab.*)
+    } > MFlash32
+    __exidx_start = .;
+    
+    .ARM.exidx : ALIGN(4)
+    {
+        *(.ARM.exidx* .gnu.linkonce.armexidx.*)
+    } > MFlash32
+    __exidx_end = .;
+    
+    _etext = .;
+        
+    
+    .data_RAM2 : ALIGN(4)
+    {
+       FILL(0xff)
+        *(.data.$RAM2*)
+        *(.data.$RamUsb2*)
+       . = ALIGN(4) ;
+    } > RamUsb2 AT>MFlash32
+    
+    /* MAIN DATA SECTION */
+
+    .uninit_RESERVED : ALIGN(4)
+    {
+        KEEP(*(.bss.$RESERVED*))
+    } > RamLoc8
+
+    .data : ALIGN(4)
+    {
+        FILL(0xff)
+        _data = .;
+        *(vtable)
+        *(.data*)
+        . = ALIGN(4) ;
+        _edata = .;
+    } > RamLoc8 AT>MFlash32
+
+    
+    .bss_RAM2 : ALIGN(4)
+    {
+        *(.bss.$RAM2*)
+        *(.bss.$RamUsb2*)
+       . = ALIGN(4) ;
+    } > RamUsb2
+
+    /* MAIN BSS SECTION */
+    .bss : ALIGN(4)
+    {
+        _bss = .;
+        *(.bss*)
+        *(COMMON)
+        . = ALIGN(4) ;
+        _ebss = .;
+        PROVIDE(end = .);
+        __end__ = .;
+    } > RamLoc8
+    
+    PROVIDE(_pvHeapStart = .);
+    PROVIDE(_vStackTop = __top_RamLoc8 - 0);
+}
Binary file TARGET_ARCH_GPRS/TOOLCHAIN_GCC_CR/libmbed.a has changed
Binary file TARGET_ARCH_GPRS/TOOLCHAIN_GCC_CR/retarget.o has changed
Binary file TARGET_ARCH_PRO/TOOLCHAIN_ARM_STD/board.o has changed
Binary file TARGET_ARCH_PRO/TOOLCHAIN_ARM_STD/cmsis_nvic.o has changed
Binary file TARGET_ARCH_PRO/TOOLCHAIN_ARM_STD/mbed.ar has changed
Binary file TARGET_ARCH_PRO/TOOLCHAIN_ARM_STD/retarget.o has changed
Binary file TARGET_ARCH_PRO/TOOLCHAIN_ARM_STD/sys.o has changed
Binary file TARGET_ARCH_PRO/TOOLCHAIN_ARM_STD/system_LPC17xx.o has changed
Binary file TARGET_ARCH_PRO/TOOLCHAIN_GCC_ARM/libmbed.a has changed
Binary file TARGET_ARCH_PRO/TOOLCHAIN_GCC_ARM/retarget.o has changed
Binary file TARGET_ARCH_PRO/TOOLCHAIN_GCC_CR/libmbed.a has changed
Binary file TARGET_ARCH_PRO/TOOLCHAIN_GCC_CR/retarget.o has changed
Binary file TARGET_ARCH_PRO/TOOLCHAIN_GCC_CS/libmbed.a has changed
Binary file TARGET_ARCH_PRO/TOOLCHAIN_GCC_CS/retarget.o has changed
Binary file TARGET_ARCH_PRO/TOOLCHAIN_IAR/board.o has changed
Binary file TARGET_ARCH_PRO/TOOLCHAIN_IAR/cmsis_nvic.o has changed
Binary file TARGET_ARCH_PRO/TOOLCHAIN_IAR/mbed.a has changed
Binary file TARGET_ARCH_PRO/TOOLCHAIN_IAR/retarget.o has changed
Binary file TARGET_ARCH_PRO/TOOLCHAIN_IAR/startup_LPC17xx.o has changed
Binary file TARGET_ARCH_PRO/TOOLCHAIN_IAR/system_LPC17xx.o has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TARGET_GHI_MBUINO/LPC11Uxx.h	Fri Aug 15 15:28:31 2014 +0100
@@ -0,0 +1,670 @@
+
+/****************************************************************************************************//**
+ * @file     LPC11Uxx.h
+ *
+ *
+ * @brief    CMSIS Cortex-M0 Core Peripheral Access Layer Header File for
+ *           default LPC11Uxx Device Series
+ *
+ * @version  V0.1
+ * @date     21. March 2011
+ *
+ * @note     Generated with SFDGen V2.6 Build 3j (beta) on Thursday, 17.03.2011 13:19:45
+ *
+ *           from CMSIS SVD File 'LPC11U1x_svd.xml' Version 0.1,
+ *           created on Wednesday, 16.03.2011 20:30:42, last modified on Thursday, 17.03.2011 20:19:40
+ *
+ *******************************************************************************************************/
+
+// ################################################################################
+// Minor fix 8 April 2011 - changed LPC_CT32B1_BASE from 0x40014000 to 0x40018000
+// ################################################################################
+
+/** @addtogroup NXP
+  * @{
+  */
+
+/** @addtogroup LPC11Uxx
+  * @{
+  */
+
+#ifndef __LPC11UXX_H__
+#define __LPC11UXX_H__
+
+#ifdef __cplusplus
+extern "C" {
+#endif 
+
+
+#if defined ( __CC_ARM   )
+  #pragma anon_unions
+#endif
+
+ /* Interrupt Number Definition */
+
+typedef enum {
+// -------------------------  Cortex-M0 Processor Exceptions Numbers  -----------------------------
+  Reset_IRQn                        = -15,  /*!<   1  Reset Vector, invoked on Power up and warm reset */
+  NonMaskableInt_IRQn               = -14,  /*!<   2  Non maskable Interrupt, cannot be stopped or preempted */
+  HardFault_IRQn                    = -13,  /*!<   3  Hard Fault, all classes of Fault */
+  SVCall_IRQn                       = -5,   /*!<  11  System Service Call via SVC instruction */
+  DebugMonitor_IRQn                 = -4,   /*!<  12  Debug Monitor                    */
+  PendSV_IRQn                       = -2,   /*!<  14  Pendable request for system service */
+  SysTick_IRQn                      = -1,   /*!<  15  System Tick Timer                */
+// ---------------------------  LPC11Uxx Specific Interrupt Numbers  ------------------------------
+FLEX_INT0_IRQn                = 0,        /*!< All I/O pins can be routed to below 8 interrupts. */
+  FLEX_INT1_IRQn                = 1,
+  FLEX_INT2_IRQn                = 2,
+  FLEX_INT3_IRQn                = 3,
+  FLEX_INT4_IRQn                = 4,   
+  FLEX_INT5_IRQn                = 5,        
+  FLEX_INT6_IRQn                = 6,        
+  FLEX_INT7_IRQn                = 7,        
+  GINT0_IRQn                    = 8,        /*!< Grouped Interrupt 0                              */
+  GINT1_IRQn                    = 9,        /*!< Grouped Interrupt 1                              */
+  Reserved0_IRQn                = 10,       /*!< Reserved Interrupt                               */
+  Reserved1_IRQn                = 11,       
+  Reserved2_IRQn                = 12,       
+  Reserved3_IRQn                = 13,       
+  SSP1_IRQn                     = 14,       /*!< SSP1 Interrupt                                   */
+  I2C_IRQn                      = 15,       /*!< I2C Interrupt                                    */
+  TIMER_16_0_IRQn               = 16,       /*!< 16-bit Timer0 Interrupt                          */
+  TIMER_16_1_IRQn               = 17,       /*!< 16-bit Timer1 Interrupt                          */
+  TIMER_32_0_IRQn               = 18,       /*!< 32-bit Timer0 Interrupt                          */
+  TIMER_32_1_IRQn               = 19,       /*!< 32-bit Timer1 Interrupt                          */
+  SSP0_IRQn                     = 20,       /*!< SSP0 Interrupt                                   */
+  UART_IRQn                     = 21,       /*!< UART Interrupt                                   */
+  USB_IRQn                      = 22,       /*!< USB IRQ Interrupt                                */
+  USB_FIQn                      = 23,       /*!< USB FIQ Interrupt                                */
+  ADC_IRQn                      = 24,       /*!< A/D Converter Interrupt                          */
+  WDT_IRQn                      = 25,       /*!< Watchdog timer Interrupt                         */  
+  BOD_IRQn                      = 26,       /*!< Brown Out Detect(BOD) Interrupt                  */
+  FMC_IRQn                      = 27,       /*!< Flash Memory Controller Interrupt                */
+  Reserved4_IRQn                = 28,       /*!< Reserved Interrupt                               */
+  Reserved5_IRQn                = 29,       /*!< Reserved Interrupt                               */
+  USBWakeup_IRQn                = 30,       /*!< USB wakeup Interrupt                             */
+  Reserved6_IRQn                = 31,       /*!< Reserved Interrupt                               */
+} IRQn_Type;
+
+
+/** @addtogroup Configuration_of_CMSIS
+  * @{
+  */
+
+/* Processor and Core Peripheral Section */ /* Configuration of the Cortex-M0 Processor and Core Peripherals */
+
+#define __MPU_PRESENT             0         /*!< MPU present or not                    */
+#define __NVIC_PRIO_BITS          3         /*!< Number of Bits used for Priority Levels */
+#define __Vendor_SysTickConfig    0         /*!< Set to 1 if different SysTick Config is used */
+/** @} */ /* End of group Configuration_of_CMSIS */
+
+#include "core_cm0.h"                       /*!< Cortex-M0 processor and core peripherals */
+#include "system_LPC11Uxx.h"                /*!< LPC11Uxx System                       */
+
+/** @addtogroup Device_Peripheral_Registers
+  * @{
+  */
+
+
+// ------------------------------------------------------------------------------------------------
+// -----                                          I2C                                         -----
+// ------------------------------------------------------------------------------------------------
+
+
+/**
+  * @brief Product name title=UM10462 Chapter title=LPC11U1x I2C-bus controller Modification date=3/16/2011 Major revision=0 Minor revision=3  (I2C)
+  */
+
+typedef struct {                            /*!< (@ 0x40000000) I2C Structure          */
+  __IO uint32_t CONSET;                     /*!< (@ 0x40000000) I2C Control Set Register */
+  __I  uint32_t STAT;                       /*!< (@ 0x40000004) I2C Status Register */
+  __IO uint32_t DAT;                        /*!< (@ 0x40000008) I2C Data Register.  */
+  __IO uint32_t ADR0;                       /*!< (@ 0x4000000C) I2C Slave Address Register 0 */
+  __IO uint32_t SCLH;                       /*!< (@ 0x40000010) SCH Duty Cycle Register High Half Word */
+  __IO uint32_t SCLL;                       /*!< (@ 0x40000014) SCL Duty Cycle Register Low Half Word */
+  __IO uint32_t CONCLR;                     /*!< (@ 0x40000018) I2C Control Clear Register*/
+  __IO uint32_t MMCTRL;                     /*!< (@ 0x4000001C) Monitor mode control register*/
+  __IO uint32_t ADR1;                       /*!< (@ 0x40000020) I2C Slave Address Register 1*/
+  __IO uint32_t ADR2;                       /*!< (@ 0x40000024) I2C Slave Address Register 2*/
+  __IO uint32_t ADR3;                       /*!< (@ 0x40000028) I2C Slave Address Register 3*/
+  __I  uint32_t DATA_BUFFER;                /*!< (@ 0x4000002C) Data buffer register */
+union{
+  __IO uint32_t MASK[4];                    /*!< (@ 0x40000030) I2C Slave address mask register */
+  struct{
+  __IO uint32_t MASK0;
+  __IO uint32_t MASK1;
+  __IO uint32_t MASK2;
+  __IO uint32_t MASK3;
+  };
+  };
+} LPC_I2C_Type;
+
+
+// ------------------------------------------------------------------------------------------------
+// -----                                         WWDT                                         -----
+// ------------------------------------------------------------------------------------------------
+
+
+/**
+  * @brief Product name title=UM10462 Chapter title=LPC11U1x Windowed Watchdog Timer (WWDT) Modification date=3/16/2011 Major revision=0 Minor revision=3  (WWDT)
+  */
+
+typedef struct {                            /*!< (@ 0x40004000) WWDT Structure         */
+  __IO uint32_t MOD;                        /*!< (@ 0x40004000) Watchdog mode register*/
+  __IO uint32_t TC;                         /*!< (@ 0x40004004) Watchdog timer constant register */
+  __IO uint32_t FEED;                       /*!< (@ 0x40004008) Watchdog feed sequence register */
+  __I  uint32_t TV;                         /*!< (@ 0x4000400C) Watchdog timer value register */
+  __IO uint32_t CLKSEL;                     /*!< (@ 0x40004010) Watchdog clock select register. */
+  __IO uint32_t WARNINT;                    /*!< (@ 0x40004014) Watchdog Warning Interrupt compare value. */
+  __IO uint32_t WINDOW;                     /*!< (@ 0x40004018) Watchdog Window compare value. */
+} LPC_WWDT_Type;
+
+
+// ------------------------------------------------------------------------------------------------
+// -----                                         USART                                        -----
+// ------------------------------------------------------------------------------------------------
+
+
+/**
+  * @brief Product name title=UM10462 Chapter title=LPC11U1x USART Modification date=3/16/2011 Major revision=0 Minor revision=3  (USART)
+  */
+
+typedef struct {                            /*!< (@ 0x40008000) USART Structure        */
+  
+  union {
+    __IO uint32_t DLL;                      /*!< (@ 0x40008000) Divisor Latch LSB. Least significant byte of the baud rate divisor value. The full divisor is used to generate a baud rate from the fractional rate divider. (DLAB=1) */
+    __O  uint32_t THR;                      /*!< (@ 0x40008000) Transmit Holding Register. The next character to be transmitted is written here. (DLAB=0) */
+    __I  uint32_t RBR;                      /*!< (@ 0x40008000) Receiver Buffer Register. Contains the next received character to be read. (DLAB=0) */
+  };
+  
+  union {
+    __IO uint32_t IER;                      /*!< (@ 0x40008004) Interrupt Enable Register. Contains individual interrupt enable bits for the 7 potential USART interrupts. (DLAB=0) */
+    __IO uint32_t DLM;                      /*!< (@ 0x40008004) Divisor Latch MSB. Most significant byte of the baud rate divisor value. The full divisor is used to generate a baud rate from the fractional rate divider. (DLAB=1) */
+  };
+  
+  union {
+    __O  uint32_t FCR;                      /*!< (@ 0x40008008) FIFO Control Register. Controls USART FIFO usage and modes. */
+    __I  uint32_t IIR;                      /*!< (@ 0x40008008) Interrupt ID Register. Identifies which interrupt(s) are pending. */
+  };
+  __IO uint32_t LCR;                        /*!< (@ 0x4000800C) Line Control Register. Contains controls for frame formatting and break generation. */
+  __IO uint32_t MCR;                        /*!< (@ 0x40008010) Modem Control Register. */
+  __I  uint32_t LSR;                        /*!< (@ 0x40008014) Line Status Register. Contains flags for transmit and receive status, including line errors. */
+  __I  uint32_t MSR;                        /*!< (@ 0x40008018) Modem Status Register. */
+  __IO uint32_t SCR;                        /*!< (@ 0x4000801C) Scratch Pad Register. Eight-bit temporary storage for software. */
+  __IO uint32_t ACR;                        /*!< (@ 0x40008020) Auto-baud Control Register. Contains controls for the auto-baud feature. */
+  __IO uint32_t ICR;                        /*!< (@ 0x40008024) IrDA Control Register. Enables and configures the IrDA (remote control) mode. */
+  __IO uint32_t FDR;                        /*!< (@ 0x40008028) Fractional Divider Register. Generates a clock input for the baud rate divider. */
+  __IO uint32_t OSR;                        /*!< (@ 0x4000802C) Oversampling Register. Controls the degree of oversampling during each bit time. */
+  __IO uint32_t TER;                        /*!< (@ 0x40008030) Transmit Enable Register. Turns off USART transmitter for use with software flow control. */
+  __I  uint32_t RESERVED0[3];
+  __IO uint32_t HDEN;                       /*!< (@ 0x40008040) Half duplex enable register. */
+  __I  uint32_t RESERVED1;
+  __IO uint32_t SCICTRL;                    /*!< (@ 0x40008048) Smart Card Interface Control register. Enables and configures the Smart Card Interface feature. */
+  __IO uint32_t RS485CTRL;                  /*!< (@ 0x4000804C) RS-485/EIA-485 Control. Contains controls to configure various aspects of RS-485/EIA-485 modes. */
+  __IO uint32_t RS485ADRMATCH;              /*!< (@ 0x40008050) RS-485/EIA-485 address match. Contains the address match value for RS-485/EIA-485 mode. */
+  __IO uint32_t RS485DLY;                   /*!< (@ 0x40008054) RS-485/EIA-485 direction control delay. */
+  __IO uint32_t SYNCCTRL; 
+} LPC_USART_Type;
+
+
+// ------------------------------------------------------------------------------------------------
+// -----                                        Timer                                       -----
+// ------------------------------------------------------------------------------------------------
+
+
+/**
+  * @brief Product name title=UM10462 Chapter title=LPC11U1x 32-bitcounter/timers CT32B0/1 Modification date=3/16/2011 Major revision=0 Minor revision=3  
+  */
+
+typedef struct {                            /*!< (@ 0x40014000) CT32B0 Structure        */
+  __IO uint32_t IR;                         /*!< (@ 0x40014000) Interrupt Register      */
+  __IO uint32_t TCR;                        /*!< (@ 0x40014004) Timer Control Register  */
+  __IO uint32_t TC;                         /*!< (@ 0x40014008) Timer Counter 		*/
+  __IO uint32_t PR;                         /*!< (@ 0x4001400C) Prescale Register  	*/
+  __IO uint32_t PC;                         /*!< (@ 0x40014010) Prescale Counter	 */
+  __IO uint32_t MCR;                        /*!< (@ 0x40014014) Match Control Register */
+  union {
+  __IO uint32_t MR[4];                      /*!< (@ 0x40014018) Match Register */
+  struct{
+  __IO uint32_t MR0;                        /*!< (@ 0x40018018) Match Register. MR0 */
+  __IO uint32_t MR1;                        /*!< (@ 0x4001801C) Match Register. MR1 */
+  __IO uint32_t MR2;                        /*!< (@ 0x40018020) Match Register. MR2 */
+  __IO uint32_t MR3;                        /*!< (@ 0x40018024) Match Register. MR3 */
+  };
+  };
+  __IO uint32_t CCR;                        /*!< (@ 0x40014028) Capture Control Register */
+  union{
+  __I  uint32_t CR[4];                      /*!< (@ 0x4001402C) Capture Register  */
+    struct{
+  __I  uint32_t CR0;			    /*!< (@ 0x4001802C) Capture Register. CR 0 */
+  __I  uint32_t CR1;			    /*!< (@ 0x40018030) Capture Register. CR 1 */
+  __I  uint32_t CR2;			    /*!< (@ 0x40018034) Capture Register. CR 2 */
+  __I  uint32_t CR3;			    /*!< (@ 0x40018038) Capture Register. CR 3 */
+  };
+  };
+__IO uint32_t EMR;                        /*!< (@ 0x4001403C) External Match Register */
+  __I  uint32_t RESERVED0[12];
+  __IO uint32_t CTCR;                       /*!< (@ 0x40014070) Count Control Register */
+  __IO uint32_t PWMC;                       /*!< (@ 0x40014074) PWM Control Register */
+} LPC_CTxxBx_Type;
+
+
+
+// ------------------------------------------------------------------------------------------------
+// -----                                          ADC                                         -----
+// ------------------------------------------------------------------------------------------------
+
+
+/**
+  * @brief Product name title=UM10462 Chapter title=LPC11U1x ADC Modification date=3/16/2011 Major revision=0 Minor revision=3  (ADC)
+  */
+
+typedef struct {                            /*!< (@ 0x4001C000) ADC Structure          */
+  __IO uint32_t CR;                         /*!< (@ 0x4001C000) A/D Control Register */
+  __IO uint32_t GDR;                        /*!< (@ 0x4001C004) A/D Global Data Register */
+  __I  uint32_t RESERVED0[1];
+  __IO uint32_t INTEN;                      /*!< (@ 0x4001C00C) A/D Interrupt Enable Register */
+  union{
+  __I  uint32_t DR[8];                      /*!< (@ 0x4001C010) A/D Channel Data Register*/
+    struct{
+  __IO uint32_t DR0;                      	/*!< (@ 0x40020010) A/D Channel Data Register 0*/
+  __IO uint32_t DR1;                      	/*!< (@ 0x40020014) A/D Channel Data Register 1*/
+  __IO uint32_t DR2;                      	/*!< (@ 0x40020018) A/D Channel Data Register 2*/
+  __IO uint32_t DR3;                      	/*!< (@ 0x4002001C) A/D Channel Data Register 3*/
+  __IO uint32_t DR4;                      	/*!< (@ 0x40020020) A/D Channel Data Register 4*/
+  __IO uint32_t DR5;                      	/*!< (@ 0x40020024) A/D Channel Data Register 5*/
+  __IO uint32_t DR6;                      	/*!< (@ 0x40020028) A/D Channel Data Register 6*/
+  __IO uint32_t DR7;                      	/*!< (@ 0x4002002C) A/D Channel Data Register 7*/
+  };
+  };
+  __I  uint32_t STAT;                       /*!< (@ 0x4001C030) A/D Status Register.  */
+} LPC_ADC_Type;
+
+
+// ------------------------------------------------------------------------------------------------
+// -----                                          PMU                                         -----
+// ------------------------------------------------------------------------------------------------
+
+
+/**
+  * @brief Product name title=UM10462 Chapter title=LPC11U1x Power Management Unit (PMU) Modification date=3/16/2011 Major revision=0 Minor revision=3  (PMU)
+  */
+
+typedef struct {                            /*!< (@ 0x40038000) PMU Structure          */
+  __IO uint32_t PCON;                       /*!< (@ 0x40038000) Power control register */
+  union{
+  __IO uint32_t GPREG[4];                   /*!< (@ 0x40038004) General purpose register 0 */
+  struct{
+  __IO uint32_t GPREG0;                   	/*!< (@ 0x40038004) General purpose register 0 */
+  __IO uint32_t GPREG1;                   	/*!< (@ 0x40038008) General purpose register 1 */
+  __IO uint32_t GPREG2;                   	/*!< (@ 0x4003800C) General purpose register 2 */
+  __IO uint32_t GPREG3;                   	/*!< (@ 0x40038010) General purpose register 3 */
+  };
+  };
+} LPC_PMU_Type;
+
+
+// ------------------------------------------------------------------------------------------------
+// -----                                       FLASHCTRL                                      -----
+// ------------------------------------------------------------------------------------------------
+
+
+/**
+  * @brief Product name title=UM10462 Chapter title=LPC11U1x Flash programming firmware Modification date=3/17/2011 Major revision=0 Minor revision=3  (FLASHCTRL)
+  */
+
+typedef struct {                            /*!< (@ 0x4003C000) FLASHCTRL Structure    */
+  __I  uint32_t RESERVED0[4];
+  __IO uint32_t FLASHCFG;                   /*!< (@ 0x4003C010) Flash memory access time configuration register */
+  __I  uint32_t RESERVED1[3];
+  __IO uint32_t FMSSTART;                   /*!< (@ 0x4003C020) Signature start address register */
+  __IO uint32_t FMSSTOP;                    /*!< (@ 0x4003C024) Signature stop-address register */
+  __I  uint32_t RESERVED2[1];
+  __I  uint32_t FMSW0;                      /*!< (@ 0x4003C02C) Word 0 [31:0]          */
+  __I  uint32_t FMSW1;                      /*!< (@ 0x4003C030) Word 1 [63:32]         */
+  __I  uint32_t FMSW2;                      /*!< (@ 0x4003C034) Word 2 [95:64]         */
+  __I  uint32_t FMSW3;                      /*!< (@ 0x4003C038) Word 3 [127:96]        */
+  __I  uint32_t RESERVED3[1001];
+  __I  uint32_t FMSTAT;                     /*!< (@ 0x4003CFE0) Signature generation status register */
+  __I  uint32_t RESERVED4[1];
+  __IO uint32_t FMSTATCLR;                  /*!< (@ 0x4003CFE8) Signature generation status clear register */
+} LPC_FLASHCTRL_Type;
+
+
+// ------------------------------------------------------------------------------------------------
+// -----                                         SSP0/1                                         -----
+// ------------------------------------------------------------------------------------------------
+
+
+/**
+  * @brief Product name title=UM10462 Chapter title=LPC11U1x SSP/SPI Modification date=3/16/2011 Major revision=0 Minor revision=3  (SSP0)
+  */
+
+typedef struct {                            /*!< (@ 0x40040000) SSP0 Structure         */
+  __IO uint32_t CR0;                        /*!< (@ 0x40040000) Control Register 0. Selects the serial clock rate, bus type, and data size. */
+  __IO uint32_t CR1;                        /*!< (@ 0x40040004) Control Register 1. Selects master/slave and other modes. */
+  __IO uint32_t DR;                         /*!< (@ 0x40040008) Data Register. Writes fill the transmit FIFO, and reads empty the receive FIFO. */
+  __I  uint32_t SR;                         /*!< (@ 0x4004000C) Status Register        */
+  __IO uint32_t CPSR;                       /*!< (@ 0x40040010) Clock Prescale Register */
+  __IO uint32_t IMSC;                       /*!< (@ 0x40040014) Interrupt Mask Set and Clear Register */
+  __I  uint32_t RIS;                        /*!< (@ 0x40040018) Raw Interrupt Status Register */
+  __I  uint32_t MIS;                        /*!< (@ 0x4004001C) Masked Interrupt Status Register */
+  __IO uint32_t ICR;                        /*!< (@ 0x40040020) SSPICR Interrupt Clear Register */
+} LPC_SSPx_Type;
+
+
+
+// ------------------------------------------------------------------------------------------------
+// -----                                       IOCONFIG                                       -----
+// ------------------------------------------------------------------------------------------------
+
+
+/**
+  * @brief Product name title=UM10462 Chapter title=LPC11U1x I/O configuration Modification date=3/16/2011 Major revision=0 Minor revision=3  (IOCONFIG)
+  */
+
+typedef struct {                            /*!< (@ 0x40044000) IOCONFIG Structure     */
+  __IO uint32_t RESET_PIO0_0;               /*!< (@ 0x40044000) I/O configuration for pin RESET/PIO0_0 */
+  __IO uint32_t PIO0_1;                     /*!< (@ 0x40044004) I/O configuration for pin PIO0_1/CLKOUT/CT32B0_MAT2/USB_FTOGGLE */
+  __IO uint32_t PIO0_2;                     /*!< (@ 0x40044008) I/O configuration for pin PIO0_2/SSEL0/CT16B0_CAP0 */
+  __IO uint32_t PIO0_3;                     /*!< (@ 0x4004400C) I/O configuration for pin PIO0_3/USB_VBUS */
+  __IO uint32_t PIO0_4;                     /*!< (@ 0x40044010) I/O configuration for pin PIO0_4/SCL */
+  __IO uint32_t PIO0_5;                     /*!< (@ 0x40044014) I/O configuration for pin PIO0_5/SDA */
+  __IO uint32_t PIO0_6;                     /*!< (@ 0x40044018) I/O configuration for pin PIO0_6/USB_CONNECT/SCK0 */
+  __IO uint32_t PIO0_7;                     /*!< (@ 0x4004401C) I/O configuration for pin PIO0_7/CTS */
+  __IO uint32_t PIO0_8;                     /*!< (@ 0x40044020) I/O configuration for pin PIO0_8/MISO0/CT16B0_MAT0 */
+  __IO uint32_t PIO0_9;                     /*!< (@ 0x40044024) I/O configuration for pin PIO0_9/MOSI0/CT16B0_MAT1 */
+  __IO uint32_t SWCLK_PIO0_10;              /*!< (@ 0x40044028) I/O configuration for pin SWCLK/PIO0_10/ SCK0/CT16B0_MAT2 */
+  __IO uint32_t TDI_PIO0_11;                /*!< (@ 0x4004402C) I/O configuration for pin TDI/PIO0_11/AD0/CT32B0_MAT3 */
+  __IO uint32_t TMS_PIO0_12;                /*!< (@ 0x40044030) I/O configuration for pin TMS/PIO0_12/AD1/CT32B1_CAP0 */
+  __IO uint32_t TDO_PIO0_13;                /*!< (@ 0x40044034) I/O configuration for pin TDO/PIO0_13/AD2/CT32B1_MAT0 */
+  __IO uint32_t TRST_PIO0_14;               /*!< (@ 0x40044038) I/O configuration for pin TRST/PIO0_14/AD3/CT32B1_MAT1 */
+  __IO uint32_t SWDIO_PIO0_15;              /*!< (@ 0x4004403C) I/O configuration for pin SWDIO/PIO0_15/AD4/CT32B1_MAT2 */
+  __IO uint32_t PIO0_16;                    /*!< (@ 0x40044040) I/O configuration for pin PIO0_16/AD5/CT32B1_MAT3/ WAKEUP */
+  __IO uint32_t PIO0_17;                    /*!< (@ 0x40044044) I/O configuration for pin PIO0_17/RTS/CT32B0_CAP0/SCLK */
+  __IO uint32_t PIO0_18;                    /*!< (@ 0x40044048) I/O configuration for pin PIO0_18/RXD/CT32B0_MAT0 */
+  __IO uint32_t PIO0_19;                    /*!< (@ 0x4004404C) I/O configuration for pin PIO0_19/TXD/CT32B0_MAT1 */
+  __IO uint32_t PIO0_20;                    /*!< (@ 0x40044050) I/O configuration for pin PIO0_20/CT16B1_CAP0 */
+  __IO uint32_t PIO0_21;                    /*!< (@ 0x40044054) I/O configuration for pin PIO0_21/CT16B1_MAT0/MOSI1 */
+  __IO uint32_t PIO0_22;                    /*!< (@ 0x40044058) I/O configuration for pin PIO0_22/AD6/CT16B1_MAT1/MISO1 */
+  __IO uint32_t PIO0_23;                    /*!< (@ 0x4004405C) I/O configuration for pin PIO0_23/AD7 */
+  __IO uint32_t PIO1_0;                 /*!< Offset: 0x060 */
+  __IO uint32_t PIO1_1;         
+  __IO uint32_t PIO1_2;       
+  __IO uint32_t PIO1_3;      
+  __IO uint32_t PIO1_4;                 /*!< Offset: 0x070 */
+  __IO uint32_t PIO1_5;                     /*!< (@ 0x40044074) I/O configuration for pin PIO1_5/CT32B1_CAP1 */
+  __IO uint32_t PIO1_6;     
+  __IO uint32_t PIO1_7;       
+  __IO uint32_t PIO1_8;                 /*!< Offset: 0x080 */
+  __IO uint32_t PIO1_9;        
+  __IO uint32_t PIO1_10;        
+  __IO uint32_t PIO1_11;       
+  __IO uint32_t PIO1_12;                /*!< Offset: 0x090 */
+  __IO uint32_t PIO1_13;                    /*!< (@ 0x40044094) I/O configuration for pin PIO1_13/DTR/CT16B0_MAT0/TXD */
+  __IO uint32_t PIO1_14;                    /*!< (@ 0x40044098) I/O configuration for pin PIO1_14/DSR/CT16B0_MAT1/RXD */
+  __IO uint32_t PIO1_15;                    /*!< (@ 0x4004409C) I/O configuration for pin PIO1_15/DCD/ CT16B0_MAT2/SCK1 */
+  __IO uint32_t PIO1_16;                    /*!< (@ 0x400440A0) I/O configuration for pin PIO1_16/RI/CT16B0_CAP0 */
+  __IO uint32_t PIO1_17;
+  __IO uint32_t PIO1_18;
+  __IO uint32_t PIO1_19;                    /*!< (@ 0x400440AC) I/O configuration for pin PIO1_19/DTR/SSEL1 */
+  __IO uint32_t PIO1_20;                    /*!< (@ 0x400440B0) I/O configuration for pin PIO1_20/DSR/SCK1 */
+  __IO uint32_t PIO1_21;                    /*!< (@ 0x400440B4) I/O configuration for pin PIO1_21/DCD/MISO1 */
+  __IO uint32_t PIO1_22;                    /*!< (@ 0x400440B8) I/O configuration for pin PIO1_22/RI/MOSI1 */
+  __IO uint32_t PIO1_23;                    /*!< (@ 0x400440BC) I/O configuration for pin PIO1_23/CT16B1_MAT1/SSEL1 */
+  __IO uint32_t PIO1_24;                    /*!< (@ 0x400440C0) I/O configuration for pin PIO1_24/ CT32B0_MAT0 */
+  __IO uint32_t PIO1_25;                    /*!< (@ 0x400440C4) I/O configuration for pin PIO1_25/CT32B0_MAT1 */
+  __IO uint32_t PIO1_26;                    /*!< (@ 0x400440C8) I/O configuration for pin PIO1_26/CT32B0_MAT2/ RXD */
+  __IO uint32_t PIO1_27;                    /*!< (@ 0x400440CC) I/O configuration for pin PIO1_27/CT32B0_MAT3/ TXD */
+  __IO uint32_t PIO1_28;                    /*!< (@ 0x400440D0) I/O configuration for pin PIO1_28/CT32B0_CAP0/ SCLK */
+  __IO uint32_t PIO1_29;                    /*!< (@ 0x400440D4) I/O configuration for pin PIO1_29/SCK0/ CT32B0_CAP1 */
+  __IO uint32_t PIO1_30;
+  __IO uint32_t PIO1_31;                    /*!< (@ 0x400440DC) I/O configuration for pin PIO1_31 */
+} LPC_IOCON_Type;
+
+
+// ------------------------------------------------------------------------------------------------
+// -----                                        SYSCON                                        -----
+// ------------------------------------------------------------------------------------------------
+
+
+/**
+  * @brief Product name title=UM10462 Chapter title=LPC11U1x System control block Modification date=3/16/2011 Major revision=0 Minor revision=3  (SYSCON)
+  */
+
+typedef struct {                            /*!< (@ 0x40048000) SYSCON Structure       */
+  __IO uint32_t SYSMEMREMAP;                /*!< (@ 0x40048000) System memory remap    */
+  __IO uint32_t PRESETCTRL;                 /*!< (@ 0x40048004) Peripheral reset control */
+  __IO uint32_t SYSPLLCTRL;                 /*!< (@ 0x40048008) System PLL control     */
+  __I  uint32_t SYSPLLSTAT;                 /*!< (@ 0x4004800C) System PLL status      */
+  __IO uint32_t USBPLLCTRL;                 /*!< (@ 0x40048010) USB PLL control        */
+  __I  uint32_t USBPLLSTAT;                 /*!< (@ 0x40048014) USB PLL status         */
+  __I  uint32_t RESERVED0[2];
+  __IO uint32_t SYSOSCCTRL;                 /*!< (@ 0x40048020) System oscillator control */
+  __IO uint32_t WDTOSCCTRL;                 /*!< (@ 0x40048024) Watchdog oscillator control */
+  __I  uint32_t RESERVED1[2];
+  __IO uint32_t SYSRSTSTAT;                 /*!< (@ 0x40048030) System reset status register */
+  __I  uint32_t RESERVED2[3];
+  __IO uint32_t SYSPLLCLKSEL;               /*!< (@ 0x40048040) System PLL clock source select */
+  __IO uint32_t SYSPLLCLKUEN;               /*!< (@ 0x40048044) System PLL clock source update enable */
+  __IO uint32_t USBPLLCLKSEL;               /*!< (@ 0x40048048) USB PLL clock source select */
+  __IO uint32_t USBPLLCLKUEN;               /*!< (@ 0x4004804C) USB PLL clock source update enable */
+  __I  uint32_t RESERVED3[8];
+  __IO uint32_t MAINCLKSEL;                 /*!< (@ 0x40048070) Main clock source select */
+  __IO uint32_t MAINCLKUEN;                 /*!< (@ 0x40048074) Main clock source update enable */
+  __IO uint32_t SYSAHBCLKDIV;               /*!< (@ 0x40048078) System clock divider   */
+  __I  uint32_t RESERVED4[1];
+  __IO uint32_t SYSAHBCLKCTRL;              /*!< (@ 0x40048080) System clock control   */
+  __I  uint32_t RESERVED5[4];
+  __IO uint32_t SSP0CLKDIV;                 /*!< (@ 0x40048094) SSP0 clock divider     */
+  __IO uint32_t UARTCLKDIV;                 /*!< (@ 0x40048098) UART clock divider     */
+  __IO uint32_t SSP1CLKDIV;                 /*!< (@ 0x4004809C) SSP1 clock divider     */
+  __I  uint32_t RESERVED6[8];
+  __IO uint32_t USBCLKSEL;                  /*!< (@ 0x400480C0) USB clock source select */
+  __IO uint32_t USBCLKUEN;                  /*!< (@ 0x400480C4) USB clock source update enable */
+  __IO uint32_t USBCLKDIV;                  /*!< (@ 0x400480C8) USB clock source divider */
+  __I  uint32_t RESERVED7[5];
+  __IO uint32_t CLKOUTSEL;                  /*!< (@ 0x400480E0) CLKOUT clock source select */
+  __IO uint32_t CLKOUTUEN;                  /*!< (@ 0x400480E4) CLKOUT clock source update enable */
+  __IO uint32_t CLKOUTDIV;                  /*!< (@ 0x400480E8) CLKOUT clock divider   */
+  __I  uint32_t RESERVED8[5];
+  __I  uint32_t PIOPORCAP0;                 /*!< (@ 0x40048100) POR captured PIO status 0 */
+  __I  uint32_t PIOPORCAP1;                 /*!< (@ 0x40048104) POR captured PIO status 1 */
+  __I  uint32_t RESERVED9[18];
+  __IO uint32_t BODCTRL;                    /*!< (@ 0x40048150) Brown-Out Detect       */
+  __IO uint32_t SYSTCKCAL;                  /*!< (@ 0x40048154) System tick counter calibration */
+  __I  uint32_t RESERVED10[6];
+  __IO uint32_t IRQLATENCY;                 /*!< (@ 0x40048170) IQR delay */
+  __IO uint32_t NMISRC;                     /*!< (@ 0x40048174) NMI Source Control     */
+  __IO uint32_t PINTSEL[8];                 /*!< (@ 0x40048178) GPIO Pin Interrupt Select register 0 */
+  __IO uint32_t USBCLKCTRL;                 /*!< (@ 0x40048198) USB clock control      */
+  __I  uint32_t USBCLKST;                   /*!< (@ 0x4004819C) USB clock status       */
+  __I  uint32_t RESERVED11[25];
+  __IO uint32_t STARTERP0;                  /*!< (@ 0x40048204) Start logic 0 interrupt wake-up enable register 0 */
+  __I  uint32_t RESERVED12[3];
+  __IO uint32_t STARTERP1;                  /*!< (@ 0x40048214) Start logic 1 interrupt wake-up enable register 1 */
+  __I  uint32_t RESERVED13[6];
+  __IO uint32_t PDSLEEPCFG;                 /*!< (@ 0x40048230) Power-down states in deep-sleep mode */
+  __IO uint32_t PDAWAKECFG;                 /*!< (@ 0x40048234) Power-down states for wake-up from deep-sleep */
+  __IO uint32_t PDRUNCFG;                   /*!< (@ 0x40048238) Power configuration register */
+  __I  uint32_t RESERVED14[110];
+  __I  uint32_t DEVICE_ID;                  /*!< (@ 0x400483F4) Device ID              */
+} LPC_SYSCON_Type;
+
+
+// ------------------------------------------------------------------------------------------------
+// -----                                     GPIO_PIN_INT                                     -----
+// ------------------------------------------------------------------------------------------------
+
+
+/**
+  * @brief Product name title=UM10462 Chapter title=LPC11U1x GPIO Modification date=3/17/2011 Major revision=0 Minor revision=3  (GPIO_PIN_INT)
+  */
+
+typedef struct {                            /*!< (@ 0x4004C000) GPIO_PIN_INT Structure */
+  __IO uint32_t ISEL;                       /*!< (@ 0x4004C000) Pin Interrupt Mode register */
+  __IO uint32_t IENR;                       /*!< (@ 0x4004C004) Pin Interrupt Enable (Rising) register */
+  __IO uint32_t SIENR;                      /*!< (@ 0x4004C008) Set Pin Interrupt Enable (Rising) register */
+  __IO uint32_t CIENR;                      /*!< (@ 0x4004C00C) Clear Pin Interrupt Enable (Rising) register */
+  __IO uint32_t IENF;                       /*!< (@ 0x4004C010) Pin Interrupt Enable Falling Edge / Active Level register */
+  __IO uint32_t SIENF;                      /*!< (@ 0x4004C014) Set Pin Interrupt Enable Falling Edge / Active Level register */
+  __IO uint32_t CIENF;                      /*!< (@ 0x4004C018) Clear Pin Interrupt Enable Falling Edge / Active Level address */
+  __IO uint32_t RISE;                       /*!< (@ 0x4004C01C) Pin Interrupt Rising Edge register */
+  __IO uint32_t FALL;                       /*!< (@ 0x4004C020) Pin Interrupt Falling Edge register */
+  __IO uint32_t IST;                        /*!< (@ 0x4004C024) Pin Interrupt Status register */
+} LPC_GPIO_PIN_INT_Type;
+
+
+// ------------------------------------------------------------------------------------------------
+// -----                                    GPIO_GROUP_INT0/1                                   -----
+// ------------------------------------------------------------------------------------------------
+
+
+/**
+  * @brief Product name title=UM10462 Chapter title=LPC11U1x GPIO Modification date=3/17/2011 Major revision=0 Minor revision=3  (GPIO_GROUP_INT0)
+  */
+
+typedef struct {                            /*!< (@ 0x4005C000) GPIO_GROUP_INT0 Structure */
+  __IO uint32_t CTRL;                       /*!< (@ 0x4005C000) GPIO grouped interrupt control register */
+  __I  uint32_t RESERVED0[7];
+  __IO uint32_t PORT_POL[2];                /*!< (@ 0x4005C020) GPIO grouped interrupt port 0 polarity register */
+  __I  uint32_t RESERVED1[6];
+  __IO uint32_t PORT_ENA[2];                /*!< (@ 0x4005C040) GPIO grouped interrupt port 0/1 enable register */
+} LPC_GPIO_GROUP_INTx_Type;
+
+
+
+// ------------------------------------------------------------------------------------------------
+// -----                                          USB                                         -----
+// ------------------------------------------------------------------------------------------------
+
+
+/**
+  * @brief Product name title=UM10462 Chapter title=LPC11U1x USB2.0device controller Modification date=3/16/2011 Major revision=0 Minor revision=3  (USB)
+  */
+
+typedef struct {                            /*!< (@ 0x40080000) USB Structure          */
+  __IO uint32_t DEVCMDSTAT;                 /*!< (@ 0x40080000) USB Device Command/Status register */
+  __IO uint32_t INFO;                       /*!< (@ 0x40080004) USB Info register      */
+  __IO uint32_t EPLISTSTART;                /*!< (@ 0x40080008) USB EP Command/Status List start address */
+  __IO uint32_t DATABUFSTART;               /*!< (@ 0x4008000C) USB Data buffer start address */
+  __IO uint32_t LPM;                        /*!< (@ 0x40080010) Link Power Management register */
+  __IO uint32_t EPSKIP;                     /*!< (@ 0x40080014) USB Endpoint skip      */
+  __IO uint32_t EPINUSE;                    /*!< (@ 0x40080018) USB Endpoint Buffer in use */
+  __IO uint32_t EPBUFCFG;                   /*!< (@ 0x4008001C) USB Endpoint Buffer Configuration register */
+  __IO uint32_t INTSTAT;                    /*!< (@ 0x40080020) USB interrupt status register */
+  __IO uint32_t INTEN;                      /*!< (@ 0x40080024) USB interrupt enable register */
+  __IO uint32_t INTSETSTAT;                 /*!< (@ 0x40080028) USB set interrupt status register */
+  __IO uint32_t INTROUTING;                 /*!< (@ 0x4008002C) USB interrupt routing register */
+  __I  uint32_t RESERVED0[1];
+  __I  uint32_t EPTOGGLE;                   /*!< (@ 0x40080034) USB Endpoint toggle register */
+} LPC_USB_Type;
+
+
+// ------------------------------------------------------------------------------------------------
+// -----                                       GPIO_PORT                                      -----
+// ------------------------------------------------------------------------------------------------
+
+
+/**
+  * @brief Product name title=UM10462 Chapter title=LPC11U1x GPIO Modification date=3/17/2011 Major revision=0 Minor revision=3  (GPIO_PORT)
+  */
+
+typedef struct {                            
+  union {
+    struct {
+      __IO uint8_t B0[32];                       /*!< (@ 0x50000000) Byte pin registers port 0; pins PIO0_0 to PIO0_31 */
+      __IO uint8_t B1[32];                       /*!< (@ 0x50000020) Byte pin registers port 1 */
+    };
+    __IO uint8_t B[64];                       /*!< (@ 0x50000000) Byte pin registers port 0/1 */
+  };
+  __I  uint32_t RESERVED0[1008];
+  union {
+    struct {
+      __IO uint32_t W0[32];                      /*!< (@ 0x50001000) Word pin registers port 0 */
+      __IO uint32_t W1[32];                      /*!< (@ 0x50001080) Word pin registers port 1 */
+    };
+    __IO uint32_t W[64];                       /*!< (@ 0x50001000) Word pin registers port 0/1 */
+  };
+       uint32_t RESERVED1[960];
+  __IO uint32_t DIR[2];			/* 0x2000 */
+       uint32_t RESERVED2[30];
+  __IO uint32_t MASK[2];		/* 0x2080 */
+       uint32_t RESERVED3[30];
+  __IO uint32_t PIN[2];			/* 0x2100 */
+       uint32_t RESERVED4[30];
+  __IO uint32_t MPIN[2];		/* 0x2180 */
+       uint32_t RESERVED5[30];
+  __IO uint32_t SET[2];			/* 0x2200 */
+       uint32_t RESERVED6[30];
+  __O  uint32_t CLR[2];			/* 0x2280 */
+       uint32_t RESERVED7[30];
+  __O  uint32_t NOT[2];			/* 0x2300 */
+} LPC_GPIO_Type;
+
+
+#if defined ( __CC_ARM   )
+  #pragma no_anon_unions
+#endif
+
+
+// ------------------------------------------------------------------------------------------------
+// -----                                 Peripheral memory map                                -----
+// ------------------------------------------------------------------------------------------------
+
+#define LPC_I2C_BASE              (0x40000000)
+#define LPC_WWDT_BASE             (0x40004000)
+#define LPC_USART_BASE            (0x40008000)
+#define LPC_CT16B0_BASE           (0x4000C000)
+#define LPC_CT16B1_BASE           (0x40010000)
+#define LPC_CT32B0_BASE           (0x40014000)
+#define LPC_CT32B1_BASE           (0x40018000)
+#define LPC_ADC_BASE              (0x4001C000)
+#define LPC_PMU_BASE              (0x40038000)
+#define LPC_FLASHCTRL_BASE        (0x4003C000)
+#define LPC_SSP0_BASE             (0x40040000)
+#define LPC_SSP1_BASE             (0x40058000)
+#define LPC_IOCON_BASE            (0x40044000)
+#define LPC_SYSCON_BASE           (0x40048000)
+#define LPC_GPIO_PIN_INT_BASE     (0x4004C000)
+#define LPC_GPIO_GROUP_INT0_BASE  (0x4005C000)
+#define LPC_GPIO_GROUP_INT1_BASE  (0x40060000)
+#define LPC_USB_BASE              (0x40080000)
+#define LPC_GPIO_BASE             (0x50000000)
+
+
+// ------------------------------------------------------------------------------------------------
+// -----                                Peripheral declaration                                -----
+// ------------------------------------------------------------------------------------------------
+
+#define LPC_I2C                   ((LPC_I2C_Type            *) LPC_I2C_BASE)
+#define LPC_WWDT                  ((LPC_WWDT_Type           *) LPC_WWDT_BASE)
+#define LPC_USART                 ((LPC_USART_Type          *) LPC_USART_BASE)
+#define LPC_CT16B0                ((LPC_CTxxBx_Type         *) LPC_CT16B0_BASE)
+#define LPC_CT16B1                ((LPC_CTxxBx_Type         *) LPC_CT16B1_BASE)
+#define LPC_CT32B0                ((LPC_CTxxBx_Type         *) LPC_CT32B0_BASE)
+#define LPC_CT32B1                ((LPC_CTxxBx_Type         *) LPC_CT32B1_BASE)
+#define LPC_ADC                   ((LPC_ADC_Type            *) LPC_ADC_BASE)
+#define LPC_PMU                   ((LPC_PMU_Type            *) LPC_PMU_BASE)
+#define LPC_FLASHCTRL             ((LPC_FLASHCTRL_Type      *) LPC_FLASHCTRL_BASE)
+#define LPC_SSP0                  ((LPC_SSPx_Type           *) LPC_SSP0_BASE)
+#define LPC_SSP1                  ((LPC_SSPx_Type           *) LPC_SSP1_BASE)
+#define LPC_IOCON                 ((LPC_IOCON_Type          *) LPC_IOCON_BASE)
+#define LPC_SYSCON                ((LPC_SYSCON_Type         *) LPC_SYSCON_BASE)
+#define LPC_GPIO_PIN_INT          ((LPC_GPIO_PIN_INT_Type   *) LPC_GPIO_PIN_INT_BASE)
+#define LPC_GPIO_GROUP_INT0       ((LPC_GPIO_GROUP_INTx_Type*) LPC_GPIO_GROUP_INT0_BASE)
+#define LPC_GPIO_GROUP_INT1       ((LPC_GPIO_GROUP_INTx_Type*) LPC_GPIO_GROUP_INT1_BASE)
+#define LPC_USB                   ((LPC_USB_Type            *) LPC_USB_BASE)
+#define LPC_GPIO                  ((LPC_GPIO_Type           *) LPC_GPIO_BASE)
+
+
+/** @} */ /* End of group Device_Peripheral_Registers */
+/** @} */ /* End of group (null) */
+/** @} */ /* End of group LPC11Uxx */
+
+#ifdef __cplusplus
+}
+#endif 
+
+
+#endif  // __LPC11UXX_H__
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TARGET_GHI_MBUINO/TARGET_NXP/TARGET_LPC11UXX/PeripheralPins.h	Fri Aug 15 15:28:31 2014 +0100
@@ -0,0 +1,43 @@
+/* mbed Microcontroller Library
+ * Copyright (c) 2006-2013 ARM Limited
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ 
+#ifndef MBED_PERIPHERALPINS_H
+#define MBED_PERIPHERALPINS_H
+
+#include "pinmap.h"
+#include "PeripheralNames.h"
+
+/************ADC***************/
+extern const PinMap PinMap_ADC[];
+
+/************I2C***************/
+extern const PinMap PinMap_I2C_SDA[];
+extern const PinMap PinMap_I2C_SCL[];
+
+/************UART***************/
+extern const PinMap PinMap_UART_TX[];
+extern const PinMap PinMap_UART_RX[];
+
+/************SPI***************/
+extern const PinMap PinMap_SPI_SCLK[];
+extern const PinMap PinMap_SPI_MOSI[];
+extern const PinMap PinMap_SPI_MISO[];
+extern const PinMap PinMap_SPI_SSEL[];
+
+/************PWM***************/
+extern const PinMap PinMap_PWM[];
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TARGET_GHI_MBUINO/TARGET_NXP/TARGET_LPC11UXX/PortNames.h	Fri Aug 15 15:28:31 2014 +0100
@@ -0,0 +1,31 @@
+/* mbed Microcontroller Library
+ * Copyright (c) 2006-2013 ARM Limited
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+#ifndef MBED_PORTNAMES_H
+#define MBED_PORTNAMES_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+typedef enum {
+    Port0 = 0,
+    Port1 = 1
+} PortName;
+
+#ifdef __cplusplus
+}
+#endif
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TARGET_GHI_MBUINO/TARGET_NXP/TARGET_LPC11UXX/TARGET_GHI_MBUINO/PeripheralNames.h	Fri Aug 15 15:28:31 2014 +0100
@@ -0,0 +1,91 @@
+/* mbed Microcontroller Library
+ * Copyright (c) 2006-2013 ARM Limited
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+#ifndef MBED_PERIPHERALNAMES_H
+#define MBED_PERIPHERALNAMES_H
+
+#include "cmsis.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+typedef enum {
+    UART_0 = (int)LPC_USART_BASE
+} UARTName;
+
+typedef enum {
+    I2C_0 = (int)LPC_I2C_BASE
+} I2CName;
+
+typedef enum {
+    ADC0_0 = 0,
+    ADC0_1,
+    ADC0_2,
+    ADC0_3,
+    ADC0_4,
+    ADC0_5,
+    ADC0_6,
+    ADC0_7
+} ADCName;
+
+typedef enum {
+    SPI_0 = (int)LPC_SSP0_BASE,
+    SPI_1 = (int)LPC_SSP1_BASE
+} SPIName;
+
+typedef enum {
+    PWM_1 = 0,
+    PWM_2,
+    PWM_3,
+    PWM_4,
+    PWM_5,
+    PWM_6,
+    PWM_7,
+    PWM_8,
+    PWM_9,
+    PWM_10,
+    PWM_11,
+    PWM_12,
+    PWM_13
+} PWMName;
+
+#define STDIO_UART_TX     USBTX
+#define STDIO_UART_RX     USBRX
+#define STDIO_UART        UART_0
+
+// Default peripherals
+#define MBED_SPI0         P0_9, P0_8, P0_6, P0_2        // MOSI, MISO, CLK, SEL
+#define MBED_SPI1         P0_21, P0_22, P1_15, P01_19   // MOSI, MISO, CLK, SEL
+
+#define MBED_UART0        USBTX, USBRX
+#define MBED_UARTUSB      USBTX, USBRX
+
+#define MBED_I2C0         P0_5, P0_4
+
+#define MBED_ANALOGIN0    P0_11
+#define MBED_ANALOGIN1    P0_12
+#define MBED_ANALOGIN2    P0_13
+#define MBED_ANALOGIN3    P0_14
+#define MBED_ANALOGIN4    P0_15
+#define MBED_ANALOGIN5    P0_16
+#define MBED_ANALOGIN6    P0_22
+#define MBED_ANALOGIN7    P0_23
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TARGET_GHI_MBUINO/TARGET_NXP/TARGET_LPC11UXX/TARGET_GHI_MBUINO/PinNames.h	Fri Aug 15 15:28:31 2014 +0100
@@ -0,0 +1,105 @@
+/* mbed Microcontroller Library
+ * Copyright (c) 2006-2013 ARM Limited
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+#ifndef MBED_PINNAMES_H
+#define MBED_PINNAMES_H
+
+#include "cmsis.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+typedef enum {
+    PIN_INPUT,
+    PIN_OUTPUT
+} PinDirection;
+
+#define PORT_SHIFT  5
+
+typedef enum {
+    // LPC11U24 HVQFN33 Pin Names
+    P0_0 = 0,
+    P0_1 = 1,
+    P0_2 = 2,
+    P0_3 = 3,
+    P0_4 = 4,
+    P0_5 = 5,
+    P0_6 = 6,
+    P0_7 = 7,
+    P0_8 = 8,
+    P0_9 = 9,
+    P0_10 = 10,
+    P0_11 = 11,
+    P0_12 = 12,
+    P0_13 = 13,
+    P0_14 = 14,
+    P0_15 = 15,
+    P0_16 = 16,
+    P0_17 = 17,
+    P0_18 = 18,
+    P0_19 = 19,
+    P0_20 = 20,
+    P0_21 = 21,
+    P0_22 = 22,
+    P0_23 = 23,
+
+    P1_15 = 47,
+    P1_19 = 51,
+
+    // Other mbed Pin Names
+    LED1 = P0_7,
+    LED2 = P0_8,
+    LED3 = P0_2,
+    LED4 = P0_20,
+    LED5 = P1_19,
+    LED6 = P0_17,
+    LED7 = P0_23,
+
+    USBTX = P0_19,
+    USBRX = P0_18,
+
+    I2C_SCL = P0_4,
+    I2C_SDA = P0_5,
+
+    // Not connected
+    NC = (int)0xFFFFFFFF,
+} PinName;
+
+typedef enum {
+    CHANNEL0 = FLEX_INT0_IRQn,
+    CHANNEL1 = FLEX_INT1_IRQn,
+    CHANNEL2 = FLEX_INT2_IRQn,
+    CHANNEL3 = FLEX_INT3_IRQn,
+    CHANNEL4 = FLEX_INT4_IRQn,
+    CHANNEL5 = FLEX_INT5_IRQn,
+    CHANNEL6 = FLEX_INT6_IRQn,
+    CHANNEL7 = FLEX_INT7_IRQn
+} Channel;
+
+typedef enum {
+    PullUp = 2,
+    PullDown = 1,
+    PullNone = 0,
+    Repeater = 3,
+    OpenDrain = 4,
+    PullDefault = PullDown
+} PinMode;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TARGET_GHI_MBUINO/TARGET_NXP/TARGET_LPC11UXX/TARGET_GHI_MBUINO/device.h	Fri Aug 15 15:28:31 2014 +0100
@@ -0,0 +1,59 @@
+/* mbed Microcontroller Library
+ * Copyright (c) 2006-2013 ARM Limited
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+#ifndef MBED_DEVICE_H
+#define MBED_DEVICE_H
+
+#define DEVICE_PORTIN           1
+#define DEVICE_PORTOUT          1
+#define DEVICE_PORTINOUT        1
+
+#define DEVICE_INTERRUPTIN      1
+
+#define DEVICE_ANALOGIN         1
+#define DEVICE_ANALOGOUT        0
+
+#define DEVICE_SERIAL           1
+
+#define DEVICE_I2C              1
+#define DEVICE_I2CSLAVE         1
+
+#define DEVICE_SPI              1
+#define DEVICE_SPISLAVE         1
+
+#define DEVICE_CAN              0
+
+#define DEVICE_RTC              0
+
+#define DEVICE_ETHERNET         0
+
+#define DEVICE_PWMOUT           1
+
+#define DEVICE_SEMIHOST         1
+#define DEVICE_LOCALFILESYSTEM  1
+#define DEVICE_ID_LENGTH       32
+#define DEVICE_MAC_OFFSET      20
+
+#define DEVICE_SLEEP            1
+
+#define DEVICE_DEBUG_AWARENESS  0
+
+#define DEVICE_STDIO_MESSAGES   1
+
+#define DEVICE_ERROR_PATTERN    1
+
+#include "objects.h"
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TARGET_GHI_MBUINO/TARGET_NXP/TARGET_LPC11UXX/gpio_object.h	Fri Aug 15 15:28:31 2014 +0100
@@ -0,0 +1,52 @@
+/* mbed Microcontroller Library
+ * Copyright (c) 2006-2013 ARM Limited
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+#ifndef MBED_GPIO_OBJECT_H
+#define MBED_GPIO_OBJECT_H
+
+#include "mbed_assert.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+typedef struct {
+    PinName  pin;
+    uint32_t mask;
+
+    __IO uint32_t *reg_dir;
+    __IO uint32_t *reg_set;
+    __IO uint32_t *reg_clr;
+    __I  uint32_t *reg_in;
+} gpio_t;
+
+static inline void gpio_write(gpio_t *obj, int value) {
+    MBED_ASSERT(obj->pin != (PinName)NC);
+    if (value)
+        *obj->reg_set = obj->mask;
+    else
+        *obj->reg_clr = obj->mask;
+}
+
+static inline int gpio_read(gpio_t *obj) {
+    MBED_ASSERT(obj->pin != (PinName)NC);
+    return ((*obj->reg_in & obj->mask) ? 1 : 0);
+}
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TARGET_GHI_MBUINO/TARGET_NXP/TARGET_LPC11UXX/objects.h	Fri Aug 15 15:28:31 2014 +0100
@@ -0,0 +1,66 @@
+/* mbed Microcontroller Library
+ * Copyright (c) 2006-2013 ARM Limited
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+#ifndef MBED_OBJECTS_H
+#define MBED_OBJECTS_H
+
+#include "cmsis.h"
+#include "PortNames.h"
+#include "PeripheralNames.h"
+#include "PinNames.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+struct gpio_irq_s {
+    uint32_t ch;
+};
+
+struct port_s {
+    __IO uint32_t *reg_dir;
+    __IO uint32_t *reg_mpin;
+    PortName port;
+    uint32_t mask;
+};
+
+struct pwmout_s {
+    PWMName pwm;
+};
+
+struct serial_s {
+    LPC_USART_Type *uart;
+    int index;
+};
+
+struct analogin_s {
+    ADCName adc;
+};
+
+struct i2c_s {
+    LPC_I2C_Type *i2c;
+};
+
+struct spi_s {
+    LPC_SSPx_Type *spi;
+};
+
+#include "gpio_object.h"
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TARGET_GHI_MBUINO/TOOLCHAIN_ARM_MICRO/LPC11U24.sct	Fri Aug 15 15:28:31 2014 +0100
@@ -0,0 +1,17 @@
+
+LR_IROM1 0x00000000 0x8000  {    ; load region size_region (32k)
+  ER_IROM1 0x00000000 0x8000  {  ; load address = execution address
+   *.o (RESET, +First)
+   *(InRoot$$Sections)
+   .ANY (+RO)
+  }
+  ; 8_byte_aligned(48 vect * 4 bytes) =  8_byte_aligned(0xC0) = 0xC0
+  ; 6KB - 0xC0 = 0x1740
+  RW_IRAM1 0x100000C0 0x1740  {
+   .ANY (+RW +ZI)
+  }
+  RW_IRAM2 0x20004000 0x800   { ; RW data, USB RAM
+   .ANY (USBRAM)
+  }
+}
+
Binary file TARGET_GHI_MBUINO/TOOLCHAIN_ARM_MICRO/board.o has changed
Binary file TARGET_GHI_MBUINO/TOOLCHAIN_ARM_MICRO/cmsis_nvic.o has changed
Binary file TARGET_GHI_MBUINO/TOOLCHAIN_ARM_MICRO/mbed.ar has changed
Binary file TARGET_GHI_MBUINO/TOOLCHAIN_ARM_MICRO/retarget.o has changed
Binary file TARGET_GHI_MBUINO/TOOLCHAIN_ARM_MICRO/startup_LPC11xx.o has changed
Binary file TARGET_GHI_MBUINO/TOOLCHAIN_ARM_MICRO/sys.o has changed
Binary file TARGET_GHI_MBUINO/TOOLCHAIN_ARM_MICRO/system_LPC11Uxx.o has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TARGET_GHI_MBUINO/TOOLCHAIN_ARM_STD/LPC11U24.sct	Fri Aug 15 15:28:31 2014 +0100
@@ -0,0 +1,17 @@
+
+LR_IROM1 0x00000000 0x8000  {    ; load region size_region (32k)
+  ER_IROM1 0x00000000 0x8000  {  ; load address = execution address
+   *.o (RESET, +First)
+   *(InRoot$$Sections)
+   .ANY (+RO)
+  }
+  ; 8_byte_aligned(48 vect * 4 bytes) =  8_byte_aligned(0xC0) = 0xC0
+  ; 6KB - 0xC0 = 0x1740
+  RW_IRAM1 0x100000C0 0x1740  {
+   .ANY (+RW +ZI)
+  }
+  RW_IRAM2 0x20004000 0x800   { ; RW data, USB RAM
+   .ANY (USBRAM)
+  }
+}
+
Binary file TARGET_GHI_MBUINO/TOOLCHAIN_ARM_STD/board.o has changed
Binary file TARGET_GHI_MBUINO/TOOLCHAIN_ARM_STD/cmsis_nvic.o has changed
Binary file TARGET_GHI_MBUINO/TOOLCHAIN_ARM_STD/mbed.ar has changed
Binary file TARGET_GHI_MBUINO/TOOLCHAIN_ARM_STD/retarget.o has changed
Binary file TARGET_GHI_MBUINO/TOOLCHAIN_ARM_STD/startup_LPC11xx.o has changed
Binary file TARGET_GHI_MBUINO/TOOLCHAIN_ARM_STD/sys.o has changed
Binary file TARGET_GHI_MBUINO/TOOLCHAIN_ARM_STD/system_LPC11Uxx.o has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TARGET_GHI_MBUINO/TOOLCHAIN_GCC_ARM/LPC11U24.ld	Fri Aug 15 15:28:31 2014 +0100
@@ -0,0 +1,154 @@
+/* Linker script for mbed LPC1768 */
+
+/* Linker script to configure memory regions. */
+MEMORY
+{
+  FLASH (rx) : ORIGIN = 0x00000000, LENGTH = 32K
+  RAM (rwx) : ORIGIN = 0x100000C0, LENGTH = 0x1740
+  USB_RAM (rwx): ORIGIN = 0x20004000, LENGTH = 0x800
+}
+
+/* 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
+ */
+ENTRY(Reset_Handler)
+
+SECTIONS
+{
+    .text :
+    {
+        KEEP(*(.isr_vector))
+        *(.text.Reset_Handler)
+        *(.text.SystemInit)
+        
+        /* Only vectors and code running at reset are safe to be in first 512
+           bytes since RAM can be mapped into this area for RAM based interrupt
+           vectors. */
+        . = 0x00000200;
+        *(.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*))
+    } > FLASH
+
+    .ARM.extab : 
+    {
+        *(.ARM.extab* .gnu.linkonce.armextab.*)
+    } > FLASH
+
+    __exidx_start = .;
+    .ARM.exidx :
+    {
+        *(.ARM.exidx* .gnu.linkonce.armexidx.*)
+    } > FLASH
+    __exidx_end = .;
+
+    __etext = .;
+        
+    .data : AT (__etext)
+    {
+        __data_start__ = .;
+        *(vtable)
+        *(.data*)
+
+        . = ALIGN(4);
+        /* preinit data */
+        PROVIDE (__preinit_array_start = .);
+        KEEP(*(.preinit_array))
+        PROVIDE (__preinit_array_end = .);
+
+        . = ALIGN(4);
+        /* init data */
+        PROVIDE (__init_array_start = .);
+        KEEP(*(SORT(.init_array.*)))
+        KEEP(*(.init_array))
+        PROVIDE (__init_array_end = .);
+
+
+        . = ALIGN(4);
+        /* finit data */
+        PROVIDE (__fini_array_start = .);
+        KEEP(*(SORT(.fini_array.*)))
+        KEEP(*(.fini_array))
+        PROVIDE (__fini_array_end = .);
+
+        . = ALIGN(4);
+        /* All data end */
+        __data_end__ = .;
+
+    } > RAM
+
+    .bss :
+    {
+        __bss_start__ = .;
+        *(.bss*)
+        *(COMMON)
+        __bss_end__ = .;
+    } > RAM
+    
+    .heap :
+    {
+        __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 :
+    {
+        *(.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")
+}
Binary file TARGET_GHI_MBUINO/TOOLCHAIN_GCC_ARM/board.o has changed
Binary file TARGET_GHI_MBUINO/TOOLCHAIN_GCC_ARM/cmsis_nvic.o has changed
Binary file TARGET_GHI_MBUINO/TOOLCHAIN_GCC_ARM/libmbed.a has changed
Binary file TARGET_GHI_MBUINO/TOOLCHAIN_GCC_ARM/retarget.o has changed
Binary file TARGET_GHI_MBUINO/TOOLCHAIN_GCC_ARM/startup_LPC11xx.o has changed
Binary file TARGET_GHI_MBUINO/TOOLCHAIN_GCC_ARM/system_LPC11Uxx.o has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TARGET_GHI_MBUINO/cmsis.h	Fri Aug 15 15:28:31 2014 +0100
@@ -0,0 +1,13 @@
+/* mbed Microcontroller Library - CMSIS
+ * Copyright (C) 2009-2011 ARM Limited. All rights reserved.
+ * 
+ * A generic CMSIS include header, pulling in LPC11U24 specifics
+ */
+
+#ifndef MBED_CMSIS_H
+#define MBED_CMSIS_H
+
+#include "LPC11Uxx.h"
+#include "cmsis_nvic.h"
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TARGET_GHI_MBUINO/cmsis_nvic.h	Fri Aug 15 15:28:31 2014 +0100
@@ -0,0 +1,26 @@
+/* mbed Microcontroller Library - cmsis_nvic
+ * Copyright (c) 2009-2011 ARM Limited. All rights reserved.
+ *
+ * CMSIS-style functionality to support dynamic vectors
+ */ 
+
+#ifndef MBED_CMSIS_NVIC_H
+#define MBED_CMSIS_NVIC_H
+
+#include "cmsis.h"
+
+#define NVIC_NUM_VECTORS      (16 + 32)   // CORE + MCU Peripherals
+#define NVIC_USER_IRQ_OFFSET  16
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+void NVIC_SetVector(IRQn_Type IRQn, uint32_t vector);
+uint32_t NVIC_GetVector(IRQn_Type IRQn);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TARGET_GHI_MBUINO/core_cm0.h	Fri Aug 15 15:28:31 2014 +0100
@@ -0,0 +1,682 @@
+/**************************************************************************//**
+ * @file     core_cm0.h
+ * @brief    CMSIS Cortex-M0 Core Peripheral Access Layer Header File
+ * @version  V3.20
+ * @date     25. February 2013
+ *
+ * @note
+ *
+ ******************************************************************************/
+/* Copyright (c) 2009 - 2013 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 ARM 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 COPYRIGHT HOLDERS AND CONTRIBUTORS 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.
+   ---------------------------------------------------------------------------*/
+
+
+#if defined ( __ICCARM__ )
+ #pragma system_include  /* treat file as system include file for MISRA check */
+#endif
+
+#ifdef __cplusplus
+ extern "C" {
+#endif
+
+#ifndef __CORE_CM0_H_GENERIC
+#define __CORE_CM0_H_GENERIC
+
+/** \page CMSIS_MISRA_Exceptions  MISRA-C:2004 Compliance Exceptions
+  CMSIS violates the following MISRA-C:2004 rules:
+
+   \li Required Rule 8.5, object/function definition in header file.<br>
+     Function definitions in header files are used to allow 'inlining'.
+
+   \li Required Rule 18.4, declaration of union type or object of union type: '{...}'.<br>
+     Unions are used for effective representation of core registers.
+
+   \li Advisory Rule 19.7, Function-like macro defined.<br>
+     Function-like macros are used to allow more efficient code.
+ */
+
+
+/*******************************************************************************
+ *                 CMSIS definitions
+ ******************************************************************************/
+/** \ingroup Cortex_M0
+  @{
+ */
+
+/*  CMSIS CM0 definitions */
+#define __CM0_CMSIS_VERSION_MAIN  (0x03)                                   /*!< [31:16] CMSIS HAL main version   */
+#define __CM0_CMSIS_VERSION_SUB   (0x20)                                   /*!< [15:0]  CMSIS HAL sub version    */
+#define __CM0_CMSIS_VERSION       ((__CM0_CMSIS_VERSION_MAIN << 16) | \
+                                    __CM0_CMSIS_VERSION_SUB          )     /*!< CMSIS HAL version number         */
+
+#define __CORTEX_M                (0x00)                                   /*!< Cortex-M Core                    */
+
+
+#if   defined ( __CC_ARM )
+  #define __ASM            __asm                                      /*!< asm keyword for ARM Compiler          */
+  #define __INLINE         __inline                                   /*!< inline keyword for ARM Compiler       */
+  #define __STATIC_INLINE  static __inline
+
+#elif defined ( __ICCARM__ )
+  #define __ASM            __asm                                      /*!< asm keyword for IAR Compiler          */
+  #define __INLINE         inline                                     /*!< inline keyword for IAR Compiler. Only available in High optimization mode! */
+  #define __STATIC_INLINE  static inline
+
+#elif defined ( __GNUC__ )
+  #define __ASM            __asm                                      /*!< asm keyword for GNU Compiler          */
+  #define __INLINE         inline                                     /*!< inline keyword for GNU Compiler       */
+  #define __STATIC_INLINE  static inline
+
+#elif defined ( __TASKING__ )
+  #define __ASM            __asm                                      /*!< asm keyword for TASKING Compiler      */
+  #define __INLINE         inline                                     /*!< inline keyword for TASKING Compiler   */
+  #define __STATIC_INLINE  static inline
+
+#endif
+
+/** __FPU_USED indicates whether an FPU is used or not. This core does not support an FPU at all
+*/
+#define __FPU_USED       0
+
+#if defined ( __CC_ARM )
+  #if defined __TARGET_FPU_VFP
+    #warning "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)"
+  #endif
+
+#elif defined ( __ICCARM__ )
+  #if defined __ARMVFP__
+    #warning "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)"
+  #endif
+
+#elif defined ( __GNUC__ )
+  #if defined (__VFP_FP__) && !defined(__SOFTFP__)
+    #warning "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)"
+  #endif
+
+#elif defined ( __TASKING__ )
+  #if defined __FPU_VFP__
+    #error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)"
+  #endif
+#endif
+
+#include <stdint.h>                      /* standard types definitions                      */
+#include <core_cmInstr.h>                /* Core Instruction Access                         */
+#include <core_cmFunc.h>                 /* Core Function Access                            */
+
+#endif /* __CORE_CM0_H_GENERIC */
+
+#ifndef __CMSIS_GENERIC
+
+#ifndef __CORE_CM0_H_DEPENDANT
+#define __CORE_CM0_H_DEPENDANT
+
+/* check device defines and use defaults */
+#if defined __CHECK_DEVICE_DEFINES
+  #ifndef __CM0_REV
+    #define __CM0_REV               0x0000
+    #warning "__CM0_REV not defined in device header file; using default!"
+  #endif
+
+  #ifndef __NVIC_PRIO_BITS
+    #define __NVIC_PRIO_BITS          2
+    #warning "__NVIC_PRIO_BITS not defined in device header file; using default!"
+  #endif
+
+  #ifndef __Vendor_SysTickConfig
+    #define __Vendor_SysTickConfig    0
+    #warning "__Vendor_SysTickConfig not defined in device header file; using default!"
+  #endif
+#endif
+
+/* IO definitions (access restrictions to peripheral registers) */
+/**
+    \defgroup CMSIS_glob_defs CMSIS Global Defines
+
+    <strong>IO Type Qualifiers</strong> are used
+    \li to specify the access to peripheral variables.
+    \li for automatic generation of peripheral register debug information.
+*/
+#ifdef __cplusplus
+  #define   __I     volatile             /*!< Defines 'read only' permissions                 */
+#else
+  #define   __I     volatile const       /*!< Defines 'read only' permissions                 */
+#endif
+#define     __O     volatile             /*!< Defines 'write only' permissions                */
+#define     __IO    volatile             /*!< Defines 'read / write' permissions              */
+
+/*@} end of group Cortex_M0 */
+
+
+
+/*******************************************************************************
+ *                 Register Abstraction
+  Core Register contain:
+  - Core Register
+  - Core NVIC Register
+  - Core SCB Register
+  - Core SysTick Register
+ ******************************************************************************/
+/** \defgroup CMSIS_core_register Defines and Type Definitions
+    \brief Type definitions and defines for Cortex-M processor based devices.
+*/
+
+/** \ingroup    CMSIS_core_register
+    \defgroup   CMSIS_CORE  Status and Control Registers
+    \brief  Core Register type definitions.
+  @{
+ */
+
+/** \brief  Union type to access the Application Program Status Register (APSR).
+ */
+typedef union
+{
+  struct
+  {
+#if (__CORTEX_M != 0x04)
+    uint32_t _reserved0:27;              /*!< bit:  0..26  Reserved                           */
+#else
+    uint32_t _reserved0:16;              /*!< bit:  0..15  Reserved                           */
+    uint32_t GE:4;                       /*!< bit: 16..19  Greater than or Equal flags        */
+    uint32_t _reserved1:7;               /*!< bit: 20..26  Reserved                           */
+#endif
+    uint32_t Q:1;                        /*!< bit:     27  Saturation condition flag          */
+    uint32_t V:1;                        /*!< bit:     28  Overflow condition code flag       */
+    uint32_t C:1;                        /*!< bit:     29  Carry condition code flag          */
+    uint32_t Z:1;                        /*!< bit:     30  Zero condition code flag           */
+    uint32_t N:1;                        /*!< bit:     31  Negative condition code flag       */
+  } b;                                   /*!< Structure used for bit  access                  */
+  uint32_t w;                            /*!< Type      used for word access                  */
+} APSR_Type;
+
+
+/** \brief  Union type to access the Interrupt Program Status Register (IPSR).
+ */
+typedef union
+{
+  struct
+  {
+    uint32_t ISR:9;                      /*!< bit:  0.. 8  Exception number                   */
+    uint32_t _reserved0:23;              /*!< bit:  9..31  Reserved                           */
+  } b;                                   /*!< Structure used for bit  access                  */
+  uint32_t w;                            /*!< Type      used for word access                  */
+} IPSR_Type;
+
+
+/** \brief  Union type to access the Special-Purpose Program Status Registers (xPSR).
+ */
+typedef union
+{
+  struct
+  {
+    uint32_t ISR:9;                      /*!< bit:  0.. 8  Exception number                   */
+#if (__CORTEX_M != 0x04)
+    uint32_t _reserved0:15;              /*!< bit:  9..23  Reserved                           */
+#else
+    uint32_t _reserved0:7;               /*!< bit:  9..15  Reserved                           */
+    uint32_t GE:4;                       /*!< bit: 16..19  Greater than or Equal flags        */
+    uint32_t _reserved1:4;               /*!< bit: 20..23  Reserved                           */
+#endif
+    uint32_t T:1;                        /*!< bit:     24  Thumb bit        (read 0)          */
+    uint32_t IT:2;                       /*!< bit: 25..26  saved IT state   (read 0)          */
+    uint32_t Q:1;                        /*!< bit:     27  Saturation condition flag          */
+    uint32_t V:1;                        /*!< bit:     28  Overflow condition code flag       */
+    uint32_t C:1;                        /*!< bit:     29  Carry condition code flag          */
+    uint32_t Z:1;                        /*!< bit:     30  Zero condition code flag           */
+    uint32_t N:1;                        /*!< bit:     31  Negative condition code flag       */
+  } b;                                   /*!< Structure used for bit  access                  */
+  uint32_t w;                            /*!< Type      used for word access                  */
+} xPSR_Type;
+
+
+/** \brief  Union type to access the Control Registers (CONTROL).
+ */
+typedef union
+{
+  struct
+  {
+    uint32_t nPRIV:1;                    /*!< bit:      0  Execution privilege in Thread mode */
+    uint32_t SPSEL:1;                    /*!< bit:      1  Stack to be used                   */
+    uint32_t FPCA:1;                     /*!< bit:      2  FP extension active flag           */
+    uint32_t _reserved0:29;              /*!< bit:  3..31  Reserved                           */
+  } b;                                   /*!< Structure used for bit  access                  */
+  uint32_t w;                            /*!< Type      used for word access                  */
+} CONTROL_Type;
+
+/*@} end of group CMSIS_CORE */
+
+
+/** \ingroup    CMSIS_core_register
+    \defgroup   CMSIS_NVIC  Nested Vectored Interrupt Controller (NVIC)
+    \brief      Type definitions for the NVIC Registers
+  @{
+ */
+
+/** \brief  Structure type to access the Nested Vectored Interrupt Controller (NVIC).
+ */
+typedef struct
+{
+  __IO uint32_t ISER[1];                 /*!< Offset: 0x000 (R/W)  Interrupt Set Enable Register           */
+       uint32_t RESERVED0[31];
+  __IO uint32_t ICER[1];                 /*!< Offset: 0x080 (R/W)  Interrupt Clear Enable Register          */
+       uint32_t RSERVED1[31];
+  __IO uint32_t ISPR[1];                 /*!< Offset: 0x100 (R/W)  Interrupt Set Pending Register           */
+       uint32_t RESERVED2[31];
+  __IO uint32_t ICPR[1];                 /*!< Offset: 0x180 (R/W)  Interrupt Clear Pending Register         */
+       uint32_t RESERVED3[31];
+       uint32_t RESERVED4[64];
+  __IO uint32_t IP[8];                   /*!< Offset: 0x300 (R/W)  Interrupt Priority Register              */
+}  NVIC_Type;
+
+/*@} end of group CMSIS_NVIC */
+
+
+/** \ingroup  CMSIS_core_register
+    \defgroup CMSIS_SCB     System Control Block (SCB)
+    \brief      Type definitions for the System Control Block Registers
+  @{
+ */
+
+/** \brief  Structure type to access the System Control Block (SCB).
+ */
+typedef struct
+{
+  __I  uint32_t CPUID;                   /*!< Offset: 0x000 (R/ )  CPUID Base Register                                   */
+  __IO uint32_t ICSR;                    /*!< Offset: 0x004 (R/W)  Interrupt Control and State Register                  */
+       uint32_t RESERVED0;
+  __IO uint32_t AIRCR;                   /*!< Offset: 0x00C (R/W)  Application Interrupt and Reset Control Register      */
+  __IO uint32_t SCR;                     /*!< Offset: 0x010 (R/W)  System Control Register                               */
+  __IO uint32_t CCR;                     /*!< Offset: 0x014 (R/W)  Configuration Control Register                        */
+       uint32_t RESERVED1;
+  __IO uint32_t SHP[2];                  /*!< Offset: 0x01C (R/W)  System Handlers Priority Registers. [0] is RESERVED   */
+  __IO uint32_t SHCSR;                   /*!< Offset: 0x024 (R/W)  System Handler Control and State Register             */
+} SCB_Type;
+
+/* SCB CPUID Register Definitions */
+#define SCB_CPUID_IMPLEMENTER_Pos          24                                             /*!< SCB CPUID: IMPLEMENTER Position */
+#define SCB_CPUID_IMPLEMENTER_Msk          (0xFFUL << SCB_CPUID_IMPLEMENTER_Pos)          /*!< SCB CPUID: IMPLEMENTER Mask */
+
+#define SCB_CPUID_VARIANT_Pos              20                                             /*!< SCB CPUID: VARIANT Position */
+#define SCB_CPUID_VARIANT_Msk              (0xFUL << SCB_CPUID_VARIANT_Pos)               /*!< SCB CPUID: VARIANT Mask */
+
+#define SCB_CPUID_ARCHITECTURE_Pos         16                                             /*!< SCB CPUID: ARCHITECTURE Position */
+#define SCB_CPUID_ARCHITECTURE_Msk         (0xFUL << SCB_CPUID_ARCHITECTURE_Pos)          /*!< SCB CPUID: ARCHITECTURE Mask */
+
+#define SCB_CPUID_PARTNO_Pos                4                                             /*!< SCB CPUID: PARTNO Position */
+#define SCB_CPUID_PARTNO_Msk               (0xFFFUL << SCB_CPUID_PARTNO_Pos)              /*!< SCB CPUID: PARTNO Mask */
+
+#define SCB_CPUID_REVISION_Pos              0                                             /*!< SCB CPUID: REVISION Position */
+#define SCB_CPUID_REVISION_Msk             (0xFUL << SCB_CPUID_REVISION_Pos)              /*!< SCB CPUID: REVISION Mask */
+
+/* SCB Interrupt Control State Register Definitions */
+#define SCB_ICSR_NMIPENDSET_Pos            31                                             /*!< SCB ICSR: NMIPENDSET Position */
+#define SCB_ICSR_NMIPENDSET_Msk            (1UL << SCB_ICSR_NMIPENDSET_Pos)               /*!< SCB ICSR: NMIPENDSET Mask */
+
+#define SCB_ICSR_PENDSVSET_Pos             28                                             /*!< SCB ICSR: PENDSVSET Position */
+#define SCB_ICSR_PENDSVSET_Msk             (1UL << SCB_ICSR_PENDSVSET_Pos)                /*!< SCB ICSR: PENDSVSET Mask */
+
+#define SCB_ICSR_PENDSVCLR_Pos             27                                             /*!< SCB ICSR: PENDSVCLR Position */
+#define SCB_ICSR_PENDSVCLR_Msk             (1UL << SCB_ICSR_PENDSVCLR_Pos)                /*!< SCB ICSR: PENDSVCLR Mask */
+
+#define SCB_ICSR_PENDSTSET_Pos             26                                             /*!< SCB ICSR: PENDSTSET Position */
+#define SCB_ICSR_PENDSTSET_Msk             (1UL << SCB_ICSR_PENDSTSET_Pos)                /*!< SCB ICSR: PENDSTSET Mask */
+
+#define SCB_ICSR_PENDSTCLR_Pos             25                                             /*!< SCB ICSR: PENDSTCLR Position */
+#define SCB_ICSR_PENDSTCLR_Msk             (1UL << SCB_ICSR_PENDSTCLR_Pos)                /*!< SCB ICSR: PENDSTCLR Mask */
+
+#define SCB_ICSR_ISRPREEMPT_Pos            23                                             /*!< SCB ICSR: ISRPREEMPT Position */
+#define SCB_ICSR_ISRPREEMPT_Msk            (1UL << SCB_ICSR_ISRPREEMPT_Pos)               /*!< SCB ICSR: ISRPREEMPT Mask */
+
+#define SCB_ICSR_ISRPENDING_Pos            22                                             /*!< SCB ICSR: ISRPENDING Position */
+#define SCB_ICSR_ISRPENDING_Msk            (1UL << SCB_ICSR_ISRPENDING_Pos)               /*!< SCB ICSR: ISRPENDING Mask */
+
+#define SCB_ICSR_VECTPENDING_Pos           12                                             /*!< SCB ICSR: VECTPENDING Position */
+#define SCB_ICSR_VECTPENDING_Msk           (0x1FFUL << SCB_ICSR_VECTPENDING_Pos)          /*!< SCB ICSR: VECTPENDING Mask */
+
+#define SCB_ICSR_VECTACTIVE_Pos             0                                             /*!< SCB ICSR: VECTACTIVE Position */
+#define SCB_ICSR_VECTACTIVE_Msk            (0x1FFUL << SCB_ICSR_VECTACTIVE_Pos)           /*!< SCB ICSR: VECTACTIVE Mask */
+
+/* SCB Application Interrupt and Reset Control Register Definitions */
+#define SCB_AIRCR_VECTKEY_Pos              16                                             /*!< SCB AIRCR: VECTKEY Position */
+#define SCB_AIRCR_VECTKEY_Msk              (0xFFFFUL << SCB_AIRCR_VECTKEY_Pos)            /*!< SCB AIRCR: VECTKEY Mask */
+
+#define SCB_AIRCR_VECTKEYSTAT_Pos          16                                             /*!< SCB AIRCR: VECTKEYSTAT Position */
+#define SCB_AIRCR_VECTKEYSTAT_Msk          (0xFFFFUL << SCB_AIRCR_VECTKEYSTAT_Pos)        /*!< SCB AIRCR: VECTKEYSTAT Mask */
+
+#define SCB_AIRCR_ENDIANESS_Pos            15                                             /*!< SCB AIRCR: ENDIANESS Position */
+#define SCB_AIRCR_ENDIANESS_Msk            (1UL << SCB_AIRCR_ENDIANESS_Pos)               /*!< SCB AIRCR: ENDIANESS Mask */
+
+#define SCB_AIRCR_SYSRESETREQ_Pos           2                                             /*!< SCB AIRCR: SYSRESETREQ Position */
+#define SCB_AIRCR_SYSRESETREQ_Msk          (1UL << SCB_AIRCR_SYSRESETREQ_Pos)             /*!< SCB AIRCR: SYSRESETREQ Mask */
+
+#define SCB_AIRCR_VECTCLRACTIVE_Pos         1                                             /*!< SCB AIRCR: VECTCLRACTIVE Position */
+#define SCB_AIRCR_VECTCLRACTIVE_Msk        (1UL << SCB_AIRCR_VECTCLRACTIVE_Pos)           /*!< SCB AIRCR: VECTCLRACTIVE Mask */
+
+/* SCB System Control Register Definitions */
+#define SCB_SCR_SEVONPEND_Pos               4                                             /*!< SCB SCR: SEVONPEND Position */
+#define SCB_SCR_SEVONPEND_Msk              (1UL << SCB_SCR_SEVONPEND_Pos)                 /*!< SCB SCR: SEVONPEND Mask */
+
+#define SCB_SCR_SLEEPDEEP_Pos               2                                             /*!< SCB SCR: SLEEPDEEP Position */
+#define SCB_SCR_SLEEPDEEP_Msk              (1UL << SCB_SCR_SLEEPDEEP_Pos)                 /*!< SCB SCR: SLEEPDEEP Mask */
+
+#define SCB_SCR_SLEEPONEXIT_Pos             1                                             /*!< SCB SCR: SLEEPONEXIT Position */
+#define SCB_SCR_SLEEPONEXIT_Msk            (1UL << SCB_SCR_SLEEPONEXIT_Pos)               /*!< SCB SCR: SLEEPONEXIT Mask */
+
+/* SCB Configuration Control Register Definitions */
+#define SCB_CCR_STKALIGN_Pos                9                                             /*!< SCB CCR: STKALIGN Position */
+#define SCB_CCR_STKALIGN_Msk               (1UL << SCB_CCR_STKALIGN_Pos)                  /*!< SCB CCR: STKALIGN Mask */
+
+#define SCB_CCR_UNALIGN_TRP_Pos             3                                             /*!< SCB CCR: UNALIGN_TRP Position */
+#define SCB_CCR_UNALIGN_TRP_Msk            (1UL << SCB_CCR_UNALIGN_TRP_Pos)               /*!< SCB CCR: UNALIGN_TRP Mask */
+
+/* SCB System Handler Control and State Register Definitions */
+#define SCB_SHCSR_SVCALLPENDED_Pos         15                                             /*!< SCB SHCSR: SVCALLPENDED Position */
+#define SCB_SHCSR_SVCALLPENDED_Msk         (1UL << SCB_SHCSR_SVCALLPENDED_Pos)            /*!< SCB SHCSR: SVCALLPENDED Mask */
+
+/*@} end of group CMSIS_SCB */
+
+
+/** \ingroup  CMSIS_core_register
+    \defgroup CMSIS_SysTick     System Tick Timer (SysTick)
+    \brief      Type definitions for the System Timer Registers.
+  @{
+ */
+
+/** \brief  Structure type to access the System Timer (SysTick).
+ */
+typedef struct
+{
+  __IO uint32_t CTRL;                    /*!< Offset: 0x000 (R/W)  SysTick Control and Status Register */
+  __IO uint32_t LOAD;                    /*!< Offset: 0x004 (R/W)  SysTick Reload Value Register       */
+  __IO uint32_t VAL;                     /*!< Offset: 0x008 (R/W)  SysTick Current Value Register      */
+  __I  uint32_t CALIB;                   /*!< Offset: 0x00C (R/ )  SysTick Calibration Register        */
+} SysTick_Type;
+
+/* SysTick Control / Status Register Definitions */
+#define SysTick_CTRL_COUNTFLAG_Pos         16                                             /*!< SysTick CTRL: COUNTFLAG Position */
+#define SysTick_CTRL_COUNTFLAG_Msk         (1UL << SysTick_CTRL_COUNTFLAG_Pos)            /*!< SysTick CTRL: COUNTFLAG Mask */
+
+#define SysTick_CTRL_CLKSOURCE_Pos          2                                             /*!< SysTick CTRL: CLKSOURCE Position */
+#define SysTick_CTRL_CLKSOURCE_Msk         (1UL << SysTick_CTRL_CLKSOURCE_Pos)            /*!< SysTick CTRL: CLKSOURCE Mask */
+
+#define SysTick_CTRL_TICKINT_Pos            1                                             /*!< SysTick CTRL: TICKINT Position */
+#define SysTick_CTRL_TICKINT_Msk           (1UL << SysTick_CTRL_TICKINT_Pos)              /*!< SysTick CTRL: TICKINT Mask */
+
+#define SysTick_CTRL_ENABLE_Pos             0                                             /*!< SysTick CTRL: ENABLE Position */
+#define SysTick_CTRL_ENABLE_Msk            (1UL << SysTick_CTRL_ENABLE_Pos)               /*!< SysTick CTRL: ENABLE Mask */
+
+/* SysTick Reload Register Definitions */
+#define SysTick_LOAD_RELOAD_Pos             0                                             /*!< SysTick LOAD: RELOAD Position */
+#define SysTick_LOAD_RELOAD_Msk            (0xFFFFFFUL << SysTick_LOAD_RELOAD_Pos)        /*!< SysTick LOAD: RELOAD Mask */
+
+/* SysTick Current Register Definitions */
+#define SysTick_VAL_CURRENT_Pos             0                                             /*!< SysTick VAL: CURRENT Position */
+#define SysTick_VAL_CURRENT_Msk            (0xFFFFFFUL << SysTick_VAL_CURRENT_Pos)        /*!< SysTick VAL: CURRENT Mask */
+
+/* SysTick Calibration Register Definitions */
+#define SysTick_CALIB_NOREF_Pos            31                                             /*!< SysTick CALIB: NOREF Position */
+#define SysTick_CALIB_NOREF_Msk            (1UL << SysTick_CALIB_NOREF_Pos)               /*!< SysTick CALIB: NOREF Mask */
+
+#define SysTick_CALIB_SKEW_Pos             30                                             /*!< SysTick CALIB: SKEW Position */
+#define SysTick_CALIB_SKEW_Msk             (1UL << SysTick_CALIB_SKEW_Pos)                /*!< SysTick CALIB: SKEW Mask */
+
+#define SysTick_CALIB_TENMS_Pos             0                                             /*!< SysTick CALIB: TENMS Position */
+#define SysTick_CALIB_TENMS_Msk            (0xFFFFFFUL << SysTick_VAL_CURRENT_Pos)        /*!< SysTick CALIB: TENMS Mask */
+
+/*@} end of group CMSIS_SysTick */
+
+
+/** \ingroup  CMSIS_core_register
+    \defgroup CMSIS_CoreDebug       Core Debug Registers (CoreDebug)
+    \brief      Cortex-M0 Core Debug Registers (DCB registers, SHCSR, and DFSR)
+                are only accessible over DAP and not via processor. Therefore
+                they are not covered by the Cortex-M0 header file.
+  @{
+ */
+/*@} end of group CMSIS_CoreDebug */
+
+
+/** \ingroup    CMSIS_core_register
+    \defgroup   CMSIS_core_base     Core Definitions
+    \brief      Definitions for base addresses, unions, and structures.
+  @{
+ */
+
+/* Memory mapping of Cortex-M0 Hardware */
+#define SCS_BASE            (0xE000E000UL)                            /*!< System Control Space Base Address */
+#define SysTick_BASE        (SCS_BASE +  0x0010UL)                    /*!< SysTick Base Address              */
+#define NVIC_BASE           (SCS_BASE +  0x0100UL)                    /*!< NVIC Base Address                 */
+#define SCB_BASE            (SCS_BASE +  0x0D00UL)                    /*!< System Control Block Base Address */
+
+#define SCB                 ((SCB_Type       *)     SCB_BASE      )   /*!< SCB configuration struct           */
+#define SysTick             ((SysTick_Type   *)     SysTick_BASE  )   /*!< SysTick configuration struct       */
+#define NVIC                ((NVIC_Type      *)     NVIC_BASE     )   /*!< NVIC configuration struct          */
+
+
+/*@} */
+
+
+
+/*******************************************************************************
+ *                Hardware Abstraction Layer
+  Core Function Interface contains:
+  - Core NVIC Functions
+  - Core SysTick Functions
+  - Core Register Access Functions
+ ******************************************************************************/
+/** \defgroup CMSIS_Core_FunctionInterface Functions and Instructions Reference
+*/
+
+
+
+/* ##########################   NVIC functions  #################################### */
+/** \ingroup  CMSIS_Core_FunctionInterface
+    \defgroup CMSIS_Core_NVICFunctions NVIC Functions
+    \brief      Functions that manage interrupts and exceptions via the NVIC.
+    @{
+ */
+
+/* Interrupt Priorities are WORD accessible only under ARMv6M                   */
+/* The following MACROS handle generation of the register offset and byte masks */
+#define _BIT_SHIFT(IRQn)         (  (((uint32_t)(IRQn)       )    &  0x03) * 8 )
+#define _SHP_IDX(IRQn)           ( ((((uint32_t)(IRQn) & 0x0F)-8) >>    2)     )
+#define _IP_IDX(IRQn)            (   ((uint32_t)(IRQn)            >>    2)     )
+
+
+/** \brief  Enable External Interrupt
+
+    The function enables a device-specific interrupt in the NVIC interrupt controller.
+
+    \param [in]      IRQn  External interrupt number. Value cannot be negative.
+ */
+__STATIC_INLINE void NVIC_EnableIRQ(IRQn_Type IRQn)
+{
+  NVIC->ISER[0] = (1 << ((uint32_t)(IRQn) & 0x1F));
+}
+
+
+/** \brief  Disable External Interrupt
+
+    The function disables a device-specific interrupt in the NVIC interrupt controller.
+
+    \param [in]      IRQn  External interrupt number. Value cannot be negative.
+ */
+__STATIC_INLINE void NVIC_DisableIRQ(IRQn_Type IRQn)
+{
+  NVIC->ICER[0] = (1 << ((uint32_t)(IRQn) & 0x1F));
+}
+
+
+/** \brief  Get Pending Interrupt
+
+    The function reads the pending register in the NVIC and returns the pending bit
+    for the specified interrupt.
+
+    \param [in]      IRQn  Interrupt number.
+
+    \return             0  Interrupt status is not pending.
+    \return             1  Interrupt status is pending.
+ */
+__STATIC_INLINE uint32_t NVIC_GetPendingIRQ(IRQn_Type IRQn)
+{
+  return((uint32_t) ((NVIC->ISPR[0] & (1 << ((uint32_t)(IRQn) & 0x1F)))?1:0));
+}
+
+
+/** \brief  Set Pending Interrupt
+
+    The function sets the pending bit of an external interrupt.
+
+    \param [in]      IRQn  Interrupt number. Value cannot be negative.
+ */
+__STATIC_INLINE void NVIC_SetPendingIRQ(IRQn_Type IRQn)
+{
+  NVIC->ISPR[0] = (1 << ((uint32_t)(IRQn) & 0x1F));
+}
+
+
+/** \brief  Clear Pending Interrupt
+
+    The function clears the pending bit of an external interrupt.
+
+    \param [in]      IRQn  External interrupt number. Value cannot be negative.
+ */
+__STATIC_INLINE void NVIC_ClearPendingIRQ(IRQn_Type IRQn)
+{
+  NVIC->ICPR[0] = (1 << ((uint32_t)(IRQn) & 0x1F)); /* Clear pending interrupt */
+}
+
+
+/** \brief  Set Interrupt Priority
+
+    The function sets the priority of an interrupt.
+
+    \note The priority cannot be set for every core interrupt.
+
+    \param [in]      IRQn  Interrupt number.
+    \param [in]  priority  Priority to set.
+ */
+__STATIC_INLINE void NVIC_SetPriority(IRQn_Type IRQn, uint32_t priority)
+{
+  if(IRQn < 0) {
+    SCB->SHP[_SHP_IDX(IRQn)] = (SCB->SHP[_SHP_IDX(IRQn)] & ~(0xFF << _BIT_SHIFT(IRQn))) |
+        (((priority << (8 - __NVIC_PRIO_BITS)) & 0xFF) << _BIT_SHIFT(IRQn)); }
+  else {
+    NVIC->IP[_IP_IDX(IRQn)] = (NVIC->IP[_IP_IDX(IRQn)] & ~(0xFF << _BIT_SHIFT(IRQn))) |
+        (((priority << (8 - __NVIC_PRIO_BITS)) & 0xFF) << _BIT_SHIFT(IRQn)); }
+}
+
+
+/** \brief  Get Interrupt Priority
+
+    The function reads the priority of an interrupt. The interrupt
+    number can be positive to specify an external (device specific)
+    interrupt, or negative to specify an internal (core) interrupt.
+
+
+    \param [in]   IRQn  Interrupt number.
+    \return             Interrupt Priority. Value is aligned automatically to the implemented
+                        priority bits of the microcontroller.
+ */
+__STATIC_INLINE uint32_t NVIC_GetPriority(IRQn_Type IRQn)
+{
+
+  if(IRQn < 0) {
+    return((uint32_t)(((SCB->SHP[_SHP_IDX(IRQn)] >> _BIT_SHIFT(IRQn) ) & 0xFF) >> (8 - __NVIC_PRIO_BITS)));  } /* get priority for Cortex-M0 system interrupts */
+  else {
+    return((uint32_t)(((NVIC->IP[ _IP_IDX(IRQn)] >> _BIT_SHIFT(IRQn) ) & 0xFF) >> (8 - __NVIC_PRIO_BITS)));  } /* get priority for device specific interrupts  */
+}
+
+
+/** \brief  System Reset
+
+    The function initiates a system reset request to reset the MCU.
+ */
+__STATIC_INLINE void NVIC_SystemReset(void)
+{
+  __DSB();                                                     /* Ensure all outstanding memory accesses included
+                                                                  buffered write are completed before reset */
+  SCB->AIRCR  = ((0x5FA << SCB_AIRCR_VECTKEY_Pos)      |
+                 SCB_AIRCR_SYSRESETREQ_Msk);
+  __DSB();                                                     /* Ensure completion of memory access */
+  while(1);                                                    /* wait until reset */
+}
+
+/*@} end of CMSIS_Core_NVICFunctions */
+
+
+
+/* ##################################    SysTick function  ############################################ */
+/** \ingroup  CMSIS_Core_FunctionInterface
+    \defgroup CMSIS_Core_SysTickFunctions SysTick Functions
+    \brief      Functions that configure the System.
+  @{
+ */
+
+#if (__Vendor_SysTickConfig == 0)
+
+/** \brief  System Tick Configuration
+
+    The function initializes the System Timer and its interrupt, and starts the System Tick Timer.
+    Counter is in free running mode to generate periodic interrupts.
+
+    \param [in]  ticks  Number of ticks between two interrupts.
+
+    \return          0  Function succeeded.
+    \return          1  Function failed.
+
+    \note     When the variable <b>__Vendor_SysTickConfig</b> is set to 1, then the
+    function <b>SysTick_Config</b> is not included. In this case, the file <b><i>device</i>.h</b>
+    must contain a vendor-specific implementation of this function.
+
+ */
+__STATIC_INLINE uint32_t SysTick_Config(uint32_t ticks)
+{
+  if ((ticks - 1) > SysTick_LOAD_RELOAD_Msk)  return (1);      /* Reload value impossible */
+
+  SysTick->LOAD  = ticks - 1;                                  /* set reload register */
+  NVIC_SetPriority (SysTick_IRQn, (1<<__NVIC_PRIO_BITS) - 1);  /* set Priority for Systick Interrupt */
+  SysTick->VAL   = 0;                                          /* Load the SysTick Counter Value */
+  SysTick->CTRL  = SysTick_CTRL_CLKSOURCE_Msk |
+                   SysTick_CTRL_TICKINT_Msk   |
+                   SysTick_CTRL_ENABLE_Msk;                    /* Enable SysTick IRQ and SysTick Timer */
+  return (0);                                                  /* Function successful */
+}
+
+#endif
+
+/*@} end of CMSIS_Core_SysTickFunctions */
+
+
+
+
+#endif /* __CORE_CM0_H_DEPENDANT */
+
+#endif /* __CMSIS_GENERIC */
+
+#ifdef __cplusplus
+}
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TARGET_GHI_MBUINO/core_cm0plus.h	Fri Aug 15 15:28:31 2014 +0100
@@ -0,0 +1,793 @@
+/**************************************************************************//**
+ * @file     core_cm0plus.h
+ * @brief    CMSIS Cortex-M0+ Core Peripheral Access Layer Header File
+ * @version  V3.20
+ * @date     25. February 2013
+ *
+ * @note
+ *
+ ******************************************************************************/
+/* Copyright (c) 2009 - 2013 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 ARM 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 COPYRIGHT HOLDERS AND CONTRIBUTORS 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.
+   ---------------------------------------------------------------------------*/
+
+
+#if defined ( __ICCARM__ )
+ #pragma system_include  /* treat file as system include file for MISRA check */
+#endif
+
+#ifdef __cplusplus
+ extern "C" {
+#endif
+
+#ifndef __CORE_CM0PLUS_H_GENERIC
+#define __CORE_CM0PLUS_H_GENERIC
+
+/** \page CMSIS_MISRA_Exceptions  MISRA-C:2004 Compliance Exceptions
+  CMSIS violates the following MISRA-C:2004 rules:
+
+   \li Required Rule 8.5, object/function definition in header file.<br>
+     Function definitions in header files are used to allow 'inlining'.
+
+   \li Required Rule 18.4, declaration of union type or object of union type: '{...}'.<br>
+     Unions are used for effective representation of core registers.
+
+   \li Advisory Rule 19.7, Function-like macro defined.<br>
+     Function-like macros are used to allow more efficient code.
+ */
+
+
+/*******************************************************************************
+ *                 CMSIS definitions
+ ******************************************************************************/
+/** \ingroup Cortex-M0+
+  @{
+ */
+
+/*  CMSIS CM0P definitions */
+#define __CM0PLUS_CMSIS_VERSION_MAIN (0x03)                                /*!< [31:16] CMSIS HAL main version   */
+#define __CM0PLUS_CMSIS_VERSION_SUB  (0x20)                                /*!< [15:0]  CMSIS HAL sub version    */
+#define __CM0PLUS_CMSIS_VERSION      ((__CM0PLUS_CMSIS_VERSION_MAIN << 16) | \
+                                       __CM0PLUS_CMSIS_VERSION_SUB)        /*!< CMSIS HAL version number         */
+
+#define __CORTEX_M                (0x00)                                   /*!< Cortex-M Core                    */
+
+
+#if   defined ( __CC_ARM )
+  #define __ASM            __asm                                      /*!< asm keyword for ARM Compiler          */
+  #define __INLINE         __inline                                   /*!< inline keyword for ARM Compiler       */
+  #define __STATIC_INLINE  static __inline
+
+#elif defined ( __ICCARM__ )
+  #define __ASM            __asm                                      /*!< asm keyword for IAR Compiler          */
+  #define __INLINE         inline                                     /*!< inline keyword for IAR Compiler. Only available in High optimization mode! */
+  #define __STATIC_INLINE  static inline
+
+#elif defined ( __GNUC__ )
+  #define __ASM            __asm                                      /*!< asm keyword for GNU Compiler          */
+  #define __INLINE         inline                                     /*!< inline keyword for GNU Compiler       */
+  #define __STATIC_INLINE  static inline
+
+#elif defined ( __TASKING__ )
+  #define __ASM            __asm                                      /*!< asm keyword for TASKING Compiler      */
+  #define __INLINE         inline                                     /*!< inline keyword for TASKING Compiler   */
+  #define __STATIC_INLINE  static inline
+
+#endif
+
+/** __FPU_USED indicates whether an FPU is used or not. This core does not support an FPU at all
+*/
+#define __FPU_USED       0
+
+#if defined ( __CC_ARM )
+  #if defined __TARGET_FPU_VFP
+    #warning "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)"
+  #endif
+
+#elif defined ( __ICCARM__ )
+  #if defined __ARMVFP__
+    #warning "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)"
+  #endif
+
+#elif defined ( __GNUC__ )
+  #if defined (__VFP_FP__) && !defined(__SOFTFP__)
+    #warning "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)"
+  #endif
+
+#elif defined ( __TASKING__ )
+  #if defined __FPU_VFP__
+    #error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)"
+  #endif
+#endif
+
+#include <stdint.h>                      /* standard types definitions                      */
+#include <core_cmInstr.h>                /* Core Instruction Access                         */
+#include <core_cmFunc.h>                 /* Core Function Access                            */
+
+#endif /* __CORE_CM0PLUS_H_GENERIC */
+
+#ifndef __CMSIS_GENERIC
+
+#ifndef __CORE_CM0PLUS_H_DEPENDANT
+#define __CORE_CM0PLUS_H_DEPENDANT
+
+/* check device defines and use defaults */
+#if defined __CHECK_DEVICE_DEFINES
+  #ifndef __CM0PLUS_REV
+    #define __CM0PLUS_REV             0x0000
+    #warning "__CM0PLUS_REV not defined in device header file; using default!"
+  #endif
+
+  #ifndef __MPU_PRESENT
+    #define __MPU_PRESENT             0
+    #warning "__MPU_PRESENT not defined in device header file; using default!"
+  #endif
+
+  #ifndef __VTOR_PRESENT
+    #define __VTOR_PRESENT            0
+    #warning "__VTOR_PRESENT not defined in device header file; using default!"
+  #endif
+
+  #ifndef __NVIC_PRIO_BITS
+    #define __NVIC_PRIO_BITS          2
+    #warning "__NVIC_PRIO_BITS not defined in device header file; using default!"
+  #endif
+
+  #ifndef __Vendor_SysTickConfig
+    #define __Vendor_SysTickConfig    0
+    #warning "__Vendor_SysTickConfig not defined in device header file; using default!"
+  #endif
+#endif
+
+/* IO definitions (access restrictions to peripheral registers) */
+/**
+    \defgroup CMSIS_glob_defs CMSIS Global Defines
+
+    <strong>IO Type Qualifiers</strong> are used
+    \li to specify the access to peripheral variables.
+    \li for automatic generation of peripheral register debug information.
+*/
+#ifdef __cplusplus
+  #define   __I     volatile             /*!< Defines 'read only' permissions                 */
+#else
+  #define   __I     volatile const       /*!< Defines 'read only' permissions                 */
+#endif
+#define     __O     volatile             /*!< Defines 'write only' permissions                */
+#define     __IO    volatile             /*!< Defines 'read / write' permissions              */
+
+/*@} end of group Cortex-M0+ */
+
+
+
+/*******************************************************************************
+ *                 Register Abstraction
+  Core Register contain:
+  - Core Register
+  - Core NVIC Register
+  - Core SCB Register
+  - Core SysTick Register
+  - Core MPU Register
+ ******************************************************************************/
+/** \defgroup CMSIS_core_register Defines and Type Definitions
+    \brief Type definitions and defines for Cortex-M processor based devices.
+*/
+
+/** \ingroup    CMSIS_core_register
+    \defgroup   CMSIS_CORE  Status and Control Registers
+    \brief  Core Register type definitions.
+  @{
+ */
+
+/** \brief  Union type to access the Application Program Status Register (APSR).
+ */
+typedef union
+{
+  struct
+  {
+#if (__CORTEX_M != 0x04)
+    uint32_t _reserved0:27;              /*!< bit:  0..26  Reserved                           */
+#else
+    uint32_t _reserved0:16;              /*!< bit:  0..15  Reserved                           */
+    uint32_t GE:4;                       /*!< bit: 16..19  Greater than or Equal flags        */
+    uint32_t _reserved1:7;               /*!< bit: 20..26  Reserved                           */
+#endif
+    uint32_t Q:1;                        /*!< bit:     27  Saturation condition flag          */
+    uint32_t V:1;                        /*!< bit:     28  Overflow condition code flag       */
+    uint32_t C:1;                        /*!< bit:     29  Carry condition code flag          */
+    uint32_t Z:1;                        /*!< bit:     30  Zero condition code flag           */
+    uint32_t N:1;                        /*!< bit:     31  Negative condition code flag       */
+  } b;                                   /*!< Structure used for bit  access                  */
+  uint32_t w;                            /*!< Type      used for word access                  */
+} APSR_Type;
+
+
+/** \brief  Union type to access the Interrupt Program Status Register (IPSR).
+ */
+typedef union
+{
+  struct
+  {
+    uint32_t ISR:9;                      /*!< bit:  0.. 8  Exception number                   */
+    uint32_t _reserved0:23;              /*!< bit:  9..31  Reserved                           */
+  } b;                                   /*!< Structure used for bit  access                  */
+  uint32_t w;                            /*!< Type      used for word access                  */
+} IPSR_Type;
+
+
+/** \brief  Union type to access the Special-Purpose Program Status Registers (xPSR).
+ */
+typedef union
+{
+  struct
+  {
+    uint32_t ISR:9;                      /*!< bit:  0.. 8  Exception number                   */
+#if (__CORTEX_M != 0x04)
+    uint32_t _reserved0:15;              /*!< bit:  9..23  Reserved                           */
+#else
+    uint32_t _reserved0:7;               /*!< bit:  9..15  Reserved                           */
+    uint32_t GE:4;                       /*!< bit: 16..19  Greater than or Equal flags        */
+    uint32_t _reserved1:4;               /*!< bit: 20..23  Reserved                           */
+#endif
+    uint32_t T:1;                        /*!< bit:     24  Thumb bit        (read 0)          */
+    uint32_t IT:2;                       /*!< bit: 25..26  saved IT state   (read 0)          */
+    uint32_t Q:1;                        /*!< bit:     27  Saturation condition flag          */
+    uint32_t V:1;                        /*!< bit:     28  Overflow condition code flag       */
+    uint32_t C:1;                        /*!< bit:     29  Carry condition code flag          */
+    uint32_t Z:1;                        /*!< bit:     30  Zero condition code flag           */
+    uint32_t N:1;                        /*!< bit:     31  Negative condition code flag       */
+  } b;                                   /*!< Structure used for bit  access                  */
+  uint32_t w;                            /*!< Type      used for word access                  */
+} xPSR_Type;
+
+
+/** \brief  Union type to access the Control Registers (CONTROL).
+ */
+typedef union
+{
+  struct
+  {
+    uint32_t nPRIV:1;                    /*!< bit:      0  Execution privilege in Thread mode */
+    uint32_t SPSEL:1;                    /*!< bit:      1  Stack to be used                   */
+    uint32_t FPCA:1;                     /*!< bit:      2  FP extension active flag           */
+    uint32_t _reserved0:29;              /*!< bit:  3..31  Reserved                           */
+  } b;                                   /*!< Structure used for bit  access                  */
+  uint32_t w;                            /*!< Type      used for word access                  */
+} CONTROL_Type;
+
+/*@} end of group CMSIS_CORE */
+
+
+/** \ingroup    CMSIS_core_register
+    \defgroup   CMSIS_NVIC  Nested Vectored Interrupt Controller (NVIC)
+    \brief      Type definitions for the NVIC Registers
+  @{
+ */
+
+/** \brief  Structure type to access the Nested Vectored Interrupt Controller (NVIC).
+ */
+typedef struct
+{
+  __IO uint32_t ISER[1];                 /*!< Offset: 0x000 (R/W)  Interrupt Set Enable Register           */
+       uint32_t RESERVED0[31];
+  __IO uint32_t ICER[1];                 /*!< Offset: 0x080 (R/W)  Interrupt Clear Enable Register          */
+       uint32_t RSERVED1[31];
+  __IO uint32_t ISPR[1];                 /*!< Offset: 0x100 (R/W)  Interrupt Set Pending Register           */
+       uint32_t RESERVED2[31];
+  __IO uint32_t ICPR[1];                 /*!< Offset: 0x180 (R/W)  Interrupt Clear Pending Register         */
+       uint32_t RESERVED3[31];
+       uint32_t RESERVED4[64];
+  __IO uint32_t IP[8];                   /*!< Offset: 0x300 (R/W)  Interrupt Priority Register              */
+}  NVIC_Type;
+
+/*@} end of group CMSIS_NVIC */
+
+
+/** \ingroup  CMSIS_core_register
+    \defgroup CMSIS_SCB     System Control Block (SCB)
+    \brief      Type definitions for the System Control Block Registers
+  @{
+ */
+
+/** \brief  Structure type to access the System Control Block (SCB).
+ */
+typedef struct
+{
+  __I  uint32_t CPUID;                   /*!< Offset: 0x000 (R/ )  CPUID Base Register                                   */
+  __IO uint32_t ICSR;                    /*!< Offset: 0x004 (R/W)  Interrupt Control and State Register                  */
+#if (__VTOR_PRESENT == 1)
+  __IO uint32_t VTOR;                    /*!< Offset: 0x008 (R/W)  Vector Table Offset Register                          */
+#else
+       uint32_t RESERVED0;
+#endif
+  __IO uint32_t AIRCR;                   /*!< Offset: 0x00C (R/W)  Application Interrupt and Reset Control Register      */
+  __IO uint32_t SCR;                     /*!< Offset: 0x010 (R/W)  System Control Register                               */
+  __IO uint32_t CCR;                     /*!< Offset: 0x014 (R/W)  Configuration Control Register                        */
+       uint32_t RESERVED1;
+  __IO uint32_t SHP[2];                  /*!< Offset: 0x01C (R/W)  System Handlers Priority Registers. [0] is RESERVED   */
+  __IO uint32_t SHCSR;                   /*!< Offset: 0x024 (R/W)  System Handler Control and State Register             */
+} SCB_Type;
+
+/* SCB CPUID Register Definitions */
+#define SCB_CPUID_IMPLEMENTER_Pos          24                                             /*!< SCB CPUID: IMPLEMENTER Position */
+#define SCB_CPUID_IMPLEMENTER_Msk          (0xFFUL << SCB_CPUID_IMPLEMENTER_Pos)          /*!< SCB CPUID: IMPLEMENTER Mask */
+
+#define SCB_CPUID_VARIANT_Pos              20                                             /*!< SCB CPUID: VARIANT Position */
+#define SCB_CPUID_VARIANT_Msk              (0xFUL << SCB_CPUID_VARIANT_Pos)               /*!< SCB CPUID: VARIANT Mask */
+
+#define SCB_CPUID_ARCHITECTURE_Pos         16                                             /*!< SCB CPUID: ARCHITECTURE Position */
+#define SCB_CPUID_ARCHITECTURE_Msk         (0xFUL << SCB_CPUID_ARCHITECTURE_Pos)          /*!< SCB CPUID: ARCHITECTURE Mask */
+
+#define SCB_CPUID_PARTNO_Pos                4                                             /*!< SCB CPUID: PARTNO Position */
+#define SCB_CPUID_PARTNO_Msk               (0xFFFUL << SCB_CPUID_PARTNO_Pos)              /*!< SCB CPUID: PARTNO Mask */
+
+#define SCB_CPUID_REVISION_Pos              0                                             /*!< SCB CPUID: REVISION Position */
+#define SCB_CPUID_REVISION_Msk             (0xFUL << SCB_CPUID_REVISION_Pos)              /*!< SCB CPUID: REVISION Mask */
+
+/* SCB Interrupt Control State Register Definitions */
+#define SCB_ICSR_NMIPENDSET_Pos            31                                             /*!< SCB ICSR: NMIPENDSET Position */
+#define SCB_ICSR_NMIPENDSET_Msk            (1UL << SCB_ICSR_NMIPENDSET_Pos)               /*!< SCB ICSR: NMIPENDSET Mask */
+
+#define SCB_ICSR_PENDSVSET_Pos             28                                             /*!< SCB ICSR: PENDSVSET Position */
+#define SCB_ICSR_PENDSVSET_Msk             (1UL << SCB_ICSR_PENDSVSET_Pos)                /*!< SCB ICSR: PENDSVSET Mask */
+
+#define SCB_ICSR_PENDSVCLR_Pos             27                                             /*!< SCB ICSR: PENDSVCLR Position */
+#define SCB_ICSR_PENDSVCLR_Msk             (1UL << SCB_ICSR_PENDSVCLR_Pos)                /*!< SCB ICSR: PENDSVCLR Mask */
+
+#define SCB_ICSR_PENDSTSET_Pos             26                                             /*!< SCB ICSR: PENDSTSET Position */
+#define SCB_ICSR_PENDSTSET_Msk             (1UL << SCB_ICSR_PENDSTSET_Pos)                /*!< SCB ICSR: PENDSTSET Mask */
+
+#define SCB_ICSR_PENDSTCLR_Pos             25                                             /*!< SCB ICSR: PENDSTCLR Position */
+#define SCB_ICSR_PENDSTCLR_Msk             (1UL << SCB_ICSR_PENDSTCLR_Pos)                /*!< SCB ICSR: PENDSTCLR Mask */
+
+#define SCB_ICSR_ISRPREEMPT_Pos            23                                             /*!< SCB ICSR: ISRPREEMPT Position */
+#define SCB_ICSR_ISRPREEMPT_Msk            (1UL << SCB_ICSR_ISRPREEMPT_Pos)               /*!< SCB ICSR: ISRPREEMPT Mask */
+
+#define SCB_ICSR_ISRPENDING_Pos            22                                             /*!< SCB ICSR: ISRPENDING Position */
+#define SCB_ICSR_ISRPENDING_Msk            (1UL << SCB_ICSR_ISRPENDING_Pos)               /*!< SCB ICSR: ISRPENDING Mask */
+
+#define SCB_ICSR_VECTPENDING_Pos           12                                             /*!< SCB ICSR: VECTPENDING Position */
+#define SCB_ICSR_VECTPENDING_Msk           (0x1FFUL << SCB_ICSR_VECTPENDING_Pos)          /*!< SCB ICSR: VECTPENDING Mask */
+
+#define SCB_ICSR_VECTACTIVE_Pos             0                                             /*!< SCB ICSR: VECTACTIVE Position */
+#define SCB_ICSR_VECTACTIVE_Msk            (0x1FFUL << SCB_ICSR_VECTACTIVE_Pos)           /*!< SCB ICSR: VECTACTIVE Mask */
+
+#if (__VTOR_PRESENT == 1)
+/* SCB Interrupt Control State Register Definitions */
+#define SCB_VTOR_TBLOFF_Pos                 8                                             /*!< SCB VTOR: TBLOFF Position */
+#define SCB_VTOR_TBLOFF_Msk                (0xFFFFFFUL << SCB_VTOR_TBLOFF_Pos)            /*!< SCB VTOR: TBLOFF Mask */
+#endif
+
+/* SCB Application Interrupt and Reset Control Register Definitions */
+#define SCB_AIRCR_VECTKEY_Pos              16                                             /*!< SCB AIRCR: VECTKEY Position */
+#define SCB_AIRCR_VECTKEY_Msk              (0xFFFFUL << SCB_AIRCR_VECTKEY_Pos)            /*!< SCB AIRCR: VECTKEY Mask */
+
+#define SCB_AIRCR_VECTKEYSTAT_Pos          16                                             /*!< SCB AIRCR: VECTKEYSTAT Position */
+#define SCB_AIRCR_VECTKEYSTAT_Msk          (0xFFFFUL << SCB_AIRCR_VECTKEYSTAT_Pos)        /*!< SCB AIRCR: VECTKEYSTAT Mask */
+
+#define SCB_AIRCR_ENDIANESS_Pos            15                                             /*!< SCB AIRCR: ENDIANESS Position */
+#define SCB_AIRCR_ENDIANESS_Msk            (1UL << SCB_AIRCR_ENDIANESS_Pos)               /*!< SCB AIRCR: ENDIANESS Mask */
+
+#define SCB_AIRCR_SYSRESETREQ_Pos           2                                             /*!< SCB AIRCR: SYSRESETREQ Position */
+#define SCB_AIRCR_SYSRESETREQ_Msk          (1UL << SCB_AIRCR_SYSRESETREQ_Pos)             /*!< SCB AIRCR: SYSRESETREQ Mask */
+
+#define SCB_AIRCR_VECTCLRACTIVE_Pos         1                                             /*!< SCB AIRCR: VECTCLRACTIVE Position */
+#define SCB_AIRCR_VECTCLRACTIVE_Msk        (1UL << SCB_AIRCR_VECTCLRACTIVE_Pos)           /*!< SCB AIRCR: VECTCLRACTIVE Mask */
+
+/* SCB System Control Register Definitions */
+#define SCB_SCR_SEVONPEND_Pos               4                                             /*!< SCB SCR: SEVONPEND Position */
+#define SCB_SCR_SEVONPEND_Msk              (1UL << SCB_SCR_SEVONPEND_Pos)                 /*!< SCB SCR: SEVONPEND Mask */
+
+#define SCB_SCR_SLEEPDEEP_Pos               2                                             /*!< SCB SCR: SLEEPDEEP Position */
+#define SCB_SCR_SLEEPDEEP_Msk              (1UL << SCB_SCR_SLEEPDEEP_Pos)                 /*!< SCB SCR: SLEEPDEEP Mask */
+
+#define SCB_SCR_SLEEPONEXIT_Pos             1                                             /*!< SCB SCR: SLEEPONEXIT Position */
+#define SCB_SCR_SLEEPONEXIT_Msk            (1UL << SCB_SCR_SLEEPONEXIT_Pos)               /*!< SCB SCR: SLEEPONEXIT Mask */
+
+/* SCB Configuration Control Register Definitions */
+#define SCB_CCR_STKALIGN_Pos                9                                             /*!< SCB CCR: STKALIGN Position */
+#define SCB_CCR_STKALIGN_Msk               (1UL << SCB_CCR_STKALIGN_Pos)                  /*!< SCB CCR: STKALIGN Mask */
+
+#define SCB_CCR_UNALIGN_TRP_Pos             3                                             /*!< SCB CCR: UNALIGN_TRP Position */
+#define SCB_CCR_UNALIGN_TRP_Msk            (1UL << SCB_CCR_UNALIGN_TRP_Pos)               /*!< SCB CCR: UNALIGN_TRP Mask */
+
+/* SCB System Handler Control and State Register Definitions */
+#define SCB_SHCSR_SVCALLPENDED_Pos         15                                             /*!< SCB SHCSR: SVCALLPENDED Position */
+#define SCB_SHCSR_SVCALLPENDED_Msk         (1UL << SCB_SHCSR_SVCALLPENDED_Pos)            /*!< SCB SHCSR: SVCALLPENDED Mask */
+
+/*@} end of group CMSIS_SCB */
+
+
+/** \ingroup  CMSIS_core_register
+    \defgroup CMSIS_SysTick     System Tick Timer (SysTick)
+    \brief      Type definitions for the System Timer Registers.
+  @{
+ */
+
+/** \brief  Structure type to access the System Timer (SysTick).
+ */
+typedef struct
+{
+  __IO uint32_t CTRL;                    /*!< Offset: 0x000 (R/W)  SysTick Control and Status Register */
+  __IO uint32_t LOAD;                    /*!< Offset: 0x004 (R/W)  SysTick Reload Value Register       */
+  __IO uint32_t VAL;                     /*!< Offset: 0x008 (R/W)  SysTick Current Value Register      */
+  __I  uint32_t CALIB;                   /*!< Offset: 0x00C (R/ )  SysTick Calibration Register        */
+} SysTick_Type;
+
+/* SysTick Control / Status Register Definitions */
+#define SysTick_CTRL_COUNTFLAG_Pos         16                                             /*!< SysTick CTRL: COUNTFLAG Position */
+#define SysTick_CTRL_COUNTFLAG_Msk         (1UL << SysTick_CTRL_COUNTFLAG_Pos)            /*!< SysTick CTRL: COUNTFLAG Mask */
+
+#define SysTick_CTRL_CLKSOURCE_Pos          2                                             /*!< SysTick CTRL: CLKSOURCE Position */
+#define SysTick_CTRL_CLKSOURCE_Msk         (1UL << SysTick_CTRL_CLKSOURCE_Pos)            /*!< SysTick CTRL: CLKSOURCE Mask */
+
+#define SysTick_CTRL_TICKINT_Pos            1                                             /*!< SysTick CTRL: TICKINT Position */
+#define SysTick_CTRL_TICKINT_Msk           (1UL << SysTick_CTRL_TICKINT_Pos)              /*!< SysTick CTRL: TICKINT Mask */
+
+#define SysTick_CTRL_ENABLE_Pos             0                                             /*!< SysTick CTRL: ENABLE Position */
+#define SysTick_CTRL_ENABLE_Msk            (1UL << SysTick_CTRL_ENABLE_Pos)               /*!< SysTick CTRL: ENABLE Mask */
+
+/* SysTick Reload Register Definitions */
+#define SysTick_LOAD_RELOAD_Pos             0                                             /*!< SysTick LOAD: RELOAD Position */
+#define SysTick_LOAD_RELOAD_Msk            (0xFFFFFFUL << SysTick_LOAD_RELOAD_Pos)        /*!< SysTick LOAD: RELOAD Mask */
+
+/* SysTick Current Register Definitions */
+#define SysTick_VAL_CURRENT_Pos             0                                             /*!< SysTick VAL: CURRENT Position */
+#define SysTick_VAL_CURRENT_Msk            (0xFFFFFFUL << SysTick_VAL_CURRENT_Pos)        /*!< SysTick VAL: CURRENT Mask */
+
+/* SysTick Calibration Register Definitions */
+#define SysTick_CALIB_NOREF_Pos            31                                             /*!< SysTick CALIB: NOREF Position */
+#define SysTick_CALIB_NOREF_Msk            (1UL << SysTick_CALIB_NOREF_Pos)               /*!< SysTick CALIB: NOREF Mask */
+
+#define SysTick_CALIB_SKEW_Pos             30                                             /*!< SysTick CALIB: SKEW Position */
+#define SysTick_CALIB_SKEW_Msk             (1UL << SysTick_CALIB_SKEW_Pos)                /*!< SysTick CALIB: SKEW Mask */
+
+#define SysTick_CALIB_TENMS_Pos             0                                             /*!< SysTick CALIB: TENMS Position */
+#define SysTick_CALIB_TENMS_Msk            (0xFFFFFFUL << SysTick_VAL_CURRENT_Pos)        /*!< SysTick CALIB: TENMS Mask */
+
+/*@} end of group CMSIS_SysTick */
+
+#if (__MPU_PRESENT == 1)
+/** \ingroup  CMSIS_core_register
+    \defgroup CMSIS_MPU     Memory Protection Unit (MPU)
+    \brief      Type definitions for the Memory Protection Unit (MPU)
+  @{
+ */
+
+/** \brief  Structure type to access the Memory Protection Unit (MPU).
+ */
+typedef struct
+{
+  __I  uint32_t TYPE;                    /*!< Offset: 0x000 (R/ )  MPU Type Register                              */
+  __IO uint32_t CTRL;                    /*!< Offset: 0x004 (R/W)  MPU Control Register                           */
+  __IO uint32_t RNR;                     /*!< Offset: 0x008 (R/W)  MPU Region RNRber Register                     */
+  __IO uint32_t RBAR;                    /*!< Offset: 0x00C (R/W)  MPU Region Base Address Register               */
+  __IO uint32_t RASR;                    /*!< Offset: 0x010 (R/W)  MPU Region Attribute and Size Register         */
+} MPU_Type;
+
+/* MPU Type Register */
+#define MPU_TYPE_IREGION_Pos               16                                             /*!< MPU TYPE: IREGION Position */
+#define MPU_TYPE_IREGION_Msk               (0xFFUL << MPU_TYPE_IREGION_Pos)               /*!< MPU TYPE: IREGION Mask */
+
+#define MPU_TYPE_DREGION_Pos                8                                             /*!< MPU TYPE: DREGION Position */
+#define MPU_TYPE_DREGION_Msk               (0xFFUL << MPU_TYPE_DREGION_Pos)               /*!< MPU TYPE: DREGION Mask */
+
+#define MPU_TYPE_SEPARATE_Pos               0                                             /*!< MPU TYPE: SEPARATE Position */
+#define MPU_TYPE_SEPARATE_Msk              (1UL << MPU_TYPE_SEPARATE_Pos)                 /*!< MPU TYPE: SEPARATE Mask */
+
+/* MPU Control Register */
+#define MPU_CTRL_PRIVDEFENA_Pos             2                                             /*!< MPU CTRL: PRIVDEFENA Position */
+#define MPU_CTRL_PRIVDEFENA_Msk            (1UL << MPU_CTRL_PRIVDEFENA_Pos)               /*!< MPU CTRL: PRIVDEFENA Mask */
+
+#define MPU_CTRL_HFNMIENA_Pos               1                                             /*!< MPU CTRL: HFNMIENA Position */
+#define MPU_CTRL_HFNMIENA_Msk              (1UL << MPU_CTRL_HFNMIENA_Pos)                 /*!< MPU CTRL: HFNMIENA Mask */
+
+#define MPU_CTRL_ENABLE_Pos                 0                                             /*!< MPU CTRL: ENABLE Position */
+#define MPU_CTRL_ENABLE_Msk                (1UL << MPU_CTRL_ENABLE_Pos)                   /*!< MPU CTRL: ENABLE Mask */
+
+/* MPU Region Number Register */
+#define MPU_RNR_REGION_Pos                  0                                             /*!< MPU RNR: REGION Position */
+#define MPU_RNR_REGION_Msk                 (0xFFUL << MPU_RNR_REGION_Pos)                 /*!< MPU RNR: REGION Mask */
+
+/* MPU Region Base Address Register */
+#define MPU_RBAR_ADDR_Pos                   8                                             /*!< MPU RBAR: ADDR Position */
+#define MPU_RBAR_ADDR_Msk                  (0xFFFFFFUL << MPU_RBAR_ADDR_Pos)              /*!< MPU RBAR: ADDR Mask */
+
+#define MPU_RBAR_VALID_Pos                  4                                             /*!< MPU RBAR: VALID Position */
+#define MPU_RBAR_VALID_Msk                 (1UL << MPU_RBAR_VALID_Pos)                    /*!< MPU RBAR: VALID Mask */
+
+#define MPU_RBAR_REGION_Pos                 0                                             /*!< MPU RBAR: REGION Position */
+#define MPU_RBAR_REGION_Msk                (0xFUL << MPU_RBAR_REGION_Pos)                 /*!< MPU RBAR: REGION Mask */
+
+/* MPU Region Attribute and Size Register */
+#define MPU_RASR_ATTRS_Pos                 16                                             /*!< MPU RASR: MPU Region Attribute field Position */
+#define MPU_RASR_ATTRS_Msk                 (0xFFFFUL << MPU_RASR_ATTRS_Pos)               /*!< MPU RASR: MPU Region Attribute field Mask */
+
+#define MPU_RASR_XN_Pos                    28                                             /*!< MPU RASR: ATTRS.XN Position */
+#define MPU_RASR_XN_Msk                    (1UL << MPU_RASR_XN_Pos)                       /*!< MPU RASR: ATTRS.XN Mask */
+
+#define MPU_RASR_AP_Pos                    24                                             /*!< MPU RASR: ATTRS.AP Position */
+#define MPU_RASR_AP_Msk                    (0x7UL << MPU_RASR_AP_Pos)                     /*!< MPU RASR: ATTRS.AP Mask */
+
+#define MPU_RASR_TEX_Pos                   19                                             /*!< MPU RASR: ATTRS.TEX Position */
+#define MPU_RASR_TEX_Msk                   (0x7UL << MPU_RASR_TEX_Pos)                    /*!< MPU RASR: ATTRS.TEX Mask */
+
+#define MPU_RASR_S_Pos                     18                                             /*!< MPU RASR: ATTRS.S Position */
+#define MPU_RASR_S_Msk                     (1UL << MPU_RASR_S_Pos)                        /*!< MPU RASR: ATTRS.S Mask */
+
+#define MPU_RASR_C_Pos                     17                                             /*!< MPU RASR: ATTRS.C Position */
+#define MPU_RASR_C_Msk                     (1UL << MPU_RASR_C_Pos)                        /*!< MPU RASR: ATTRS.C Mask */
+
+#define MPU_RASR_B_Pos                     16                                             /*!< MPU RASR: ATTRS.B Position */
+#define MPU_RASR_B_Msk                     (1UL << MPU_RASR_B_Pos)                        /*!< MPU RASR: ATTRS.B Mask */
+
+#define MPU_RASR_SRD_Pos                    8                                             /*!< MPU RASR: Sub-Region Disable Position */
+#define MPU_RASR_SRD_Msk                   (0xFFUL << MPU_RASR_SRD_Pos)                   /*!< MPU RASR: Sub-Region Disable Mask */
+
+#define MPU_RASR_SIZE_Pos                   1                                             /*!< MPU RASR: Region Size Field Position */
+#define MPU_RASR_SIZE_Msk                  (0x1FUL << MPU_RASR_SIZE_Pos)                  /*!< MPU RASR: Region Size Field Mask */
+
+#define MPU_RASR_ENABLE_Pos                 0                                             /*!< MPU RASR: Region enable bit Position */
+#define MPU_RASR_ENABLE_Msk                (1UL << MPU_RASR_ENABLE_Pos)                   /*!< MPU RASR: Region enable bit Disable Mask */
+
+/*@} end of group CMSIS_MPU */
+#endif
+
+
+/** \ingroup  CMSIS_core_register
+    \defgroup CMSIS_CoreDebug       Core Debug Registers (CoreDebug)
+    \brief      Cortex-M0+ Core Debug Registers (DCB registers, SHCSR, and DFSR)
+                are only accessible over DAP and not via processor. Therefore
+                they are not covered by the Cortex-M0 header file.
+  @{
+ */
+/*@} end of group CMSIS_CoreDebug */
+
+
+/** \ingroup    CMSIS_core_register
+    \defgroup   CMSIS_core_base     Core Definitions
+    \brief      Definitions for base addresses, unions, and structures.
+  @{
+ */
+
+/* Memory mapping of Cortex-M0+ Hardware */
+#define SCS_BASE            (0xE000E000UL)                            /*!< System Control Space Base Address */
+#define SysTick_BASE        (SCS_BASE +  0x0010UL)                    /*!< SysTick Base Address              */
+#define NVIC_BASE           (SCS_BASE +  0x0100UL)                    /*!< NVIC Base Address                 */
+#define SCB_BASE            (SCS_BASE +  0x0D00UL)                    /*!< System Control Block Base Address */
+
+#define SCB                 ((SCB_Type       *)     SCB_BASE      )   /*!< SCB configuration struct           */
+#define SysTick             ((SysTick_Type   *)     SysTick_BASE  )   /*!< SysTick configuration struct       */
+#define NVIC                ((NVIC_Type      *)     NVIC_BASE     )   /*!< NVIC configuration struct          */
+
+#if (__MPU_PRESENT == 1)
+  #define MPU_BASE          (SCS_BASE +  0x0D90UL)                    /*!< Memory Protection Unit             */
+  #define MPU               ((MPU_Type       *)     MPU_BASE      )   /*!< Memory Protection Unit             */
+#endif
+
+/*@} */
+
+
+
+/*******************************************************************************
+ *                Hardware Abstraction Layer
+  Core Function Interface contains:
+  - Core NVIC Functions
+  - Core SysTick Functions
+  - Core Register Access Functions
+ ******************************************************************************/
+/** \defgroup CMSIS_Core_FunctionInterface Functions and Instructions Reference
+*/
+
+
+
+/* ##########################   NVIC functions  #################################### */
+/** \ingroup  CMSIS_Core_FunctionInterface
+    \defgroup CMSIS_Core_NVICFunctions NVIC Functions
+    \brief      Functions that manage interrupts and exceptions via the NVIC.
+    @{
+ */
+
+/* Interrupt Priorities are WORD accessible only under ARMv6M                   */
+/* The following MACROS handle generation of the register offset and byte masks */
+#define _BIT_SHIFT(IRQn)         (  (((uint32_t)(IRQn)       )    &  0x03) * 8 )
+#define _SHP_IDX(IRQn)           ( ((((uint32_t)(IRQn) & 0x0F)-8) >>    2)     )
+#define _IP_IDX(IRQn)            (   ((uint32_t)(IRQn)            >>    2)     )
+
+
+/** \brief  Enable External Interrupt
+
+    The function enables a device-specific interrupt in the NVIC interrupt controller.
+
+    \param [in]      IRQn  External interrupt number. Value cannot be negative.
+ */
+__STATIC_INLINE void NVIC_EnableIRQ(IRQn_Type IRQn)
+{
+  NVIC->ISER[0] = (1 << ((uint32_t)(IRQn) & 0x1F));
+}
+
+
+/** \brief  Disable External Interrupt
+
+    The function disables a device-specific interrupt in the NVIC interrupt controller.
+
+    \param [in]      IRQn  External interrupt number. Value cannot be negative.
+ */
+__STATIC_INLINE void NVIC_DisableIRQ(IRQn_Type IRQn)
+{
+  NVIC->ICER[0] = (1 << ((uint32_t)(IRQn) & 0x1F));
+}
+
+
+/** \brief  Get Pending Interrupt
+
+    The function reads the pending register in the NVIC and returns the pending bit
+    for the specified interrupt.
+
+    \param [in]      IRQn  Interrupt number.
+
+    \return             0  Interrupt status is not pending.
+    \return             1  Interrupt status is pending.
+ */
+__STATIC_INLINE uint32_t NVIC_GetPendingIRQ(IRQn_Type IRQn)
+{
+  return((uint32_t) ((NVIC->ISPR[0] & (1 << ((uint32_t)(IRQn) & 0x1F)))?1:0));
+}
+
+
+/** \brief  Set Pending Interrupt
+
+    The function sets the pending bit of an external interrupt.
+
+    \param [in]      IRQn  Interrupt number. Value cannot be negative.
+ */
+__STATIC_INLINE void NVIC_SetPendingIRQ(IRQn_Type IRQn)
+{
+  NVIC->ISPR[0] = (1 << ((uint32_t)(IRQn) & 0x1F));
+}
+
+
+/** \brief  Clear Pending Interrupt
+
+    The function clears the pending bit of an external interrupt.
+
+    \param [in]      IRQn  External interrupt number. Value cannot be negative.
+ */
+__STATIC_INLINE void NVIC_ClearPendingIRQ(IRQn_Type IRQn)
+{
+  NVIC->ICPR[0] = (1 << ((uint32_t)(IRQn) & 0x1F)); /* Clear pending interrupt */
+}
+
+
+/** \brief  Set Interrupt Priority
+
+    The function sets the priority of an interrupt.
+
+    \note The priority cannot be set for every core interrupt.
+
+    \param [in]      IRQn  Interrupt number.
+    \param [in]  priority  Priority to set.
+ */
+__STATIC_INLINE void NVIC_SetPriority(IRQn_Type IRQn, uint32_t priority)
+{
+  if(IRQn < 0) {
+    SCB->SHP[_SHP_IDX(IRQn)] = (SCB->SHP[_SHP_IDX(IRQn)] & ~(0xFF << _BIT_SHIFT(IRQn))) |
+        (((priority << (8 - __NVIC_PRIO_BITS)) & 0xFF) << _BIT_SHIFT(IRQn)); }
+  else {
+    NVIC->IP[_IP_IDX(IRQn)] = (NVIC->IP[_IP_IDX(IRQn)] & ~(0xFF << _BIT_SHIFT(IRQn))) |
+        (((priority << (8 - __NVIC_PRIO_BITS)) & 0xFF) << _BIT_SHIFT(IRQn)); }
+}
+
+
+/** \brief  Get Interrupt Priority
+
+    The function reads the priority of an interrupt. The interrupt
+    number can be positive to specify an external (device specific)
+    interrupt, or negative to specify an internal (core) interrupt.
+
+
+    \param [in]   IRQn  Interrupt number.
+    \return             Interrupt Priority. Value is aligned automatically to the implemented
+                        priority bits of the microcontroller.
+ */
+__STATIC_INLINE uint32_t NVIC_GetPriority(IRQn_Type IRQn)
+{
+
+  if(IRQn < 0) {
+    return((uint32_t)(((SCB->SHP[_SHP_IDX(IRQn)] >> _BIT_SHIFT(IRQn) ) & 0xFF) >> (8 - __NVIC_PRIO_BITS)));  } /* get priority for Cortex-M0 system interrupts */
+  else {
+    return((uint32_t)(((NVIC->IP[ _IP_IDX(IRQn)] >> _BIT_SHIFT(IRQn) ) & 0xFF) >> (8 - __NVIC_PRIO_BITS)));  } /* get priority for device specific interrupts  */
+}
+
+
+/** \brief  System Reset
+
+    The function initiates a system reset request to reset the MCU.
+ */
+__STATIC_INLINE void NVIC_SystemReset(void)
+{
+  __DSB();                                                     /* Ensure all outstanding memory accesses included
+                                                                  buffered write are completed before reset */
+  SCB->AIRCR  = ((0x5FA << SCB_AIRCR_VECTKEY_Pos)      |
+                 SCB_AIRCR_SYSRESETREQ_Msk);
+  __DSB();                                                     /* Ensure completion of memory access */
+  while(1);                                                    /* wait until reset */
+}
+
+/*@} end of CMSIS_Core_NVICFunctions */
+
+
+
+/* ##################################    SysTick function  ############################################ */
+/** \ingroup  CMSIS_Core_FunctionInterface
+    \defgroup CMSIS_Core_SysTickFunctions SysTick Functions
+    \brief      Functions that configure the System.
+  @{
+ */
+
+#if (__Vendor_SysTickConfig == 0)
+
+/** \brief  System Tick Configuration
+
+    The function initializes the System Timer and its interrupt, and starts the System Tick Timer.
+    Counter is in free running mode to generate periodic interrupts.
+
+    \param [in]  ticks  Number of ticks between two interrupts.
+
+    \return          0  Function succeeded.
+    \return          1  Function failed.
+
+    \note     When the variable <b>__Vendor_SysTickConfig</b> is set to 1, then the
+    function <b>SysTick_Config</b> is not included. In this case, the file <b><i>device</i>.h</b>
+    must contain a vendor-specific implementation of this function.
+
+ */
+__STATIC_INLINE uint32_t SysTick_Config(uint32_t ticks)
+{
+  if ((ticks - 1) > SysTick_LOAD_RELOAD_Msk)  return (1);      /* Reload value impossible */
+
+  SysTick->LOAD  = ticks - 1;                                  /* set reload register */
+  NVIC_SetPriority (SysTick_IRQn, (1<<__NVIC_PRIO_BITS) - 1);  /* set Priority for Systick Interrupt */
+  SysTick->VAL   = 0;                                          /* Load the SysTick Counter Value */
+  SysTick->CTRL  = SysTick_CTRL_CLKSOURCE_Msk |
+                   SysTick_CTRL_TICKINT_Msk   |
+                   SysTick_CTRL_ENABLE_Msk;                    /* Enable SysTick IRQ and SysTick Timer */
+  return (0);                                                  /* Function successful */
+}
+
+#endif
+
+/*@} end of CMSIS_Core_SysTickFunctions */
+
+
+
+
+#endif /* __CORE_CM0PLUS_H_DEPENDANT */
+
+#endif /* __CMSIS_GENERIC */
+
+#ifdef __cplusplus
+}
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TARGET_GHI_MBUINO/core_cm3.h	Fri Aug 15 15:28:31 2014 +0100
@@ -0,0 +1,1627 @@
+/**************************************************************************//**
+ * @file     core_cm3.h
+ * @brief    CMSIS Cortex-M3 Core Peripheral Access Layer Header File
+ * @version  V3.20
+ * @date     25. February 2013
+ *
+ * @note
+ *
+ ******************************************************************************/
+/* Copyright (c) 2009 - 2013 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 ARM 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 COPYRIGHT HOLDERS AND CONTRIBUTORS 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.
+   ---------------------------------------------------------------------------*/
+
+
+#if defined ( __ICCARM__ )
+ #pragma system_include  /* treat file as system include file for MISRA check */
+#endif
+
+#ifdef __cplusplus
+ extern "C" {
+#endif
+
+#ifndef __CORE_CM3_H_GENERIC
+#define __CORE_CM3_H_GENERIC
+
+/** \page CMSIS_MISRA_Exceptions  MISRA-C:2004 Compliance Exceptions
+  CMSIS violates the following MISRA-C:2004 rules:
+
+   \li Required Rule 8.5, object/function definition in header file.<br>
+     Function definitions in header files are used to allow 'inlining'.
+
+   \li Required Rule 18.4, declaration of union type or object of union type: '{...}'.<br>
+     Unions are used for effective representation of core registers.
+
+   \li Advisory Rule 19.7, Function-like macro defined.<br>
+     Function-like macros are used to allow more efficient code.
+ */
+
+
+/*******************************************************************************
+ *                 CMSIS definitions
+ ******************************************************************************/
+/** \ingroup Cortex_M3
+  @{
+ */
+
+/*  CMSIS CM3 definitions */
+#define __CM3_CMSIS_VERSION_MAIN  (0x03)                                   /*!< [31:16] CMSIS HAL main version   */
+#define __CM3_CMSIS_VERSION_SUB   (0x20)                                   /*!< [15:0]  CMSIS HAL sub version    */
+#define __CM3_CMSIS_VERSION       ((__CM3_CMSIS_VERSION_MAIN << 16) | \
+                                    __CM3_CMSIS_VERSION_SUB          )     /*!< CMSIS HAL version number         */
+
+#define __CORTEX_M                (0x03)                                   /*!< Cortex-M Core                    */
+
+
+#if   defined ( __CC_ARM )
+  #define __ASM            __asm                                      /*!< asm keyword for ARM Compiler          */
+  #define __INLINE         __inline                                   /*!< inline keyword for ARM Compiler       */
+  #define __STATIC_INLINE  static __inline
+
+#elif defined ( __ICCARM__ )
+  #define __ASM            __asm                                      /*!< asm keyword for IAR Compiler          */
+  #define __INLINE         inline                                     /*!< inline keyword for IAR Compiler. Only available in High optimization mode! */
+  #define __STATIC_INLINE  static inline
+
+#elif defined ( __TMS470__ )
+  #define __ASM            __asm                                      /*!< asm keyword for TI CCS Compiler       */
+  #define __STATIC_INLINE  static inline
+
+#elif defined ( __GNUC__ )
+  #define __ASM            __asm                                      /*!< asm keyword for GNU Compiler          */
+  #define __INLINE         inline                                     /*!< inline keyword for GNU Compiler       */
+  #define __STATIC_INLINE  static inline
+
+#elif defined ( __TASKING__ )
+  #define __ASM            __asm                                      /*!< asm keyword for TASKING Compiler      */
+  #define __INLINE         inline                                     /*!< inline keyword for TASKING Compiler   */
+  #define __STATIC_INLINE  static inline
+
+#endif
+
+/** __FPU_USED indicates whether an FPU is used or not. This core does not support an FPU at all
+*/
+#define __FPU_USED       0
+
+#if defined ( __CC_ARM )
+  #if defined __TARGET_FPU_VFP
+    #warning "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)"
+  #endif
+
+#elif defined ( __ICCARM__ )
+  #if defined __ARMVFP__
+    #warning "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)"
+  #endif
+
+#elif defined ( __TMS470__ )
+  #if defined __TI__VFP_SUPPORT____
+    #warning "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)"
+  #endif
+
+#elif defined ( __GNUC__ )
+  #if defined (__VFP_FP__) && !defined(__SOFTFP__)
+    #warning "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)"
+  #endif
+
+#elif defined ( __TASKING__ )
+  #if defined __FPU_VFP__
+    #error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)"
+  #endif
+#endif
+
+#include <stdint.h>                      /* standard types definitions                      */
+#include <core_cmInstr.h>                /* Core Instruction Access                         */
+#include <core_cmFunc.h>                 /* Core Function Access                            */
+
+#endif /* __CORE_CM3_H_GENERIC */
+
+#ifndef __CMSIS_GENERIC
+
+#ifndef __CORE_CM3_H_DEPENDANT
+#define __CORE_CM3_H_DEPENDANT
+
+/* check device defines and use defaults */
+#if defined __CHECK_DEVICE_DEFINES
+  #ifndef __CM3_REV
+    #define __CM3_REV               0x0200
+    #warning "__CM3_REV not defined in device header file; using default!"
+  #endif
+
+  #ifndef __MPU_PRESENT
+    #define __MPU_PRESENT             0
+    #warning "__MPU_PRESENT not defined in device header file; using default!"
+  #endif
+
+  #ifndef __NVIC_PRIO_BITS
+    #define __NVIC_PRIO_BITS          4
+    #warning "__NVIC_PRIO_BITS not defined in device header file; using default!"
+  #endif
+
+  #ifndef __Vendor_SysTickConfig
+    #define __Vendor_SysTickConfig    0
+    #warning "__Vendor_SysTickConfig not defined in device header file; using default!"
+  #endif
+#endif
+
+/* IO definitions (access restrictions to peripheral registers) */
+/**
+    \defgroup CMSIS_glob_defs CMSIS Global Defines
+
+    <strong>IO Type Qualifiers</strong> are used
+    \li to specify the access to peripheral variables.
+    \li for automatic generation of peripheral register debug information.
+*/
+#ifdef __cplusplus
+  #define   __I     volatile             /*!< Defines 'read only' permissions                 */
+#else
+  #define   __I     volatile const       /*!< Defines 'read only' permissions                 */
+#endif
+#define     __O     volatile             /*!< Defines 'write only' permissions                */
+#define     __IO    volatile             /*!< Defines 'read / write' permissions              */
+
+/*@} end of group Cortex_M3 */
+
+
+
+/*******************************************************************************
+ *                 Register Abstraction
+  Core Register contain:
+  - Core Register
+  - Core NVIC Register
+  - Core SCB Register
+  - Core SysTick Register
+  - Core Debug Register
+  - Core MPU Register
+ ******************************************************************************/
+/** \defgroup CMSIS_core_register Defines and Type Definitions
+    \brief Type definitions and defines for Cortex-M processor based devices.
+*/
+
+/** \ingroup    CMSIS_core_register
+    \defgroup   CMSIS_CORE  Status and Control Registers
+    \brief  Core Register type definitions.
+  @{
+ */
+
+/** \brief  Union type to access the Application Program Status Register (APSR).
+ */
+typedef union
+{
+  struct
+  {
+#if (__CORTEX_M != 0x04)
+    uint32_t _reserved0:27;              /*!< bit:  0..26  Reserved                           */
+#else
+    uint32_t _reserved0:16;              /*!< bit:  0..15  Reserved                           */
+    uint32_t GE:4;                       /*!< bit: 16..19  Greater than or Equal flags        */
+    uint32_t _reserved1:7;               /*!< bit: 20..26  Reserved                           */
+#endif
+    uint32_t Q:1;                        /*!< bit:     27  Saturation condition flag          */
+    uint32_t V:1;                        /*!< bit:     28  Overflow condition code flag       */
+    uint32_t C:1;                        /*!< bit:     29  Carry condition code flag          */
+    uint32_t Z:1;                        /*!< bit:     30  Zero condition code flag           */
+    uint32_t N:1;                        /*!< bit:     31  Negative condition code flag       */
+  } b;                                   /*!< Structure used for bit  access                  */
+  uint32_t w;                            /*!< Type      used for word access                  */
+} APSR_Type;
+
+
+/** \brief  Union type to access the Interrupt Program Status Register (IPSR).
+ */
+typedef union
+{
+  struct
+  {
+    uint32_t ISR:9;                      /*!< bit:  0.. 8  Exception number                   */
+    uint32_t _reserved0:23;              /*!< bit:  9..31  Reserved                           */
+  } b;                                   /*!< Structure used for bit  access                  */
+  uint32_t w;                            /*!< Type      used for word access                  */
+} IPSR_Type;
+
+
+/** \brief  Union type to access the Special-Purpose Program Status Registers (xPSR).
+ */
+typedef union
+{
+  struct
+  {
+    uint32_t ISR:9;                      /*!< bit:  0.. 8  Exception number                   */
+#if (__CORTEX_M != 0x04)
+    uint32_t _reserved0:15;              /*!< bit:  9..23  Reserved                           */
+#else
+    uint32_t _reserved0:7;               /*!< bit:  9..15  Reserved                           */
+    uint32_t GE:4;                       /*!< bit: 16..19  Greater than or Equal flags        */
+    uint32_t _reserved1:4;               /*!< bit: 20..23  Reserved                           */
+#endif
+    uint32_t T:1;                        /*!< bit:     24  Thumb bit        (read 0)          */
+    uint32_t IT:2;                       /*!< bit: 25..26  saved IT state   (read 0)          */
+    uint32_t Q:1;                        /*!< bit:     27  Saturation condition flag          */
+    uint32_t V:1;                        /*!< bit:     28  Overflow condition code flag       */
+    uint32_t C:1;                        /*!< bit:     29  Carry condition code flag          */
+    uint32_t Z:1;                        /*!< bit:     30  Zero condition code flag           */
+    uint32_t N:1;                        /*!< bit:     31  Negative condition code flag       */
+  } b;                                   /*!< Structure used for bit  access                  */
+  uint32_t w;                            /*!< Type      used for word access                  */
+} xPSR_Type;
+
+
+/** \brief  Union type to access the Control Registers (CONTROL).
+ */
+typedef union
+{
+  struct
+  {
+    uint32_t nPRIV:1;                    /*!< bit:      0  Execution privilege in Thread mode */
+    uint32_t SPSEL:1;                    /*!< bit:      1  Stack to be used                   */
+    uint32_t FPCA:1;                     /*!< bit:      2  FP extension active flag           */
+    uint32_t _reserved0:29;              /*!< bit:  3..31  Reserved                           */
+  } b;                                   /*!< Structure used for bit  access                  */
+  uint32_t w;                            /*!< Type      used for word access                  */
+} CONTROL_Type;
+
+/*@} end of group CMSIS_CORE */
+
+
+/** \ingroup    CMSIS_core_register
+    \defgroup   CMSIS_NVIC  Nested Vectored Interrupt Controller (NVIC)
+    \brief      Type definitions for the NVIC Registers
+  @{
+ */
+
+/** \brief  Structure type to access the Nested Vectored Interrupt Controller (NVIC).
+ */
+typedef struct
+{
+  __IO uint32_t ISER[8];                 /*!< Offset: 0x000 (R/W)  Interrupt Set Enable Register           */
+       uint32_t RESERVED0[24];
+  __IO uint32_t ICER[8];                 /*!< Offset: 0x080 (R/W)  Interrupt Clear Enable Register         */
+       uint32_t RSERVED1[24];
+  __IO uint32_t ISPR[8];                 /*!< Offset: 0x100 (R/W)  Interrupt Set Pending Register          */
+       uint32_t RESERVED2[24];
+  __IO uint32_t ICPR[8];                 /*!< Offset: 0x180 (R/W)  Interrupt Clear Pending Register        */
+       uint32_t RESERVED3[24];
+  __IO uint32_t IABR[8];                 /*!< Offset: 0x200 (R/W)  Interrupt Active bit Register           */
+       uint32_t RESERVED4[56];
+  __IO uint8_t  IP[240];                 /*!< Offset: 0x300 (R/W)  Interrupt Priority Register (8Bit wide) */
+       uint32_t RESERVED5[644];
+  __O  uint32_t STIR;                    /*!< Offset: 0xE00 ( /W)  Software Trigger Interrupt Register     */
+}  NVIC_Type;
+
+/* Software Triggered Interrupt Register Definitions */
+#define NVIC_STIR_INTID_Pos                 0                                          /*!< STIR: INTLINESNUM Position */
+#define NVIC_STIR_INTID_Msk                (0x1FFUL << NVIC_STIR_INTID_Pos)            /*!< STIR: INTLINESNUM Mask */
+
+/*@} end of group CMSIS_NVIC */
+
+
+/** \ingroup  CMSIS_core_register
+    \defgroup CMSIS_SCB     System Control Block (SCB)
+    \brief      Type definitions for the System Control Block Registers
+  @{
+ */
+
+/** \brief  Structure type to access the System Control Block (SCB).
+ */
+typedef struct
+{
+  __I  uint32_t CPUID;                   /*!< Offset: 0x000 (R/ )  CPUID Base Register                                   */
+  __IO uint32_t ICSR;                    /*!< Offset: 0x004 (R/W)  Interrupt Control and State Register                  */
+  __IO uint32_t VTOR;                    /*!< Offset: 0x008 (R/W)  Vector Table Offset Register                          */
+  __IO uint32_t AIRCR;                   /*!< Offset: 0x00C (R/W)  Application Interrupt and Reset Control Register      */
+  __IO uint32_t SCR;                     /*!< Offset: 0x010 (R/W)  System Control Register                               */
+  __IO uint32_t CCR;                     /*!< Offset: 0x014 (R/W)  Configuration Control Register                        */
+  __IO uint8_t  SHP[12];                 /*!< Offset: 0x018 (R/W)  System Handlers Priority Registers (4-7, 8-11, 12-15) */
+  __IO uint32_t SHCSR;                   /*!< Offset: 0x024 (R/W)  System Handler Control and State Register             */
+  __IO uint32_t CFSR;                    /*!< Offset: 0x028 (R/W)  Configurable Fault Status Register                    */
+  __IO uint32_t HFSR;                    /*!< Offset: 0x02C (R/W)  HardFault Status Register                             */
+  __IO uint32_t DFSR;                    /*!< Offset: 0x030 (R/W)  Debug Fault Status Register                           */
+  __IO uint32_t MMFAR;                   /*!< Offset: 0x034 (R/W)  MemManage Fault Address Register                      */
+  __IO uint32_t BFAR;                    /*!< Offset: 0x038 (R/W)  BusFault Address Register                             */
+  __IO uint32_t AFSR;                    /*!< Offset: 0x03C (R/W)  Auxiliary Fault Status Register                       */
+  __I  uint32_t PFR[2];                  /*!< Offset: 0x040 (R/ )  Processor Feature Register                            */
+  __I  uint32_t DFR;                     /*!< Offset: 0x048 (R/ )  Debug Feature Register                                */
+  __I  uint32_t ADR;                     /*!< Offset: 0x04C (R/ )  Auxiliary Feature Register                            */
+  __I  uint32_t MMFR[4];                 /*!< Offset: 0x050 (R/ )  Memory Model Feature Register                         */
+  __I  uint32_t ISAR[5];                 /*!< Offset: 0x060 (R/ )  Instruction Set Attributes Register                   */
+       uint32_t RESERVED0[5];
+  __IO uint32_t CPACR;                   /*!< Offset: 0x088 (R/W)  Coprocessor Access Control Register                   */
+} SCB_Type;
+
+/* SCB CPUID Register Definitions */
+#define SCB_CPUID_IMPLEMENTER_Pos          24                                             /*!< SCB CPUID: IMPLEMENTER Position */
+#define SCB_CPUID_IMPLEMENTER_Msk          (0xFFUL << SCB_CPUID_IMPLEMENTER_Pos)          /*!< SCB CPUID: IMPLEMENTER Mask */
+
+#define SCB_CPUID_VARIANT_Pos              20                                             /*!< SCB CPUID: VARIANT Position */
+#define SCB_CPUID_VARIANT_Msk              (0xFUL << SCB_CPUID_VARIANT_Pos)               /*!< SCB CPUID: VARIANT Mask */
+
+#define SCB_CPUID_ARCHITECTURE_Pos         16                                             /*!< SCB CPUID: ARCHITECTURE Position */
+#define SCB_CPUID_ARCHITECTURE_Msk         (0xFUL << SCB_CPUID_ARCHITECTURE_Pos)          /*!< SCB CPUID: ARCHITECTURE Mask */
+
+#define SCB_CPUID_PARTNO_Pos                4                                             /*!< SCB CPUID: PARTNO Position */
+#define SCB_CPUID_PARTNO_Msk               (0xFFFUL << SCB_CPUID_PARTNO_Pos)              /*!< SCB CPUID: PARTNO Mask */
+
+#define SCB_CPUID_REVISION_Pos              0                                             /*!< SCB CPUID: REVISION Position */
+#define SCB_CPUID_REVISION_Msk             (0xFUL << SCB_CPUID_REVISION_Pos)              /*!< SCB CPUID: REVISION Mask */
+
+/* SCB Interrupt Control State Register Definitions */
+#define SCB_ICSR_NMIPENDSET_Pos            31                                             /*!< SCB ICSR: NMIPENDSET Position */
+#define SCB_ICSR_NMIPENDSET_Msk            (1UL << SCB_ICSR_NMIPENDSET_Pos)               /*!< SCB ICSR: NMIPENDSET Mask */
+
+#define SCB_ICSR_PENDSVSET_Pos             28                                             /*!< SCB ICSR: PENDSVSET Position */
+#define SCB_ICSR_PENDSVSET_Msk             (1UL << SCB_ICSR_PENDSVSET_Pos)                /*!< SCB ICSR: PENDSVSET Mask */
+
+#define SCB_ICSR_PENDSVCLR_Pos             27                                             /*!< SCB ICSR: PENDSVCLR Position */
+#define SCB_ICSR_PENDSVCLR_Msk             (1UL << SCB_ICSR_PENDSVCLR_Pos)                /*!< SCB ICSR: PENDSVCLR Mask */
+
+#define SCB_ICSR_PENDSTSET_Pos             26                                             /*!< SCB ICSR: PENDSTSET Position */
+#define SCB_ICSR_PENDSTSET_Msk             (1UL << SCB_ICSR_PENDSTSET_Pos)                /*!< SCB ICSR: PENDSTSET Mask */
+
+#define SCB_ICSR_PENDSTCLR_Pos             25                                             /*!< SCB ICSR: PENDSTCLR Position */
+#define SCB_ICSR_PENDSTCLR_Msk             (1UL << SCB_ICSR_PENDSTCLR_Pos)                /*!< SCB ICSR: PENDSTCLR Mask */
+
+#define SCB_ICSR_ISRPREEMPT_Pos            23                                             /*!< SCB ICSR: ISRPREEMPT Position */
+#define SCB_ICSR_ISRPREEMPT_Msk            (1UL << SCB_ICSR_ISRPREEMPT_Pos)               /*!< SCB ICSR: ISRPREEMPT Mask */
+
+#define SCB_ICSR_ISRPENDING_Pos            22                                             /*!< SCB ICSR: ISRPENDING Position */
+#define SCB_ICSR_ISRPENDING_Msk            (1UL << SCB_ICSR_ISRPENDING_Pos)               /*!< SCB ICSR: ISRPENDING Mask */
+
+#define SCB_ICSR_VECTPENDING_Pos           12                                             /*!< SCB ICSR: VECTPENDING Position */
+#define SCB_ICSR_VECTPENDING_Msk           (0x1FFUL << SCB_ICSR_VECTPENDING_Pos)          /*!< SCB ICSR: VECTPENDING Mask */
+
+#define SCB_ICSR_RETTOBASE_Pos             11                                             /*!< SCB ICSR: RETTOBASE Position */
+#define SCB_ICSR_RETTOBASE_Msk             (1UL << SCB_ICSR_RETTOBASE_Pos)                /*!< SCB ICSR: RETTOBASE Mask */
+
+#define SCB_ICSR_VECTACTIVE_Pos             0                                             /*!< SCB ICSR: VECTACTIVE Position */
+#define SCB_ICSR_VECTACTIVE_Msk            (0x1FFUL << SCB_ICSR_VECTACTIVE_Pos)           /*!< SCB ICSR: VECTACTIVE Mask */
+
+/* SCB Vector Table Offset Register Definitions */
+#if (__CM3_REV < 0x0201)                   /* core r2p1 */
+#define SCB_VTOR_TBLBASE_Pos               29                                             /*!< SCB VTOR: TBLBASE Position */
+#define SCB_VTOR_TBLBASE_Msk               (1UL << SCB_VTOR_TBLBASE_Pos)                  /*!< SCB VTOR: TBLBASE Mask */
+
+#define SCB_VTOR_TBLOFF_Pos                 7                                             /*!< SCB VTOR: TBLOFF Position */
+#define SCB_VTOR_TBLOFF_Msk                (0x3FFFFFUL << SCB_VTOR_TBLOFF_Pos)            /*!< SCB VTOR: TBLOFF Mask */
+#else
+#define SCB_VTOR_TBLOFF_Pos                 7                                             /*!< SCB VTOR: TBLOFF Position */
+#define SCB_VTOR_TBLOFF_Msk                (0x1FFFFFFUL << SCB_VTOR_TBLOFF_Pos)           /*!< SCB VTOR: TBLOFF Mask */
+#endif
+
+/* SCB Application Interrupt and Reset Control Register Definitions */
+#define SCB_AIRCR_VECTKEY_Pos              16                                             /*!< SCB AIRCR: VECTKEY Position */
+#define SCB_AIRCR_VECTKEY_Msk              (0xFFFFUL << SCB_AIRCR_VECTKEY_Pos)            /*!< SCB AIRCR: VECTKEY Mask */
+
+#define SCB_AIRCR_VECTKEYSTAT_Pos          16                                             /*!< SCB AIRCR: VECTKEYSTAT Position */
+#define SCB_AIRCR_VECTKEYSTAT_Msk          (0xFFFFUL << SCB_AIRCR_VECTKEYSTAT_Pos)        /*!< SCB AIRCR: VECTKEYSTAT Mask */
+
+#define SCB_AIRCR_ENDIANESS_Pos            15                                             /*!< SCB AIRCR: ENDIANESS Position */
+#define SCB_AIRCR_ENDIANESS_Msk            (1UL << SCB_AIRCR_ENDIANESS_Pos)               /*!< SCB AIRCR: ENDIANESS Mask */
+
+#define SCB_AIRCR_PRIGROUP_Pos              8                                             /*!< SCB AIRCR: PRIGROUP Position */
+#define SCB_AIRCR_PRIGROUP_Msk             (7UL << SCB_AIRCR_PRIGROUP_Pos)                /*!< SCB AIRCR: PRIGROUP Mask */
+
+#define SCB_AIRCR_SYSRESETREQ_Pos           2                                             /*!< SCB AIRCR: SYSRESETREQ Position */
+#define SCB_AIRCR_SYSRESETREQ_Msk          (1UL << SCB_AIRCR_SYSRESETREQ_Pos)             /*!< SCB AIRCR: SYSRESETREQ Mask */
+
+#define SCB_AIRCR_VECTCLRACTIVE_Pos         1                                             /*!< SCB AIRCR: VECTCLRACTIVE Position */
+#define SCB_AIRCR_VECTCLRACTIVE_Msk        (1UL << SCB_AIRCR_VECTCLRACTIVE_Pos)           /*!< SCB AIRCR: VECTCLRACTIVE Mask */
+
+#define SCB_AIRCR_VECTRESET_Pos             0                                             /*!< SCB AIRCR: VECTRESET Position */
+#define SCB_AIRCR_VECTRESET_Msk            (1UL << SCB_AIRCR_VECTRESET_Pos)               /*!< SCB AIRCR: VECTRESET Mask */
+
+/* SCB System Control Register Definitions */
+#define SCB_SCR_SEVONPEND_Pos               4                                             /*!< SCB SCR: SEVONPEND Position */
+#define SCB_SCR_SEVONPEND_Msk              (1UL << SCB_SCR_SEVONPEND_Pos)                 /*!< SCB SCR: SEVONPEND Mask */
+
+#define SCB_SCR_SLEEPDEEP_Pos               2                                             /*!< SCB SCR: SLEEPDEEP Position */
+#define SCB_SCR_SLEEPDEEP_Msk              (1UL << SCB_SCR_SLEEPDEEP_Pos)                 /*!< SCB SCR: SLEEPDEEP Mask */
+
+#define SCB_SCR_SLEEPONEXIT_Pos             1                                             /*!< SCB SCR: SLEEPONEXIT Position */
+#define SCB_SCR_SLEEPONEXIT_Msk            (1UL << SCB_SCR_SLEEPONEXIT_Pos)               /*!< SCB SCR: SLEEPONEXIT Mask */
+
+/* SCB Configuration Control Register Definitions */
+#define SCB_CCR_STKALIGN_Pos                9                                             /*!< SCB CCR: STKALIGN Position */
+#define SCB_CCR_STKALIGN_Msk               (1UL << SCB_CCR_STKALIGN_Pos)                  /*!< SCB CCR: STKALIGN Mask */
+
+#define SCB_CCR_BFHFNMIGN_Pos               8                                             /*!< SCB CCR: BFHFNMIGN Position */
+#define SCB_CCR_BFHFNMIGN_Msk              (1UL << SCB_CCR_BFHFNMIGN_Pos)                 /*!< SCB CCR: BFHFNMIGN Mask */
+
+#define SCB_CCR_DIV_0_TRP_Pos               4                                             /*!< SCB CCR: DIV_0_TRP Position */
+#define SCB_CCR_DIV_0_TRP_Msk              (1UL << SCB_CCR_DIV_0_TRP_Pos)                 /*!< SCB CCR: DIV_0_TRP Mask */
+
+#define SCB_CCR_UNALIGN_TRP_Pos             3                                             /*!< SCB CCR: UNALIGN_TRP Position */
+#define SCB_CCR_UNALIGN_TRP_Msk            (1UL << SCB_CCR_UNALIGN_TRP_Pos)               /*!< SCB CCR: UNALIGN_TRP Mask */
+
+#define SCB_CCR_USERSETMPEND_Pos            1                                             /*!< SCB CCR: USERSETMPEND Position */
+#define SCB_CCR_USERSETMPEND_Msk           (1UL << SCB_CCR_USERSETMPEND_Pos)              /*!< SCB CCR: USERSETMPEND Mask */
+
+#define SCB_CCR_NONBASETHRDENA_Pos          0                                             /*!< SCB CCR: NONBASETHRDENA Position */
+#define SCB_CCR_NONBASETHRDENA_Msk         (1UL << SCB_CCR_NONBASETHRDENA_Pos)            /*!< SCB CCR: NONBASETHRDENA Mask */
+
+/* SCB System Handler Control and State Register Definitions */
+#define SCB_SHCSR_USGFAULTENA_Pos          18                                             /*!< SCB SHCSR: USGFAULTENA Position */
+#define SCB_SHCSR_USGFAULTENA_Msk          (1UL << SCB_SHCSR_USGFAULTENA_Pos)             /*!< SCB SHCSR: USGFAULTENA Mask */
+
+#define SCB_SHCSR_BUSFAULTENA_Pos          17                                             /*!< SCB SHCSR: BUSFAULTENA Position */
+#define SCB_SHCSR_BUSFAULTENA_Msk          (1UL << SCB_SHCSR_BUSFAULTENA_Pos)             /*!< SCB SHCSR: BUSFAULTENA Mask */
+
+#define SCB_SHCSR_MEMFAULTENA_Pos          16                                             /*!< SCB SHCSR: MEMFAULTENA Position */
+#define SCB_SHCSR_MEMFAULTENA_Msk          (1UL << SCB_SHCSR_MEMFAULTENA_Pos)             /*!< SCB SHCSR: MEMFAULTENA Mask */
+
+#define SCB_SHCSR_SVCALLPENDED_Pos         15                                             /*!< SCB SHCSR: SVCALLPENDED Position */
+#define SCB_SHCSR_SVCALLPENDED_Msk         (1UL << SCB_SHCSR_SVCALLPENDED_Pos)            /*!< SCB SHCSR: SVCALLPENDED Mask */
+
+#define SCB_SHCSR_BUSFAULTPENDED_Pos       14                                             /*!< SCB SHCSR: BUSFAULTPENDED Position */
+#define SCB_SHCSR_BUSFAULTPENDED_Msk       (1UL << SCB_SHCSR_BUSFAULTPENDED_Pos)          /*!< SCB SHCSR: BUSFAULTPENDED Mask */
+
+#define SCB_SHCSR_MEMFAULTPENDED_Pos       13                                             /*!< SCB SHCSR: MEMFAULTPENDED Position */
+#define SCB_SHCSR_MEMFAULTPENDED_Msk       (1UL << SCB_SHCSR_MEMFAULTPENDED_Pos)          /*!< SCB SHCSR: MEMFAULTPENDED Mask */
+
+#define SCB_SHCSR_USGFAULTPENDED_Pos       12                                             /*!< SCB SHCSR: USGFAULTPENDED Position */
+#define SCB_SHCSR_USGFAULTPENDED_Msk       (1UL << SCB_SHCSR_USGFAULTPENDED_Pos)          /*!< SCB SHCSR: USGFAULTPENDED Mask */
+
+#define SCB_SHCSR_SYSTICKACT_Pos           11                                             /*!< SCB SHCSR: SYSTICKACT Position */
+#define SCB_SHCSR_SYSTICKACT_Msk           (1UL << SCB_SHCSR_SYSTICKACT_Pos)              /*!< SCB SHCSR: SYSTICKACT Mask */
+
+#define SCB_SHCSR_PENDSVACT_Pos            10                                             /*!< SCB SHCSR: PENDSVACT Position */
+#define SCB_SHCSR_PENDSVACT_Msk            (1UL << SCB_SHCSR_PENDSVACT_Pos)               /*!< SCB SHCSR: PENDSVACT Mask */
+
+#define SCB_SHCSR_MONITORACT_Pos            8                                             /*!< SCB SHCSR: MONITORACT Position */
+#define SCB_SHCSR_MONITORACT_Msk           (1UL << SCB_SHCSR_MONITORACT_Pos)              /*!< SCB SHCSR: MONITORACT Mask */
+
+#define SCB_SHCSR_SVCALLACT_Pos             7                                             /*!< SCB SHCSR: SVCALLACT Position */
+#define SCB_SHCSR_SVCALLACT_Msk            (1UL << SCB_SHCSR_SVCALLACT_Pos)               /*!< SCB SHCSR: SVCALLACT Mask */
+
+#define SCB_SHCSR_USGFAULTACT_Pos           3                                             /*!< SCB SHCSR: USGFAULTACT Position */
+#define SCB_SHCSR_USGFAULTACT_Msk          (1UL << SCB_SHCSR_USGFAULTACT_Pos)             /*!< SCB SHCSR: USGFAULTACT Mask */
+
+#define SCB_SHCSR_BUSFAULTACT_Pos           1                                             /*!< SCB SHCSR: BUSFAULTACT Position */
+#define SCB_SHCSR_BUSFAULTACT_Msk          (1UL << SCB_SHCSR_BUSFAULTACT_Pos)             /*!< SCB SHCSR: BUSFAULTACT Mask */
+
+#define SCB_SHCSR_MEMFAULTACT_Pos           0                                             /*!< SCB SHCSR: MEMFAULTACT Position */
+#define SCB_SHCSR_MEMFAULTACT_Msk          (1UL << SCB_SHCSR_MEMFAULTACT_Pos)             /*!< SCB SHCSR: MEMFAULTACT Mask */
+
+/* SCB Configurable Fault Status Registers Definitions */
+#define SCB_CFSR_USGFAULTSR_Pos            16                                             /*!< SCB CFSR: Usage Fault Status Register Position */
+#define SCB_CFSR_USGFAULTSR_Msk            (0xFFFFUL << SCB_CFSR_USGFAULTSR_Pos)          /*!< SCB CFSR: Usage Fault Status Register Mask */
+
+#define SCB_CFSR_BUSFAULTSR_Pos             8                                             /*!< SCB CFSR: Bus Fault Status Register Position */
+#define SCB_CFSR_BUSFAULTSR_Msk            (0xFFUL << SCB_CFSR_BUSFAULTSR_Pos)            /*!< SCB CFSR: Bus Fault Status Register Mask */
+
+#define SCB_CFSR_MEMFAULTSR_Pos             0                                             /*!< SCB CFSR: Memory Manage Fault Status Register Position */
+#define SCB_CFSR_MEMFAULTSR_Msk            (0xFFUL << SCB_CFSR_MEMFAULTSR_Pos)            /*!< SCB CFSR: Memory Manage Fault Status Register Mask */
+
+/* SCB Hard Fault Status Registers Definitions */
+#define SCB_HFSR_DEBUGEVT_Pos              31                                             /*!< SCB HFSR: DEBUGEVT Position */
+#define SCB_HFSR_DEBUGEVT_Msk              (1UL << SCB_HFSR_DEBUGEVT_Pos)                 /*!< SCB HFSR: DEBUGEVT Mask */
+
+#define SCB_HFSR_FORCED_Pos                30                                             /*!< SCB HFSR: FORCED Position */
+#define SCB_HFSR_FORCED_Msk                (1UL << SCB_HFSR_FORCED_Pos)                   /*!< SCB HFSR: FORCED Mask */
+
+#define SCB_HFSR_VECTTBL_Pos                1                                             /*!< SCB HFSR: VECTTBL Position */
+#define SCB_HFSR_VECTTBL_Msk               (1UL << SCB_HFSR_VECTTBL_Pos)                  /*!< SCB HFSR: VECTTBL Mask */
+
+/* SCB Debug Fault Status Register Definitions */
+#define SCB_DFSR_EXTERNAL_Pos               4                                             /*!< SCB DFSR: EXTERNAL Position */
+#define SCB_DFSR_EXTERNAL_Msk              (1UL << SCB_DFSR_EXTERNAL_Pos)                 /*!< SCB DFSR: EXTERNAL Mask */
+
+#define SCB_DFSR_VCATCH_Pos                 3                                             /*!< SCB DFSR: VCATCH Position */
+#define SCB_DFSR_VCATCH_Msk                (1UL << SCB_DFSR_VCATCH_Pos)                   /*!< SCB DFSR: VCATCH Mask */
+
+#define SCB_DFSR_DWTTRAP_Pos                2                                             /*!< SCB DFSR: DWTTRAP Position */
+#define SCB_DFSR_DWTTRAP_Msk               (1UL << SCB_DFSR_DWTTRAP_Pos)                  /*!< SCB DFSR: DWTTRAP Mask */
+
+#define SCB_DFSR_BKPT_Pos                   1                                             /*!< SCB DFSR: BKPT Position */
+#define SCB_DFSR_BKPT_Msk                  (1UL << SCB_DFSR_BKPT_Pos)                     /*!< SCB DFSR: BKPT Mask */
+
+#define SCB_DFSR_HALTED_Pos                 0                                             /*!< SCB DFSR: HALTED Position */
+#define SCB_DFSR_HALTED_Msk                (1UL << SCB_DFSR_HALTED_Pos)                   /*!< SCB DFSR: HALTED Mask */
+
+/*@} end of group CMSIS_SCB */
+
+
+/** \ingroup  CMSIS_core_register
+    \defgroup CMSIS_SCnSCB System Controls not in SCB (SCnSCB)
+    \brief      Type definitions for the System Control and ID Register not in the SCB
+  @{
+ */
+
+/** \brief  Structure type to access the System Control and ID Register not in the SCB.
+ */
+typedef struct
+{
+       uint32_t RESERVED0[1];
+  __I  uint32_t ICTR;                    /*!< Offset: 0x004 (R/ )  Interrupt Controller Type Register      */
+#if ((defined __CM3_REV) && (__CM3_REV >= 0x200))
+  __IO uint32_t ACTLR;                   /*!< Offset: 0x008 (R/W)  Auxiliary Control Register      */
+#else
+       uint32_t RESERVED1[1];
+#endif
+} SCnSCB_Type;
+
+/* Interrupt Controller Type Register Definitions */
+#define SCnSCB_ICTR_INTLINESNUM_Pos         0                                          /*!< ICTR: INTLINESNUM Position */
+#define SCnSCB_ICTR_INTLINESNUM_Msk        (0xFUL << SCnSCB_ICTR_INTLINESNUM_Pos)      /*!< ICTR: INTLINESNUM Mask */
+
+/* Auxiliary Control Register Definitions */
+
+#define SCnSCB_ACTLR_DISFOLD_Pos            2                                          /*!< ACTLR: DISFOLD Position */
+#define SCnSCB_ACTLR_DISFOLD_Msk           (1UL << SCnSCB_ACTLR_DISFOLD_Pos)           /*!< ACTLR: DISFOLD Mask */
+
+#define SCnSCB_ACTLR_DISDEFWBUF_Pos         1                                          /*!< ACTLR: DISDEFWBUF Position */
+#define SCnSCB_ACTLR_DISDEFWBUF_Msk        (1UL << SCnSCB_ACTLR_DISDEFWBUF_Pos)        /*!< ACTLR: DISDEFWBUF Mask */
+
+#define SCnSCB_ACTLR_DISMCYCINT_Pos         0                                          /*!< ACTLR: DISMCYCINT Position */
+#define SCnSCB_ACTLR_DISMCYCINT_Msk        (1UL << SCnSCB_ACTLR_DISMCYCINT_Pos)        /*!< ACTLR: DISMCYCINT Mask */
+
+/*@} end of group CMSIS_SCnotSCB */
+
+
+/** \ingroup  CMSIS_core_register
+    \defgroup CMSIS_SysTick     System Tick Timer (SysTick)
+    \brief      Type definitions for the System Timer Registers.
+  @{
+ */
+
+/** \brief  Structure type to access the System Timer (SysTick).
+ */
+typedef struct
+{
+  __IO uint32_t CTRL;                    /*!< Offset: 0x000 (R/W)  SysTick Control and Status Register */
+  __IO uint32_t LOAD;                    /*!< Offset: 0x004 (R/W)  SysTick Reload Value Register       */
+  __IO uint32_t VAL;                     /*!< Offset: 0x008 (R/W)  SysTick Current Value Register      */
+  __I  uint32_t CALIB;                   /*!< Offset: 0x00C (R/ )  SysTick Calibration Register        */
+} SysTick_Type;
+
+/* SysTick Control / Status Register Definitions */
+#define SysTick_CTRL_COUNTFLAG_Pos         16                                             /*!< SysTick CTRL: COUNTFLAG Position */
+#define SysTick_CTRL_COUNTFLAG_Msk         (1UL << SysTick_CTRL_COUNTFLAG_Pos)            /*!< SysTick CTRL: COUNTFLAG Mask */
+
+#define SysTick_CTRL_CLKSOURCE_Pos          2                                             /*!< SysTick CTRL: CLKSOURCE Position */
+#define SysTick_CTRL_CLKSOURCE_Msk         (1UL << SysTick_CTRL_CLKSOURCE_Pos)            /*!< SysTick CTRL: CLKSOURCE Mask */
+
+#define SysTick_CTRL_TICKINT_Pos            1                                             /*!< SysTick CTRL: TICKINT Position */
+#define SysTick_CTRL_TICKINT_Msk           (1UL << SysTick_CTRL_TICKINT_Pos)              /*!< SysTick CTRL: TICKINT Mask */
+
+#define SysTick_CTRL_ENABLE_Pos             0                                             /*!< SysTick CTRL: ENABLE Position */
+#define SysTick_CTRL_ENABLE_Msk            (1UL << SysTick_CTRL_ENABLE_Pos)               /*!< SysTick CTRL: ENABLE Mask */
+
+/* SysTick Reload Register Definitions */
+#define SysTick_LOAD_RELOAD_Pos             0                                             /*!< SysTick LOAD: RELOAD Position */
+#define SysTick_LOAD_RELOAD_Msk            (0xFFFFFFUL << SysTick_LOAD_RELOAD_Pos)        /*!< SysTick LOAD: RELOAD Mask */
+
+/* SysTick Current Register Definitions */
+#define SysTick_VAL_CURRENT_Pos             0                                             /*!< SysTick VAL: CURRENT Position */
+#define SysTick_VAL_CURRENT_Msk            (0xFFFFFFUL << SysTick_VAL_CURRENT_Pos)        /*!< SysTick VAL: CURRENT Mask */
+
+/* SysTick Calibration Register Definitions */
+#define SysTick_CALIB_NOREF_Pos            31                                             /*!< SysTick CALIB: NOREF Position */
+#define SysTick_CALIB_NOREF_Msk            (1UL << SysTick_CALIB_NOREF_Pos)               /*!< SysTick CALIB: NOREF Mask */
+
+#define SysTick_CALIB_SKEW_Pos             30                                             /*!< SysTick CALIB: SKEW Position */
+#define SysTick_CALIB_SKEW_Msk             (1UL << SysTick_CALIB_SKEW_Pos)                /*!< SysTick CALIB: SKEW Mask */
+
+#define SysTick_CALIB_TENMS_Pos             0                                             /*!< SysTick CALIB: TENMS Position */
+#define SysTick_CALIB_TENMS_Msk            (0xFFFFFFUL << SysTick_VAL_CURRENT_Pos)        /*!< SysTick CALIB: TENMS Mask */
+
+/*@} end of group CMSIS_SysTick */
+
+
+/** \ingroup  CMSIS_core_register
+    \defgroup CMSIS_ITM     Instrumentation Trace Macrocell (ITM)
+    \brief      Type definitions for the Instrumentation Trace Macrocell (ITM)
+  @{
+ */
+
+/** \brief  Structure type to access the Instrumentation Trace Macrocell Register (ITM).
+ */
+typedef struct
+{
+  __O  union
+  {
+    __O  uint8_t    u8;                  /*!< Offset: 0x000 ( /W)  ITM Stimulus Port 8-bit                   */
+    __O  uint16_t   u16;                 /*!< Offset: 0x000 ( /W)  ITM Stimulus Port 16-bit                  */
+    __O  uint32_t   u32;                 /*!< Offset: 0x000 ( /W)  ITM Stimulus Port 32-bit                  */
+  }  PORT [32];                          /*!< Offset: 0x000 ( /W)  ITM Stimulus Port Registers               */
+       uint32_t RESERVED0[864];
+  __IO uint32_t TER;                     /*!< Offset: 0xE00 (R/W)  ITM Trace Enable Register                 */
+       uint32_t RESERVED1[15];
+  __IO uint32_t TPR;                     /*!< Offset: 0xE40 (R/W)  ITM Trace Privilege Register              */
+       uint32_t RESERVED2[15];
+  __IO uint32_t TCR;                     /*!< Offset: 0xE80 (R/W)  ITM Trace Control Register                */
+       uint32_t RESERVED3[29];
+  __O  uint32_t IWR;                     /*!< Offset: 0xEF8 ( /W)  ITM Integration Write Register            */
+  __I  uint32_t IRR;                     /*!< Offset: 0xEFC (R/ )  ITM Integration Read Register             */
+  __IO uint32_t IMCR;                    /*!< Offset: 0xF00 (R/W)  ITM Integration Mode Control Register     */
+       uint32_t RESERVED4[43];
+  __O  uint32_t LAR;                     /*!< Offset: 0xFB0 ( /W)  ITM Lock Access Register                  */
+  __I  uint32_t LSR;                     /*!< Offset: 0xFB4 (R/ )  ITM Lock Status Register                  */
+       uint32_t RESERVED5[6];
+  __I  uint32_t PID4;                    /*!< Offset: 0xFD0 (R/ )  ITM Peripheral Identification Register #4 */
+  __I  uint32_t PID5;                    /*!< Offset: 0xFD4 (R/ )  ITM Peripheral Identification Register #5 */
+  __I  uint32_t PID6;                    /*!< Offset: 0xFD8 (R/ )  ITM Peripheral Identification Register #6 */
+  __I  uint32_t PID7;                    /*!< Offset: 0xFDC (R/ )  ITM Peripheral Identification Register #7 */
+  __I  uint32_t PID0;                    /*!< Offset: 0xFE0 (R/ )  ITM Peripheral Identification Register #0 */
+  __I  uint32_t PID1;                    /*!< Offset: 0xFE4 (R/ )  ITM Peripheral Identification Register #1 */
+  __I  uint32_t PID2;                    /*!< Offset: 0xFE8 (R/ )  ITM Peripheral Identification Register #2 */
+  __I  uint32_t PID3;                    /*!< Offset: 0xFEC (R/ )  ITM Peripheral Identification Register #3 */
+  __I  uint32_t CID0;                    /*!< Offset: 0xFF0 (R/ )  ITM Component  Identification Register #0 */
+  __I  uint32_t CID1;                    /*!< Offset: 0xFF4 (R/ )  ITM Component  Identification Register #1 */
+  __I  uint32_t CID2;                    /*!< Offset: 0xFF8 (R/ )  ITM Component  Identification Register #2 */
+  __I  uint32_t CID3;                    /*!< Offset: 0xFFC (R/ )  ITM Component  Identification Register #3 */
+} ITM_Type;
+
+/* ITM Trace Privilege Register Definitions */
+#define ITM_TPR_PRIVMASK_Pos                0                                             /*!< ITM TPR: PRIVMASK Position */
+#define ITM_TPR_PRIVMASK_Msk               (0xFUL << ITM_TPR_PRIVMASK_Pos)                /*!< ITM TPR: PRIVMASK Mask */
+
+/* ITM Trace Control Register Definitions */
+#define ITM_TCR_BUSY_Pos                   23                                             /*!< ITM TCR: BUSY Position */
+#define ITM_TCR_BUSY_Msk                   (1UL << ITM_TCR_BUSY_Pos)                      /*!< ITM TCR: BUSY Mask */
+
+#define ITM_TCR_TraceBusID_Pos             16                                             /*!< ITM TCR: ATBID Position */
+#define ITM_TCR_TraceBusID_Msk             (0x7FUL << ITM_TCR_TraceBusID_Pos)             /*!< ITM TCR: ATBID Mask */
+
+#define ITM_TCR_GTSFREQ_Pos                10                                             /*!< ITM TCR: Global timestamp frequency Position */
+#define ITM_TCR_GTSFREQ_Msk                (3UL << ITM_TCR_GTSFREQ_Pos)                   /*!< ITM TCR: Global timestamp frequency Mask */
+
+#define ITM_TCR_TSPrescale_Pos              8                                             /*!< ITM TCR: TSPrescale Position */
+#define ITM_TCR_TSPrescale_Msk             (3UL << ITM_TCR_TSPrescale_Pos)                /*!< ITM TCR: TSPrescale Mask */
+
+#define ITM_TCR_SWOENA_Pos                  4                                             /*!< ITM TCR: SWOENA Position */
+#define ITM_TCR_SWOENA_Msk                 (1UL << ITM_TCR_SWOENA_Pos)                    /*!< ITM TCR: SWOENA Mask */
+
+#define ITM_TCR_DWTENA_Pos                  3                                             /*!< ITM TCR: DWTENA Position */
+#define ITM_TCR_DWTENA_Msk                 (1UL << ITM_TCR_DWTENA_Pos)                    /*!< ITM TCR: DWTENA Mask */
+
+#define ITM_TCR_SYNCENA_Pos                 2                                             /*!< ITM TCR: SYNCENA Position */
+#define ITM_TCR_SYNCENA_Msk                (1UL << ITM_TCR_SYNCENA_Pos)                   /*!< ITM TCR: SYNCENA Mask */
+
+#define ITM_TCR_TSENA_Pos                   1                                             /*!< ITM TCR: TSENA Position */
+#define ITM_TCR_TSENA_Msk                  (1UL << ITM_TCR_TSENA_Pos)                     /*!< ITM TCR: TSENA Mask */
+
+#define ITM_TCR_ITMENA_Pos                  0                                             /*!< ITM TCR: ITM Enable bit Position */
+#define ITM_TCR_ITMENA_Msk                 (1UL << ITM_TCR_ITMENA_Pos)                    /*!< ITM TCR: ITM Enable bit Mask */
+
+/* ITM Integration Write Register Definitions */
+#define ITM_IWR_ATVALIDM_Pos                0                                             /*!< ITM IWR: ATVALIDM Position */
+#define ITM_IWR_ATVALIDM_Msk               (1UL << ITM_IWR_ATVALIDM_Pos)                  /*!< ITM IWR: ATVALIDM Mask */
+
+/* ITM Integration Read Register Definitions */
+#define ITM_IRR_ATREADYM_Pos                0                                             /*!< ITM IRR: ATREADYM Position */
+#define ITM_IRR_ATREADYM_Msk               (1UL << ITM_IRR_ATREADYM_Pos)                  /*!< ITM IRR: ATREADYM Mask */
+
+/* ITM Integration Mode Control Register Definitions */
+#define ITM_IMCR_INTEGRATION_Pos            0                                             /*!< ITM IMCR: INTEGRATION Position */
+#define ITM_IMCR_INTEGRATION_Msk           (1UL << ITM_IMCR_INTEGRATION_Pos)              /*!< ITM IMCR: INTEGRATION Mask */
+
+/* ITM Lock Status Register Definitions */
+#define ITM_LSR_ByteAcc_Pos                 2                                             /*!< ITM LSR: ByteAcc Position */
+#define ITM_LSR_ByteAcc_Msk                (1UL << ITM_LSR_ByteAcc_Pos)                   /*!< ITM LSR: ByteAcc Mask */
+
+#define ITM_LSR_Access_Pos                  1                                             /*!< ITM LSR: Access Position */
+#define ITM_LSR_Access_Msk                 (1UL << ITM_LSR_Access_Pos)                    /*!< ITM LSR: Access Mask */
+
+#define ITM_LSR_Present_Pos                 0                                             /*!< ITM LSR: Present Position */
+#define ITM_LSR_Present_Msk                (1UL << ITM_LSR_Present_Pos)                   /*!< ITM LSR: Present Mask */
+
+/*@}*/ /* end of group CMSIS_ITM */
+
+
+/** \ingroup  CMSIS_core_register
+    \defgroup CMSIS_DWT     Data Watchpoint and Trace (DWT)
+    \brief      Type definitions for the Data Watchpoint and Trace (DWT)
+  @{
+ */
+
+/** \brief  Structure type to access the Data Watchpoint and Trace Register (DWT).
+ */
+typedef struct
+{
+  __IO uint32_t CTRL;                    /*!< Offset: 0x000 (R/W)  Control Register                          */
+  __IO uint32_t CYCCNT;                  /*!< Offset: 0x004 (R/W)  Cycle Count Register                      */
+  __IO uint32_t CPICNT;                  /*!< Offset: 0x008 (R/W)  CPI Count Register                        */
+  __IO uint32_t EXCCNT;                  /*!< Offset: 0x00C (R/W)  Exception Overhead Count Register         */
+  __IO uint32_t SLEEPCNT;                /*!< Offset: 0x010 (R/W)  Sleep Count Register                      */
+  __IO uint32_t LSUCNT;                  /*!< Offset: 0x014 (R/W)  LSU Count Register                        */
+  __IO uint32_t FOLDCNT;                 /*!< Offset: 0x018 (R/W)  Folded-instruction Count Register         */
+  __I  uint32_t PCSR;                    /*!< Offset: 0x01C (R/ )  Program Counter Sample Register           */
+  __IO uint32_t COMP0;                   /*!< Offset: 0x020 (R/W)  Comparator Register 0                     */
+  __IO uint32_t MASK0;                   /*!< Offset: 0x024 (R/W)  Mask Register 0                           */
+  __IO uint32_t FUNCTION0;               /*!< Offset: 0x028 (R/W)  Function Register 0                       */
+       uint32_t RESERVED0[1];
+  __IO uint32_t COMP1;                   /*!< Offset: 0x030 (R/W)  Comparator Register 1                     */
+  __IO uint32_t MASK1;                   /*!< Offset: 0x034 (R/W)  Mask Register 1                           */
+  __IO uint32_t FUNCTION1;               /*!< Offset: 0x038 (R/W)  Function Register 1                       */
+       uint32_t RESERVED1[1];
+  __IO uint32_t COMP2;                   /*!< Offset: 0x040 (R/W)  Comparator Register 2                     */
+  __IO uint32_t MASK2;                   /*!< Offset: 0x044 (R/W)  Mask Register 2                           */
+  __IO uint32_t FUNCTION2;               /*!< Offset: 0x048 (R/W)  Function Register 2                       */
+       uint32_t RESERVED2[1];
+  __IO uint32_t COMP3;                   /*!< Offset: 0x050 (R/W)  Comparator Register 3                     */
+  __IO uint32_t MASK3;                   /*!< Offset: 0x054 (R/W)  Mask Register 3                           */
+  __IO uint32_t FUNCTION3;               /*!< Offset: 0x058 (R/W)  Function Register 3                       */
+} DWT_Type;
+
+/* DWT Control Register Definitions */
+#define DWT_CTRL_NUMCOMP_Pos               28                                          /*!< DWT CTRL: NUMCOMP Position */
+#define DWT_CTRL_NUMCOMP_Msk               (0xFUL << DWT_CTRL_NUMCOMP_Pos)             /*!< DWT CTRL: NUMCOMP Mask */
+
+#define DWT_CTRL_NOTRCPKT_Pos              27                                          /*!< DWT CTRL: NOTRCPKT Position */
+#define DWT_CTRL_NOTRCPKT_Msk              (0x1UL << DWT_CTRL_NOTRCPKT_Pos)            /*!< DWT CTRL: NOTRCPKT Mask */
+
+#define DWT_CTRL_NOEXTTRIG_Pos             26                                          /*!< DWT CTRL: NOEXTTRIG Position */
+#define DWT_CTRL_NOEXTTRIG_Msk             (0x1UL << DWT_CTRL_NOEXTTRIG_Pos)           /*!< DWT CTRL: NOEXTTRIG Mask */
+
+#define DWT_CTRL_NOCYCCNT_Pos              25                                          /*!< DWT CTRL: NOCYCCNT Position */
+#define DWT_CTRL_NOCYCCNT_Msk              (0x1UL << DWT_CTRL_NOCYCCNT_Pos)            /*!< DWT CTRL: NOCYCCNT Mask */
+
+#define DWT_CTRL_NOPRFCNT_Pos              24                                          /*!< DWT CTRL: NOPRFCNT Position */
+#define DWT_CTRL_NOPRFCNT_Msk              (0x1UL << DWT_CTRL_NOPRFCNT_Pos)            /*!< DWT CTRL: NOPRFCNT Mask */
+
+#define DWT_CTRL_CYCEVTENA_Pos             22                                          /*!< DWT CTRL: CYCEVTENA Position */
+#define DWT_CTRL_CYCEVTENA_Msk             (0x1UL << DWT_CTRL_CYCEVTENA_Pos)           /*!< DWT CTRL: CYCEVTENA Mask */
+
+#define DWT_CTRL_FOLDEVTENA_Pos            21                                          /*!< DWT CTRL: FOLDEVTENA Position */
+#define DWT_CTRL_FOLDEVTENA_Msk            (0x1UL << DWT_CTRL_FOLDEVTENA_Pos)          /*!< DWT CTRL: FOLDEVTENA Mask */
+
+#define DWT_CTRL_LSUEVTENA_Pos             20                                          /*!< DWT CTRL: LSUEVTENA Position */
+#define DWT_CTRL_LSUEVTENA_Msk             (0x1UL << DWT_CTRL_LSUEVTENA_Pos)           /*!< DWT CTRL: LSUEVTENA Mask */
+
+#define DWT_CTRL_SLEEPEVTENA_Pos           19                                          /*!< DWT CTRL: SLEEPEVTENA Position */
+#define DWT_CTRL_SLEEPEVTENA_Msk           (0x1UL << DWT_CTRL_SLEEPEVTENA_Pos)         /*!< DWT CTRL: SLEEPEVTENA Mask */
+
+#define DWT_CTRL_EXCEVTENA_Pos             18                                          /*!< DWT CTRL: EXCEVTENA Position */
+#define DWT_CTRL_EXCEVTENA_Msk             (0x1UL << DWT_CTRL_EXCEVTENA_Pos)           /*!< DWT CTRL: EXCEVTENA Mask */
+
+#define DWT_CTRL_CPIEVTENA_Pos             17                                          /*!< DWT CTRL: CPIEVTENA Position */
+#define DWT_CTRL_CPIEVTENA_Msk             (0x1UL << DWT_CTRL_CPIEVTENA_Pos)           /*!< DWT CTRL: CPIEVTENA Mask */
+
+#define DWT_CTRL_EXCTRCENA_Pos             16                                          /*!< DWT CTRL: EXCTRCENA Position */
+#define DWT_CTRL_EXCTRCENA_Msk             (0x1UL << DWT_CTRL_EXCTRCENA_Pos)           /*!< DWT CTRL: EXCTRCENA Mask */
+
+#define DWT_CTRL_PCSAMPLENA_Pos            12                                          /*!< DWT CTRL: PCSAMPLENA Position */
+#define DWT_CTRL_PCSAMPLENA_Msk            (0x1UL << DWT_CTRL_PCSAMPLENA_Pos)          /*!< DWT CTRL: PCSAMPLENA Mask */
+
+#define DWT_CTRL_SYNCTAP_Pos               10                                          /*!< DWT CTRL: SYNCTAP Position */
+#define DWT_CTRL_SYNCTAP_Msk               (0x3UL << DWT_CTRL_SYNCTAP_Pos)             /*!< DWT CTRL: SYNCTAP Mask */
+
+#define DWT_CTRL_CYCTAP_Pos                 9                                          /*!< DWT CTRL: CYCTAP Position */
+#define DWT_CTRL_CYCTAP_Msk                (0x1UL << DWT_CTRL_CYCTAP_Pos)              /*!< DWT CTRL: CYCTAP Mask */
+
+#define DWT_CTRL_POSTINIT_Pos               5                                          /*!< DWT CTRL: POSTINIT Position */
+#define DWT_CTRL_POSTINIT_Msk              (0xFUL << DWT_CTRL_POSTINIT_Pos)            /*!< DWT CTRL: POSTINIT Mask */
+
+#define DWT_CTRL_POSTPRESET_Pos             1                                          /*!< DWT CTRL: POSTPRESET Position */
+#define DWT_CTRL_POSTPRESET_Msk            (0xFUL << DWT_CTRL_POSTPRESET_Pos)          /*!< DWT CTRL: POSTPRESET Mask */
+
+#define DWT_CTRL_CYCCNTENA_Pos              0                                          /*!< DWT CTRL: CYCCNTENA Position */
+#define DWT_CTRL_CYCCNTENA_Msk             (0x1UL << DWT_CTRL_CYCCNTENA_Pos)           /*!< DWT CTRL: CYCCNTENA Mask */
+
+/* DWT CPI Count Register Definitions */
+#define DWT_CPICNT_CPICNT_Pos               0                                          /*!< DWT CPICNT: CPICNT Position */
+#define DWT_CPICNT_CPICNT_Msk              (0xFFUL << DWT_CPICNT_CPICNT_Pos)           /*!< DWT CPICNT: CPICNT Mask */
+
+/* DWT Exception Overhead Count Register Definitions */
+#define DWT_EXCCNT_EXCCNT_Pos               0                                          /*!< DWT EXCCNT: EXCCNT Position */
+#define DWT_EXCCNT_EXCCNT_Msk              (0xFFUL << DWT_EXCCNT_EXCCNT_Pos)           /*!< DWT EXCCNT: EXCCNT Mask */
+
+/* DWT Sleep Count Register Definitions */
+#define DWT_SLEEPCNT_SLEEPCNT_Pos           0                                          /*!< DWT SLEEPCNT: SLEEPCNT Position */
+#define DWT_SLEEPCNT_SLEEPCNT_Msk          (0xFFUL << DWT_SLEEPCNT_SLEEPCNT_Pos)       /*!< DWT SLEEPCNT: SLEEPCNT Mask */
+
+/* DWT LSU Count Register Definitions */
+#define DWT_LSUCNT_LSUCNT_Pos               0                                          /*!< DWT LSUCNT: LSUCNT Position */
+#define DWT_LSUCNT_LSUCNT_Msk              (0xFFUL << DWT_LSUCNT_LSUCNT_Pos)           /*!< DWT LSUCNT: LSUCNT Mask */
+
+/* DWT Folded-instruction Count Register Definitions */
+#define DWT_FOLDCNT_FOLDCNT_Pos             0                                          /*!< DWT FOLDCNT: FOLDCNT Position */
+#define DWT_FOLDCNT_FOLDCNT_Msk            (0xFFUL << DWT_FOLDCNT_FOLDCNT_Pos)         /*!< DWT FOLDCNT: FOLDCNT Mask */
+
+/* DWT Comparator Mask Register Definitions */
+#define DWT_MASK_MASK_Pos                   0                                          /*!< DWT MASK: MASK Position */
+#define DWT_MASK_MASK_Msk                  (0x1FUL << DWT_MASK_MASK_Pos)               /*!< DWT MASK: MASK Mask */
+
+/* DWT Comparator Function Register Definitions */
+#define DWT_FUNCTION_MATCHED_Pos           24                                          /*!< DWT FUNCTION: MATCHED Position */
+#define DWT_FUNCTION_MATCHED_Msk           (0x1UL << DWT_FUNCTION_MATCHED_Pos)         /*!< DWT FUNCTION: MATCHED Mask */
+
+#define DWT_FUNCTION_DATAVADDR1_Pos        16                                          /*!< DWT FUNCTION: DATAVADDR1 Position */
+#define DWT_FUNCTION_DATAVADDR1_Msk        (0xFUL << DWT_FUNCTION_DATAVADDR1_Pos)      /*!< DWT FUNCTION: DATAVADDR1 Mask */
+
+#define DWT_FUNCTION_DATAVADDR0_Pos        12                                          /*!< DWT FUNCTION: DATAVADDR0 Position */
+#define DWT_FUNCTION_DATAVADDR0_Msk        (0xFUL << DWT_FUNCTION_DATAVADDR0_Pos)      /*!< DWT FUNCTION: DATAVADDR0 Mask */
+
+#define DWT_FUNCTION_DATAVSIZE_Pos         10                                          /*!< DWT FUNCTION: DATAVSIZE Position */
+#define DWT_FUNCTION_DATAVSIZE_Msk         (0x3UL << DWT_FUNCTION_DATAVSIZE_Pos)       /*!< DWT FUNCTION: DATAVSIZE Mask */
+
+#define DWT_FUNCTION_LNK1ENA_Pos            9                                          /*!< DWT FUNCTION: LNK1ENA Position */
+#define DWT_FUNCTION_LNK1ENA_Msk           (0x1UL << DWT_FUNCTION_LNK1ENA_Pos)         /*!< DWT FUNCTION: LNK1ENA Mask */
+
+#define DWT_FUNCTION_DATAVMATCH_Pos         8                                          /*!< DWT FUNCTION: DATAVMATCH Position */
+#define DWT_FUNCTION_DATAVMATCH_Msk        (0x1UL << DWT_FUNCTION_DATAVMATCH_Pos)      /*!< DWT FUNCTION: DATAVMATCH Mask */
+
+#define DWT_FUNCTION_CYCMATCH_Pos           7                                          /*!< DWT FUNCTION: CYCMATCH Position */
+#define DWT_FUNCTION_CYCMATCH_Msk          (0x1UL << DWT_FUNCTION_CYCMATCH_Pos)        /*!< DWT FUNCTION: CYCMATCH Mask */
+
+#define DWT_FUNCTION_EMITRANGE_Pos          5                                          /*!< DWT FUNCTION: EMITRANGE Position */
+#define DWT_FUNCTION_EMITRANGE_Msk         (0x1UL << DWT_FUNCTION_EMITRANGE_Pos)       /*!< DWT FUNCTION: EMITRANGE Mask */
+
+#define DWT_FUNCTION_FUNCTION_Pos           0                                          /*!< DWT FUNCTION: FUNCTION Position */
+#define DWT_FUNCTION_FUNCTION_Msk          (0xFUL << DWT_FUNCTION_FUNCTION_Pos)        /*!< DWT FUNCTION: FUNCTION Mask */
+
+/*@}*/ /* end of group CMSIS_DWT */
+
+
+/** \ingroup  CMSIS_core_register
+    \defgroup CMSIS_TPI     Trace Port Interface (TPI)
+    \brief      Type definitions for the Trace Port Interface (TPI)
+  @{
+ */
+
+/** \brief  Structure type to access the Trace Port Interface Register (TPI).
+ */
+typedef struct
+{
+  __IO uint32_t SSPSR;                   /*!< Offset: 0x000 (R/ )  Supported Parallel Port Size Register     */
+  __IO uint32_t CSPSR;                   /*!< Offset: 0x004 (R/W)  Current Parallel Port Size Register */
+       uint32_t RESERVED0[2];
+  __IO uint32_t ACPR;                    /*!< Offset: 0x010 (R/W)  Asynchronous Clock Prescaler Register */
+       uint32_t RESERVED1[55];
+  __IO uint32_t SPPR;                    /*!< Offset: 0x0F0 (R/W)  Selected Pin Protocol Register */
+       uint32_t RESERVED2[131];
+  __I  uint32_t FFSR;                    /*!< Offset: 0x300 (R/ )  Formatter and Flush Status Register */
+  __IO uint32_t FFCR;                    /*!< Offset: 0x304 (R/W)  Formatter and Flush Control Register */
+  __I  uint32_t FSCR;                    /*!< Offset: 0x308 (R/ )  Formatter Synchronization Counter Register */
+       uint32_t RESERVED3[759];
+  __I  uint32_t TRIGGER;                 /*!< Offset: 0xEE8 (R/ )  TRIGGER */
+  __I  uint32_t FIFO0;                   /*!< Offset: 0xEEC (R/ )  Integration ETM Data */
+  __I  uint32_t ITATBCTR2;               /*!< Offset: 0xEF0 (R/ )  ITATBCTR2 */
+       uint32_t RESERVED4[1];
+  __I  uint32_t ITATBCTR0;               /*!< Offset: 0xEF8 (R/ )  ITATBCTR0 */
+  __I  uint32_t FIFO1;                   /*!< Offset: 0xEFC (R/ )  Integration ITM Data */
+  __IO uint32_t ITCTRL;                  /*!< Offset: 0xF00 (R/W)  Integration Mode Control */
+       uint32_t RESERVED5[39];
+  __IO uint32_t CLAIMSET;                /*!< Offset: 0xFA0 (R/W)  Claim tag set */
+  __IO uint32_t CLAIMCLR;                /*!< Offset: 0xFA4 (R/W)  Claim tag clear */
+       uint32_t RESERVED7[8];
+  __I  uint32_t DEVID;                   /*!< Offset: 0xFC8 (R/ )  TPIU_DEVID */
+  __I  uint32_t DEVTYPE;                 /*!< Offset: 0xFCC (R/ )  TPIU_DEVTYPE */
+} TPI_Type;
+
+/* TPI Asynchronous Clock Prescaler Register Definitions */
+#define TPI_ACPR_PRESCALER_Pos              0                                          /*!< TPI ACPR: PRESCALER Position */
+#define TPI_ACPR_PRESCALER_Msk             (0x1FFFUL << TPI_ACPR_PRESCALER_Pos)        /*!< TPI ACPR: PRESCALER Mask */
+
+/* TPI Selected Pin Protocol Register Definitions */
+#define TPI_SPPR_TXMODE_Pos                 0                                          /*!< TPI SPPR: TXMODE Position */
+#define TPI_SPPR_TXMODE_Msk                (0x3UL << TPI_SPPR_TXMODE_Pos)              /*!< TPI SPPR: TXMODE Mask */
+
+/* TPI Formatter and Flush Status Register Definitions */
+#define TPI_FFSR_FtNonStop_Pos              3                                          /*!< TPI FFSR: FtNonStop Position */
+#define TPI_FFSR_FtNonStop_Msk             (0x1UL << TPI_FFSR_FtNonStop_Pos)           /*!< TPI FFSR: FtNonStop Mask */
+
+#define TPI_FFSR_TCPresent_Pos              2                                          /*!< TPI FFSR: TCPresent Position */
+#define TPI_FFSR_TCPresent_Msk             (0x1UL << TPI_FFSR_TCPresent_Pos)           /*!< TPI FFSR: TCPresent Mask */
+
+#define TPI_FFSR_FtStopped_Pos              1                                          /*!< TPI FFSR: FtStopped Position */
+#define TPI_FFSR_FtStopped_Msk             (0x1UL << TPI_FFSR_FtStopped_Pos)           /*!< TPI FFSR: FtStopped Mask */
+
+#define TPI_FFSR_FlInProg_Pos               0                                          /*!< TPI FFSR: FlInProg Position */
+#define TPI_FFSR_FlInProg_Msk              (0x1UL << TPI_FFSR_FlInProg_Pos)            /*!< TPI FFSR: FlInProg Mask */
+
+/* TPI Formatter and Flush Control Register Definitions */
+#define TPI_FFCR_TrigIn_Pos                 8                                          /*!< TPI FFCR: TrigIn Position */
+#define TPI_FFCR_TrigIn_Msk                (0x1UL << TPI_FFCR_TrigIn_Pos)              /*!< TPI FFCR: TrigIn Mask */
+
+#define TPI_FFCR_EnFCont_Pos                1                                          /*!< TPI FFCR: EnFCont Position */
+#define TPI_FFCR_EnFCont_Msk               (0x1UL << TPI_FFCR_EnFCont_Pos)             /*!< TPI FFCR: EnFCont Mask */
+
+/* TPI TRIGGER Register Definitions */
+#define TPI_TRIGGER_TRIGGER_Pos             0                                          /*!< TPI TRIGGER: TRIGGER Position */
+#define TPI_TRIGGER_TRIGGER_Msk            (0x1UL << TPI_TRIGGER_TRIGGER_Pos)          /*!< TPI TRIGGER: TRIGGER Mask */
+
+/* TPI Integration ETM Data Register Definitions (FIFO0) */
+#define TPI_FIFO0_ITM_ATVALID_Pos          29                                          /*!< TPI FIFO0: ITM_ATVALID Position */
+#define TPI_FIFO0_ITM_ATVALID_Msk          (0x3UL << TPI_FIFO0_ITM_ATVALID_Pos)        /*!< TPI FIFO0: ITM_ATVALID Mask */
+
+#define TPI_FIFO0_ITM_bytecount_Pos        27                                          /*!< TPI FIFO0: ITM_bytecount Position */
+#define TPI_FIFO0_ITM_bytecount_Msk        (0x3UL << TPI_FIFO0_ITM_bytecount_Pos)      /*!< TPI FIFO0: ITM_bytecount Mask */
+
+#define TPI_FIFO0_ETM_ATVALID_Pos          26                                          /*!< TPI FIFO0: ETM_ATVALID Position */
+#define TPI_FIFO0_ETM_ATVALID_Msk          (0x3UL << TPI_FIFO0_ETM_ATVALID_Pos)        /*!< TPI FIFO0: ETM_ATVALID Mask */
+
+#define TPI_FIFO0_ETM_bytecount_Pos        24                                          /*!< TPI FIFO0: ETM_bytecount Position */
+#define TPI_FIFO0_ETM_bytecount_Msk        (0x3UL << TPI_FIFO0_ETM_bytecount_Pos)      /*!< TPI FIFO0: ETM_bytecount Mask */
+
+#define TPI_FIFO0_ETM2_Pos                 16                                          /*!< TPI FIFO0: ETM2 Position */
+#define TPI_FIFO0_ETM2_Msk                 (0xFFUL << TPI_FIFO0_ETM2_Pos)              /*!< TPI FIFO0: ETM2 Mask */
+
+#define TPI_FIFO0_ETM1_Pos                  8                                          /*!< TPI FIFO0: ETM1 Position */
+#define TPI_FIFO0_ETM1_Msk                 (0xFFUL << TPI_FIFO0_ETM1_Pos)              /*!< TPI FIFO0: ETM1 Mask */
+
+#define TPI_FIFO0_ETM0_Pos                  0                                          /*!< TPI FIFO0: ETM0 Position */
+#define TPI_FIFO0_ETM0_Msk                 (0xFFUL << TPI_FIFO0_ETM0_Pos)              /*!< TPI FIFO0: ETM0 Mask */
+
+/* TPI ITATBCTR2 Register Definitions */
+#define TPI_ITATBCTR2_ATREADY_Pos           0                                          /*!< TPI ITATBCTR2: ATREADY Position */
+#define TPI_ITATBCTR2_ATREADY_Msk          (0x1UL << TPI_ITATBCTR2_ATREADY_Pos)        /*!< TPI ITATBCTR2: ATREADY Mask */
+
+/* TPI Integration ITM Data Register Definitions (FIFO1) */
+#define TPI_FIFO1_ITM_ATVALID_Pos          29                                          /*!< TPI FIFO1: ITM_ATVALID Position */
+#define TPI_FIFO1_ITM_ATVALID_Msk          (0x3UL << TPI_FIFO1_ITM_ATVALID_Pos)        /*!< TPI FIFO1: ITM_ATVALID Mask */
+
+#define TPI_FIFO1_ITM_bytecount_Pos        27                                          /*!< TPI FIFO1: ITM_bytecount Position */
+#define TPI_FIFO1_ITM_bytecount_Msk        (0x3UL << TPI_FIFO1_ITM_bytecount_Pos)      /*!< TPI FIFO1: ITM_bytecount Mask */
+
+#define TPI_FIFO1_ETM_ATVALID_Pos          26                                          /*!< TPI FIFO1: ETM_ATVALID Position */
+#define TPI_FIFO1_ETM_ATVALID_Msk          (0x3UL << TPI_FIFO1_ETM_ATVALID_Pos)        /*!< TPI FIFO1: ETM_ATVALID Mask */
+
+#define TPI_FIFO1_ETM_bytecount_Pos        24                                          /*!< TPI FIFO1: ETM_bytecount Position */
+#define TPI_FIFO1_ETM_bytecount_Msk        (0x3UL << TPI_FIFO1_ETM_bytecount_Pos)      /*!< TPI FIFO1: ETM_bytecount Mask */
+
+#define TPI_FIFO1_ITM2_Pos                 16                                          /*!< TPI FIFO1: ITM2 Position */
+#define TPI_FIFO1_ITM2_Msk                 (0xFFUL << TPI_FIFO1_ITM2_Pos)              /*!< TPI FIFO1: ITM2 Mask */
+
+#define TPI_FIFO1_ITM1_Pos                  8                                          /*!< TPI FIFO1: ITM1 Position */
+#define TPI_FIFO1_ITM1_Msk                 (0xFFUL << TPI_FIFO1_ITM1_Pos)              /*!< TPI FIFO1: ITM1 Mask */
+
+#define TPI_FIFO1_ITM0_Pos                  0                                          /*!< TPI FIFO1: ITM0 Position */
+#define TPI_FIFO1_ITM0_Msk                 (0xFFUL << TPI_FIFO1_ITM0_Pos)              /*!< TPI FIFO1: ITM0 Mask */
+
+/* TPI ITATBCTR0 Register Definitions */
+#define TPI_ITATBCTR0_ATREADY_Pos           0                                          /*!< TPI ITATBCTR0: ATREADY Position */
+#define TPI_ITATBCTR0_ATREADY_Msk          (0x1UL << TPI_ITATBCTR0_ATREADY_Pos)        /*!< TPI ITATBCTR0: ATREADY Mask */
+
+/* TPI Integration Mode Control Register Definitions */
+#define TPI_ITCTRL_Mode_Pos                 0                                          /*!< TPI ITCTRL: Mode Position */
+#define TPI_ITCTRL_Mode_Msk                (0x1UL << TPI_ITCTRL_Mode_Pos)              /*!< TPI ITCTRL: Mode Mask */
+
+/* TPI DEVID Register Definitions */
+#define TPI_DEVID_NRZVALID_Pos             11                                          /*!< TPI DEVID: NRZVALID Position */
+#define TPI_DEVID_NRZVALID_Msk             (0x1UL << TPI_DEVID_NRZVALID_Pos)           /*!< TPI DEVID: NRZVALID Mask */
+
+#define TPI_DEVID_MANCVALID_Pos            10                                          /*!< TPI DEVID: MANCVALID Position */
+#define TPI_DEVID_MANCVALID_Msk            (0x1UL << TPI_DEVID_MANCVALID_Pos)          /*!< TPI DEVID: MANCVALID Mask */
+
+#define TPI_DEVID_PTINVALID_Pos             9                                          /*!< TPI DEVID: PTINVALID Position */
+#define TPI_DEVID_PTINVALID_Msk            (0x1UL << TPI_DEVID_PTINVALID_Pos)          /*!< TPI DEVID: PTINVALID Mask */
+
+#define TPI_DEVID_MinBufSz_Pos              6                                          /*!< TPI DEVID: MinBufSz Position */
+#define TPI_DEVID_MinBufSz_Msk             (0x7UL << TPI_DEVID_MinBufSz_Pos)           /*!< TPI DEVID: MinBufSz Mask */
+
+#define TPI_DEVID_AsynClkIn_Pos             5                                          /*!< TPI DEVID: AsynClkIn Position */
+#define TPI_DEVID_AsynClkIn_Msk            (0x1UL << TPI_DEVID_AsynClkIn_Pos)          /*!< TPI DEVID: AsynClkIn Mask */
+
+#define TPI_DEVID_NrTraceInput_Pos          0                                          /*!< TPI DEVID: NrTraceInput Position */
+#define TPI_DEVID_NrTraceInput_Msk         (0x1FUL << TPI_DEVID_NrTraceInput_Pos)      /*!< TPI DEVID: NrTraceInput Mask */
+
+/* TPI DEVTYPE Register Definitions */
+#define TPI_DEVTYPE_SubType_Pos             0                                          /*!< TPI DEVTYPE: SubType Position */
+#define TPI_DEVTYPE_SubType_Msk            (0xFUL << TPI_DEVTYPE_SubType_Pos)          /*!< TPI DEVTYPE: SubType Mask */
+
+#define TPI_DEVTYPE_MajorType_Pos           4                                          /*!< TPI DEVTYPE: MajorType Position */
+#define TPI_DEVTYPE_MajorType_Msk          (0xFUL << TPI_DEVTYPE_MajorType_Pos)        /*!< TPI DEVTYPE: MajorType Mask */
+
+/*@}*/ /* end of group CMSIS_TPI */
+
+
+#if (__MPU_PRESENT == 1)
+/** \ingroup  CMSIS_core_register
+    \defgroup CMSIS_MPU     Memory Protection Unit (MPU)
+    \brief      Type definitions for the Memory Protection Unit (MPU)
+  @{
+ */
+
+/** \brief  Structure type to access the Memory Protection Unit (MPU).
+ */
+typedef struct
+{
+  __I  uint32_t TYPE;                    /*!< Offset: 0x000 (R/ )  MPU Type Register                              */
+  __IO uint32_t CTRL;                    /*!< Offset: 0x004 (R/W)  MPU Control Register                           */
+  __IO uint32_t RNR;                     /*!< Offset: 0x008 (R/W)  MPU Region RNRber Register                     */
+  __IO uint32_t RBAR;                    /*!< Offset: 0x00C (R/W)  MPU Region Base Address Register               */
+  __IO uint32_t RASR;                    /*!< Offset: 0x010 (R/W)  MPU Region Attribute and Size Register         */
+  __IO uint32_t RBAR_A1;                 /*!< Offset: 0x014 (R/W)  MPU Alias 1 Region Base Address Register       */
+  __IO uint32_t RASR_A1;                 /*!< Offset: 0x018 (R/W)  MPU Alias 1 Region Attribute and Size Register */
+  __IO uint32_t RBAR_A2;                 /*!< Offset: 0x01C (R/W)  MPU Alias 2 Region Base Address Register       */
+  __IO uint32_t RASR_A2;                 /*!< Offset: 0x020 (R/W)  MPU Alias 2 Region Attribute and Size Register */
+  __IO uint32_t RBAR_A3;                 /*!< Offset: 0x024 (R/W)  MPU Alias 3 Region Base Address Register       */
+  __IO uint32_t RASR_A3;                 /*!< Offset: 0x028 (R/W)  MPU Alias 3 Region Attribute and Size Register */
+} MPU_Type;
+
+/* MPU Type Register */
+#define MPU_TYPE_IREGION_Pos               16                                             /*!< MPU TYPE: IREGION Position */
+#define MPU_TYPE_IREGION_Msk               (0xFFUL << MPU_TYPE_IREGION_Pos)               /*!< MPU TYPE: IREGION Mask */
+
+#define MPU_TYPE_DREGION_Pos                8                                             /*!< MPU TYPE: DREGION Position */
+#define MPU_TYPE_DREGION_Msk               (0xFFUL << MPU_TYPE_DREGION_Pos)               /*!< MPU TYPE: DREGION Mask */
+
+#define MPU_TYPE_SEPARATE_Pos               0                                             /*!< MPU TYPE: SEPARATE Position */
+#define MPU_TYPE_SEPARATE_Msk              (1UL << MPU_TYPE_SEPARATE_Pos)                 /*!< MPU TYPE: SEPARATE Mask */
+
+/* MPU Control Register */
+#define MPU_CTRL_PRIVDEFENA_Pos             2                                             /*!< MPU CTRL: PRIVDEFENA Position */
+#define MPU_CTRL_PRIVDEFENA_Msk            (1UL << MPU_CTRL_PRIVDEFENA_Pos)               /*!< MPU CTRL: PRIVDEFENA Mask */
+
+#define MPU_CTRL_HFNMIENA_Pos               1                                             /*!< MPU CTRL: HFNMIENA Position */
+#define MPU_CTRL_HFNMIENA_Msk              (1UL << MPU_CTRL_HFNMIENA_Pos)                 /*!< MPU CTRL: HFNMIENA Mask */
+
+#define MPU_CTRL_ENABLE_Pos                 0                                             /*!< MPU CTRL: ENABLE Position */
+#define MPU_CTRL_ENABLE_Msk                (1UL << MPU_CTRL_ENABLE_Pos)                   /*!< MPU CTRL: ENABLE Mask */
+
+/* MPU Region Number Register */
+#define MPU_RNR_REGION_Pos                  0                                             /*!< MPU RNR: REGION Position */
+#define MPU_RNR_REGION_Msk                 (0xFFUL << MPU_RNR_REGION_Pos)                 /*!< MPU RNR: REGION Mask */
+
+/* MPU Region Base Address Register */
+#define MPU_RBAR_ADDR_Pos                   5                                             /*!< MPU RBAR: ADDR Position */
+#define MPU_RBAR_ADDR_Msk                  (0x7FFFFFFUL << MPU_RBAR_ADDR_Pos)             /*!< MPU RBAR: ADDR Mask */
+
+#define MPU_RBAR_VALID_Pos                  4                                             /*!< MPU RBAR: VALID Position */
+#define MPU_RBAR_VALID_Msk                 (1UL << MPU_RBAR_VALID_Pos)                    /*!< MPU RBAR: VALID Mask */
+
+#define MPU_RBAR_REGION_Pos                 0                                             /*!< MPU RBAR: REGION Position */
+#define MPU_RBAR_REGION_Msk                (0xFUL << MPU_RBAR_REGION_Pos)                 /*!< MPU RBAR: REGION Mask */
+
+/* MPU Region Attribute and Size Register */
+#define MPU_RASR_ATTRS_Pos                 16                                             /*!< MPU RASR: MPU Region Attribute field Position */
+#define MPU_RASR_ATTRS_Msk                 (0xFFFFUL << MPU_RASR_ATTRS_Pos)               /*!< MPU RASR: MPU Region Attribute field Mask */
+
+#define MPU_RASR_XN_Pos                    28                                             /*!< MPU RASR: ATTRS.XN Position */
+#define MPU_RASR_XN_Msk                    (1UL << MPU_RASR_XN_Pos)                       /*!< MPU RASR: ATTRS.XN Mask */
+
+#define MPU_RASR_AP_Pos                    24                                             /*!< MPU RASR: ATTRS.AP Position */
+#define MPU_RASR_AP_Msk                    (0x7UL << MPU_RASR_AP_Pos)                     /*!< MPU RASR: ATTRS.AP Mask */
+
+#define MPU_RASR_TEX_Pos                   19                                             /*!< MPU RASR: ATTRS.TEX Position */
+#define MPU_RASR_TEX_Msk                   (0x7UL << MPU_RASR_TEX_Pos)                    /*!< MPU RASR: ATTRS.TEX Mask */
+
+#define MPU_RASR_S_Pos                     18                                             /*!< MPU RASR: ATTRS.S Position */
+#define MPU_RASR_S_Msk                     (1UL << MPU_RASR_S_Pos)                        /*!< MPU RASR: ATTRS.S Mask */
+
+#define MPU_RASR_C_Pos                     17                                             /*!< MPU RASR: ATTRS.C Position */
+#define MPU_RASR_C_Msk                     (1UL << MPU_RASR_C_Pos)                        /*!< MPU RASR: ATTRS.C Mask */
+
+#define MPU_RASR_B_Pos                     16                                             /*!< MPU RASR: ATTRS.B Position */
+#define MPU_RASR_B_Msk                     (1UL << MPU_RASR_B_Pos)                        /*!< MPU RASR: ATTRS.B Mask */
+
+#define MPU_RASR_SRD_Pos                    8                                             /*!< MPU RASR: Sub-Region Disable Position */
+#define MPU_RASR_SRD_Msk                   (0xFFUL << MPU_RASR_SRD_Pos)                   /*!< MPU RASR: Sub-Region Disable Mask */
+
+#define MPU_RASR_SIZE_Pos                   1                                             /*!< MPU RASR: Region Size Field Position */
+#define MPU_RASR_SIZE_Msk                  (0x1FUL << MPU_RASR_SIZE_Pos)                  /*!< MPU RASR: Region Size Field Mask */
+
+#define MPU_RASR_ENABLE_Pos                 0                                             /*!< MPU RASR: Region enable bit Position */
+#define MPU_RASR_ENABLE_Msk                (1UL << MPU_RASR_ENABLE_Pos)                   /*!< MPU RASR: Region enable bit Disable Mask */
+
+/*@} end of group CMSIS_MPU */
+#endif
+
+
+/** \ingroup  CMSIS_core_register
+    \defgroup CMSIS_CoreDebug       Core Debug Registers (CoreDebug)
+    \brief      Type definitions for the Core Debug Registers
+  @{
+ */
+
+/** \brief  Structure type to access the Core Debug Register (CoreDebug).
+ */
+typedef struct
+{
+  __IO uint32_t DHCSR;                   /*!< Offset: 0x000 (R/W)  Debug Halting Control and Status Register    */
+  __O  uint32_t DCRSR;                   /*!< Offset: 0x004 ( /W)  Debug Core Register Selector Register        */
+  __IO uint32_t DCRDR;                   /*!< Offset: 0x008 (R/W)  Debug Core Register Data Register            */
+  __IO uint32_t DEMCR;                   /*!< Offset: 0x00C (R/W)  Debug Exception and Monitor Control Register */
+} CoreDebug_Type;
+
+/* Debug Halting Control and Status Register */
+#define CoreDebug_DHCSR_DBGKEY_Pos         16                                             /*!< CoreDebug DHCSR: DBGKEY Position */
+#define CoreDebug_DHCSR_DBGKEY_Msk         (0xFFFFUL << CoreDebug_DHCSR_DBGKEY_Pos)       /*!< CoreDebug DHCSR: DBGKEY Mask */
+
+#define CoreDebug_DHCSR_S_RESET_ST_Pos     25                                             /*!< CoreDebug DHCSR: S_RESET_ST Position */
+#define CoreDebug_DHCSR_S_RESET_ST_Msk     (1UL << CoreDebug_DHCSR_S_RESET_ST_Pos)        /*!< CoreDebug DHCSR: S_RESET_ST Mask */
+
+#define CoreDebug_DHCSR_S_RETIRE_ST_Pos    24                                             /*!< CoreDebug DHCSR: S_RETIRE_ST Position */
+#define CoreDebug_DHCSR_S_RETIRE_ST_Msk    (1UL << CoreDebug_DHCSR_S_RETIRE_ST_Pos)       /*!< CoreDebug DHCSR: S_RETIRE_ST Mask */
+
+#define CoreDebug_DHCSR_S_LOCKUP_Pos       19                                             /*!< CoreDebug DHCSR: S_LOCKUP Position */
+#define CoreDebug_DHCSR_S_LOCKUP_Msk       (1UL << CoreDebug_DHCSR_S_LOCKUP_Pos)          /*!< CoreDebug DHCSR: S_LOCKUP Mask */
+
+#define CoreDebug_DHCSR_S_SLEEP_Pos        18                                             /*!< CoreDebug DHCSR: S_SLEEP Position */
+#define CoreDebug_DHCSR_S_SLEEP_Msk        (1UL << CoreDebug_DHCSR_S_SLEEP_Pos)           /*!< CoreDebug DHCSR: S_SLEEP Mask */
+
+#define CoreDebug_DHCSR_S_HALT_Pos         17                                             /*!< CoreDebug DHCSR: S_HALT Position */
+#define CoreDebug_DHCSR_S_HALT_Msk         (1UL << CoreDebug_DHCSR_S_HALT_Pos)            /*!< CoreDebug DHCSR: S_HALT Mask */
+
+#define CoreDebug_DHCSR_S_REGRDY_Pos       16                                             /*!< CoreDebug DHCSR: S_REGRDY Position */
+#define CoreDebug_DHCSR_S_REGRDY_Msk       (1UL << CoreDebug_DHCSR_S_REGRDY_Pos)          /*!< CoreDebug DHCSR: S_REGRDY Mask */
+
+#define CoreDebug_DHCSR_C_SNAPSTALL_Pos     5                                             /*!< CoreDebug DHCSR: C_SNAPSTALL Position */
+#define CoreDebug_DHCSR_C_SNAPSTALL_Msk    (1UL << CoreDebug_DHCSR_C_SNAPSTALL_Pos)       /*!< CoreDebug DHCSR: C_SNAPSTALL Mask */
+
+#define CoreDebug_DHCSR_C_MASKINTS_Pos      3                                             /*!< CoreDebug DHCSR: C_MASKINTS Position */
+#define CoreDebug_DHCSR_C_MASKINTS_Msk     (1UL << CoreDebug_DHCSR_C_MASKINTS_Pos)        /*!< CoreDebug DHCSR: C_MASKINTS Mask */
+
+#define CoreDebug_DHCSR_C_STEP_Pos          2                                             /*!< CoreDebug DHCSR: C_STEP Position */
+#define CoreDebug_DHCSR_C_STEP_Msk         (1UL << CoreDebug_DHCSR_C_STEP_Pos)            /*!< CoreDebug DHCSR: C_STEP Mask */
+
+#define CoreDebug_DHCSR_C_HALT_Pos          1                                             /*!< CoreDebug DHCSR: C_HALT Position */
+#define CoreDebug_DHCSR_C_HALT_Msk         (1UL << CoreDebug_DHCSR_C_HALT_Pos)            /*!< CoreDebug DHCSR: C_HALT Mask */
+
+#define CoreDebug_DHCSR_C_DEBUGEN_Pos       0                                             /*!< CoreDebug DHCSR: C_DEBUGEN Position */
+#define CoreDebug_DHCSR_C_DEBUGEN_Msk      (1UL << CoreDebug_DHCSR_C_DEBUGEN_Pos)         /*!< CoreDebug DHCSR: C_DEBUGEN Mask */
+
+/* Debug Core Register Selector Register */
+#define CoreDebug_DCRSR_REGWnR_Pos         16                                             /*!< CoreDebug DCRSR: REGWnR Position */
+#define CoreDebug_DCRSR_REGWnR_Msk         (1UL << CoreDebug_DCRSR_REGWnR_Pos)            /*!< CoreDebug DCRSR: REGWnR Mask */
+
+#define CoreDebug_DCRSR_REGSEL_Pos          0                                             /*!< CoreDebug DCRSR: REGSEL Position */
+#define CoreDebug_DCRSR_REGSEL_Msk         (0x1FUL << CoreDebug_DCRSR_REGSEL_Pos)         /*!< CoreDebug DCRSR: REGSEL Mask */
+
+/* Debug Exception and Monitor Control Register */
+#define CoreDebug_DEMCR_TRCENA_Pos         24                                             /*!< CoreDebug DEMCR: TRCENA Position */
+#define CoreDebug_DEMCR_TRCENA_Msk         (1UL << CoreDebug_DEMCR_TRCENA_Pos)            /*!< CoreDebug DEMCR: TRCENA Mask */
+
+#define CoreDebug_DEMCR_MON_REQ_Pos        19                                             /*!< CoreDebug DEMCR: MON_REQ Position */
+#define CoreDebug_DEMCR_MON_REQ_Msk        (1UL << CoreDebug_DEMCR_MON_REQ_Pos)           /*!< CoreDebug DEMCR: MON_REQ Mask */
+
+#define CoreDebug_DEMCR_MON_STEP_Pos       18                                             /*!< CoreDebug DEMCR: MON_STEP Position */
+#define CoreDebug_DEMCR_MON_STEP_Msk       (1UL << CoreDebug_DEMCR_MON_STEP_Pos)          /*!< CoreDebug DEMCR: MON_STEP Mask */
+
+#define CoreDebug_DEMCR_MON_PEND_Pos       17                                             /*!< CoreDebug DEMCR: MON_PEND Position */
+#define CoreDebug_DEMCR_MON_PEND_Msk       (1UL << CoreDebug_DEMCR_MON_PEND_Pos)          /*!< CoreDebug DEMCR: MON_PEND Mask */
+
+#define CoreDebug_DEMCR_MON_EN_Pos         16                                             /*!< CoreDebug DEMCR: MON_EN Position */
+#define CoreDebug_DEMCR_MON_EN_Msk         (1UL << CoreDebug_DEMCR_MON_EN_Pos)            /*!< CoreDebug DEMCR: MON_EN Mask */
+
+#define CoreDebug_DEMCR_VC_HARDERR_Pos     10                                             /*!< CoreDebug DEMCR: VC_HARDERR Position */
+#define CoreDebug_DEMCR_VC_HARDERR_Msk     (1UL << CoreDebug_DEMCR_VC_HARDERR_Pos)        /*!< CoreDebug DEMCR: VC_HARDERR Mask */
+
+#define CoreDebug_DEMCR_VC_INTERR_Pos       9                                             /*!< CoreDebug DEMCR: VC_INTERR Position */
+#define CoreDebug_DEMCR_VC_INTERR_Msk      (1UL << CoreDebug_DEMCR_VC_INTERR_Pos)         /*!< CoreDebug DEMCR: VC_INTERR Mask */
+
+#define CoreDebug_DEMCR_VC_BUSERR_Pos       8                                             /*!< CoreDebug DEMCR: VC_BUSERR Position */
+#define CoreDebug_DEMCR_VC_BUSERR_Msk      (1UL << CoreDebug_DEMCR_VC_BUSERR_Pos)         /*!< CoreDebug DEMCR: VC_BUSERR Mask */
+
+#define CoreDebug_DEMCR_VC_STATERR_Pos      7                                             /*!< CoreDebug DEMCR: VC_STATERR Position */
+#define CoreDebug_DEMCR_VC_STATERR_Msk     (1UL << CoreDebug_DEMCR_VC_STATERR_Pos)        /*!< CoreDebug DEMCR: VC_STATERR Mask */
+
+#define CoreDebug_DEMCR_VC_CHKERR_Pos       6                                             /*!< CoreDebug DEMCR: VC_CHKERR Position */
+#define CoreDebug_DEMCR_VC_CHKERR_Msk      (1UL << CoreDebug_DEMCR_VC_CHKERR_Pos)         /*!< CoreDebug DEMCR: VC_CHKERR Mask */
+
+#define CoreDebug_DEMCR_VC_NOCPERR_Pos      5                                             /*!< CoreDebug DEMCR: VC_NOCPERR Position */
+#define CoreDebug_DEMCR_VC_NOCPERR_Msk     (1UL << CoreDebug_DEMCR_VC_NOCPERR_Pos)        /*!< CoreDebug DEMCR: VC_NOCPERR Mask */
+
+#define CoreDebug_DEMCR_VC_MMERR_Pos        4                                             /*!< CoreDebug DEMCR: VC_MMERR Position */
+#define CoreDebug_DEMCR_VC_MMERR_Msk       (1UL << CoreDebug_DEMCR_VC_MMERR_Pos)          /*!< CoreDebug DEMCR: VC_MMERR Mask */
+
+#define CoreDebug_DEMCR_VC_CORERESET_Pos    0                                             /*!< CoreDebug DEMCR: VC_CORERESET Position */
+#define CoreDebug_DEMCR_VC_CORERESET_Msk   (1UL << CoreDebug_DEMCR_VC_CORERESET_Pos)      /*!< CoreDebug DEMCR: VC_CORERESET Mask */
+
+/*@} end of group CMSIS_CoreDebug */
+
+
+/** \ingroup    CMSIS_core_register
+    \defgroup   CMSIS_core_base     Core Definitions
+    \brief      Definitions for base addresses, unions, and structures.
+  @{
+ */
+
+/* Memory mapping of Cortex-M3 Hardware */
+#define SCS_BASE            (0xE000E000UL)                            /*!< System Control Space Base Address  */
+#define ITM_BASE            (0xE0000000UL)                            /*!< ITM Base Address                   */
+#define DWT_BASE            (0xE0001000UL)                            /*!< DWT Base Address                   */
+#define TPI_BASE            (0xE0040000UL)                            /*!< TPI Base Address                   */
+#define CoreDebug_BASE      (0xE000EDF0UL)                            /*!< Core Debug Base Address            */
+#define SysTick_BASE        (SCS_BASE +  0x0010UL)                    /*!< SysTick Base Address               */
+#define NVIC_BASE           (SCS_BASE +  0x0100UL)                    /*!< NVIC Base Address                  */
+#define SCB_BASE            (SCS_BASE +  0x0D00UL)                    /*!< System Control Block Base Address  */
+
+#define SCnSCB              ((SCnSCB_Type    *)     SCS_BASE      )   /*!< System control Register not in SCB */
+#define SCB                 ((SCB_Type       *)     SCB_BASE      )   /*!< SCB configuration struct           */
+#define SysTick             ((SysTick_Type   *)     SysTick_BASE  )   /*!< SysTick configuration struct       */
+#define NVIC                ((NVIC_Type      *)     NVIC_BASE     )   /*!< NVIC configuration struct          */
+#define ITM                 ((ITM_Type       *)     ITM_BASE      )   /*!< ITM configuration struct           */
+#define DWT                 ((DWT_Type       *)     DWT_BASE      )   /*!< DWT configuration struct           */
+#define TPI                 ((TPI_Type       *)     TPI_BASE      )   /*!< TPI configuration struct           */
+#define CoreDebug           ((CoreDebug_Type *)     CoreDebug_BASE)   /*!< Core Debug configuration struct    */
+
+#if (__MPU_PRESENT == 1)
+  #define MPU_BASE          (SCS_BASE +  0x0D90UL)                    /*!< Memory Protection Unit             */
+  #define MPU               ((MPU_Type       *)     MPU_BASE      )   /*!< Memory Protection Unit             */
+#endif
+
+/*@} */
+
+
+
+/*******************************************************************************
+ *                Hardware Abstraction Layer
+  Core Function Interface contains:
+  - Core NVIC Functions
+  - Core SysTick Functions
+  - Core Debug Functions
+  - Core Register Access Functions
+ ******************************************************************************/
+/** \defgroup CMSIS_Core_FunctionInterface Functions and Instructions Reference
+*/
+
+
+
+/* ##########################   NVIC functions  #################################### */
+/** \ingroup  CMSIS_Core_FunctionInterface
+    \defgroup CMSIS_Core_NVICFunctions NVIC Functions
+    \brief      Functions that manage interrupts and exceptions via the NVIC.
+    @{
+ */
+
+/** \brief  Set Priority Grouping
+
+  The function sets the priority grouping field using the required unlock sequence.
+  The parameter PriorityGroup is assigned to the field SCB->AIRCR [10:8] PRIGROUP field.
+  Only values from 0..7 are used.
+  In case of a conflict between priority grouping and available
+  priority bits (__NVIC_PRIO_BITS), the smallest possible priority group is set.
+
+    \param [in]      PriorityGroup  Priority grouping field.
+ */
+__STATIC_INLINE void NVIC_SetPriorityGrouping(uint32_t PriorityGroup)
+{
+  uint32_t reg_value;
+  uint32_t PriorityGroupTmp = (PriorityGroup & (uint32_t)0x07);               /* only values 0..7 are used          */
+
+  reg_value  =  SCB->AIRCR;                                                   /* read old register configuration    */
+  reg_value &= ~(SCB_AIRCR_VECTKEY_Msk | SCB_AIRCR_PRIGROUP_Msk);             /* clear bits to change               */
+  reg_value  =  (reg_value                                 |
+                ((uint32_t)0x5FA << SCB_AIRCR_VECTKEY_Pos) |
+                (PriorityGroupTmp << 8));                                     /* Insert write key and priorty group */
+  SCB->AIRCR =  reg_value;
+}
+
+
+/** \brief  Get Priority Grouping
+
+  The function reads the priority grouping field from the NVIC Interrupt Controller.
+
+    \return                Priority grouping field (SCB->AIRCR [10:8] PRIGROUP field).
+ */
+__STATIC_INLINE uint32_t NVIC_GetPriorityGrouping(void)
+{
+  return ((SCB->AIRCR & SCB_AIRCR_PRIGROUP_Msk) >> SCB_AIRCR_PRIGROUP_Pos);   /* read priority grouping field */
+}
+
+
+/** \brief  Enable External Interrupt
+
+    The function enables a device-specific interrupt in the NVIC interrupt controller.
+
+    \param [in]      IRQn  External interrupt number. Value cannot be negative.
+ */
+__STATIC_INLINE void NVIC_EnableIRQ(IRQn_Type IRQn)
+{
+  NVIC->ISER[((uint32_t)(IRQn) >> 5)] = (1 << ((uint32_t)(IRQn) & 0x1F)); /* enable interrupt */
+}
+
+
+/** \brief  Disable External Interrupt
+
+    The function disables a device-specific interrupt in the NVIC interrupt controller.
+
+    \param [in]      IRQn  External interrupt number. Value cannot be negative.
+ */
+__STATIC_INLINE void NVIC_DisableIRQ(IRQn_Type IRQn)
+{
+  NVIC->ICER[((uint32_t)(IRQn) >> 5)] = (1 << ((uint32_t)(IRQn) & 0x1F)); /* disable interrupt */
+}
+
+
+/** \brief  Get Pending Interrupt
+
+    The function reads the pending register in the NVIC and returns the pending bit
+    for the specified interrupt.
+
+    \param [in]      IRQn  Interrupt number.
+
+    \return             0  Interrupt status is not pending.
+    \return             1  Interrupt status is pending.
+ */
+__STATIC_INLINE uint32_t NVIC_GetPendingIRQ(IRQn_Type IRQn)
+{
+  return((uint32_t) ((NVIC->ISPR[(uint32_t)(IRQn) >> 5] & (1 << ((uint32_t)(IRQn) & 0x1F)))?1:0)); /* Return 1 if pending else 0 */
+}
+
+
+/** \brief  Set Pending Interrupt
+
+    The function sets the pending bit of an external interrupt.
+
+    \param [in]      IRQn  Interrupt number. Value cannot be negative.
+ */
+__STATIC_INLINE void NVIC_SetPendingIRQ(IRQn_Type IRQn)
+{
+  NVIC->ISPR[((uint32_t)(IRQn) >> 5)] = (1 << ((uint32_t)(IRQn) & 0x1F)); /* set interrupt pending */
+}
+
+
+/** \brief  Clear Pending Interrupt
+
+    The function clears the pending bit of an external interrupt.
+
+    \param [in]      IRQn  External interrupt number. Value cannot be negative.
+ */
+__STATIC_INLINE void NVIC_ClearPendingIRQ(IRQn_Type IRQn)
+{
+  NVIC->ICPR[((uint32_t)(IRQn) >> 5)] = (1 << ((uint32_t)(IRQn) & 0x1F)); /* Clear pending interrupt */
+}
+
+
+/** \brief  Get Active Interrupt
+
+    The function reads the active register in NVIC and returns the active bit.
+
+    \param [in]      IRQn  Interrupt number.
+
+    \return             0  Interrupt status is not active.
+    \return             1  Interrupt status is active.
+ */
+__STATIC_INLINE uint32_t NVIC_GetActive(IRQn_Type IRQn)
+{
+  return((uint32_t)((NVIC->IABR[(uint32_t)(IRQn) >> 5] & (1 << ((uint32_t)(IRQn) & 0x1F)))?1:0)); /* Return 1 if active else 0 */
+}
+
+
+/** \brief  Set Interrupt Priority
+
+    The function sets the priority of an interrupt.
+
+    \note The priority cannot be set for every core interrupt.
+
+    \param [in]      IRQn  Interrupt number.
+    \param [in]  priority  Priority to set.
+ */
+__STATIC_INLINE void NVIC_SetPriority(IRQn_Type IRQn, uint32_t priority)
+{
+  if(IRQn < 0) {
+    SCB->SHP[((uint32_t)(IRQn) & 0xF)-4] = ((priority << (8 - __NVIC_PRIO_BITS)) & 0xff); } /* set Priority for Cortex-M  System Interrupts */
+  else {
+    NVIC->IP[(uint32_t)(IRQn)] = ((priority << (8 - __NVIC_PRIO_BITS)) & 0xff);    }        /* set Priority for device specific Interrupts  */
+}
+
+
+/** \brief  Get Interrupt Priority
+
+    The function reads the priority of an interrupt. The interrupt
+    number can be positive to specify an external (device specific)
+    interrupt, or negative to specify an internal (core) interrupt.
+
+
+    \param [in]   IRQn  Interrupt number.
+    \return             Interrupt Priority. Value is aligned automatically to the implemented
+                        priority bits of the microcontroller.
+ */
+__STATIC_INLINE uint32_t NVIC_GetPriority(IRQn_Type IRQn)
+{
+
+  if(IRQn < 0) {
+    return((uint32_t)(SCB->SHP[((uint32_t)(IRQn) & 0xF)-4] >> (8 - __NVIC_PRIO_BITS)));  } /* get priority for Cortex-M  system interrupts */
+  else {
+    return((uint32_t)(NVIC->IP[(uint32_t)(IRQn)]           >> (8 - __NVIC_PRIO_BITS)));  } /* get priority for device specific interrupts  */
+}
+
+
+/** \brief  Encode Priority
+
+    The function encodes the priority for an interrupt with the given priority group,
+    preemptive priority value, and subpriority value.
+    In case of a conflict between priority grouping and available
+    priority bits (__NVIC_PRIO_BITS), the samllest possible priority group is set.
+
+    \param [in]     PriorityGroup  Used priority group.
+    \param [in]   PreemptPriority  Preemptive priority value (starting from 0).
+    \param [in]       SubPriority  Subpriority value (starting from 0).
+    \return                        Encoded priority. Value can be used in the function \ref NVIC_SetPriority().
+ */
+__STATIC_INLINE uint32_t NVIC_EncodePriority (uint32_t PriorityGroup, uint32_t PreemptPriority, uint32_t SubPriority)
+{
+  uint32_t PriorityGroupTmp = (PriorityGroup & 0x07);          /* only values 0..7 are used          */
+  uint32_t PreemptPriorityBits;
+  uint32_t SubPriorityBits;
+
+  PreemptPriorityBits = ((7 - PriorityGroupTmp) > __NVIC_PRIO_BITS) ? __NVIC_PRIO_BITS : 7 - PriorityGroupTmp;
+  SubPriorityBits     = ((PriorityGroupTmp + __NVIC_PRIO_BITS) < 7) ? 0 : PriorityGroupTmp - 7 + __NVIC_PRIO_BITS;
+
+  return (
+           ((PreemptPriority & ((1 << (PreemptPriorityBits)) - 1)) << SubPriorityBits) |
+           ((SubPriority     & ((1 << (SubPriorityBits    )) - 1)))
+         );
+}
+
+
+/** \brief  Decode Priority
+
+    The function decodes an interrupt priority value with a given priority group to
+    preemptive priority value and subpriority value.
+    In case of a conflict between priority grouping and available
+    priority bits (__NVIC_PRIO_BITS) the samllest possible priority group is set.
+
+    \param [in]         Priority   Priority value, which can be retrieved with the function \ref NVIC_GetPriority().
+    \param [in]     PriorityGroup  Used priority group.
+    \param [out] pPreemptPriority  Preemptive priority value (starting from 0).
+    \param [out]     pSubPriority  Subpriority value (starting from 0).
+ */
+__STATIC_INLINE void NVIC_DecodePriority (uint32_t Priority, uint32_t PriorityGroup, uint32_t* pPreemptPriority, uint32_t* pSubPriority)
+{
+  uint32_t PriorityGroupTmp = (PriorityGroup & 0x07);          /* only values 0..7 are used          */
+  uint32_t PreemptPriorityBits;
+  uint32_t SubPriorityBits;
+
+  PreemptPriorityBits = ((7 - PriorityGroupTmp) > __NVIC_PRIO_BITS) ? __NVIC_PRIO_BITS : 7 - PriorityGroupTmp;
+  SubPriorityBits     = ((PriorityGroupTmp + __NVIC_PRIO_BITS) < 7) ? 0 : PriorityGroupTmp - 7 + __NVIC_PRIO_BITS;
+
+  *pPreemptPriority = (Priority >> SubPriorityBits) & ((1 << (PreemptPriorityBits)) - 1);
+  *pSubPriority     = (Priority                   ) & ((1 << (SubPriorityBits    )) - 1);
+}
+
+
+/** \brief  System Reset
+
+    The function initiates a system reset request to reset the MCU.
+ */
+__STATIC_INLINE void NVIC_SystemReset(void)
+{
+  __DSB();                                                     /* Ensure all outstanding memory accesses included
+                                                                  buffered write are completed before reset */
+  SCB->AIRCR  = ((0x5FA << SCB_AIRCR_VECTKEY_Pos)      |
+                 (SCB->AIRCR & SCB_AIRCR_PRIGROUP_Msk) |
+                 SCB_AIRCR_SYSRESETREQ_Msk);                   /* Keep priority group unchanged */
+  __DSB();                                                     /* Ensure completion of memory access */
+  while(1);                                                    /* wait until reset */
+}
+
+/*@} end of CMSIS_Core_NVICFunctions */
+
+
+
+/* ##################################    SysTick function  ############################################ */
+/** \ingroup  CMSIS_Core_FunctionInterface
+    \defgroup CMSIS_Core_SysTickFunctions SysTick Functions
+    \brief      Functions that configure the System.
+  @{
+ */
+
+#if (__Vendor_SysTickConfig == 0)
+
+/** \brief  System Tick Configuration
+
+    The function initializes the System Timer and its interrupt, and starts the System Tick Timer.
+    Counter is in free running mode to generate periodic interrupts.
+
+    \param [in]  ticks  Number of ticks between two interrupts.
+
+    \return          0  Function succeeded.
+    \return          1  Function failed.
+
+    \note     When the variable <b>__Vendor_SysTickConfig</b> is set to 1, then the
+    function <b>SysTick_Config</b> is not included. In this case, the file <b><i>device</i>.h</b>
+    must contain a vendor-specific implementation of this function.
+
+ */
+__STATIC_INLINE uint32_t SysTick_Config(uint32_t ticks)
+{
+  if ((ticks - 1) > SysTick_LOAD_RELOAD_Msk)  return (1);      /* Reload value impossible */
+
+  SysTick->LOAD  = ticks - 1;                                  /* set reload register */
+  NVIC_SetPriority (SysTick_IRQn, (1<<__NVIC_PRIO_BITS) - 1);  /* set Priority for Systick Interrupt */
+  SysTick->VAL   = 0;                                          /* Load the SysTick Counter Value */
+  SysTick->CTRL  = SysTick_CTRL_CLKSOURCE_Msk |
+                   SysTick_CTRL_TICKINT_Msk   |
+                   SysTick_CTRL_ENABLE_Msk;                    /* Enable SysTick IRQ and SysTick Timer */
+  return (0);                                                  /* Function successful */
+}
+
+#endif
+
+/*@} end of CMSIS_Core_SysTickFunctions */
+
+
+
+/* ##################################### Debug In/Output function ########################################### */
+/** \ingroup  CMSIS_Core_FunctionInterface
+    \defgroup CMSIS_core_DebugFunctions ITM Functions
+    \brief   Functions that access the ITM debug interface.
+  @{
+ */
+
+extern volatile int32_t ITM_RxBuffer;                    /*!< External variable to receive characters.                         */
+#define                 ITM_RXBUFFER_EMPTY    0x5AA55AA5 /*!< Value identifying \ref ITM_RxBuffer is ready for next character. */
+
+
+/** \brief  ITM Send Character
+
+    The function transmits a character via the ITM channel 0, and
+    \li Just returns when no debugger is connected that has booked the output.
+    \li Is blocking when a debugger is connected, but the previous character sent has not been transmitted.
+
+    \param [in]     ch  Character to transmit.
+
+    \returns            Character to transmit.
+ */
+__STATIC_INLINE uint32_t ITM_SendChar (uint32_t ch)
+{
+  if ((ITM->TCR & ITM_TCR_ITMENA_Msk)                  &&      /* ITM enabled */
+      (ITM->TER & (1UL << 0)        )                    )     /* ITM Port #0 enabled */
+  {
+    while (ITM->PORT[0].u32 == 0);
+    ITM->PORT[0].u8 = (uint8_t) ch;
+  }
+  return (ch);
+}
+
+
+/** \brief  ITM Receive Character
+
+    The function inputs a character via the external variable \ref ITM_RxBuffer.
+
+    \return             Received character.
+    \return         -1  No character pending.
+ */
+__STATIC_INLINE int32_t ITM_ReceiveChar (void) {
+  int32_t ch = -1;                           /* no character available */
+
+  if (ITM_RxBuffer != ITM_RXBUFFER_EMPTY) {
+    ch = ITM_RxBuffer;
+    ITM_RxBuffer = ITM_RXBUFFER_EMPTY;       /* ready for next character */
+  }
+
+  return (ch);
+}
+
+
+/** \brief  ITM Check Character
+
+    The function checks whether a character is pending for reading in the variable \ref ITM_RxBuffer.
+
+    \return          0  No character available.
+    \return          1  Character available.
+ */
+__STATIC_INLINE int32_t ITM_CheckChar (void) {
+
+  if (ITM_RxBuffer == ITM_RXBUFFER_EMPTY) {
+    return (0);                                 /* no character available */
+  } else {
+    return (1);                                 /*    character available */
+  }
+}
+
+/*@} end of CMSIS_core_DebugFunctions */
+
+#endif /* __CORE_CM3_H_DEPENDANT */
+
+#endif /* __CMSIS_GENERIC */
+
+#ifdef __cplusplus
+}
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TARGET_GHI_MBUINO/core_cm4.h	Fri Aug 15 15:28:31 2014 +0100
@@ -0,0 +1,1772 @@
+/**************************************************************************//**
+ * @file     core_cm4.h
+ * @brief    CMSIS Cortex-M4 Core Peripheral Access Layer Header File
+ * @version  V3.20
+ * @date     25. February 2013
+ *
+ * @note
+ *
+ ******************************************************************************/
+/* Copyright (c) 2009 - 2013 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 ARM 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 COPYRIGHT HOLDERS AND CONTRIBUTORS 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.
+   ---------------------------------------------------------------------------*/
+
+
+#if defined ( __ICCARM__ )
+ #pragma system_include  /* treat file as system include file for MISRA check */
+#endif
+
+#ifdef __cplusplus
+ extern "C" {
+#endif
+
+#ifndef __CORE_CM4_H_GENERIC
+#define __CORE_CM4_H_GENERIC
+
+/** \page CMSIS_MISRA_Exceptions  MISRA-C:2004 Compliance Exceptions
+  CMSIS violates the following MISRA-C:2004 rules:
+
+   \li Required Rule 8.5, object/function definition in header file.<br>
+     Function definitions in header files are used to allow 'inlining'.
+
+   \li Required Rule 18.4, declaration of union type or object of union type: '{...}'.<br>
+     Unions are used for effective representation of core registers.
+
+   \li Advisory Rule 19.7, Function-like macro defined.<br>
+     Function-like macros are used to allow more efficient code.
+ */
+
+
+/*******************************************************************************
+ *                 CMSIS definitions
+ ******************************************************************************/
+/** \ingroup Cortex_M4
+  @{
+ */
+
+/*  CMSIS CM4 definitions */
+#define __CM4_CMSIS_VERSION_MAIN  (0x03)                                   /*!< [31:16] CMSIS HAL main version   */
+#define __CM4_CMSIS_VERSION_SUB   (0x20)                                   /*!< [15:0]  CMSIS HAL sub version    */
+#define __CM4_CMSIS_VERSION       ((__CM4_CMSIS_VERSION_MAIN << 16) | \
+                                    __CM4_CMSIS_VERSION_SUB          )     /*!< CMSIS HAL version number         */
+
+#define __CORTEX_M                (0x04)                                   /*!< Cortex-M Core                    */
+
+
+#if   defined ( __CC_ARM )
+  #define __ASM            __asm                                      /*!< asm keyword for ARM Compiler          */
+  #define __INLINE         __inline                                   /*!< inline keyword for ARM Compiler       */
+  #define __STATIC_INLINE  static __inline
+
+#elif defined ( __ICCARM__ )
+  #define __ASM            __asm                                      /*!< asm keyword for IAR Compiler          */
+  #define __INLINE         inline                                     /*!< inline keyword for IAR Compiler. Only available in High optimization mode! */
+  #define __STATIC_INLINE  static inline
+
+#elif defined ( __TMS470__ )
+  #define __ASM            __asm                                      /*!< asm keyword for TI CCS Compiler       */
+  #define __STATIC_INLINE  static inline
+
+#elif defined ( __GNUC__ )
+  #define __ASM            __asm                                      /*!< asm keyword for GNU Compiler          */
+  #define __INLINE         inline                                     /*!< inline keyword for GNU Compiler       */
+  #define __STATIC_INLINE  static inline
+
+#elif defined ( __TASKING__ )
+  #define __ASM            __asm                                      /*!< asm keyword for TASKING Compiler      */
+  #define __INLINE         inline                                     /*!< inline keyword for TASKING Compiler   */
+  #define __STATIC_INLINE  static inline
+
+#endif
+
+/** __FPU_USED indicates whether an FPU is used or not. For this, __FPU_PRESENT has to be checked prior to making use of FPU specific registers and functions.
+*/
+#if defined ( __CC_ARM )
+  #if defined __TARGET_FPU_VFP
+    #if (__FPU_PRESENT == 1)
+      #define __FPU_USED       1
+    #else
+      #warning "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)"
+      #define __FPU_USED       0
+    #endif
+  #else
+    #define __FPU_USED         0
+  #endif
+
+#elif defined ( __ICCARM__ )
+  #if defined __ARMVFP__
+    #if (__FPU_PRESENT == 1)
+      #define __FPU_USED       1
+    #else
+      #warning "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)"
+      #define __FPU_USED       0
+    #endif
+  #else
+    #define __FPU_USED         0
+  #endif
+
+#elif defined ( __TMS470__ )
+  #if defined __TI_VFP_SUPPORT__
+    #if (__FPU_PRESENT == 1)
+      #define __FPU_USED       1
+    #else
+      #warning "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)"
+      #define __FPU_USED       0
+    #endif
+  #else
+    #define __FPU_USED         0
+  #endif
+
+#elif defined ( __GNUC__ )
+  #if defined (__VFP_FP__) && !defined(__SOFTFP__)
+    #if (__FPU_PRESENT == 1)
+      #define __FPU_USED       1
+    #else
+      #warning "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)"
+      #define __FPU_USED       0
+    #endif
+  #else
+    #define __FPU_USED         0
+  #endif
+
+#elif defined ( __TASKING__ )
+  #if defined __FPU_VFP__
+    #if (__FPU_PRESENT == 1)
+      #define __FPU_USED       1
+    #else
+      #error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)"
+      #define __FPU_USED       0
+    #endif
+  #else
+    #define __FPU_USED         0
+  #endif
+#endif
+
+#include <stdint.h>                      /* standard types definitions                      */
+#include <core_cmInstr.h>                /* Core Instruction Access                         */
+#include <core_cmFunc.h>                 /* Core Function Access                            */
+#include <core_cm4_simd.h>               /* Compiler specific SIMD Intrinsics               */
+
+#endif /* __CORE_CM4_H_GENERIC */
+
+#ifndef __CMSIS_GENERIC
+
+#ifndef __CORE_CM4_H_DEPENDANT
+#define __CORE_CM4_H_DEPENDANT
+
+/* check device defines and use defaults */
+#if defined __CHECK_DEVICE_DEFINES
+  #ifndef __CM4_REV
+    #define __CM4_REV               0x0000
+    #warning "__CM4_REV not defined in device header file; using default!"
+  #endif
+
+  #ifndef __FPU_PRESENT
+    #define __FPU_PRESENT             0
+    #warning "__FPU_PRESENT not defined in device header file; using default!"
+  #endif
+
+  #ifndef __MPU_PRESENT
+    #define __MPU_PRESENT             0
+    #warning "__MPU_PRESENT not defined in device header file; using default!"
+  #endif
+
+  #ifndef __NVIC_PRIO_BITS
+    #define __NVIC_PRIO_BITS          4
+    #warning "__NVIC_PRIO_BITS not defined in device header file; using default!"
+  #endif
+
+  #ifndef __Vendor_SysTickConfig
+    #define __Vendor_SysTickConfig    0
+    #warning "__Vendor_SysTickConfig not defined in device header file; using default!"
+  #endif
+#endif
+
+/* IO definitions (access restrictions to peripheral registers) */
+/**
+    \defgroup CMSIS_glob_defs CMSIS Global Defines
+
+    <strong>IO Type Qualifiers</strong> are used
+    \li to specify the access to peripheral variables.
+    \li for automatic generation of peripheral register debug information.
+*/
+#ifdef __cplusplus
+  #define   __I     volatile             /*!< Defines 'read only' permissions                 */
+#else
+  #define   __I     volatile const       /*!< Defines 'read only' permissions                 */
+#endif
+#define     __O     volatile             /*!< Defines 'write only' permissions                */
+#define     __IO    volatile             /*!< Defines 'read / write' permissions              */
+
+/*@} end of group Cortex_M4 */
+
+
+
+/*******************************************************************************
+ *                 Register Abstraction
+  Core Register contain:
+  - Core Register
+  - Core NVIC Register
+  - Core SCB Register
+  - Core SysTick Register
+  - Core Debug Register
+  - Core MPU Register
+  - Core FPU Register
+ ******************************************************************************/
+/** \defgroup CMSIS_core_register Defines and Type Definitions
+    \brief Type definitions and defines for Cortex-M processor based devices.
+*/
+
+/** \ingroup    CMSIS_core_register
+    \defgroup   CMSIS_CORE  Status and Control Registers
+    \brief  Core Register type definitions.
+  @{
+ */
+
+/** \brief  Union type to access the Application Program Status Register (APSR).
+ */
+typedef union
+{
+  struct
+  {
+#if (__CORTEX_M != 0x04)
+    uint32_t _reserved0:27;              /*!< bit:  0..26  Reserved                           */
+#else
+    uint32_t _reserved0:16;              /*!< bit:  0..15  Reserved                           */
+    uint32_t GE:4;                       /*!< bit: 16..19  Greater than or Equal flags        */
+    uint32_t _reserved1:7;               /*!< bit: 20..26  Reserved                           */
+#endif
+    uint32_t Q:1;                        /*!< bit:     27  Saturation condition flag          */
+    uint32_t V:1;                        /*!< bit:     28  Overflow condition code flag       */
+    uint32_t C:1;                        /*!< bit:     29  Carry condition code flag          */
+    uint32_t Z:1;                        /*!< bit:     30  Zero condition code flag           */
+    uint32_t N:1;                        /*!< bit:     31  Negative condition code flag       */
+  } b;                                   /*!< Structure used for bit  access                  */
+  uint32_t w;                            /*!< Type      used for word access                  */
+} APSR_Type;
+
+
+/** \brief  Union type to access the Interrupt Program Status Register (IPSR).
+ */
+typedef union
+{
+  struct
+  {
+    uint32_t ISR:9;                      /*!< bit:  0.. 8  Exception number                   */
+    uint32_t _reserved0:23;              /*!< bit:  9..31  Reserved                           */
+  } b;                                   /*!< Structure used for bit  access                  */
+  uint32_t w;                            /*!< Type      used for word access                  */
+} IPSR_Type;
+
+
+/** \brief  Union type to access the Special-Purpose Program Status Registers (xPSR).
+ */
+typedef union
+{
+  struct
+  {
+    uint32_t ISR:9;                      /*!< bit:  0.. 8  Exception number                   */
+#if (__CORTEX_M != 0x04)
+    uint32_t _reserved0:15;              /*!< bit:  9..23  Reserved                           */
+#else
+    uint32_t _reserved0:7;               /*!< bit:  9..15  Reserved                           */
+    uint32_t GE:4;                       /*!< bit: 16..19  Greater than or Equal flags        */
+    uint32_t _reserved1:4;               /*!< bit: 20..23  Reserved                           */
+#endif
+    uint32_t T:1;                        /*!< bit:     24  Thumb bit        (read 0)          */
+    uint32_t IT:2;                       /*!< bit: 25..26  saved IT state   (read 0)          */
+    uint32_t Q:1;                        /*!< bit:     27  Saturation condition flag          */
+    uint32_t V:1;                        /*!< bit:     28  Overflow condition code flag       */
+    uint32_t C:1;                        /*!< bit:     29  Carry condition code flag          */
+    uint32_t Z:1;                        /*!< bit:     30  Zero condition code flag           */
+    uint32_t N:1;                        /*!< bit:     31  Negative condition code flag       */
+  } b;                                   /*!< Structure used for bit  access                  */
+  uint32_t w;                            /*!< Type      used for word access                  */
+} xPSR_Type;
+
+
+/** \brief  Union type to access the Control Registers (CONTROL).
+ */
+typedef union
+{
+  struct
+  {
+    uint32_t nPRIV:1;                    /*!< bit:      0  Execution privilege in Thread mode */
+    uint32_t SPSEL:1;                    /*!< bit:      1  Stack to be used                   */
+    uint32_t FPCA:1;                     /*!< bit:      2  FP extension active flag           */
+    uint32_t _reserved0:29;              /*!< bit:  3..31  Reserved                           */
+  } b;                                   /*!< Structure used for bit  access                  */
+  uint32_t w;                            /*!< Type      used for word access                  */
+} CONTROL_Type;
+
+/*@} end of group CMSIS_CORE */
+
+
+/** \ingroup    CMSIS_core_register
+    \defgroup   CMSIS_NVIC  Nested Vectored Interrupt Controller (NVIC)
+    \brief      Type definitions for the NVIC Registers
+  @{
+ */
+
+/** \brief  Structure type to access the Nested Vectored Interrupt Controller (NVIC).
+ */
+typedef struct
+{
+  __IO uint32_t ISER[8];                 /*!< Offset: 0x000 (R/W)  Interrupt Set Enable Register           */
+       uint32_t RESERVED0[24];
+  __IO uint32_t ICER[8];                 /*!< Offset: 0x080 (R/W)  Interrupt Clear Enable Register         */
+       uint32_t RSERVED1[24];
+  __IO uint32_t ISPR[8];                 /*!< Offset: 0x100 (R/W)  Interrupt Set Pending Register          */
+       uint32_t RESERVED2[24];
+  __IO uint32_t ICPR[8];                 /*!< Offset: 0x180 (R/W)  Interrupt Clear Pending Register        */
+       uint32_t RESERVED3[24];
+  __IO uint32_t IABR[8];                 /*!< Offset: 0x200 (R/W)  Interrupt Active bit Register           */
+       uint32_t RESERVED4[56];
+  __IO uint8_t  IP[240];                 /*!< Offset: 0x300 (R/W)  Interrupt Priority Register (8Bit wide) */
+       uint32_t RESERVED5[644];
+  __O  uint32_t STIR;                    /*!< Offset: 0xE00 ( /W)  Software Trigger Interrupt Register     */
+}  NVIC_Type;
+
+/* Software Triggered Interrupt Register Definitions */
+#define NVIC_STIR_INTID_Pos                 0                                          /*!< STIR: INTLINESNUM Position */
+#define NVIC_STIR_INTID_Msk                (0x1FFUL << NVIC_STIR_INTID_Pos)            /*!< STIR: INTLINESNUM Mask */
+
+/*@} end of group CMSIS_NVIC */
+
+
+/** \ingroup  CMSIS_core_register
+    \defgroup CMSIS_SCB     System Control Block (SCB)
+    \brief      Type definitions for the System Control Block Registers
+  @{
+ */
+
+/** \brief  Structure type to access the System Control Block (SCB).
+ */
+typedef struct
+{
+  __I  uint32_t CPUID;                   /*!< Offset: 0x000 (R/ )  CPUID Base Register                                   */
+  __IO uint32_t ICSR;                    /*!< Offset: 0x004 (R/W)  Interrupt Control and State Register                  */
+  __IO uint32_t VTOR;                    /*!< Offset: 0x008 (R/W)  Vector Table Offset Register                          */
+  __IO uint32_t AIRCR;                   /*!< Offset: 0x00C (R/W)  Application Interrupt and Reset Control Register      */
+  __IO uint32_t SCR;                     /*!< Offset: 0x010 (R/W)  System Control Register                               */
+  __IO uint32_t CCR;                     /*!< Offset: 0x014 (R/W)  Configuration Control Register                        */
+  __IO uint8_t  SHP[12];                 /*!< Offset: 0x018 (R/W)  System Handlers Priority Registers (4-7, 8-11, 12-15) */
+  __IO uint32_t SHCSR;                   /*!< Offset: 0x024 (R/W)  System Handler Control and State Register             */
+  __IO uint32_t CFSR;                    /*!< Offset: 0x028 (R/W)  Configurable Fault Status Register                    */
+  __IO uint32_t HFSR;                    /*!< Offset: 0x02C (R/W)  HardFault Status Register                             */
+  __IO uint32_t DFSR;                    /*!< Offset: 0x030 (R/W)  Debug Fault Status Register                           */
+  __IO uint32_t MMFAR;                   /*!< Offset: 0x034 (R/W)  MemManage Fault Address Register                      */
+  __IO uint32_t BFAR;                    /*!< Offset: 0x038 (R/W)  BusFault Address Register                             */
+  __IO uint32_t AFSR;                    /*!< Offset: 0x03C (R/W)  Auxiliary Fault Status Register                       */
+  __I  uint32_t PFR[2];                  /*!< Offset: 0x040 (R/ )  Processor Feature Register                            */
+  __I  uint32_t DFR;                     /*!< Offset: 0x048 (R/ )  Debug Feature Register                                */
+  __I  uint32_t ADR;                     /*!< Offset: 0x04C (R/ )  Auxiliary Feature Register                            */
+  __I  uint32_t MMFR[4];                 /*!< Offset: 0x050 (R/ )  Memory Model Feature Register                         */
+  __I  uint32_t ISAR[5];                 /*!< Offset: 0x060 (R/ )  Instruction Set Attributes Register                   */
+       uint32_t RESERVED0[5];
+  __IO uint32_t CPACR;                   /*!< Offset: 0x088 (R/W)  Coprocessor Access Control Register                   */
+} SCB_Type;
+
+/* SCB CPUID Register Definitions */
+#define SCB_CPUID_IMPLEMENTER_Pos          24                                             /*!< SCB CPUID: IMPLEMENTER Position */
+#define SCB_CPUID_IMPLEMENTER_Msk          (0xFFUL << SCB_CPUID_IMPLEMENTER_Pos)          /*!< SCB CPUID: IMPLEMENTER Mask */
+
+#define SCB_CPUID_VARIANT_Pos              20                                             /*!< SCB CPUID: VARIANT Position */
+#define SCB_CPUID_VARIANT_Msk              (0xFUL << SCB_CPUID_VARIANT_Pos)               /*!< SCB CPUID: VARIANT Mask */
+
+#define SCB_CPUID_ARCHITECTURE_Pos         16                                             /*!< SCB CPUID: ARCHITECTURE Position */
+#define SCB_CPUID_ARCHITECTURE_Msk         (0xFUL << SCB_CPUID_ARCHITECTURE_Pos)          /*!< SCB CPUID: ARCHITECTURE Mask */
+
+#define SCB_CPUID_PARTNO_Pos                4                                             /*!< SCB CPUID: PARTNO Position */
+#define SCB_CPUID_PARTNO_Msk               (0xFFFUL << SCB_CPUID_PARTNO_Pos)              /*!< SCB CPUID: PARTNO Mask */
+
+#define SCB_CPUID_REVISION_Pos              0                                             /*!< SCB CPUID: REVISION Position */
+#define SCB_CPUID_REVISION_Msk             (0xFUL << SCB_CPUID_REVISION_Pos)              /*!< SCB CPUID: REVISION Mask */
+
+/* SCB Interrupt Control State Register Definitions */
+#define SCB_ICSR_NMIPENDSET_Pos            31                                             /*!< SCB ICSR: NMIPENDSET Position */
+#define SCB_ICSR_NMIPENDSET_Msk            (1UL << SCB_ICSR_NMIPENDSET_Pos)               /*!< SCB ICSR: NMIPENDSET Mask */
+
+#define SCB_ICSR_PENDSVSET_Pos             28                                             /*!< SCB ICSR: PENDSVSET Position */
+#define SCB_ICSR_PENDSVSET_Msk             (1UL << SCB_ICSR_PENDSVSET_Pos)                /*!< SCB ICSR: PENDSVSET Mask */
+
+#define SCB_ICSR_PENDSVCLR_Pos             27                                             /*!< SCB ICSR: PENDSVCLR Position */
+#define SCB_ICSR_PENDSVCLR_Msk             (1UL << SCB_ICSR_PENDSVCLR_Pos)                /*!< SCB ICSR: PENDSVCLR Mask */
+
+#define SCB_ICSR_PENDSTSET_Pos             26                                             /*!< SCB ICSR: PENDSTSET Position */
+#define SCB_ICSR_PENDSTSET_Msk             (1UL << SCB_ICSR_PENDSTSET_Pos)                /*!< SCB ICSR: PENDSTSET Mask */
+
+#define SCB_ICSR_PENDSTCLR_Pos             25                                             /*!< SCB ICSR: PENDSTCLR Position */
+#define SCB_ICSR_PENDSTCLR_Msk             (1UL << SCB_ICSR_PENDSTCLR_Pos)                /*!< SCB ICSR: PENDSTCLR Mask */
+
+#define SCB_ICSR_ISRPREEMPT_Pos            23                                             /*!< SCB ICSR: ISRPREEMPT Position */
+#define SCB_ICSR_ISRPREEMPT_Msk            (1UL << SCB_ICSR_ISRPREEMPT_Pos)               /*!< SCB ICSR: ISRPREEMPT Mask */
+
+#define SCB_ICSR_ISRPENDING_Pos            22                                             /*!< SCB ICSR: ISRPENDING Position */
+#define SCB_ICSR_ISRPENDING_Msk            (1UL << SCB_ICSR_ISRPENDING_Pos)               /*!< SCB ICSR: ISRPENDING Mask */
+
+#define SCB_ICSR_VECTPENDING_Pos           12                                             /*!< SCB ICSR: VECTPENDING Position */
+#define SCB_ICSR_VECTPENDING_Msk           (0x1FFUL << SCB_ICSR_VECTPENDING_Pos)          /*!< SCB ICSR: VECTPENDING Mask */
+
+#define SCB_ICSR_RETTOBASE_Pos             11                                             /*!< SCB ICSR: RETTOBASE Position */
+#define SCB_ICSR_RETTOBASE_Msk             (1UL << SCB_ICSR_RETTOBASE_Pos)                /*!< SCB ICSR: RETTOBASE Mask */
+
+#define SCB_ICSR_VECTACTIVE_Pos             0                                             /*!< SCB ICSR: VECTACTIVE Position */
+#define SCB_ICSR_VECTACTIVE_Msk            (0x1FFUL << SCB_ICSR_VECTACTIVE_Pos)           /*!< SCB ICSR: VECTACTIVE Mask */
+
+/* SCB Vector Table Offset Register Definitions */
+#define SCB_VTOR_TBLOFF_Pos                 7                                             /*!< SCB VTOR: TBLOFF Position */
+#define SCB_VTOR_TBLOFF_Msk                (0x1FFFFFFUL << SCB_VTOR_TBLOFF_Pos)           /*!< SCB VTOR: TBLOFF Mask */
+
+/* SCB Application Interrupt and Reset Control Register Definitions */
+#define SCB_AIRCR_VECTKEY_Pos              16                                             /*!< SCB AIRCR: VECTKEY Position */
+#define SCB_AIRCR_VECTKEY_Msk              (0xFFFFUL << SCB_AIRCR_VECTKEY_Pos)            /*!< SCB AIRCR: VECTKEY Mask */
+
+#define SCB_AIRCR_VECTKEYSTAT_Pos          16                                             /*!< SCB AIRCR: VECTKEYSTAT Position */
+#define SCB_AIRCR_VECTKEYSTAT_Msk          (0xFFFFUL << SCB_AIRCR_VECTKEYSTAT_Pos)        /*!< SCB AIRCR: VECTKEYSTAT Mask */
+
+#define SCB_AIRCR_ENDIANESS_Pos            15                                             /*!< SCB AIRCR: ENDIANESS Position */
+#define SCB_AIRCR_ENDIANESS_Msk            (1UL << SCB_AIRCR_ENDIANESS_Pos)               /*!< SCB AIRCR: ENDIANESS Mask */
+
+#define SCB_AIRCR_PRIGROUP_Pos              8                                             /*!< SCB AIRCR: PRIGROUP Position */
+#define SCB_AIRCR_PRIGROUP_Msk             (7UL << SCB_AIRCR_PRIGROUP_Pos)                /*!< SCB AIRCR: PRIGROUP Mask */
+
+#define SCB_AIRCR_SYSRESETREQ_Pos           2                                             /*!< SCB AIRCR: SYSRESETREQ Position */
+#define SCB_AIRCR_SYSRESETREQ_Msk          (1UL << SCB_AIRCR_SYSRESETREQ_Pos)             /*!< SCB AIRCR: SYSRESETREQ Mask */
+
+#define SCB_AIRCR_VECTCLRACTIVE_Pos         1                                             /*!< SCB AIRCR: VECTCLRACTIVE Position */
+#define SCB_AIRCR_VECTCLRACTIVE_Msk        (1UL << SCB_AIRCR_VECTCLRACTIVE_Pos)           /*!< SCB AIRCR: VECTCLRACTIVE Mask */
+
+#define SCB_AIRCR_VECTRESET_Pos             0                                             /*!< SCB AIRCR: VECTRESET Position */
+#define SCB_AIRCR_VECTRESET_Msk            (1UL << SCB_AIRCR_VECTRESET_Pos)               /*!< SCB AIRCR: VECTRESET Mask */
+
+/* SCB System Control Register Definitions */
+#define SCB_SCR_SEVONPEND_Pos               4                                             /*!< SCB SCR: SEVONPEND Position */
+#define SCB_SCR_SEVONPEND_Msk              (1UL << SCB_SCR_SEVONPEND_Pos)                 /*!< SCB SCR: SEVONPEND Mask */
+
+#define SCB_SCR_SLEEPDEEP_Pos               2                                             /*!< SCB SCR: SLEEPDEEP Position */
+#define SCB_SCR_SLEEPDEEP_Msk              (1UL << SCB_SCR_SLEEPDEEP_Pos)                 /*!< SCB SCR: SLEEPDEEP Mask */
+
+#define SCB_SCR_SLEEPONEXIT_Pos             1                                             /*!< SCB SCR: SLEEPONEXIT Position */
+#define SCB_SCR_SLEEPONEXIT_Msk            (1UL << SCB_SCR_SLEEPONEXIT_Pos)               /*!< SCB SCR: SLEEPONEXIT Mask */
+
+/* SCB Configuration Control Register Definitions */
+#define SCB_CCR_STKALIGN_Pos                9                                             /*!< SCB CCR: STKALIGN Position */
+#define SCB_CCR_STKALIGN_Msk               (1UL << SCB_CCR_STKALIGN_Pos)                  /*!< SCB CCR: STKALIGN Mask */
+
+#define SCB_CCR_BFHFNMIGN_Pos               8                                             /*!< SCB CCR: BFHFNMIGN Position */
+#define SCB_CCR_BFHFNMIGN_Msk              (1UL << SCB_CCR_BFHFNMIGN_Pos)                 /*!< SCB CCR: BFHFNMIGN Mask */
+
+#define SCB_CCR_DIV_0_TRP_Pos               4                                             /*!< SCB CCR: DIV_0_TRP Position */
+#define SCB_CCR_DIV_0_TRP_Msk              (1UL << SCB_CCR_DIV_0_TRP_Pos)                 /*!< SCB CCR: DIV_0_TRP Mask */
+
+#define SCB_CCR_UNALIGN_TRP_Pos             3                                             /*!< SCB CCR: UNALIGN_TRP Position */
+#define SCB_CCR_UNALIGN_TRP_Msk            (1UL << SCB_CCR_UNALIGN_TRP_Pos)               /*!< SCB CCR: UNALIGN_TRP Mask */
+
+#define SCB_CCR_USERSETMPEND_Pos            1                                             /*!< SCB CCR: USERSETMPEND Position */
+#define SCB_CCR_USERSETMPEND_Msk           (1UL << SCB_CCR_USERSETMPEND_Pos)              /*!< SCB CCR: USERSETMPEND Mask */
+
+#define SCB_CCR_NONBASETHRDENA_Pos          0                                             /*!< SCB CCR: NONBASETHRDENA Position */
+#define SCB_CCR_NONBASETHRDENA_Msk         (1UL << SCB_CCR_NONBASETHRDENA_Pos)            /*!< SCB CCR: NONBASETHRDENA Mask */
+
+/* SCB System Handler Control and State Register Definitions */
+#define SCB_SHCSR_USGFAULTENA_Pos          18                                             /*!< SCB SHCSR: USGFAULTENA Position */
+#define SCB_SHCSR_USGFAULTENA_Msk          (1UL << SCB_SHCSR_USGFAULTENA_Pos)             /*!< SCB SHCSR: USGFAULTENA Mask */
+
+#define SCB_SHCSR_BUSFAULTENA_Pos          17                                             /*!< SCB SHCSR: BUSFAULTENA Position */
+#define SCB_SHCSR_BUSFAULTENA_Msk          (1UL << SCB_SHCSR_BUSFAULTENA_Pos)             /*!< SCB SHCSR: BUSFAULTENA Mask */
+
+#define SCB_SHCSR_MEMFAULTENA_Pos          16                                             /*!< SCB SHCSR: MEMFAULTENA Position */
+#define SCB_SHCSR_MEMFAULTENA_Msk          (1UL << SCB_SHCSR_MEMFAULTENA_Pos)             /*!< SCB SHCSR: MEMFAULTENA Mask */
+
+#define SCB_SHCSR_SVCALLPENDED_Pos         15                                             /*!< SCB SHCSR: SVCALLPENDED Position */
+#define SCB_SHCSR_SVCALLPENDED_Msk         (1UL << SCB_SHCSR_SVCALLPENDED_Pos)            /*!< SCB SHCSR: SVCALLPENDED Mask */
+
+#define SCB_SHCSR_BUSFAULTPENDED_Pos       14                                             /*!< SCB SHCSR: BUSFAULTPENDED Position */
+#define SCB_SHCSR_BUSFAULTPENDED_Msk       (1UL << SCB_SHCSR_BUSFAULTPENDED_Pos)          /*!< SCB SHCSR: BUSFAULTPENDED Mask */
+
+#define SCB_SHCSR_MEMFAULTPENDED_Pos       13                                             /*!< SCB SHCSR: MEMFAULTPENDED Position */
+#define SCB_SHCSR_MEMFAULTPENDED_Msk       (1UL << SCB_SHCSR_MEMFAULTPENDED_Pos)          /*!< SCB SHCSR: MEMFAULTPENDED Mask */
+
+#define SCB_SHCSR_USGFAULTPENDED_Pos       12                                             /*!< SCB SHCSR: USGFAULTPENDED Position */
+#define SCB_SHCSR_USGFAULTPENDED_Msk       (1UL << SCB_SHCSR_USGFAULTPENDED_Pos)          /*!< SCB SHCSR: USGFAULTPENDED Mask */
+
+#define SCB_SHCSR_SYSTICKACT_Pos           11                                             /*!< SCB SHCSR: SYSTICKACT Position */
+#define SCB_SHCSR_SYSTICKACT_Msk           (1UL << SCB_SHCSR_SYSTICKACT_Pos)              /*!< SCB SHCSR: SYSTICKACT Mask */
+
+#define SCB_SHCSR_PENDSVACT_Pos            10                                             /*!< SCB SHCSR: PENDSVACT Position */
+#define SCB_SHCSR_PENDSVACT_Msk            (1UL << SCB_SHCSR_PENDSVACT_Pos)               /*!< SCB SHCSR: PENDSVACT Mask */
+
+#define SCB_SHCSR_MONITORACT_Pos            8                                             /*!< SCB SHCSR: MONITORACT Position */
+#define SCB_SHCSR_MONITORACT_Msk           (1UL << SCB_SHCSR_MONITORACT_Pos)              /*!< SCB SHCSR: MONITORACT Mask */
+
+#define SCB_SHCSR_SVCALLACT_Pos             7                                             /*!< SCB SHCSR: SVCALLACT Position */
+#define SCB_SHCSR_SVCALLACT_Msk            (1UL << SCB_SHCSR_SVCALLACT_Pos)               /*!< SCB SHCSR: SVCALLACT Mask */
+
+#define SCB_SHCSR_USGFAULTACT_Pos           3                                             /*!< SCB SHCSR: USGFAULTACT Position */
+#define SCB_SHCSR_USGFAULTACT_Msk          (1UL << SCB_SHCSR_USGFAULTACT_Pos)             /*!< SCB SHCSR: USGFAULTACT Mask */
+
+#define SCB_SHCSR_BUSFAULTACT_Pos           1                                             /*!< SCB SHCSR: BUSFAULTACT Position */
+#define SCB_SHCSR_BUSFAULTACT_Msk          (1UL << SCB_SHCSR_BUSFAULTACT_Pos)             /*!< SCB SHCSR: BUSFAULTACT Mask */
+
+#define SCB_SHCSR_MEMFAULTACT_Pos           0                                             /*!< SCB SHCSR: MEMFAULTACT Position */
+#define SCB_SHCSR_MEMFAULTACT_Msk          (1UL << SCB_SHCSR_MEMFAULTACT_Pos)             /*!< SCB SHCSR: MEMFAULTACT Mask */
+
+/* SCB Configurable Fault Status Registers Definitions */
+#define SCB_CFSR_USGFAULTSR_Pos            16                                             /*!< SCB CFSR: Usage Fault Status Register Position */
+#define SCB_CFSR_USGFAULTSR_Msk            (0xFFFFUL << SCB_CFSR_USGFAULTSR_Pos)          /*!< SCB CFSR: Usage Fault Status Register Mask */
+
+#define SCB_CFSR_BUSFAULTSR_Pos             8                                             /*!< SCB CFSR: Bus Fault Status Register Position */
+#define SCB_CFSR_BUSFAULTSR_Msk            (0xFFUL << SCB_CFSR_BUSFAULTSR_Pos)            /*!< SCB CFSR: Bus Fault Status Register Mask */
+
+#define SCB_CFSR_MEMFAULTSR_Pos             0                                             /*!< SCB CFSR: Memory Manage Fault Status Register Position */
+#define SCB_CFSR_MEMFAULTSR_Msk            (0xFFUL << SCB_CFSR_MEMFAULTSR_Pos)            /*!< SCB CFSR: Memory Manage Fault Status Register Mask */
+
+/* SCB Hard Fault Status Registers Definitions */
+#define SCB_HFSR_DEBUGEVT_Pos              31                                             /*!< SCB HFSR: DEBUGEVT Position */
+#define SCB_HFSR_DEBUGEVT_Msk              (1UL << SCB_HFSR_DEBUGEVT_Pos)                 /*!< SCB HFSR: DEBUGEVT Mask */
+
+#define SCB_HFSR_FORCED_Pos                30                                             /*!< SCB HFSR: FORCED Position */
+#define SCB_HFSR_FORCED_Msk                (1UL << SCB_HFSR_FORCED_Pos)                   /*!< SCB HFSR: FORCED Mask */
+
+#define SCB_HFSR_VECTTBL_Pos                1                                             /*!< SCB HFSR: VECTTBL Position */
+#define SCB_HFSR_VECTTBL_Msk               (1UL << SCB_HFSR_VECTTBL_Pos)                  /*!< SCB HFSR: VECTTBL Mask */
+
+/* SCB Debug Fault Status Register Definitions */
+#define SCB_DFSR_EXTERNAL_Pos               4                                             /*!< SCB DFSR: EXTERNAL Position */
+#define SCB_DFSR_EXTERNAL_Msk              (1UL << SCB_DFSR_EXTERNAL_Pos)                 /*!< SCB DFSR: EXTERNAL Mask */
+
+#define SCB_DFSR_VCATCH_Pos                 3                                             /*!< SCB DFSR: VCATCH Position */
+#define SCB_DFSR_VCATCH_Msk                (1UL << SCB_DFSR_VCATCH_Pos)                   /*!< SCB DFSR: VCATCH Mask */
+
+#define SCB_DFSR_DWTTRAP_Pos                2                                             /*!< SCB DFSR: DWTTRAP Position */
+#define SCB_DFSR_DWTTRAP_Msk               (1UL << SCB_DFSR_DWTTRAP_Pos)                  /*!< SCB DFSR: DWTTRAP Mask */
+
+#define SCB_DFSR_BKPT_Pos                   1                                             /*!< SCB DFSR: BKPT Position */
+#define SCB_DFSR_BKPT_Msk                  (1UL << SCB_DFSR_BKPT_Pos)                     /*!< SCB DFSR: BKPT Mask */
+
+#define SCB_DFSR_HALTED_Pos                 0                                             /*!< SCB DFSR: HALTED Position */
+#define SCB_DFSR_HALTED_Msk                (1UL << SCB_DFSR_HALTED_Pos)                   /*!< SCB DFSR: HALTED Mask */
+
+/*@} end of group CMSIS_SCB */
+
+
+/** \ingroup  CMSIS_core_register
+    \defgroup CMSIS_SCnSCB System Controls not in SCB (SCnSCB)
+    \brief      Type definitions for the System Control and ID Register not in the SCB
+  @{
+ */
+
+/** \brief  Structure type to access the System Control and ID Register not in the SCB.
+ */
+typedef struct
+{
+       uint32_t RESERVED0[1];
+  __I  uint32_t ICTR;                    /*!< Offset: 0x004 (R/ )  Interrupt Controller Type Register      */
+  __IO uint32_t ACTLR;                   /*!< Offset: 0x008 (R/W)  Auxiliary Control Register              */
+} SCnSCB_Type;
+
+/* Interrupt Controller Type Register Definitions */
+#define SCnSCB_ICTR_INTLINESNUM_Pos         0                                          /*!< ICTR: INTLINESNUM Position */
+#define SCnSCB_ICTR_INTLINESNUM_Msk        (0xFUL << SCnSCB_ICTR_INTLINESNUM_Pos)      /*!< ICTR: INTLINESNUM Mask */
+
+/* Auxiliary Control Register Definitions */
+#define SCnSCB_ACTLR_DISOOFP_Pos            9                                          /*!< ACTLR: DISOOFP Position */
+#define SCnSCB_ACTLR_DISOOFP_Msk           (1UL << SCnSCB_ACTLR_DISOOFP_Pos)           /*!< ACTLR: DISOOFP Mask */
+
+#define SCnSCB_ACTLR_DISFPCA_Pos            8                                          /*!< ACTLR: DISFPCA Position */
+#define SCnSCB_ACTLR_DISFPCA_Msk           (1UL << SCnSCB_ACTLR_DISFPCA_Pos)           /*!< ACTLR: DISFPCA Mask */
+
+#define SCnSCB_ACTLR_DISFOLD_Pos            2                                          /*!< ACTLR: DISFOLD Position */
+#define SCnSCB_ACTLR_DISFOLD_Msk           (1UL << SCnSCB_ACTLR_DISFOLD_Pos)           /*!< ACTLR: DISFOLD Mask */
+
+#define SCnSCB_ACTLR_DISDEFWBUF_Pos         1                                          /*!< ACTLR: DISDEFWBUF Position */
+#define SCnSCB_ACTLR_DISDEFWBUF_Msk        (1UL << SCnSCB_ACTLR_DISDEFWBUF_Pos)        /*!< ACTLR: DISDEFWBUF Mask */
+
+#define SCnSCB_ACTLR_DISMCYCINT_Pos         0                                          /*!< ACTLR: DISMCYCINT Position */
+#define SCnSCB_ACTLR_DISMCYCINT_Msk        (1UL << SCnSCB_ACTLR_DISMCYCINT_Pos)        /*!< ACTLR: DISMCYCINT Mask */
+
+/*@} end of group CMSIS_SCnotSCB */
+
+
+/** \ingroup  CMSIS_core_register
+    \defgroup CMSIS_SysTick     System Tick Timer (SysTick)
+    \brief      Type definitions for the System Timer Registers.
+  @{
+ */
+
+/** \brief  Structure type to access the System Timer (SysTick).
+ */
+typedef struct
+{
+  __IO uint32_t CTRL;                    /*!< Offset: 0x000 (R/W)  SysTick Control and Status Register */
+  __IO uint32_t LOAD;                    /*!< Offset: 0x004 (R/W)  SysTick Reload Value Register       */
+  __IO uint32_t VAL;                     /*!< Offset: 0x008 (R/W)  SysTick Current Value Register      */
+  __I  uint32_t CALIB;                   /*!< Offset: 0x00C (R/ )  SysTick Calibration Register        */
+} SysTick_Type;
+
+/* SysTick Control / Status Register Definitions */
+#define SysTick_CTRL_COUNTFLAG_Pos         16                                             /*!< SysTick CTRL: COUNTFLAG Position */
+#define SysTick_CTRL_COUNTFLAG_Msk         (1UL << SysTick_CTRL_COUNTFLAG_Pos)            /*!< SysTick CTRL: COUNTFLAG Mask */
+
+#define SysTick_CTRL_CLKSOURCE_Pos          2                                             /*!< SysTick CTRL: CLKSOURCE Position */
+#define SysTick_CTRL_CLKSOURCE_Msk         (1UL << SysTick_CTRL_CLKSOURCE_Pos)            /*!< SysTick CTRL: CLKSOURCE Mask */
+
+#define SysTick_CTRL_TICKINT_Pos            1                                             /*!< SysTick CTRL: TICKINT Position */
+#define SysTick_CTRL_TICKINT_Msk           (1UL << SysTick_CTRL_TICKINT_Pos)              /*!< SysTick CTRL: TICKINT Mask */
+
+#define SysTick_CTRL_ENABLE_Pos             0                                             /*!< SysTick CTRL: ENABLE Position */
+#define SysTick_CTRL_ENABLE_Msk            (1UL << SysTick_CTRL_ENABLE_Pos)               /*!< SysTick CTRL: ENABLE Mask */
+
+/* SysTick Reload Register Definitions */
+#define SysTick_LOAD_RELOAD_Pos             0                                             /*!< SysTick LOAD: RELOAD Position */
+#define SysTick_LOAD_RELOAD_Msk            (0xFFFFFFUL << SysTick_LOAD_RELOAD_Pos)        /*!< SysTick LOAD: RELOAD Mask */
+
+/* SysTick Current Register Definitions */
+#define SysTick_VAL_CURRENT_Pos             0                                             /*!< SysTick VAL: CURRENT Position */
+#define SysTick_VAL_CURRENT_Msk            (0xFFFFFFUL << SysTick_VAL_CURRENT_Pos)        /*!< SysTick VAL: CURRENT Mask */
+
+/* SysTick Calibration Register Definitions */
+#define SysTick_CALIB_NOREF_Pos            31                                             /*!< SysTick CALIB: NOREF Position */
+#define SysTick_CALIB_NOREF_Msk            (1UL << SysTick_CALIB_NOREF_Pos)               /*!< SysTick CALIB: NOREF Mask */
+
+#define SysTick_CALIB_SKEW_Pos             30                                             /*!< SysTick CALIB: SKEW Position */
+#define SysTick_CALIB_SKEW_Msk             (1UL << SysTick_CALIB_SKEW_Pos)                /*!< SysTick CALIB: SKEW Mask */
+
+#define SysTick_CALIB_TENMS_Pos             0                                             /*!< SysTick CALIB: TENMS Position */
+#define SysTick_CALIB_TENMS_Msk            (0xFFFFFFUL << SysTick_VAL_CURRENT_Pos)        /*!< SysTick CALIB: TENMS Mask */
+
+/*@} end of group CMSIS_SysTick */
+
+
+/** \ingroup  CMSIS_core_register
+    \defgroup CMSIS_ITM     Instrumentation Trace Macrocell (ITM)
+    \brief      Type definitions for the Instrumentation Trace Macrocell (ITM)
+  @{
+ */
+
+/** \brief  Structure type to access the Instrumentation Trace Macrocell Register (ITM).
+ */
+typedef struct
+{
+  __O  union
+  {
+    __O  uint8_t    u8;                  /*!< Offset: 0x000 ( /W)  ITM Stimulus Port 8-bit                   */
+    __O  uint16_t   u16;                 /*!< Offset: 0x000 ( /W)  ITM Stimulus Port 16-bit                  */
+    __O  uint32_t   u32;                 /*!< Offset: 0x000 ( /W)  ITM Stimulus Port 32-bit                  */
+  }  PORT [32];                          /*!< Offset: 0x000 ( /W)  ITM Stimulus Port Registers               */
+       uint32_t RESERVED0[864];
+  __IO uint32_t TER;                     /*!< Offset: 0xE00 (R/W)  ITM Trace Enable Register                 */
+       uint32_t RESERVED1[15];
+  __IO uint32_t TPR;                     /*!< Offset: 0xE40 (R/W)  ITM Trace Privilege Register              */
+       uint32_t RESERVED2[15];
+  __IO uint32_t TCR;                     /*!< Offset: 0xE80 (R/W)  ITM Trace Control Register                */
+       uint32_t RESERVED3[29];
+  __O  uint32_t IWR;                     /*!< Offset: 0xEF8 ( /W)  ITM Integration Write Register            */
+  __I  uint32_t IRR;                     /*!< Offset: 0xEFC (R/ )  ITM Integration Read Register             */
+  __IO uint32_t IMCR;                    /*!< Offset: 0xF00 (R/W)  ITM Integration Mode Control Register     */
+       uint32_t RESERVED4[43];
+  __O  uint32_t LAR;                     /*!< Offset: 0xFB0 ( /W)  ITM Lock Access Register                  */
+  __I  uint32_t LSR;                     /*!< Offset: 0xFB4 (R/ )  ITM Lock Status Register                  */
+       uint32_t RESERVED5[6];
+  __I  uint32_t PID4;                    /*!< Offset: 0xFD0 (R/ )  ITM Peripheral Identification Register #4 */
+  __I  uint32_t PID5;                    /*!< Offset: 0xFD4 (R/ )  ITM Peripheral Identification Register #5 */
+  __I  uint32_t PID6;                    /*!< Offset: 0xFD8 (R/ )  ITM Peripheral Identification Register #6 */
+  __I  uint32_t PID7;                    /*!< Offset: 0xFDC (R/ )  ITM Peripheral Identification Register #7 */
+  __I  uint32_t PID0;                    /*!< Offset: 0xFE0 (R/ )  ITM Peripheral Identification Register #0 */
+  __I  uint32_t PID1;                    /*!< Offset: 0xFE4 (R/ )  ITM Peripheral Identification Register #1 */
+  __I  uint32_t PID2;                    /*!< Offset: 0xFE8 (R/ )  ITM Peripheral Identification Register #2 */
+  __I  uint32_t PID3;                    /*!< Offset: 0xFEC (R/ )  ITM Peripheral Identification Register #3 */
+  __I  uint32_t CID0;                    /*!< Offset: 0xFF0 (R/ )  ITM Component  Identification Register #0 */
+  __I  uint32_t CID1;                    /*!< Offset: 0xFF4 (R/ )  ITM Component  Identification Register #1 */
+  __I  uint32_t CID2;                    /*!< Offset: 0xFF8 (R/ )  ITM Component  Identification Register #2 */
+  __I  uint32_t CID3;                    /*!< Offset: 0xFFC (R/ )  ITM Component  Identification Register #3 */
+} ITM_Type;
+
+/* ITM Trace Privilege Register Definitions */
+#define ITM_TPR_PRIVMASK_Pos                0                                             /*!< ITM TPR: PRIVMASK Position */
+#define ITM_TPR_PRIVMASK_Msk               (0xFUL << ITM_TPR_PRIVMASK_Pos)                /*!< ITM TPR: PRIVMASK Mask */
+
+/* ITM Trace Control Register Definitions */
+#define ITM_TCR_BUSY_Pos                   23                                             /*!< ITM TCR: BUSY Position */
+#define ITM_TCR_BUSY_Msk                   (1UL << ITM_TCR_BUSY_Pos)                      /*!< ITM TCR: BUSY Mask */
+
+#define ITM_TCR_TraceBusID_Pos             16                                             /*!< ITM TCR: ATBID Position */
+#define ITM_TCR_TraceBusID_Msk             (0x7FUL << ITM_TCR_TraceBusID_Pos)             /*!< ITM TCR: ATBID Mask */
+
+#define ITM_TCR_GTSFREQ_Pos                10                                             /*!< ITM TCR: Global timestamp frequency Position */
+#define ITM_TCR_GTSFREQ_Msk                (3UL << ITM_TCR_GTSFREQ_Pos)                   /*!< ITM TCR: Global timestamp frequency Mask */
+
+#define ITM_TCR_TSPrescale_Pos              8                                             /*!< ITM TCR: TSPrescale Position */
+#define ITM_TCR_TSPrescale_Msk             (3UL << ITM_TCR_TSPrescale_Pos)                /*!< ITM TCR: TSPrescale Mask */
+
+#define ITM_TCR_SWOENA_Pos                  4                                             /*!< ITM TCR: SWOENA Position */
+#define ITM_TCR_SWOENA_Msk                 (1UL << ITM_TCR_SWOENA_Pos)                    /*!< ITM TCR: SWOENA Mask */
+
+#define ITM_TCR_DWTENA_Pos                  3                                             /*!< ITM TCR: DWTENA Position */
+#define ITM_TCR_DWTENA_Msk                 (1UL << ITM_TCR_DWTENA_Pos)                    /*!< ITM TCR: DWTENA Mask */
+
+#define ITM_TCR_SYNCENA_Pos                 2                                             /*!< ITM TCR: SYNCENA Position */
+#define ITM_TCR_SYNCENA_Msk                (1UL << ITM_TCR_SYNCENA_Pos)                   /*!< ITM TCR: SYNCENA Mask */
+
+#define ITM_TCR_TSENA_Pos                   1                                             /*!< ITM TCR: TSENA Position */
+#define ITM_TCR_TSENA_Msk                  (1UL << ITM_TCR_TSENA_Pos)                     /*!< ITM TCR: TSENA Mask */
+
+#define ITM_TCR_ITMENA_Pos                  0                                             /*!< ITM TCR: ITM Enable bit Position */
+#define ITM_TCR_ITMENA_Msk                 (1UL << ITM_TCR_ITMENA_Pos)                    /*!< ITM TCR: ITM Enable bit Mask */
+
+/* ITM Integration Write Register Definitions */
+#define ITM_IWR_ATVALIDM_Pos                0                                             /*!< ITM IWR: ATVALIDM Position */
+#define ITM_IWR_ATVALIDM_Msk               (1UL << ITM_IWR_ATVALIDM_Pos)                  /*!< ITM IWR: ATVALIDM Mask */
+
+/* ITM Integration Read Register Definitions */
+#define ITM_IRR_ATREADYM_Pos                0                                             /*!< ITM IRR: ATREADYM Position */
+#define ITM_IRR_ATREADYM_Msk               (1UL << ITM_IRR_ATREADYM_Pos)                  /*!< ITM IRR: ATREADYM Mask */
+
+/* ITM Integration Mode Control Register Definitions */
+#define ITM_IMCR_INTEGRATION_Pos            0                                             /*!< ITM IMCR: INTEGRATION Position */
+#define ITM_IMCR_INTEGRATION_Msk           (1UL << ITM_IMCR_INTEGRATION_Pos)              /*!< ITM IMCR: INTEGRATION Mask */
+
+/* ITM Lock Status Register Definitions */
+#define ITM_LSR_ByteAcc_Pos                 2                                             /*!< ITM LSR: ByteAcc Position */
+#define ITM_LSR_ByteAcc_Msk                (1UL << ITM_LSR_ByteAcc_Pos)                   /*!< ITM LSR: ByteAcc Mask */
+
+#define ITM_LSR_Access_Pos                  1                                             /*!< ITM LSR: Access Position */
+#define ITM_LSR_Access_Msk                 (1UL << ITM_LSR_Access_Pos)                    /*!< ITM LSR: Access Mask */
+
+#define ITM_LSR_Present_Pos                 0                                             /*!< ITM LSR: Present Position */
+#define ITM_LSR_Present_Msk                (1UL << ITM_LSR_Present_Pos)                   /*!< ITM LSR: Present Mask */
+
+/*@}*/ /* end of group CMSIS_ITM */
+
+
+/** \ingroup  CMSIS_core_register
+    \defgroup CMSIS_DWT     Data Watchpoint and Trace (DWT)
+    \brief      Type definitions for the Data Watchpoint and Trace (DWT)
+  @{
+ */
+
+/** \brief  Structure type to access the Data Watchpoint and Trace Register (DWT).
+ */
+typedef struct
+{
+  __IO uint32_t CTRL;                    /*!< Offset: 0x000 (R/W)  Control Register                          */
+  __IO uint32_t CYCCNT;                  /*!< Offset: 0x004 (R/W)  Cycle Count Register                      */
+  __IO uint32_t CPICNT;                  /*!< Offset: 0x008 (R/W)  CPI Count Register                        */
+  __IO uint32_t EXCCNT;                  /*!< Offset: 0x00C (R/W)  Exception Overhead Count Register         */
+  __IO uint32_t SLEEPCNT;                /*!< Offset: 0x010 (R/W)  Sleep Count Register                      */
+  __IO uint32_t LSUCNT;                  /*!< Offset: 0x014 (R/W)  LSU Count Register                        */
+  __IO uint32_t FOLDCNT;                 /*!< Offset: 0x018 (R/W)  Folded-instruction Count Register         */
+  __I  uint32_t PCSR;                    /*!< Offset: 0x01C (R/ )  Program Counter Sample Register           */
+  __IO uint32_t COMP0;                   /*!< Offset: 0x020 (R/W)  Comparator Register 0                     */
+  __IO uint32_t MASK0;                   /*!< Offset: 0x024 (R/W)  Mask Register 0                           */
+  __IO uint32_t FUNCTION0;               /*!< Offset: 0x028 (R/W)  Function Register 0                       */
+       uint32_t RESERVED0[1];
+  __IO uint32_t COMP1;                   /*!< Offset: 0x030 (R/W)  Comparator Register 1                     */
+  __IO uint32_t MASK1;                   /*!< Offset: 0x034 (R/W)  Mask Register 1                           */
+  __IO uint32_t FUNCTION1;               /*!< Offset: 0x038 (R/W)  Function Register 1                       */
+       uint32_t RESERVED1[1];
+  __IO uint32_t COMP2;                   /*!< Offset: 0x040 (R/W)  Comparator Register 2                     */
+  __IO uint32_t MASK2;                   /*!< Offset: 0x044 (R/W)  Mask Register 2                           */
+  __IO uint32_t FUNCTION2;               /*!< Offset: 0x048 (R/W)  Function Register 2                       */
+       uint32_t RESERVED2[1];
+  __IO uint32_t COMP3;                   /*!< Offset: 0x050 (R/W)  Comparator Register 3                     */
+  __IO uint32_t MASK3;                   /*!< Offset: 0x054 (R/W)  Mask Register 3                           */
+  __IO uint32_t FUNCTION3;               /*!< Offset: 0x058 (R/W)  Function Register 3                       */
+} DWT_Type;
+
+/* DWT Control Register Definitions */
+#define DWT_CTRL_NUMCOMP_Pos               28                                          /*!< DWT CTRL: NUMCOMP Position */
+#define DWT_CTRL_NUMCOMP_Msk               (0xFUL << DWT_CTRL_NUMCOMP_Pos)             /*!< DWT CTRL: NUMCOMP Mask */
+
+#define DWT_CTRL_NOTRCPKT_Pos              27                                          /*!< DWT CTRL: NOTRCPKT Position */
+#define DWT_CTRL_NOTRCPKT_Msk              (0x1UL << DWT_CTRL_NOTRCPKT_Pos)            /*!< DWT CTRL: NOTRCPKT Mask */
+
+#define DWT_CTRL_NOEXTTRIG_Pos             26                                          /*!< DWT CTRL: NOEXTTRIG Position */
+#define DWT_CTRL_NOEXTTRIG_Msk             (0x1UL << DWT_CTRL_NOEXTTRIG_Pos)           /*!< DWT CTRL: NOEXTTRIG Mask */
+
+#define DWT_CTRL_NOCYCCNT_Pos              25                                          /*!< DWT CTRL: NOCYCCNT Position */
+#define DWT_CTRL_NOCYCCNT_Msk              (0x1UL << DWT_CTRL_NOCYCCNT_Pos)            /*!< DWT CTRL: NOCYCCNT Mask */
+
+#define DWT_CTRL_NOPRFCNT_Pos              24                                          /*!< DWT CTRL: NOPRFCNT Position */
+#define DWT_CTRL_NOPRFCNT_Msk              (0x1UL << DWT_CTRL_NOPRFCNT_Pos)            /*!< DWT CTRL: NOPRFCNT Mask */
+
+#define DWT_CTRL_CYCEVTENA_Pos             22                                          /*!< DWT CTRL: CYCEVTENA Position */
+#define DWT_CTRL_CYCEVTENA_Msk             (0x1UL << DWT_CTRL_CYCEVTENA_Pos)           /*!< DWT CTRL: CYCEVTENA Mask */
+
+#define DWT_CTRL_FOLDEVTENA_Pos            21                                          /*!< DWT CTRL: FOLDEVTENA Position */
+#define DWT_CTRL_FOLDEVTENA_Msk            (0x1UL << DWT_CTRL_FOLDEVTENA_Pos)          /*!< DWT CTRL: FOLDEVTENA Mask */
+
+#define DWT_CTRL_LSUEVTENA_Pos             20                                          /*!< DWT CTRL: LSUEVTENA Position */
+#define DWT_CTRL_LSUEVTENA_Msk             (0x1UL << DWT_CTRL_LSUEVTENA_Pos)           /*!< DWT CTRL: LSUEVTENA Mask */
+
+#define DWT_CTRL_SLEEPEVTENA_Pos           19                                          /*!< DWT CTRL: SLEEPEVTENA Position */
+#define DWT_CTRL_SLEEPEVTENA_Msk           (0x1UL << DWT_CTRL_SLEEPEVTENA_Pos)         /*!< DWT CTRL: SLEEPEVTENA Mask */
+
+#define DWT_CTRL_EXCEVTENA_Pos             18                                          /*!< DWT CTRL: EXCEVTENA Position */
+#define DWT_CTRL_EXCEVTENA_Msk             (0x1UL << DWT_CTRL_EXCEVTENA_Pos)           /*!< DWT CTRL: EXCEVTENA Mask */
+
+#define DWT_CTRL_CPIEVTENA_Pos             17                                          /*!< DWT CTRL: CPIEVTENA Position */
+#define DWT_CTRL_CPIEVTENA_Msk             (0x1UL << DWT_CTRL_CPIEVTENA_Pos)           /*!< DWT CTRL: CPIEVTENA Mask */
+
+#define DWT_CTRL_EXCTRCENA_Pos             16                                          /*!< DWT CTRL: EXCTRCENA Position */
+#define DWT_CTRL_EXCTRCENA_Msk             (0x1UL << DWT_CTRL_EXCTRCENA_Pos)           /*!< DWT CTRL: EXCTRCENA Mask */
+
+#define DWT_CTRL_PCSAMPLENA_Pos            12                                          /*!< DWT CTRL: PCSAMPLENA Position */
+#define DWT_CTRL_PCSAMPLENA_Msk            (0x1UL << DWT_CTRL_PCSAMPLENA_Pos)          /*!< DWT CTRL: PCSAMPLENA Mask */
+
+#define DWT_CTRL_SYNCTAP_Pos               10                                          /*!< DWT CTRL: SYNCTAP Position */
+#define DWT_CTRL_SYNCTAP_Msk               (0x3UL << DWT_CTRL_SYNCTAP_Pos)             /*!< DWT CTRL: SYNCTAP Mask */
+
+#define DWT_CTRL_CYCTAP_Pos                 9                                          /*!< DWT CTRL: CYCTAP Position */
+#define DWT_CTRL_CYCTAP_Msk                (0x1UL << DWT_CTRL_CYCTAP_Pos)              /*!< DWT CTRL: CYCTAP Mask */
+
+#define DWT_CTRL_POSTINIT_Pos               5                                          /*!< DWT CTRL: POSTINIT Position */
+#define DWT_CTRL_POSTINIT_Msk              (0xFUL << DWT_CTRL_POSTINIT_Pos)            /*!< DWT CTRL: POSTINIT Mask */
+
+#define DWT_CTRL_POSTPRESET_Pos             1                                          /*!< DWT CTRL: POSTPRESET Position */
+#define DWT_CTRL_POSTPRESET_Msk            (0xFUL << DWT_CTRL_POSTPRESET_Pos)          /*!< DWT CTRL: POSTPRESET Mask */
+
+#define DWT_CTRL_CYCCNTENA_Pos              0                                          /*!< DWT CTRL: CYCCNTENA Position */
+#define DWT_CTRL_CYCCNTENA_Msk             (0x1UL << DWT_CTRL_CYCCNTENA_Pos)           /*!< DWT CTRL: CYCCNTENA Mask */
+
+/* DWT CPI Count Register Definitions */
+#define DWT_CPICNT_CPICNT_Pos               0                                          /*!< DWT CPICNT: CPICNT Position */
+#define DWT_CPICNT_CPICNT_Msk              (0xFFUL << DWT_CPICNT_CPICNT_Pos)           /*!< DWT CPICNT: CPICNT Mask */
+
+/* DWT Exception Overhead Count Register Definitions */
+#define DWT_EXCCNT_EXCCNT_Pos               0                                          /*!< DWT EXCCNT: EXCCNT Position */
+#define DWT_EXCCNT_EXCCNT_Msk              (0xFFUL << DWT_EXCCNT_EXCCNT_Pos)           /*!< DWT EXCCNT: EXCCNT Mask */
+
+/* DWT Sleep Count Register Definitions */
+#define DWT_SLEEPCNT_SLEEPCNT_Pos           0                                          /*!< DWT SLEEPCNT: SLEEPCNT Position */
+#define DWT_SLEEPCNT_SLEEPCNT_Msk          (0xFFUL << DWT_SLEEPCNT_SLEEPCNT_Pos)       /*!< DWT SLEEPCNT: SLEEPCNT Mask */
+
+/* DWT LSU Count Register Definitions */
+#define DWT_LSUCNT_LSUCNT_Pos               0                                          /*!< DWT LSUCNT: LSUCNT Position */
+#define DWT_LSUCNT_LSUCNT_Msk              (0xFFUL << DWT_LSUCNT_LSUCNT_Pos)           /*!< DWT LSUCNT: LSUCNT Mask */
+
+/* DWT Folded-instruction Count Register Definitions */
+#define DWT_FOLDCNT_FOLDCNT_Pos             0                                          /*!< DWT FOLDCNT: FOLDCNT Position */
+#define DWT_FOLDCNT_FOLDCNT_Msk            (0xFFUL << DWT_FOLDCNT_FOLDCNT_Pos)         /*!< DWT FOLDCNT: FOLDCNT Mask */
+
+/* DWT Comparator Mask Register Definitions */
+#define DWT_MASK_MASK_Pos                   0                                          /*!< DWT MASK: MASK Position */
+#define DWT_MASK_MASK_Msk                  (0x1FUL << DWT_MASK_MASK_Pos)               /*!< DWT MASK: MASK Mask */
+
+/* DWT Comparator Function Register Definitions */
+#define DWT_FUNCTION_MATCHED_Pos           24                                          /*!< DWT FUNCTION: MATCHED Position */
+#define DWT_FUNCTION_MATCHED_Msk           (0x1UL << DWT_FUNCTION_MATCHED_Pos)         /*!< DWT FUNCTION: MATCHED Mask */
+
+#define DWT_FUNCTION_DATAVADDR1_Pos        16                                          /*!< DWT FUNCTION: DATAVADDR1 Position */
+#define DWT_FUNCTION_DATAVADDR1_Msk        (0xFUL << DWT_FUNCTION_DATAVADDR1_Pos)      /*!< DWT FUNCTION: DATAVADDR1 Mask */
+
+#define DWT_FUNCTION_DATAVADDR0_Pos        12                                          /*!< DWT FUNCTION: DATAVADDR0 Position */
+#define DWT_FUNCTION_DATAVADDR0_Msk        (0xFUL << DWT_FUNCTION_DATAVADDR0_Pos)      /*!< DWT FUNCTION: DATAVADDR0 Mask */
+
+#define DWT_FUNCTION_DATAVSIZE_Pos         10                                          /*!< DWT FUNCTION: DATAVSIZE Position */
+#define DWT_FUNCTION_DATAVSIZE_Msk         (0x3UL << DWT_FUNCTION_DATAVSIZE_Pos)       /*!< DWT FUNCTION: DATAVSIZE Mask */
+
+#define DWT_FUNCTION_LNK1ENA_Pos            9                                          /*!< DWT FUNCTION: LNK1ENA Position */
+#define DWT_FUNCTION_LNK1ENA_Msk           (0x1UL << DWT_FUNCTION_LNK1ENA_Pos)         /*!< DWT FUNCTION: LNK1ENA Mask */
+
+#define DWT_FUNCTION_DATAVMATCH_Pos         8                                          /*!< DWT FUNCTION: DATAVMATCH Position */
+#define DWT_FUNCTION_DATAVMATCH_Msk        (0x1UL << DWT_FUNCTION_DATAVMATCH_Pos)      /*!< DWT FUNCTION: DATAVMATCH Mask */
+
+#define DWT_FUNCTION_CYCMATCH_Pos           7                                          /*!< DWT FUNCTION: CYCMATCH Position */
+#define DWT_FUNCTION_CYCMATCH_Msk          (0x1UL << DWT_FUNCTION_CYCMATCH_Pos)        /*!< DWT FUNCTION: CYCMATCH Mask */
+
+#define DWT_FUNCTION_EMITRANGE_Pos          5                                          /*!< DWT FUNCTION: EMITRANGE Position */
+#define DWT_FUNCTION_EMITRANGE_Msk         (0x1UL << DWT_FUNCTION_EMITRANGE_Pos)       /*!< DWT FUNCTION: EMITRANGE Mask */
+
+#define DWT_FUNCTION_FUNCTION_Pos           0                                          /*!< DWT FUNCTION: FUNCTION Position */
+#define DWT_FUNCTION_FUNCTION_Msk          (0xFUL << DWT_FUNCTION_FUNCTION_Pos)        /*!< DWT FUNCTION: FUNCTION Mask */
+
+/*@}*/ /* end of group CMSIS_DWT */
+
+
+/** \ingroup  CMSIS_core_register
+    \defgroup CMSIS_TPI     Trace Port Interface (TPI)
+    \brief      Type definitions for the Trace Port Interface (TPI)
+  @{
+ */
+
+/** \brief  Structure type to access the Trace Port Interface Register (TPI).
+ */
+typedef struct
+{
+  __IO uint32_t SSPSR;                   /*!< Offset: 0x000 (R/ )  Supported Parallel Port Size Register     */
+  __IO uint32_t CSPSR;                   /*!< Offset: 0x004 (R/W)  Current Parallel Port Size Register */
+       uint32_t RESERVED0[2];
+  __IO uint32_t ACPR;                    /*!< Offset: 0x010 (R/W)  Asynchronous Clock Prescaler Register */
+       uint32_t RESERVED1[55];
+  __IO uint32_t SPPR;                    /*!< Offset: 0x0F0 (R/W)  Selected Pin Protocol Register */
+       uint32_t RESERVED2[131];
+  __I  uint32_t FFSR;                    /*!< Offset: 0x300 (R/ )  Formatter and Flush Status Register */
+  __IO uint32_t FFCR;                    /*!< Offset: 0x304 (R/W)  Formatter and Flush Control Register */
+  __I  uint32_t FSCR;                    /*!< Offset: 0x308 (R/ )  Formatter Synchronization Counter Register */
+       uint32_t RESERVED3[759];
+  __I  uint32_t TRIGGER;                 /*!< Offset: 0xEE8 (R/ )  TRIGGER */
+  __I  uint32_t FIFO0;                   /*!< Offset: 0xEEC (R/ )  Integration ETM Data */
+  __I  uint32_t ITATBCTR2;               /*!< Offset: 0xEF0 (R/ )  ITATBCTR2 */
+       uint32_t RESERVED4[1];
+  __I  uint32_t ITATBCTR0;               /*!< Offset: 0xEF8 (R/ )  ITATBCTR0 */
+  __I  uint32_t FIFO1;                   /*!< Offset: 0xEFC (R/ )  Integration ITM Data */
+  __IO uint32_t ITCTRL;                  /*!< Offset: 0xF00 (R/W)  Integration Mode Control */
+       uint32_t RESERVED5[39];
+  __IO uint32_t CLAIMSET;                /*!< Offset: 0xFA0 (R/W)  Claim tag set */
+  __IO uint32_t CLAIMCLR;                /*!< Offset: 0xFA4 (R/W)  Claim tag clear */
+       uint32_t RESERVED7[8];
+  __I  uint32_t DEVID;                   /*!< Offset: 0xFC8 (R/ )  TPIU_DEVID */
+  __I  uint32_t DEVTYPE;                 /*!< Offset: 0xFCC (R/ )  TPIU_DEVTYPE */
+} TPI_Type;
+
+/* TPI Asynchronous Clock Prescaler Register Definitions */
+#define TPI_ACPR_PRESCALER_Pos              0                                          /*!< TPI ACPR: PRESCALER Position */
+#define TPI_ACPR_PRESCALER_Msk             (0x1FFFUL << TPI_ACPR_PRESCALER_Pos)        /*!< TPI ACPR: PRESCALER Mask */
+
+/* TPI Selected Pin Protocol Register Definitions */
+#define TPI_SPPR_TXMODE_Pos                 0                                          /*!< TPI SPPR: TXMODE Position */
+#define TPI_SPPR_TXMODE_Msk                (0x3UL << TPI_SPPR_TXMODE_Pos)              /*!< TPI SPPR: TXMODE Mask */
+
+/* TPI Formatter and Flush Status Register Definitions */
+#define TPI_FFSR_FtNonStop_Pos              3                                          /*!< TPI FFSR: FtNonStop Position */
+#define TPI_FFSR_FtNonStop_Msk             (0x1UL << TPI_FFSR_FtNonStop_Pos)           /*!< TPI FFSR: FtNonStop Mask */
+
+#define TPI_FFSR_TCPresent_Pos              2                                          /*!< TPI FFSR: TCPresent Position */
+#define TPI_FFSR_TCPresent_Msk             (0x1UL << TPI_FFSR_TCPresent_Pos)           /*!< TPI FFSR: TCPresent Mask */
+
+#define TPI_FFSR_FtStopped_Pos              1                                          /*!< TPI FFSR: FtStopped Position */
+#define TPI_FFSR_FtStopped_Msk             (0x1UL << TPI_FFSR_FtStopped_Pos)           /*!< TPI FFSR: FtStopped Mask */
+
+#define TPI_FFSR_FlInProg_Pos               0                                          /*!< TPI FFSR: FlInProg Position */
+#define TPI_FFSR_FlInProg_Msk              (0x1UL << TPI_FFSR_FlInProg_Pos)            /*!< TPI FFSR: FlInProg Mask */
+
+/* TPI Formatter and Flush Control Register Definitions */
+#define TPI_FFCR_TrigIn_Pos                 8                                          /*!< TPI FFCR: TrigIn Position */
+#define TPI_FFCR_TrigIn_Msk                (0x1UL << TPI_FFCR_TrigIn_Pos)              /*!< TPI FFCR: TrigIn Mask */
+
+#define TPI_FFCR_EnFCont_Pos                1                                          /*!< TPI FFCR: EnFCont Position */
+#define TPI_FFCR_EnFCont_Msk               (0x1UL << TPI_FFCR_EnFCont_Pos)             /*!< TPI FFCR: EnFCont Mask */
+
+/* TPI TRIGGER Register Definitions */
+#define TPI_TRIGGER_TRIGGER_Pos             0                                          /*!< TPI TRIGGER: TRIGGER Position */
+#define TPI_TRIGGER_TRIGGER_Msk            (0x1UL << TPI_TRIGGER_TRIGGER_Pos)          /*!< TPI TRIGGER: TRIGGER Mask */
+
+/* TPI Integration ETM Data Register Definitions (FIFO0) */
+#define TPI_FIFO0_ITM_ATVALID_Pos          29                                          /*!< TPI FIFO0: ITM_ATVALID Position */
+#define TPI_FIFO0_ITM_ATVALID_Msk          (0x3UL << TPI_FIFO0_ITM_ATVALID_Pos)        /*!< TPI FIFO0: ITM_ATVALID Mask */
+
+#define TPI_FIFO0_ITM_bytecount_Pos        27                                          /*!< TPI FIFO0: ITM_bytecount Position */
+#define TPI_FIFO0_ITM_bytecount_Msk        (0x3UL << TPI_FIFO0_ITM_bytecount_Pos)      /*!< TPI FIFO0: ITM_bytecount Mask */
+
+#define TPI_FIFO0_ETM_ATVALID_Pos          26                                          /*!< TPI FIFO0: ETM_ATVALID Position */
+#define TPI_FIFO0_ETM_ATVALID_Msk          (0x3UL << TPI_FIFO0_ETM_ATVALID_Pos)        /*!< TPI FIFO0: ETM_ATVALID Mask */
+
+#define TPI_FIFO0_ETM_bytecount_Pos        24                                          /*!< TPI FIFO0: ETM_bytecount Position */
+#define TPI_FIFO0_ETM_bytecount_Msk        (0x3UL << TPI_FIFO0_ETM_bytecount_Pos)      /*!< TPI FIFO0: ETM_bytecount Mask */
+
+#define TPI_FIFO0_ETM2_Pos                 16                                          /*!< TPI FIFO0: ETM2 Position */
+#define TPI_FIFO0_ETM2_Msk                 (0xFFUL << TPI_FIFO0_ETM2_Pos)              /*!< TPI FIFO0: ETM2 Mask */
+
+#define TPI_FIFO0_ETM1_Pos                  8                                          /*!< TPI FIFO0: ETM1 Position */
+#define TPI_FIFO0_ETM1_Msk                 (0xFFUL << TPI_FIFO0_ETM1_Pos)              /*!< TPI FIFO0: ETM1 Mask */
+
+#define TPI_FIFO0_ETM0_Pos                  0                                          /*!< TPI FIFO0: ETM0 Position */
+#define TPI_FIFO0_ETM0_Msk                 (0xFFUL << TPI_FIFO0_ETM0_Pos)              /*!< TPI FIFO0: ETM0 Mask */
+
+/* TPI ITATBCTR2 Register Definitions */
+#define TPI_ITATBCTR2_ATREADY_Pos           0                                          /*!< TPI ITATBCTR2: ATREADY Position */
+#define TPI_ITATBCTR2_ATREADY_Msk          (0x1UL << TPI_ITATBCTR2_ATREADY_Pos)        /*!< TPI ITATBCTR2: ATREADY Mask */
+
+/* TPI Integration ITM Data Register Definitions (FIFO1) */
+#define TPI_FIFO1_ITM_ATVALID_Pos          29                                          /*!< TPI FIFO1: ITM_ATVALID Position */
+#define TPI_FIFO1_ITM_ATVALID_Msk          (0x3UL << TPI_FIFO1_ITM_ATVALID_Pos)        /*!< TPI FIFO1: ITM_ATVALID Mask */
+
+#define TPI_FIFO1_ITM_bytecount_Pos        27                                          /*!< TPI FIFO1: ITM_bytecount Position */
+#define TPI_FIFO1_ITM_bytecount_Msk        (0x3UL << TPI_FIFO1_ITM_bytecount_Pos)      /*!< TPI FIFO1: ITM_bytecount Mask */
+
+#define TPI_FIFO1_ETM_ATVALID_Pos          26                                          /*!< TPI FIFO1: ETM_ATVALID Position */
+#define TPI_FIFO1_ETM_ATVALID_Msk          (0x3UL << TPI_FIFO1_ETM_ATVALID_Pos)        /*!< TPI FIFO1: ETM_ATVALID Mask */
+
+#define TPI_FIFO1_ETM_bytecount_Pos        24                                          /*!< TPI FIFO1: ETM_bytecount Position */
+#define TPI_FIFO1_ETM_bytecount_Msk        (0x3UL << TPI_FIFO1_ETM_bytecount_Pos)      /*!< TPI FIFO1: ETM_bytecount Mask */
+
+#define TPI_FIFO1_ITM2_Pos                 16                                          /*!< TPI FIFO1: ITM2 Position */
+#define TPI_FIFO1_ITM2_Msk                 (0xFFUL << TPI_FIFO1_ITM2_Pos)              /*!< TPI FIFO1: ITM2 Mask */
+
+#define TPI_FIFO1_ITM1_Pos                  8                                          /*!< TPI FIFO1: ITM1 Position */
+#define TPI_FIFO1_ITM1_Msk                 (0xFFUL << TPI_FIFO1_ITM1_Pos)              /*!< TPI FIFO1: ITM1 Mask */
+
+#define TPI_FIFO1_ITM0_Pos                  0                                          /*!< TPI FIFO1: ITM0 Position */
+#define TPI_FIFO1_ITM0_Msk                 (0xFFUL << TPI_FIFO1_ITM0_Pos)              /*!< TPI FIFO1: ITM0 Mask */
+
+/* TPI ITATBCTR0 Register Definitions */
+#define TPI_ITATBCTR0_ATREADY_Pos           0                                          /*!< TPI ITATBCTR0: ATREADY Position */
+#define TPI_ITATBCTR0_ATREADY_Msk          (0x1UL << TPI_ITATBCTR0_ATREADY_Pos)        /*!< TPI ITATBCTR0: ATREADY Mask */
+
+/* TPI Integration Mode Control Register Definitions */
+#define TPI_ITCTRL_Mode_Pos                 0                                          /*!< TPI ITCTRL: Mode Position */
+#define TPI_ITCTRL_Mode_Msk                (0x1UL << TPI_ITCTRL_Mode_Pos)              /*!< TPI ITCTRL: Mode Mask */
+
+/* TPI DEVID Register Definitions */
+#define TPI_DEVID_NRZVALID_Pos             11                                          /*!< TPI DEVID: NRZVALID Position */
+#define TPI_DEVID_NRZVALID_Msk             (0x1UL << TPI_DEVID_NRZVALID_Pos)           /*!< TPI DEVID: NRZVALID Mask */
+
+#define TPI_DEVID_MANCVALID_Pos            10                                          /*!< TPI DEVID: MANCVALID Position */
+#define TPI_DEVID_MANCVALID_Msk            (0x1UL << TPI_DEVID_MANCVALID_Pos)          /*!< TPI DEVID: MANCVALID Mask */
+
+#define TPI_DEVID_PTINVALID_Pos             9                                          /*!< TPI DEVID: PTINVALID Position */
+#define TPI_DEVID_PTINVALID_Msk            (0x1UL << TPI_DEVID_PTINVALID_Pos)          /*!< TPI DEVID: PTINVALID Mask */
+
+#define TPI_DEVID_MinBufSz_Pos              6                                          /*!< TPI DEVID: MinBufSz Position */
+#define TPI_DEVID_MinBufSz_Msk             (0x7UL << TPI_DEVID_MinBufSz_Pos)           /*!< TPI DEVID: MinBufSz Mask */
+
+#define TPI_DEVID_AsynClkIn_Pos             5                                          /*!< TPI DEVID: AsynClkIn Position */
+#define TPI_DEVID_AsynClkIn_Msk            (0x1UL << TPI_DEVID_AsynClkIn_Pos)          /*!< TPI DEVID: AsynClkIn Mask */
+
+#define TPI_DEVID_NrTraceInput_Pos          0                                          /*!< TPI DEVID: NrTraceInput Position */
+#define TPI_DEVID_NrTraceInput_Msk         (0x1FUL << TPI_DEVID_NrTraceInput_Pos)      /*!< TPI DEVID: NrTraceInput Mask */
+
+/* TPI DEVTYPE Register Definitions */
+#define TPI_DEVTYPE_SubType_Pos             0                                          /*!< TPI DEVTYPE: SubType Position */
+#define TPI_DEVTYPE_SubType_Msk            (0xFUL << TPI_DEVTYPE_SubType_Pos)          /*!< TPI DEVTYPE: SubType Mask */
+
+#define TPI_DEVTYPE_MajorType_Pos           4                                          /*!< TPI DEVTYPE: MajorType Position */
+#define TPI_DEVTYPE_MajorType_Msk          (0xFUL << TPI_DEVTYPE_MajorType_Pos)        /*!< TPI DEVTYPE: MajorType Mask */
+
+/*@}*/ /* end of group CMSIS_TPI */
+
+
+#if (__MPU_PRESENT == 1)
+/** \ingroup  CMSIS_core_register
+    \defgroup CMSIS_MPU     Memory Protection Unit (MPU)
+    \brief      Type definitions for the Memory Protection Unit (MPU)
+  @{
+ */
+
+/** \brief  Structure type to access the Memory Protection Unit (MPU).
+ */
+typedef struct
+{
+  __I  uint32_t TYPE;                    /*!< Offset: 0x000 (R/ )  MPU Type Register                              */
+  __IO uint32_t CTRL;                    /*!< Offset: 0x004 (R/W)  MPU Control Register                           */
+  __IO uint32_t RNR;                     /*!< Offset: 0x008 (R/W)  MPU Region RNRber Register                     */
+  __IO uint32_t RBAR;                    /*!< Offset: 0x00C (R/W)  MPU Region Base Address Register               */
+  __IO uint32_t RASR;                    /*!< Offset: 0x010 (R/W)  MPU Region Attribute and Size Register         */
+  __IO uint32_t RBAR_A1;                 /*!< Offset: 0x014 (R/W)  MPU Alias 1 Region Base Address Register       */
+  __IO uint32_t RASR_A1;                 /*!< Offset: 0x018 (R/W)  MPU Alias 1 Region Attribute and Size Register */
+  __IO uint32_t RBAR_A2;                 /*!< Offset: 0x01C (R/W)  MPU Alias 2 Region Base Address Register       */
+  __IO uint32_t RASR_A2;                 /*!< Offset: 0x020 (R/W)  MPU Alias 2 Region Attribute and Size Register */
+  __IO uint32_t RBAR_A3;                 /*!< Offset: 0x024 (R/W)  MPU Alias 3 Region Base Address Register       */
+  __IO uint32_t RASR_A3;                 /*!< Offset: 0x028 (R/W)  MPU Alias 3 Region Attribute and Size Register */
+} MPU_Type;
+
+/* MPU Type Register */
+#define MPU_TYPE_IREGION_Pos               16                                             /*!< MPU TYPE: IREGION Position */
+#define MPU_TYPE_IREGION_Msk               (0xFFUL << MPU_TYPE_IREGION_Pos)               /*!< MPU TYPE: IREGION Mask */
+
+#define MPU_TYPE_DREGION_Pos                8                                             /*!< MPU TYPE: DREGION Position */
+#define MPU_TYPE_DREGION_Msk               (0xFFUL << MPU_TYPE_DREGION_Pos)               /*!< MPU TYPE: DREGION Mask */
+
+#define MPU_TYPE_SEPARATE_Pos               0                                             /*!< MPU TYPE: SEPARATE Position */
+#define MPU_TYPE_SEPARATE_Msk              (1UL << MPU_TYPE_SEPARATE_Pos)                 /*!< MPU TYPE: SEPARATE Mask */
+
+/* MPU Control Register */
+#define MPU_CTRL_PRIVDEFENA_Pos             2                                             /*!< MPU CTRL: PRIVDEFENA Position */
+#define MPU_CTRL_PRIVDEFENA_Msk            (1UL << MPU_CTRL_PRIVDEFENA_Pos)               /*!< MPU CTRL: PRIVDEFENA Mask */
+
+#define MPU_CTRL_HFNMIENA_Pos               1                                             /*!< MPU CTRL: HFNMIENA Position */
+#define MPU_CTRL_HFNMIENA_Msk              (1UL << MPU_CTRL_HFNMIENA_Pos)                 /*!< MPU CTRL: HFNMIENA Mask */
+
+#define MPU_CTRL_ENABLE_Pos                 0                                             /*!< MPU CTRL: ENABLE Position */
+#define MPU_CTRL_ENABLE_Msk                (1UL << MPU_CTRL_ENABLE_Pos)                   /*!< MPU CTRL: ENABLE Mask */
+
+/* MPU Region Number Register */
+#define MPU_RNR_REGION_Pos                  0                                             /*!< MPU RNR: REGION Position */
+#define MPU_RNR_REGION_Msk                 (0xFFUL << MPU_RNR_REGION_Pos)                 /*!< MPU RNR: REGION Mask */
+
+/* MPU Region Base Address Register */
+#define MPU_RBAR_ADDR_Pos                   5                                             /*!< MPU RBAR: ADDR Position */
+#define MPU_RBAR_ADDR_Msk                  (0x7FFFFFFUL << MPU_RBAR_ADDR_Pos)             /*!< MPU RBAR: ADDR Mask */
+
+#define MPU_RBAR_VALID_Pos                  4                                             /*!< MPU RBAR: VALID Position */
+#define MPU_RBAR_VALID_Msk                 (1UL << MPU_RBAR_VALID_Pos)                    /*!< MPU RBAR: VALID Mask */
+
+#define MPU_RBAR_REGION_Pos                 0                                             /*!< MPU RBAR: REGION Position */
+#define MPU_RBAR_REGION_Msk                (0xFUL << MPU_RBAR_REGION_Pos)                 /*!< MPU RBAR: REGION Mask */
+
+/* MPU Region Attribute and Size Register */
+#define MPU_RASR_ATTRS_Pos                 16                                             /*!< MPU RASR: MPU Region Attribute field Position */
+#define MPU_RASR_ATTRS_Msk                 (0xFFFFUL << MPU_RASR_ATTRS_Pos)               /*!< MPU RASR: MPU Region Attribute field Mask */
+
+#define MPU_RASR_XN_Pos                    28                                             /*!< MPU RASR: ATTRS.XN Position */
+#define MPU_RASR_XN_Msk                    (1UL << MPU_RASR_XN_Pos)                       /*!< MPU RASR: ATTRS.XN Mask */
+
+#define MPU_RASR_AP_Pos                    24                                             /*!< MPU RASR: ATTRS.AP Position */
+#define MPU_RASR_AP_Msk                    (0x7UL << MPU_RASR_AP_Pos)                     /*!< MPU RASR: ATTRS.AP Mask */
+
+#define MPU_RASR_TEX_Pos                   19                                             /*!< MPU RASR: ATTRS.TEX Position */
+#define MPU_RASR_TEX_Msk                   (0x7UL << MPU_RASR_TEX_Pos)                    /*!< MPU RASR: ATTRS.TEX Mask */
+
+#define MPU_RASR_S_Pos                     18                                             /*!< MPU RASR: ATTRS.S Position */
+#define MPU_RASR_S_Msk                     (1UL << MPU_RASR_S_Pos)                        /*!< MPU RASR: ATTRS.S Mask */
+
+#define MPU_RASR_C_Pos                     17                                             /*!< MPU RASR: ATTRS.C Position */
+#define MPU_RASR_C_Msk                     (1UL << MPU_RASR_C_Pos)                        /*!< MPU RASR: ATTRS.C Mask */
+
+#define MPU_RASR_B_Pos                     16                                             /*!< MPU RASR: ATTRS.B Position */
+#define MPU_RASR_B_Msk                     (1UL << MPU_RASR_B_Pos)                        /*!< MPU RASR: ATTRS.B Mask */
+
+#define MPU_RASR_SRD_Pos                    8                                             /*!< MPU RASR: Sub-Region Disable Position */
+#define MPU_RASR_SRD_Msk                   (0xFFUL << MPU_RASR_SRD_Pos)                   /*!< MPU RASR: Sub-Region Disable Mask */
+
+#define MPU_RASR_SIZE_Pos                   1                                             /*!< MPU RASR: Region Size Field Position */
+#define MPU_RASR_SIZE_Msk                  (0x1FUL << MPU_RASR_SIZE_Pos)                  /*!< MPU RASR: Region Size Field Mask */
+
+#define MPU_RASR_ENABLE_Pos                 0                                             /*!< MPU RASR: Region enable bit Position */
+#define MPU_RASR_ENABLE_Msk                (1UL << MPU_RASR_ENABLE_Pos)                   /*!< MPU RASR: Region enable bit Disable Mask */
+
+/*@} end of group CMSIS_MPU */
+#endif
+
+
+#if (__FPU_PRESENT == 1)
+/** \ingroup  CMSIS_core_register
+    \defgroup CMSIS_FPU     Floating Point Unit (FPU)
+    \brief      Type definitions for the Floating Point Unit (FPU)
+  @{
+ */
+
+/** \brief  Structure type to access the Floating Point Unit (FPU).
+ */
+typedef struct
+{
+       uint32_t RESERVED0[1];
+  __IO uint32_t FPCCR;                   /*!< Offset: 0x004 (R/W)  Floating-Point Context Control Register               */
+  __IO uint32_t FPCAR;                   /*!< Offset: 0x008 (R/W)  Floating-Point Context Address Register               */
+  __IO uint32_t FPDSCR;                  /*!< Offset: 0x00C (R/W)  Floating-Point Default Status Control Register        */
+  __I  uint32_t MVFR0;                   /*!< Offset: 0x010 (R/ )  Media and FP Feature Register 0                       */
+  __I  uint32_t MVFR1;                   /*!< Offset: 0x014 (R/ )  Media and FP Feature Register 1                       */
+} FPU_Type;
+
+/* Floating-Point Context Control Register */
+#define FPU_FPCCR_ASPEN_Pos                31                                             /*!< FPCCR: ASPEN bit Position */
+#define FPU_FPCCR_ASPEN_Msk                (1UL << FPU_FPCCR_ASPEN_Pos)                   /*!< FPCCR: ASPEN bit Mask */
+
+#define FPU_FPCCR_LSPEN_Pos                30                                             /*!< FPCCR: LSPEN Position */
+#define FPU_FPCCR_LSPEN_Msk                (1UL << FPU_FPCCR_LSPEN_Pos)                   /*!< FPCCR: LSPEN bit Mask */
+
+#define FPU_FPCCR_MONRDY_Pos                8                                             /*!< FPCCR: MONRDY Position */
+#define FPU_FPCCR_MONRDY_Msk               (1UL << FPU_FPCCR_MONRDY_Pos)                  /*!< FPCCR: MONRDY bit Mask */
+
+#define FPU_FPCCR_BFRDY_Pos                 6                                             /*!< FPCCR: BFRDY Position */
+#define FPU_FPCCR_BFRDY_Msk                (1UL << FPU_FPCCR_BFRDY_Pos)                   /*!< FPCCR: BFRDY bit Mask */
+
+#define FPU_FPCCR_MMRDY_Pos                 5                                             /*!< FPCCR: MMRDY Position */
+#define FPU_FPCCR_MMRDY_Msk                (1UL << FPU_FPCCR_MMRDY_Pos)                   /*!< FPCCR: MMRDY bit Mask */
+
+#define FPU_FPCCR_HFRDY_Pos                 4                                             /*!< FPCCR: HFRDY Position */
+#define FPU_FPCCR_HFRDY_Msk                (1UL << FPU_FPCCR_HFRDY_Pos)                   /*!< FPCCR: HFRDY bit Mask */
+
+#define FPU_FPCCR_THREAD_Pos                3                                             /*!< FPCCR: processor mode bit Position */
+#define FPU_FPCCR_THREAD_Msk               (1UL << FPU_FPCCR_THREAD_Pos)                  /*!< FPCCR: processor mode active bit Mask */
+
+#define FPU_FPCCR_USER_Pos                  1                                             /*!< FPCCR: privilege level bit Position */
+#define FPU_FPCCR_USER_Msk                 (1UL << FPU_FPCCR_USER_Pos)                    /*!< FPCCR: privilege level bit Mask */
+
+#define FPU_FPCCR_LSPACT_Pos                0                                             /*!< FPCCR: Lazy state preservation active bit Position */
+#define FPU_FPCCR_LSPACT_Msk               (1UL << FPU_FPCCR_LSPACT_Pos)                  /*!< FPCCR: Lazy state preservation active bit Mask */
+
+/* Floating-Point Context Address Register */
+#define FPU_FPCAR_ADDRESS_Pos               3                                             /*!< FPCAR: ADDRESS bit Position */
+#define FPU_FPCAR_ADDRESS_Msk              (0x1FFFFFFFUL << FPU_FPCAR_ADDRESS_Pos)        /*!< FPCAR: ADDRESS bit Mask */
+
+/* Floating-Point Default Status Control Register */
+#define FPU_FPDSCR_AHP_Pos                 26                                             /*!< FPDSCR: AHP bit Position */
+#define FPU_FPDSCR_AHP_Msk                 (1UL << FPU_FPDSCR_AHP_Pos)                    /*!< FPDSCR: AHP bit Mask */
+
+#define FPU_FPDSCR_DN_Pos                  25                                             /*!< FPDSCR: DN bit Position */
+#define FPU_FPDSCR_DN_Msk                  (1UL << FPU_FPDSCR_DN_Pos)                     /*!< FPDSCR: DN bit Mask */
+
+#define FPU_FPDSCR_FZ_Pos                  24                                             /*!< FPDSCR: FZ bit Position */
+#define FPU_FPDSCR_FZ_Msk                  (1UL << FPU_FPDSCR_FZ_Pos)                     /*!< FPDSCR: FZ bit Mask */
+
+#define FPU_FPDSCR_RMode_Pos               22                                             /*!< FPDSCR: RMode bit Position */
+#define FPU_FPDSCR_RMode_Msk               (3UL << FPU_FPDSCR_RMode_Pos)                  /*!< FPDSCR: RMode bit Mask */
+
+/* Media and FP Feature Register 0 */
+#define FPU_MVFR0_FP_rounding_modes_Pos    28                                             /*!< MVFR0: FP rounding modes bits Position */
+#define FPU_MVFR0_FP_rounding_modes_Msk    (0xFUL << FPU_MVFR0_FP_rounding_modes_Pos)     /*!< MVFR0: FP rounding modes bits Mask */
+
+#define FPU_MVFR0_Short_vectors_Pos        24                                             /*!< MVFR0: Short vectors bits Position */
+#define FPU_MVFR0_Short_vectors_Msk        (0xFUL << FPU_MVFR0_Short_vectors_Pos)         /*!< MVFR0: Short vectors bits Mask */
+
+#define FPU_MVFR0_Square_root_Pos          20                                             /*!< MVFR0: Square root bits Position */
+#define FPU_MVFR0_Square_root_Msk          (0xFUL << FPU_MVFR0_Square_root_Pos)           /*!< MVFR0: Square root bits Mask */
+
+#define FPU_MVFR0_Divide_Pos               16                                             /*!< MVFR0: Divide bits Position */
+#define FPU_MVFR0_Divide_Msk               (0xFUL << FPU_MVFR0_Divide_Pos)                /*!< MVFR0: Divide bits Mask */
+
+#define FPU_MVFR0_FP_excep_trapping_Pos    12                                             /*!< MVFR0: FP exception trapping bits Position */
+#define FPU_MVFR0_FP_excep_trapping_Msk    (0xFUL << FPU_MVFR0_FP_excep_trapping_Pos)     /*!< MVFR0: FP exception trapping bits Mask */
+
+#define FPU_MVFR0_Double_precision_Pos      8                                             /*!< MVFR0: Double-precision bits Position */
+#define FPU_MVFR0_Double_precision_Msk     (0xFUL << FPU_MVFR0_Double_precision_Pos)      /*!< MVFR0: Double-precision bits Mask */
+
+#define FPU_MVFR0_Single_precision_Pos      4                                             /*!< MVFR0: Single-precision bits Position */
+#define FPU_MVFR0_Single_precision_Msk     (0xFUL << FPU_MVFR0_Single_precision_Pos)      /*!< MVFR0: Single-precision bits Mask */
+
+#define FPU_MVFR0_A_SIMD_registers_Pos      0                                             /*!< MVFR0: A_SIMD registers bits Position */
+#define FPU_MVFR0_A_SIMD_registers_Msk     (0xFUL << FPU_MVFR0_A_SIMD_registers_Pos)      /*!< MVFR0: A_SIMD registers bits Mask */
+
+/* Media and FP Feature Register 1 */
+#define FPU_MVFR1_FP_fused_MAC_Pos         28                                             /*!< MVFR1: FP fused MAC bits Position */
+#define FPU_MVFR1_FP_fused_MAC_Msk         (0xFUL << FPU_MVFR1_FP_fused_MAC_Pos)          /*!< MVFR1: FP fused MAC bits Mask */
+
+#define FPU_MVFR1_FP_HPFP_Pos              24                                             /*!< MVFR1: FP HPFP bits Position */
+#define FPU_MVFR1_FP_HPFP_Msk              (0xFUL << FPU_MVFR1_FP_HPFP_Pos)               /*!< MVFR1: FP HPFP bits Mask */
+
+#define FPU_MVFR1_D_NaN_mode_Pos            4                                             /*!< MVFR1: D_NaN mode bits Position */
+#define FPU_MVFR1_D_NaN_mode_Msk           (0xFUL << FPU_MVFR1_D_NaN_mode_Pos)            /*!< MVFR1: D_NaN mode bits Mask */
+
+#define FPU_MVFR1_FtZ_mode_Pos              0                                             /*!< MVFR1: FtZ mode bits Position */
+#define FPU_MVFR1_FtZ_mode_Msk             (0xFUL << FPU_MVFR1_FtZ_mode_Pos)              /*!< MVFR1: FtZ mode bits Mask */
+
+/*@} end of group CMSIS_FPU */
+#endif
+
+
+/** \ingroup  CMSIS_core_register
+    \defgroup CMSIS_CoreDebug       Core Debug Registers (CoreDebug)
+    \brief      Type definitions for the Core Debug Registers
+  @{
+ */
+
+/** \brief  Structure type to access the Core Debug Register (CoreDebug).
+ */
+typedef struct
+{
+  __IO uint32_t DHCSR;                   /*!< Offset: 0x000 (R/W)  Debug Halting Control and Status Register    */
+  __O  uint32_t DCRSR;                   /*!< Offset: 0x004 ( /W)  Debug Core Register Selector Register        */
+  __IO uint32_t DCRDR;                   /*!< Offset: 0x008 (R/W)  Debug Core Register Data Register            */
+  __IO uint32_t DEMCR;                   /*!< Offset: 0x00C (R/W)  Debug Exception and Monitor Control Register */
+} CoreDebug_Type;
+
+/* Debug Halting Control and Status Register */
+#define CoreDebug_DHCSR_DBGKEY_Pos         16                                             /*!< CoreDebug DHCSR: DBGKEY Position */
+#define CoreDebug_DHCSR_DBGKEY_Msk         (0xFFFFUL << CoreDebug_DHCSR_DBGKEY_Pos)       /*!< CoreDebug DHCSR: DBGKEY Mask */
+
+#define CoreDebug_DHCSR_S_RESET_ST_Pos     25                                             /*!< CoreDebug DHCSR: S_RESET_ST Position */
+#define CoreDebug_DHCSR_S_RESET_ST_Msk     (1UL << CoreDebug_DHCSR_S_RESET_ST_Pos)        /*!< CoreDebug DHCSR: S_RESET_ST Mask */
+
+#define CoreDebug_DHCSR_S_RETIRE_ST_Pos    24                                             /*!< CoreDebug DHCSR: S_RETIRE_ST Position */
+#define CoreDebug_DHCSR_S_RETIRE_ST_Msk    (1UL << CoreDebug_DHCSR_S_RETIRE_ST_Pos)       /*!< CoreDebug DHCSR: S_RETIRE_ST Mask */
+
+#define CoreDebug_DHCSR_S_LOCKUP_Pos       19                                             /*!< CoreDebug DHCSR: S_LOCKUP Position */
+#define CoreDebug_DHCSR_S_LOCKUP_Msk       (1UL << CoreDebug_DHCSR_S_LOCKUP_Pos)          /*!< CoreDebug DHCSR: S_LOCKUP Mask */
+
+#define CoreDebug_DHCSR_S_SLEEP_Pos        18                                             /*!< CoreDebug DHCSR: S_SLEEP Position */
+#define CoreDebug_DHCSR_S_SLEEP_Msk        (1UL << CoreDebug_DHCSR_S_SLEEP_Pos)           /*!< CoreDebug DHCSR: S_SLEEP Mask */
+
+#define CoreDebug_DHCSR_S_HALT_Pos         17                                             /*!< CoreDebug DHCSR: S_HALT Position */
+#define CoreDebug_DHCSR_S_HALT_Msk         (1UL << CoreDebug_DHCSR_S_HALT_Pos)            /*!< CoreDebug DHCSR: S_HALT Mask */
+
+#define CoreDebug_DHCSR_S_REGRDY_Pos       16                                             /*!< CoreDebug DHCSR: S_REGRDY Position */
+#define CoreDebug_DHCSR_S_REGRDY_Msk       (1UL << CoreDebug_DHCSR_S_REGRDY_Pos)          /*!< CoreDebug DHCSR: S_REGRDY Mask */
+
+#define CoreDebug_DHCSR_C_SNAPSTALL_Pos     5                                             /*!< CoreDebug DHCSR: C_SNAPSTALL Position */
+#define CoreDebug_DHCSR_C_SNAPSTALL_Msk    (1UL << CoreDebug_DHCSR_C_SNAPSTALL_Pos)       /*!< CoreDebug DHCSR: C_SNAPSTALL Mask */
+
+#define CoreDebug_DHCSR_C_MASKINTS_Pos      3                                             /*!< CoreDebug DHCSR: C_MASKINTS Position */
+#define CoreDebug_DHCSR_C_MASKINTS_Msk     (1UL << CoreDebug_DHCSR_C_MASKINTS_Pos)        /*!< CoreDebug DHCSR: C_MASKINTS Mask */
+
+#define CoreDebug_DHCSR_C_STEP_Pos          2                                             /*!< CoreDebug DHCSR: C_STEP Position */
+#define CoreDebug_DHCSR_C_STEP_Msk         (1UL << CoreDebug_DHCSR_C_STEP_Pos)            /*!< CoreDebug DHCSR: C_STEP Mask */
+
+#define CoreDebug_DHCSR_C_HALT_Pos          1                                             /*!< CoreDebug DHCSR: C_HALT Position */
+#define CoreDebug_DHCSR_C_HALT_Msk         (1UL << CoreDebug_DHCSR_C_HALT_Pos)            /*!< CoreDebug DHCSR: C_HALT Mask */
+
+#define CoreDebug_DHCSR_C_DEBUGEN_Pos       0                                             /*!< CoreDebug DHCSR: C_DEBUGEN Position */
+#define CoreDebug_DHCSR_C_DEBUGEN_Msk      (1UL << CoreDebug_DHCSR_C_DEBUGEN_Pos)         /*!< CoreDebug DHCSR: C_DEBUGEN Mask */
+
+/* Debug Core Register Selector Register */
+#define CoreDebug_DCRSR_REGWnR_Pos         16                                             /*!< CoreDebug DCRSR: REGWnR Position */
+#define CoreDebug_DCRSR_REGWnR_Msk         (1UL << CoreDebug_DCRSR_REGWnR_Pos)            /*!< CoreDebug DCRSR: REGWnR Mask */
+
+#define CoreDebug_DCRSR_REGSEL_Pos          0                                             /*!< CoreDebug DCRSR: REGSEL Position */
+#define CoreDebug_DCRSR_REGSEL_Msk         (0x1FUL << CoreDebug_DCRSR_REGSEL_Pos)         /*!< CoreDebug DCRSR: REGSEL Mask */
+
+/* Debug Exception and Monitor Control Register */
+#define CoreDebug_DEMCR_TRCENA_Pos         24                                             /*!< CoreDebug DEMCR: TRCENA Position */
+#define CoreDebug_DEMCR_TRCENA_Msk         (1UL << CoreDebug_DEMCR_TRCENA_Pos)            /*!< CoreDebug DEMCR: TRCENA Mask */
+
+#define CoreDebug_DEMCR_MON_REQ_Pos        19                                             /*!< CoreDebug DEMCR: MON_REQ Position */
+#define CoreDebug_DEMCR_MON_REQ_Msk        (1UL << CoreDebug_DEMCR_MON_REQ_Pos)           /*!< CoreDebug DEMCR: MON_REQ Mask */
+
+#define CoreDebug_DEMCR_MON_STEP_Pos       18                                             /*!< CoreDebug DEMCR: MON_STEP Position */
+#define CoreDebug_DEMCR_MON_STEP_Msk       (1UL << CoreDebug_DEMCR_MON_STEP_Pos)          /*!< CoreDebug DEMCR: MON_STEP Mask */
+
+#define CoreDebug_DEMCR_MON_PEND_Pos       17                                             /*!< CoreDebug DEMCR: MON_PEND Position */
+#define CoreDebug_DEMCR_MON_PEND_Msk       (1UL << CoreDebug_DEMCR_MON_PEND_Pos)          /*!< CoreDebug DEMCR: MON_PEND Mask */
+
+#define CoreDebug_DEMCR_MON_EN_Pos         16                                             /*!< CoreDebug DEMCR: MON_EN Position */
+#define CoreDebug_DEMCR_MON_EN_Msk         (1UL << CoreDebug_DEMCR_MON_EN_Pos)            /*!< CoreDebug DEMCR: MON_EN Mask */
+
+#define CoreDebug_DEMCR_VC_HARDERR_Pos     10                                             /*!< CoreDebug DEMCR: VC_HARDERR Position */
+#define CoreDebug_DEMCR_VC_HARDERR_Msk     (1UL << CoreDebug_DEMCR_VC_HARDERR_Pos)        /*!< CoreDebug DEMCR: VC_HARDERR Mask */
+
+#define CoreDebug_DEMCR_VC_INTERR_Pos       9                                             /*!< CoreDebug DEMCR: VC_INTERR Position */
+#define CoreDebug_DEMCR_VC_INTERR_Msk      (1UL << CoreDebug_DEMCR_VC_INTERR_Pos)         /*!< CoreDebug DEMCR: VC_INTERR Mask */
+
+#define CoreDebug_DEMCR_VC_BUSERR_Pos       8                                             /*!< CoreDebug DEMCR: VC_BUSERR Position */
+#define CoreDebug_DEMCR_VC_BUSERR_Msk      (1UL << CoreDebug_DEMCR_VC_BUSERR_Pos)         /*!< CoreDebug DEMCR: VC_BUSERR Mask */
+
+#define CoreDebug_DEMCR_VC_STATERR_Pos      7                                             /*!< CoreDebug DEMCR: VC_STATERR Position */
+#define CoreDebug_DEMCR_VC_STATERR_Msk     (1UL << CoreDebug_DEMCR_VC_STATERR_Pos)        /*!< CoreDebug DEMCR: VC_STATERR Mask */
+
+#define CoreDebug_DEMCR_VC_CHKERR_Pos       6                                             /*!< CoreDebug DEMCR: VC_CHKERR Position */
+#define CoreDebug_DEMCR_VC_CHKERR_Msk      (1UL << CoreDebug_DEMCR_VC_CHKERR_Pos)         /*!< CoreDebug DEMCR: VC_CHKERR Mask */
+
+#define CoreDebug_DEMCR_VC_NOCPERR_Pos      5                                             /*!< CoreDebug DEMCR: VC_NOCPERR Position */
+#define CoreDebug_DEMCR_VC_NOCPERR_Msk     (1UL << CoreDebug_DEMCR_VC_NOCPERR_Pos)        /*!< CoreDebug DEMCR: VC_NOCPERR Mask */
+
+#define CoreDebug_DEMCR_VC_MMERR_Pos        4                                             /*!< CoreDebug DEMCR: VC_MMERR Position */
+#define CoreDebug_DEMCR_VC_MMERR_Msk       (1UL << CoreDebug_DEMCR_VC_MMERR_Pos)          /*!< CoreDebug DEMCR: VC_MMERR Mask */
+
+#define CoreDebug_DEMCR_VC_CORERESET_Pos    0                                             /*!< CoreDebug DEMCR: VC_CORERESET Position */
+#define CoreDebug_DEMCR_VC_CORERESET_Msk   (1UL << CoreDebug_DEMCR_VC_CORERESET_Pos)      /*!< CoreDebug DEMCR: VC_CORERESET Mask */
+
+/*@} end of group CMSIS_CoreDebug */
+
+
+/** \ingroup    CMSIS_core_register
+    \defgroup   CMSIS_core_base     Core Definitions
+    \brief      Definitions for base addresses, unions, and structures.
+  @{
+ */
+
+/* Memory mapping of Cortex-M4 Hardware */
+#define SCS_BASE            (0xE000E000UL)                            /*!< System Control Space Base Address  */
+#define ITM_BASE            (0xE0000000UL)                            /*!< ITM Base Address                   */
+#define DWT_BASE            (0xE0001000UL)                            /*!< DWT Base Address                   */
+#define TPI_BASE            (0xE0040000UL)                            /*!< TPI Base Address                   */
+#define CoreDebug_BASE      (0xE000EDF0UL)                            /*!< Core Debug Base Address            */
+#define SysTick_BASE        (SCS_BASE +  0x0010UL)                    /*!< SysTick Base Address               */
+#define NVIC_BASE           (SCS_BASE +  0x0100UL)                    /*!< NVIC Base Address                  */
+#define SCB_BASE            (SCS_BASE +  0x0D00UL)                    /*!< System Control Block Base Address  */
+
+#define SCnSCB              ((SCnSCB_Type    *)     SCS_BASE      )   /*!< System control Register not in SCB */
+#define SCB                 ((SCB_Type       *)     SCB_BASE      )   /*!< SCB configuration struct           */
+#define SysTick             ((SysTick_Type   *)     SysTick_BASE  )   /*!< SysTick configuration struct       */
+#define NVIC                ((NVIC_Type      *)     NVIC_BASE     )   /*!< NVIC configuration struct          */
+#define ITM                 ((ITM_Type       *)     ITM_BASE      )   /*!< ITM configuration struct           */
+#define DWT                 ((DWT_Type       *)     DWT_BASE      )   /*!< DWT configuration struct           */
+#define TPI                 ((TPI_Type       *)     TPI_BASE      )   /*!< TPI configuration struct           */
+#define CoreDebug           ((CoreDebug_Type *)     CoreDebug_BASE)   /*!< Core Debug configuration struct    */
+
+#if (__MPU_PRESENT == 1)
+  #define MPU_BASE          (SCS_BASE +  0x0D90UL)                    /*!< Memory Protection Unit             */
+  #define MPU               ((MPU_Type       *)     MPU_BASE      )   /*!< Memory Protection Unit             */
+#endif
+
+#if (__FPU_PRESENT == 1)
+  #define FPU_BASE          (SCS_BASE +  0x0F30UL)                    /*!< Floating Point Unit                */
+  #define FPU               ((FPU_Type       *)     FPU_BASE      )   /*!< Floating Point Unit                */
+#endif
+
+/*@} */
+
+
+
+/*******************************************************************************
+ *                Hardware Abstraction Layer
+  Core Function Interface contains:
+  - Core NVIC Functions
+  - Core SysTick Functions
+  - Core Debug Functions
+  - Core Register Access Functions
+ ******************************************************************************/
+/** \defgroup CMSIS_Core_FunctionInterface Functions and Instructions Reference
+*/
+
+
+
+/* ##########################   NVIC functions  #################################### */
+/** \ingroup  CMSIS_Core_FunctionInterface
+    \defgroup CMSIS_Core_NVICFunctions NVIC Functions
+    \brief      Functions that manage interrupts and exceptions via the NVIC.
+    @{
+ */
+
+/** \brief  Set Priority Grouping
+
+  The function sets the priority grouping field using the required unlock sequence.
+  The parameter PriorityGroup is assigned to the field SCB->AIRCR [10:8] PRIGROUP field.
+  Only values from 0..7 are used.
+  In case of a conflict between priority grouping and available
+  priority bits (__NVIC_PRIO_BITS), the smallest possible priority group is set.
+
+    \param [in]      PriorityGroup  Priority grouping field.
+ */
+__STATIC_INLINE void NVIC_SetPriorityGrouping(uint32_t PriorityGroup)
+{
+  uint32_t reg_value;
+  uint32_t PriorityGroupTmp = (PriorityGroup & (uint32_t)0x07);               /* only values 0..7 are used          */
+
+  reg_value  =  SCB->AIRCR;                                                   /* read old register configuration    */
+  reg_value &= ~(SCB_AIRCR_VECTKEY_Msk | SCB_AIRCR_PRIGROUP_Msk);             /* clear bits to change               */
+  reg_value  =  (reg_value                                 |
+                ((uint32_t)0x5FA << SCB_AIRCR_VECTKEY_Pos) |
+                (PriorityGroupTmp << 8));                                     /* Insert write key and priorty group */
+  SCB->AIRCR =  reg_value;
+}
+
+
+/** \brief  Get Priority Grouping
+
+  The function reads the priority grouping field from the NVIC Interrupt Controller.
+
+    \return                Priority grouping field (SCB->AIRCR [10:8] PRIGROUP field).
+ */
+__STATIC_INLINE uint32_t NVIC_GetPriorityGrouping(void)
+{
+  return ((SCB->AIRCR & SCB_AIRCR_PRIGROUP_Msk) >> SCB_AIRCR_PRIGROUP_Pos);   /* read priority grouping field */
+}
+
+
+/** \brief  Enable External Interrupt
+
+    The function enables a device-specific interrupt in the NVIC interrupt controller.
+
+    \param [in]      IRQn  External interrupt number. Value cannot be negative.
+ */
+__STATIC_INLINE void NVIC_EnableIRQ(IRQn_Type IRQn)
+{
+/*  NVIC->ISER[((uint32_t)(IRQn) >> 5)] = (1 << ((uint32_t)(IRQn) & 0x1F));  enable interrupt */
+  NVIC->ISER[(uint32_t)((int32_t)IRQn) >> 5] = (uint32_t)(1 << ((uint32_t)((int32_t)IRQn) & (uint32_t)0x1F)); /* enable interrupt */
+}
+
+
+/** \brief  Disable External Interrupt
+
+    The function disables a device-specific interrupt in the NVIC interrupt controller.
+
+    \param [in]      IRQn  External interrupt number. Value cannot be negative.
+ */
+__STATIC_INLINE void NVIC_DisableIRQ(IRQn_Type IRQn)
+{
+  NVIC->ICER[((uint32_t)(IRQn) >> 5)] = (1 << ((uint32_t)(IRQn) & 0x1F)); /* disable interrupt */
+}
+
+
+/** \brief  Get Pending Interrupt
+
+    The function reads the pending register in the NVIC and returns the pending bit
+    for the specified interrupt.
+
+    \param [in]      IRQn  Interrupt number.
+
+    \return             0  Interrupt status is not pending.
+    \return             1  Interrupt status is pending.
+ */
+__STATIC_INLINE uint32_t NVIC_GetPendingIRQ(IRQn_Type IRQn)
+{
+  return((uint32_t) ((NVIC->ISPR[(uint32_t)(IRQn) >> 5] & (1 << ((uint32_t)(IRQn) & 0x1F)))?1:0)); /* Return 1 if pending else 0 */
+}
+
+
+/** \brief  Set Pending Interrupt
+
+    The function sets the pending bit of an external interrupt.
+
+    \param [in]      IRQn  Interrupt number. Value cannot be negative.
+ */
+__STATIC_INLINE void NVIC_SetPendingIRQ(IRQn_Type IRQn)
+{
+  NVIC->ISPR[((uint32_t)(IRQn) >> 5)] = (1 << ((uint32_t)(IRQn) & 0x1F)); /* set interrupt pending */
+}
+
+
+/** \brief  Clear Pending Interrupt
+
+    The function clears the pending bit of an external interrupt.
+
+    \param [in]      IRQn  External interrupt number. Value cannot be negative.
+ */
+__STATIC_INLINE void NVIC_ClearPendingIRQ(IRQn_Type IRQn)
+{
+  NVIC->ICPR[((uint32_t)(IRQn) >> 5)] = (1 << ((uint32_t)(IRQn) & 0x1F)); /* Clear pending interrupt */
+}
+
+
+/** \brief  Get Active Interrupt
+
+    The function reads the active register in NVIC and returns the active bit.
+
+    \param [in]      IRQn  Interrupt number.
+
+    \return             0  Interrupt status is not active.
+    \return             1  Interrupt status is active.
+ */
+__STATIC_INLINE uint32_t NVIC_GetActive(IRQn_Type IRQn)
+{
+  return((uint32_t)((NVIC->IABR[(uint32_t)(IRQn) >> 5] & (1 << ((uint32_t)(IRQn) & 0x1F)))?1:0)); /* Return 1 if active else 0 */
+}
+
+
+/** \brief  Set Interrupt Priority
+
+    The function sets the priority of an interrupt.
+
+    \note The priority cannot be set for every core interrupt.
+
+    \param [in]      IRQn  Interrupt number.
+    \param [in]  priority  Priority to set.
+ */
+__STATIC_INLINE void NVIC_SetPriority(IRQn_Type IRQn, uint32_t priority)
+{
+  if(IRQn < 0) {
+    SCB->SHP[((uint32_t)(IRQn) & 0xF)-4] = ((priority << (8 - __NVIC_PRIO_BITS)) & 0xff); } /* set Priority for Cortex-M  System Interrupts */
+  else {
+    NVIC->IP[(uint32_t)(IRQn)] = ((priority << (8 - __NVIC_PRIO_BITS)) & 0xff);    }        /* set Priority for device specific Interrupts  */
+}
+
+
+/** \brief  Get Interrupt Priority
+
+    The function reads the priority of an interrupt. The interrupt
+    number can be positive to specify an external (device specific)
+    interrupt, or negative to specify an internal (core) interrupt.
+
+
+    \param [in]   IRQn  Interrupt number.
+    \return             Interrupt Priority. Value is aligned automatically to the implemented
+                        priority bits of the microcontroller.
+ */
+__STATIC_INLINE uint32_t NVIC_GetPriority(IRQn_Type IRQn)
+{
+
+  if(IRQn < 0) {
+    return((uint32_t)(SCB->SHP[((uint32_t)(IRQn) & 0xF)-4] >> (8 - __NVIC_PRIO_BITS)));  } /* get priority for Cortex-M  system interrupts */
+  else {
+    return((uint32_t)(NVIC->IP[(uint32_t)(IRQn)]           >> (8 - __NVIC_PRIO_BITS)));  } /* get priority for device specific interrupts  */
+}
+
+
+/** \brief  Encode Priority
+
+    The function encodes the priority for an interrupt with the given priority group,
+    preemptive priority value, and subpriority value.
+    In case of a conflict between priority grouping and available
+    priority bits (__NVIC_PRIO_BITS), the samllest possible priority group is set.
+
+    \param [in]     PriorityGroup  Used priority group.
+    \param [in]   PreemptPriority  Preemptive priority value (starting from 0).
+    \param [in]       SubPriority  Subpriority value (starting from 0).
+    \return                        Encoded priority. Value can be used in the function \ref NVIC_SetPriority().
+ */
+__STATIC_INLINE uint32_t NVIC_EncodePriority (uint32_t PriorityGroup, uint32_t PreemptPriority, uint32_t SubPriority)
+{
+  uint32_t PriorityGroupTmp = (PriorityGroup & 0x07);          /* only values 0..7 are used          */
+  uint32_t PreemptPriorityBits;
+  uint32_t SubPriorityBits;
+
+  PreemptPriorityBits = ((7 - PriorityGroupTmp) > __NVIC_PRIO_BITS) ? __NVIC_PRIO_BITS : 7 - PriorityGroupTmp;
+  SubPriorityBits     = ((PriorityGroupTmp + __NVIC_PRIO_BITS) < 7) ? 0 : PriorityGroupTmp - 7 + __NVIC_PRIO_BITS;
+
+  return (
+           ((PreemptPriority & ((1 << (PreemptPriorityBits)) - 1)) << SubPriorityBits) |
+           ((SubPriority     & ((1 << (SubPriorityBits    )) - 1)))
+         );
+}
+
+
+/** \brief  Decode Priority
+
+    The function decodes an interrupt priority value with a given priority group to
+    preemptive priority value and subpriority value.
+    In case of a conflict between priority grouping and available
+    priority bits (__NVIC_PRIO_BITS) the samllest possible priority group is set.
+
+    \param [in]         Priority   Priority value, which can be retrieved with the function \ref NVIC_GetPriority().
+    \param [in]     PriorityGroup  Used priority group.
+    \param [out] pPreemptPriority  Preemptive priority value (starting from 0).
+    \param [out]     pSubPriority  Subpriority value (starting from 0).
+ */
+__STATIC_INLINE void NVIC_DecodePriority (uint32_t Priority, uint32_t PriorityGroup, uint32_t* pPreemptPriority, uint32_t* pSubPriority)
+{
+  uint32_t PriorityGroupTmp = (PriorityGroup & 0x07);          /* only values 0..7 are used          */
+  uint32_t PreemptPriorityBits;
+  uint32_t SubPriorityBits;
+
+  PreemptPriorityBits = ((7 - PriorityGroupTmp) > __NVIC_PRIO_BITS) ? __NVIC_PRIO_BITS : 7 - PriorityGroupTmp;
+  SubPriorityBits     = ((PriorityGroupTmp + __NVIC_PRIO_BITS) < 7) ? 0 : PriorityGroupTmp - 7 + __NVIC_PRIO_BITS;
+
+  *pPreemptPriority = (Priority >> SubPriorityBits) & ((1 << (PreemptPriorityBits)) - 1);
+  *pSubPriority     = (Priority                   ) & ((1 << (SubPriorityBits    )) - 1);
+}
+
+
+/** \brief  System Reset
+
+    The function initiates a system reset request to reset the MCU.
+ */
+__STATIC_INLINE void NVIC_SystemReset(void)
+{
+  __DSB();                                                     /* Ensure all outstanding memory accesses included
+                                                                  buffered write are completed before reset */
+  SCB->AIRCR  = ((0x5FA << SCB_AIRCR_VECTKEY_Pos)      |
+                 (SCB->AIRCR & SCB_AIRCR_PRIGROUP_Msk) |
+                 SCB_AIRCR_SYSRESETREQ_Msk);                   /* Keep priority group unchanged */
+  __DSB();                                                     /* Ensure completion of memory access */
+  while(1);                                                    /* wait until reset */
+}
+
+/*@} end of CMSIS_Core_NVICFunctions */
+
+
+
+/* ##################################    SysTick function  ############################################ */
+/** \ingroup  CMSIS_Core_FunctionInterface
+    \defgroup CMSIS_Core_SysTickFunctions SysTick Functions
+    \brief      Functions that configure the System.
+  @{
+ */
+
+#if (__Vendor_SysTickConfig == 0)
+
+/** \brief  System Tick Configuration
+
+    The function initializes the System Timer and its interrupt, and starts the System Tick Timer.
+    Counter is in free running mode to generate periodic interrupts.
+
+    \param [in]  ticks  Number of ticks between two interrupts.
+
+    \return          0  Function succeeded.
+    \return          1  Function failed.
+
+    \note     When the variable <b>__Vendor_SysTickConfig</b> is set to 1, then the
+    function <b>SysTick_Config</b> is not included. In this case, the file <b><i>device</i>.h</b>
+    must contain a vendor-specific implementation of this function.
+
+ */
+__STATIC_INLINE uint32_t SysTick_Config(uint32_t ticks)
+{
+  if ((ticks - 1) > SysTick_LOAD_RELOAD_Msk)  return (1);      /* Reload value impossible */
+
+  SysTick->LOAD  = ticks - 1;                                  /* set reload register */
+  NVIC_SetPriority (SysTick_IRQn, (1<<__NVIC_PRIO_BITS) - 1);  /* set Priority for Systick Interrupt */
+  SysTick->VAL   = 0;                                          /* Load the SysTick Counter Value */
+  SysTick->CTRL  = SysTick_CTRL_CLKSOURCE_Msk |
+                   SysTick_CTRL_TICKINT_Msk   |
+                   SysTick_CTRL_ENABLE_Msk;                    /* Enable SysTick IRQ and SysTick Timer */
+  return (0);                                                  /* Function successful */
+}
+
+#endif
+
+/*@} end of CMSIS_Core_SysTickFunctions */
+
+
+
+/* ##################################### Debug In/Output function ########################################### */
+/** \ingroup  CMSIS_Core_FunctionInterface
+    \defgroup CMSIS_core_DebugFunctions ITM Functions
+    \brief   Functions that access the ITM debug interface.
+  @{
+ */
+
+extern volatile int32_t ITM_RxBuffer;                    /*!< External variable to receive characters.                         */
+#define                 ITM_RXBUFFER_EMPTY    0x5AA55AA5 /*!< Value identifying \ref ITM_RxBuffer is ready for next character. */
+
+
+/** \brief  ITM Send Character
+
+    The function transmits a character via the ITM channel 0, and
+    \li Just returns when no debugger is connected that has booked the output.
+    \li Is blocking when a debugger is connected, but the previous character sent has not been transmitted.
+
+    \param [in]     ch  Character to transmit.
+
+    \returns            Character to transmit.
+ */
+__STATIC_INLINE uint32_t ITM_SendChar (uint32_t ch)
+{
+  if ((ITM->TCR & ITM_TCR_ITMENA_Msk)                  &&      /* ITM enabled */
+      (ITM->TER & (1UL << 0)        )                    )     /* ITM Port #0 enabled */
+  {
+    while (ITM->PORT[0].u32 == 0);
+    ITM->PORT[0].u8 = (uint8_t) ch;
+  }
+  return (ch);
+}
+
+
+/** \brief  ITM Receive Character
+
+    The function inputs a character via the external variable \ref ITM_RxBuffer.
+
+    \return             Received character.
+    \return         -1  No character pending.
+ */
+__STATIC_INLINE int32_t ITM_ReceiveChar (void) {
+  int32_t ch = -1;                           /* no character available */
+
+  if (ITM_RxBuffer != ITM_RXBUFFER_EMPTY) {
+    ch = ITM_RxBuffer;
+    ITM_RxBuffer = ITM_RXBUFFER_EMPTY;       /* ready for next character */
+  }
+
+  return (ch);
+}
+
+
+/** \brief  ITM Check Character
+
+    The function checks whether a character is pending for reading in the variable \ref ITM_RxBuffer.
+
+    \return          0  No character available.
+    \return          1  Character available.
+ */
+__STATIC_INLINE int32_t ITM_CheckChar (void) {
+
+  if (ITM_RxBuffer == ITM_RXBUFFER_EMPTY) {
+    return (0);                                 /* no character available */
+  } else {
+    return (1);                                 /*    character available */
+  }
+}
+
+/*@} end of CMSIS_core_DebugFunctions */
+
+#endif /* __CORE_CM4_H_DEPENDANT */
+
+#endif /* __CMSIS_GENERIC */
+
+#ifdef __cplusplus
+}
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TARGET_GHI_MBUINO/core_cm4_simd.h	Fri Aug 15 15:28:31 2014 +0100
@@ -0,0 +1,673 @@
+/**************************************************************************//**
+ * @file     core_cm4_simd.h
+ * @brief    CMSIS Cortex-M4 SIMD Header File
+ * @version  V3.20
+ * @date     25. February 2013
+ *
+ * @note
+ *
+ ******************************************************************************/
+/* Copyright (c) 2009 - 2013 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 ARM 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 COPYRIGHT HOLDERS AND CONTRIBUTORS 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.
+   ---------------------------------------------------------------------------*/
+
+
+#ifdef __cplusplus
+ extern "C" {
+#endif
+
+#ifndef __CORE_CM4_SIMD_H
+#define __CORE_CM4_SIMD_H
+
+
+/*******************************************************************************
+ *                Hardware Abstraction Layer
+ ******************************************************************************/
+
+
+/* ###################  Compiler specific Intrinsics  ########################### */
+/** \defgroup CMSIS_SIMD_intrinsics CMSIS SIMD Intrinsics
+  Access to dedicated SIMD instructions
+  @{
+*/
+
+#if   defined ( __CC_ARM ) /*------------------RealView Compiler -----------------*/
+/* ARM armcc specific functions */
+
+/*------ CM4 SIMD Intrinsics -----------------------------------------------------*/
+#define __SADD8                           __sadd8
+#define __QADD8                           __qadd8
+#define __SHADD8                          __shadd8
+#define __UADD8                           __uadd8
+#define __UQADD8                          __uqadd8
+#define __UHADD8                          __uhadd8
+#define __SSUB8                           __ssub8
+#define __QSUB8                           __qsub8
+#define __SHSUB8                          __shsub8
+#define __USUB8                           __usub8
+#define __UQSUB8                          __uqsub8
+#define __UHSUB8                          __uhsub8
+#define __SADD16                          __sadd16
+#define __QADD16                          __qadd16
+#define __SHADD16                         __shadd16
+#define __UADD16                          __uadd16
+#define __UQADD16                         __uqadd16
+#define __UHADD16                         __uhadd16
+#define __SSUB16                          __ssub16
+#define __QSUB16                          __qsub16
+#define __SHSUB16                         __shsub16
+#define __USUB16                          __usub16
+#define __UQSUB16                         __uqsub16
+#define __UHSUB16                         __uhsub16
+#define __SASX                            __sasx
+#define __QASX                            __qasx
+#define __SHASX                           __shasx
+#define __UASX                            __uasx
+#define __UQASX                           __uqasx
+#define __UHASX                           __uhasx
+#define __SSAX                            __ssax
+#define __QSAX                            __qsax
+#define __SHSAX                           __shsax
+#define __USAX                            __usax
+#define __UQSAX                           __uqsax
+#define __UHSAX                           __uhsax
+#define __USAD8                           __usad8
+#define __USADA8                          __usada8
+#define __SSAT16                          __ssat16
+#define __USAT16                          __usat16
+#define __UXTB16                          __uxtb16
+#define __UXTAB16                         __uxtab16
+#define __SXTB16                          __sxtb16
+#define __SXTAB16                         __sxtab16
+#define __SMUAD                           __smuad
+#define __SMUADX                          __smuadx
+#define __SMLAD                           __smlad
+#define __SMLADX                          __smladx
+#define __SMLALD                          __smlald
+#define __SMLALDX                         __smlaldx
+#define __SMUSD                           __smusd
+#define __SMUSDX                          __smusdx
+#define __SMLSD                           __smlsd
+#define __SMLSDX                          __smlsdx
+#define __SMLSLD                          __smlsld
+#define __SMLSLDX                         __smlsldx
+#define __SEL                             __sel
+#define __QADD                            __qadd
+#define __QSUB                            __qsub
+
+#define __PKHBT(ARG1,ARG2,ARG3)          ( ((((uint32_t)(ARG1))          ) & 0x0000FFFFUL) |  \
+                                           ((((uint32_t)(ARG2)) << (ARG3)) & 0xFFFF0000UL)  )
+
+#define __PKHTB(ARG1,ARG2,ARG3)          ( ((((uint32_t)(ARG1))          ) & 0xFFFF0000UL) |  \
+                                           ((((uint32_t)(ARG2)) >> (ARG3)) & 0x0000FFFFUL)  )
+
+#define __SMMLA(ARG1,ARG2,ARG3)          ( (int32_t)((((int64_t)(ARG1) * (ARG2)) + \
+                                                      ((int64_t)(ARG3) << 32)      ) >> 32))
+
+/*-- End CM4 SIMD Intrinsics -----------------------------------------------------*/
+
+
+
+#elif defined ( __ICCARM__ ) /*------------------ ICC Compiler -------------------*/
+/* IAR iccarm specific functions */
+
+/*------ CM4 SIMD Intrinsics -----------------------------------------------------*/
+#include <cmsis_iar.h>
+
+/*-- End CM4 SIMD Intrinsics -----------------------------------------------------*/
+
+
+
+#elif defined ( __TMS470__ ) /*---------------- TI CCS Compiler ------------------*/
+/* TI CCS specific functions */
+
+/*------ CM4 SIMD Intrinsics -----------------------------------------------------*/
+#include <cmsis_ccs.h>
+
+/*-- End CM4 SIMD Intrinsics -----------------------------------------------------*/
+
+
+
+#elif defined ( __GNUC__ ) /*------------------ GNU Compiler ---------------------*/
+/* GNU gcc specific functions */
+
+/*------ CM4 SIMD Intrinsics -----------------------------------------------------*/
+__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __SADD8(uint32_t op1, uint32_t op2)
+{
+  uint32_t result;
+
+  __ASM volatile ("sadd8 %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) );
+  return(result);
+}
+
+__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __QADD8(uint32_t op1, uint32_t op2)
+{
+  uint32_t result;
+
+  __ASM volatile ("qadd8 %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) );
+  return(result);
+}
+
+__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __SHADD8(uint32_t op1, uint32_t op2)
+{
+  uint32_t result;
+
+  __ASM volatile ("shadd8 %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) );
+  return(result);
+}
+
+__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __UADD8(uint32_t op1, uint32_t op2)
+{
+  uint32_t result;
+
+  __ASM volatile ("uadd8 %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) );
+  return(result);
+}
+
+__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __UQADD8(uint32_t op1, uint32_t op2)
+{
+  uint32_t result;
+
+  __ASM volatile ("uqadd8 %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) );
+  return(result);
+}
+
+__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __UHADD8(uint32_t op1, uint32_t op2)
+{
+  uint32_t result;
+
+  __ASM volatile ("uhadd8 %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) );
+  return(result);
+}
+
+
+__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __SSUB8(uint32_t op1, uint32_t op2)
+{
+  uint32_t result;
+
+  __ASM volatile ("ssub8 %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) );
+  return(result);
+}
+
+__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __QSUB8(uint32_t op1, uint32_t op2)
+{
+  uint32_t result;
+
+  __ASM volatile ("qsub8 %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) );
+  return(result);
+}
+
+__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __SHSUB8(uint32_t op1, uint32_t op2)
+{
+  uint32_t result;
+
+  __ASM volatile ("shsub8 %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) );
+  return(result);
+}
+
+__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __USUB8(uint32_t op1, uint32_t op2)
+{
+  uint32_t result;
+
+  __ASM volatile ("usub8 %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) );
+  return(result);
+}
+
+__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __UQSUB8(uint32_t op1, uint32_t op2)
+{
+  uint32_t result;
+
+  __ASM volatile ("uqsub8 %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) );
+  return(result);
+}
+
+__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __UHSUB8(uint32_t op1, uint32_t op2)
+{
+  uint32_t result;
+
+  __ASM volatile ("uhsub8 %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) );
+  return(result);
+}
+
+
+__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __SADD16(uint32_t op1, uint32_t op2)
+{
+  uint32_t result;
+
+  __ASM volatile ("sadd16 %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) );
+  return(result);
+}
+
+__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __QADD16(uint32_t op1, uint32_t op2)
+{
+  uint32_t result;
+
+  __ASM volatile ("qadd16 %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) );
+  return(result);
+}
+
+__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __SHADD16(uint32_t op1, uint32_t op2)
+{
+  uint32_t result;
+
+  __ASM volatile ("shadd16 %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) );
+  return(result);
+}
+
+__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __UADD16(uint32_t op1, uint32_t op2)
+{
+  uint32_t result;
+
+  __ASM volatile ("uadd16 %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) );
+  return(result);
+}
+
+__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __UQADD16(uint32_t op1, uint32_t op2)
+{
+  uint32_t result;
+
+  __ASM volatile ("uqadd16 %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) );
+  return(result);
+}
+
+__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __UHADD16(uint32_t op1, uint32_t op2)
+{
+  uint32_t result;
+
+  __ASM volatile ("uhadd16 %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) );
+  return(result);
+}
+
+__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __SSUB16(uint32_t op1, uint32_t op2)
+{
+  uint32_t result;
+
+  __ASM volatile ("ssub16 %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) );
+  return(result);
+}
+
+__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __QSUB16(uint32_t op1, uint32_t op2)
+{
+  uint32_t result;
+
+  __ASM volatile ("qsub16 %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) );
+  return(result);
+}
+
+__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __SHSUB16(uint32_t op1, uint32_t op2)
+{
+  uint32_t result;
+
+  __ASM volatile ("shsub16 %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) );
+  return(result);
+}
+
+__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __USUB16(uint32_t op1, uint32_t op2)
+{
+  uint32_t result;
+
+  __ASM volatile ("usub16 %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) );
+  return(result);
+}
+
+__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __UQSUB16(uint32_t op1, uint32_t op2)
+{
+  uint32_t result;
+
+  __ASM volatile ("uqsub16 %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) );
+  return(result);
+}
+
+__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __UHSUB16(uint32_t op1, uint32_t op2)
+{
+  uint32_t result;
+
+  __ASM volatile ("uhsub16 %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) );
+  return(result);
+}
+
+__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __SASX(uint32_t op1, uint32_t op2)
+{
+  uint32_t result;
+
+  __ASM volatile ("sasx %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) );
+  return(result);
+}
+
+__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __QASX(uint32_t op1, uint32_t op2)
+{
+  uint32_t result;
+
+  __ASM volatile ("qasx %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) );
+  return(result);
+}
+
+__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __SHASX(uint32_t op1, uint32_t op2)
+{
+  uint32_t result;
+
+  __ASM volatile ("shasx %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) );
+  return(result);
+}
+
+__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __UASX(uint32_t op1, uint32_t op2)
+{
+  uint32_t result;
+
+  __ASM volatile ("uasx %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) );
+  return(result);
+}
+
+__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __UQASX(uint32_t op1, uint32_t op2)
+{
+  uint32_t result;
+
+  __ASM volatile ("uqasx %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) );
+  return(result);
+}
+
+__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __UHASX(uint32_t op1, uint32_t op2)
+{
+  uint32_t result;
+
+  __ASM volatile ("uhasx %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) );
+  return(result);
+}
+
+__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __SSAX(uint32_t op1, uint32_t op2)
+{
+  uint32_t result;
+
+  __ASM volatile ("ssax %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) );
+  return(result);
+}
+
+__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __QSAX(uint32_t op1, uint32_t op2)
+{
+  uint32_t result;
+
+  __ASM volatile ("qsax %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) );
+  return(result);
+}
+
+__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __SHSAX(uint32_t op1, uint32_t op2)
+{
+  uint32_t result;
+
+  __ASM volatile ("shsax %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) );
+  return(result);
+}
+
+__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __USAX(uint32_t op1, uint32_t op2)
+{
+  uint32_t result;
+
+  __ASM volatile ("usax %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) );
+  return(result);
+}
+
+__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __UQSAX(uint32_t op1, uint32_t op2)
+{
+  uint32_t result;
+
+  __ASM volatile ("uqsax %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) );
+  return(result);
+}
+
+__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __UHSAX(uint32_t op1, uint32_t op2)
+{
+  uint32_t result;
+
+  __ASM volatile ("uhsax %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) );
+  return(result);
+}
+
+__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __USAD8(uint32_t op1, uint32_t op2)
+{
+  uint32_t result;
+
+  __ASM volatile ("usad8 %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) );
+  return(result);
+}
+
+__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __USADA8(uint32_t op1, uint32_t op2, uint32_t op3)
+{
+  uint32_t result;
+
+  __ASM volatile ("usada8 %0, %1, %2, %3" : "=r" (result) : "r" (op1), "r" (op2), "r" (op3) );
+  return(result);
+}
+
+#define __SSAT16(ARG1,ARG2) \
+({                          \
+  uint32_t __RES, __ARG1 = (ARG1); \
+  __ASM ("ssat16 %0, %1, %2" : "=r" (__RES) :  "I" (ARG2), "r" (__ARG1) ); \
+  __RES; \
+ })
+
+#define __USAT16(ARG1,ARG2) \
+({                          \
+  uint32_t __RES, __ARG1 = (ARG1); \
+  __ASM ("usat16 %0, %1, %2" : "=r" (__RES) :  "I" (ARG2), "r" (__ARG1) ); \
+  __RES; \
+ })
+
+__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __UXTB16(uint32_t op1)
+{
+  uint32_t result;
+
+  __ASM volatile ("uxtb16 %0, %1" : "=r" (result) : "r" (op1));
+  return(result);
+}
+
+__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __UXTAB16(uint32_t op1, uint32_t op2)
+{
+  uint32_t result;
+
+  __ASM volatile ("uxtab16 %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) );
+  return(result);
+}
+
+__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __SXTB16(uint32_t op1)
+{
+  uint32_t result;
+
+  __ASM volatile ("sxtb16 %0, %1" : "=r" (result) : "r" (op1));
+  return(result);
+}
+
+__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __SXTAB16(uint32_t op1, uint32_t op2)
+{
+  uint32_t result;
+
+  __ASM volatile ("sxtab16 %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) );
+  return(result);
+}
+
+__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __SMUAD  (uint32_t op1, uint32_t op2)
+{
+  uint32_t result;
+
+  __ASM volatile ("smuad %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) );
+  return(result);
+}
+
+__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __SMUADX (uint32_t op1, uint32_t op2)
+{
+  uint32_t result;
+
+  __ASM volatile ("smuadx %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) );
+  return(result);
+}
+
+__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __SMLAD (uint32_t op1, uint32_t op2, uint32_t op3)
+{
+  uint32_t result;
+
+  __ASM volatile ("smlad %0, %1, %2, %3" : "=r" (result) : "r" (op1), "r" (op2), "r" (op3) );
+  return(result);
+}
+
+__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __SMLADX (uint32_t op1, uint32_t op2, uint32_t op3)
+{
+  uint32_t result;
+
+  __ASM volatile ("smladx %0, %1, %2, %3" : "=r" (result) : "r" (op1), "r" (op2), "r" (op3) );
+  return(result);
+}
+
+#define __SMLALD(ARG1,ARG2,ARG3) \
+({ \
+  uint32_t __ARG1 = (ARG1), __ARG2 = (ARG2), __ARG3_H = (uint32_t)((uint64_t)(ARG3) >> 32), __ARG3_L = (uint32_t)((uint64_t)(ARG3) & 0xFFFFFFFFUL); \
+  __ASM volatile ("smlald %0, %1, %2, %3" : "=r" (__ARG3_L), "=r" (__ARG3_H) : "r" (__ARG1), "r" (__ARG2), "0" (__ARG3_L), "1" (__ARG3_H) ); \
+  (uint64_t)(((uint64_t)__ARG3_H << 32) | __ARG3_L); \
+ })
+
+#define __SMLALDX(ARG1,ARG2,ARG3) \
+({ \
+  uint32_t __ARG1 = (ARG1), __ARG2 = (ARG2), __ARG3_H = (uint32_t)((uint64_t)(ARG3) >> 32), __ARG3_L = (uint32_t)((uint64_t)(ARG3) & 0xFFFFFFFFUL); \
+  __ASM volatile ("smlaldx %0, %1, %2, %3" : "=r" (__ARG3_L), "=r" (__ARG3_H) : "r" (__ARG1), "r" (__ARG2), "0" (__ARG3_L), "1" (__ARG3_H) ); \
+  (uint64_t)(((uint64_t)__ARG3_H << 32) | __ARG3_L); \
+ })
+
+__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __SMUSD  (uint32_t op1, uint32_t op2)
+{
+  uint32_t result;
+
+  __ASM volatile ("smusd %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) );
+  return(result);
+}
+
+__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __SMUSDX (uint32_t op1, uint32_t op2)
+{
+  uint32_t result;
+
+  __ASM volatile ("smusdx %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) );
+  return(result);
+}
+
+__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __SMLSD (uint32_t op1, uint32_t op2, uint32_t op3)
+{
+  uint32_t result;
+
+  __ASM volatile ("smlsd %0, %1, %2, %3" : "=r" (result) : "r" (op1), "r" (op2), "r" (op3) );
+  return(result);
+}
+
+__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __SMLSDX (uint32_t op1, uint32_t op2, uint32_t op3)
+{
+  uint32_t result;
+
+  __ASM volatile ("smlsdx %0, %1, %2, %3" : "=r" (result) : "r" (op1), "r" (op2), "r" (op3) );
+  return(result);
+}
+
+#define __SMLSLD(ARG1,ARG2,ARG3) \
+({ \
+  uint32_t __ARG1 = (ARG1), __ARG2 = (ARG2), __ARG3_H = (uint32_t)((ARG3) >> 32), __ARG3_L = (uint32_t)((ARG3) & 0xFFFFFFFFUL); \
+  __ASM volatile ("smlsld %0, %1, %2, %3" : "=r" (__ARG3_L), "=r" (__ARG3_H) : "r" (__ARG1), "r" (__ARG2), "0" (__ARG3_L), "1" (__ARG3_H) ); \
+  (uint64_t)(((uint64_t)__ARG3_H << 32) | __ARG3_L); \
+ })
+
+#define __SMLSLDX(ARG1,ARG2,ARG3) \
+({ \
+  uint32_t __ARG1 = (ARG1), __ARG2 = (ARG2), __ARG3_H = (uint32_t)((ARG3) >> 32), __ARG3_L = (uint32_t)((ARG3) & 0xFFFFFFFFUL); \
+  __ASM volatile ("smlsldx %0, %1, %2, %3" : "=r" (__ARG3_L), "=r" (__ARG3_H) : "r" (__ARG1), "r" (__ARG2), "0" (__ARG3_L), "1" (__ARG3_H) ); \
+  (uint64_t)(((uint64_t)__ARG3_H << 32) | __ARG3_L); \
+ })
+
+__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __SEL  (uint32_t op1, uint32_t op2)
+{
+  uint32_t result;
+
+  __ASM volatile ("sel %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) );
+  return(result);
+}
+
+__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __QADD(uint32_t op1, uint32_t op2)
+{
+  uint32_t result;
+
+  __ASM volatile ("qadd %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) );
+  return(result);
+}
+
+__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __QSUB(uint32_t op1, uint32_t op2)
+{
+  uint32_t result;
+
+  __ASM volatile ("qsub %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) );
+  return(result);
+}
+
+#define __PKHBT(ARG1,ARG2,ARG3) \
+({                          \
+  uint32_t __RES, __ARG1 = (ARG1), __ARG2 = (ARG2); \
+  __ASM ("pkhbt %0, %1, %2, lsl %3" : "=r" (__RES) :  "r" (__ARG1), "r" (__ARG2), "I" (ARG3)  ); \
+  __RES; \
+ })
+
+#define __PKHTB(ARG1,ARG2,ARG3) \
+({                          \
+  uint32_t __RES, __ARG1 = (ARG1), __ARG2 = (ARG2); \
+  if (ARG3 == 0) \
+    __ASM ("pkhtb %0, %1, %2" : "=r" (__RES) :  "r" (__ARG1), "r" (__ARG2)  ); \
+  else \
+    __ASM ("pkhtb %0, %1, %2, asr %3" : "=r" (__RES) :  "r" (__ARG1), "r" (__ARG2), "I" (ARG3)  ); \
+  __RES; \
+ })
+
+__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __SMMLA (int32_t op1, int32_t op2, int32_t op3)
+{
+ int32_t result;
+
+ __ASM volatile ("smmla %0, %1, %2, %3" : "=r" (result): "r"  (op1), "r" (op2), "r" (op3) );
+ return(result);
+}
+
+/*-- End CM4 SIMD Intrinsics -----------------------------------------------------*/
+
+
+
+#elif defined ( __TASKING__ ) /*------------------ TASKING Compiler --------------*/
+/* TASKING carm specific functions */
+
+
+/*------ CM4 SIMD Intrinsics -----------------------------------------------------*/
+/* not yet supported */
+/*-- End CM4 SIMD Intrinsics -----------------------------------------------------*/
+
+
+#endif
+
+/*@} end of group CMSIS_SIMD_intrinsics */
+
+
+#endif /* __CORE_CM4_SIMD_H */
+
+#ifdef __cplusplus
+}
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TARGET_GHI_MBUINO/core_cmFunc.h	Fri Aug 15 15:28:31 2014 +0100
@@ -0,0 +1,636 @@
+/**************************************************************************//**
+ * @file     core_cmFunc.h
+ * @brief    CMSIS Cortex-M Core Function Access Header File
+ * @version  V3.20
+ * @date     25. February 2013
+ *
+ * @note
+ *
+ ******************************************************************************/
+/* Copyright (c) 2009 - 2013 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 ARM 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 COPYRIGHT HOLDERS AND CONTRIBUTORS 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.
+   ---------------------------------------------------------------------------*/
+
+
+#ifndef __CORE_CMFUNC_H
+#define __CORE_CMFUNC_H
+
+
+/* ###########################  Core Function Access  ########################### */
+/** \ingroup  CMSIS_Core_FunctionInterface
+    \defgroup CMSIS_Core_RegAccFunctions CMSIS Core Register Access Functions
+  @{
+ */
+
+#if   defined ( __CC_ARM ) /*------------------RealView Compiler -----------------*/
+/* ARM armcc specific functions */
+
+#if (__ARMCC_VERSION < 400677)
+  #error "Please use ARM Compiler Toolchain V4.0.677 or later!"
+#endif
+
+/* intrinsic void __enable_irq();     */
+/* intrinsic void __disable_irq();    */
+
+/** \brief  Get Control Register
+
+    This function returns the content of the Control Register.
+
+    \return               Control Register value
+ */
+__STATIC_INLINE uint32_t __get_CONTROL(void)
+{
+  register uint32_t __regControl         __ASM("control");
+  return(__regControl);
+}
+
+
+/** \brief  Set Control Register
+
+    This function writes the given value to the Control Register.
+
+    \param [in]    control  Control Register value to set
+ */
+__STATIC_INLINE void __set_CONTROL(uint32_t control)
+{
+  register uint32_t __regControl         __ASM("control");
+  __regControl = control;
+}
+
+
+/** \brief  Get IPSR Register
+
+    This function returns the content of the IPSR Register.
+
+    \return               IPSR Register value
+ */
+__STATIC_INLINE uint32_t __get_IPSR(void)
+{
+  register uint32_t __regIPSR          __ASM("ipsr");
+  return(__regIPSR);
+}
+
+
+/** \brief  Get APSR Register
+
+    This function returns the content of the APSR Register.
+
+    \return               APSR Register value
+ */
+__STATIC_INLINE uint32_t __get_APSR(void)
+{
+  register uint32_t __regAPSR          __ASM("apsr");
+  return(__regAPSR);
+}
+
+
+/** \brief  Get xPSR Register
+
+    This function returns the content of the xPSR Register.
+
+    \return               xPSR Register value
+ */
+__STATIC_INLINE uint32_t __get_xPSR(void)
+{
+  register uint32_t __regXPSR          __ASM("xpsr");
+  return(__regXPSR);
+}
+
+
+/** \brief  Get Process Stack Pointer
+
+    This function returns the current value of the Process Stack Pointer (PSP).
+
+    \return               PSP Register value
+ */
+__STATIC_INLINE uint32_t __get_PSP(void)
+{
+  register uint32_t __regProcessStackPointer  __ASM("psp");
+  return(__regProcessStackPointer);
+}
+
+
+/** \brief  Set Process Stack Pointer
+
+    This function assigns the given value to the Process Stack Pointer (PSP).
+
+    \param [in]    topOfProcStack  Process Stack Pointer value to set
+ */
+__STATIC_INLINE void __set_PSP(uint32_t topOfProcStack)
+{
+  register uint32_t __regProcessStackPointer  __ASM("psp");
+  __regProcessStackPointer = topOfProcStack;
+}
+
+
+/** \brief  Get Main Stack Pointer
+
+    This function returns the current value of the Main Stack Pointer (MSP).
+
+    \return               MSP Register value
+ */
+__STATIC_INLINE uint32_t __get_MSP(void)
+{
+  register uint32_t __regMainStackPointer     __ASM("msp");
+  return(__regMainStackPointer);
+}
+
+
+/** \brief  Set Main Stack Pointer
+
+    This function assigns the given value to the Main Stack Pointer (MSP).
+
+    \param [in]    topOfMainStack  Main Stack Pointer value to set
+ */
+__STATIC_INLINE void __set_MSP(uint32_t topOfMainStack)
+{
+  register uint32_t __regMainStackPointer     __ASM("msp");
+  __regMainStackPointer = topOfMainStack;
+}
+
+
+/** \brief  Get Priority Mask
+
+    This function returns the current state of the priority mask bit from the Priority Mask Register.
+
+    \return               Priority Mask value
+ */
+__STATIC_INLINE uint32_t __get_PRIMASK(void)
+{
+  register uint32_t __regPriMask         __ASM("primask");
+  return(__regPriMask);
+}
+
+
+/** \brief  Set Priority Mask
+
+    This function assigns the given value to the Priority Mask Register.
+
+    \param [in]    priMask  Priority Mask
+ */
+__STATIC_INLINE void __set_PRIMASK(uint32_t priMask)
+{
+  register uint32_t __regPriMask         __ASM("primask");
+  __regPriMask = (priMask);
+}
+
+
+#if       (__CORTEX_M >= 0x03)
+
+/** \brief  Enable FIQ
+
+    This function enables FIQ interrupts by clearing the F-bit in the CPSR.
+    Can only be executed in Privileged modes.
+ */
+#define __enable_fault_irq                __enable_fiq
+
+
+/** \brief  Disable FIQ
+
+    This function disables FIQ interrupts by setting the F-bit in the CPSR.
+    Can only be executed in Privileged modes.
+ */
+#define __disable_fault_irq               __disable_fiq
+
+
+/** \brief  Get Base Priority
+
+    This function returns the current value of the Base Priority register.
+
+    \return               Base Priority register value
+ */
+__STATIC_INLINE uint32_t  __get_BASEPRI(void)
+{
+  register uint32_t __regBasePri         __ASM("basepri");
+  return(__regBasePri);
+}
+
+
+/** \brief  Set Base Priority
+
+    This function assigns the given value to the Base Priority register.
+
+    \param [in]    basePri  Base Priority value to set
+ */
+__STATIC_INLINE void __set_BASEPRI(uint32_t basePri)
+{
+  register uint32_t __regBasePri         __ASM("basepri");
+  __regBasePri = (basePri & 0xff);
+}
+
+
+/** \brief  Get Fault Mask
+
+    This function returns the current value of the Fault Mask register.
+
+    \return               Fault Mask register value
+ */
+__STATIC_INLINE uint32_t __get_FAULTMASK(void)
+{
+  register uint32_t __regFaultMask       __ASM("faultmask");
+  return(__regFaultMask);
+}
+
+
+/** \brief  Set Fault Mask
+
+    This function assigns the given value to the Fault Mask register.
+
+    \param [in]    faultMask  Fault Mask value to set
+ */
+__STATIC_INLINE void __set_FAULTMASK(uint32_t faultMask)
+{
+  register uint32_t __regFaultMask       __ASM("faultmask");
+  __regFaultMask = (faultMask & (uint32_t)1);
+}
+
+#endif /* (__CORTEX_M >= 0x03) */
+
+
+#if       (__CORTEX_M == 0x04)
+
+/** \brief  Get FPSCR
+
+    This function returns the current value of the Floating Point Status/Control register.
+
+    \return               Floating Point Status/Control register value
+ */
+__STATIC_INLINE uint32_t __get_FPSCR(void)
+{
+#if (__FPU_PRESENT == 1) && (__FPU_USED == 1)
+  register uint32_t __regfpscr         __ASM("fpscr");
+  return(__regfpscr);
+#else
+   return(0);
+#endif
+}
+
+
+/** \brief  Set FPSCR
+
+    This function assigns the given value to the Floating Point Status/Control register.
+
+    \param [in]    fpscr  Floating Point Status/Control value to set
+ */
+__STATIC_INLINE void __set_FPSCR(uint32_t fpscr)
+{
+#if (__FPU_PRESENT == 1) && (__FPU_USED == 1)
+  register uint32_t __regfpscr         __ASM("fpscr");
+  __regfpscr = (fpscr);
+#endif
+}
+
+#endif /* (__CORTEX_M == 0x04) */
+
+
+#elif defined ( __ICCARM__ ) /*------------------ ICC Compiler -------------------*/
+/* IAR iccarm specific functions */
+
+#include <cmsis_iar.h>
+
+
+#elif defined ( __TMS470__ ) /*---------------- TI CCS Compiler ------------------*/
+/* TI CCS specific functions */
+
+#include <cmsis_ccs.h>
+
+
+#elif defined ( __GNUC__ ) /*------------------ GNU Compiler ---------------------*/
+/* GNU gcc specific functions */
+
+/** \brief  Enable IRQ Interrupts
+
+  This function enables IRQ interrupts by clearing the I-bit in the CPSR.
+  Can only be executed in Privileged modes.
+ */
+__attribute__( ( always_inline ) ) __STATIC_INLINE void __enable_irq(void)
+{
+  __ASM volatile ("cpsie i" : : : "memory");
+}
+
+
+/** \brief  Disable IRQ Interrupts
+
+  This function disables IRQ interrupts by setting the I-bit in the CPSR.
+  Can only be executed in Privileged modes.
+ */
+__attribute__( ( always_inline ) ) __STATIC_INLINE void __disable_irq(void)
+{
+  __ASM volatile ("cpsid i" : : : "memory");
+}
+
+
+/** \brief  Get Control Register
+
+    This function returns the content of the Control Register.
+
+    \return               Control Register value
+ */
+__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __get_CONTROL(void)
+{
+  uint32_t result;
+
+  __ASM volatile ("MRS %0, control" : "=r" (result) );
+  return(result);
+}
+
+
+/** \brief  Set Control Register
+
+    This function writes the given value to the Control Register.
+
+    \param [in]    control  Control Register value to set
+ */
+__attribute__( ( always_inline ) ) __STATIC_INLINE void __set_CONTROL(uint32_t control)
+{
+  __ASM volatile ("MSR control, %0" : : "r" (control) : "memory");
+}
+
+
+/** \brief  Get IPSR Register
+
+    This function returns the content of the IPSR Register.
+
+    \return               IPSR Register value
+ */
+__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __get_IPSR(void)
+{
+  uint32_t result;
+
+  __ASM volatile ("MRS %0, ipsr" : "=r" (result) );
+  return(result);
+}
+
+
+/** \brief  Get APSR Register
+
+    This function returns the content of the APSR Register.
+
+    \return               APSR Register value
+ */
+__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __get_APSR(void)
+{
+  uint32_t result;
+
+  __ASM volatile ("MRS %0, apsr" : "=r" (result) );
+  return(result);
+}
+
+
+/** \brief  Get xPSR Register
+
+    This function returns the content of the xPSR Register.
+
+    \return               xPSR Register value
+ */
+__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __get_xPSR(void)
+{
+  uint32_t result;
+
+  __ASM volatile ("MRS %0, xpsr" : "=r" (result) );
+  return(result);
+}
+
+
+/** \brief  Get Process Stack Pointer
+
+    This function returns the current value of the Process Stack Pointer (PSP).
+
+    \return               PSP Register value
+ */
+__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __get_PSP(void)
+{
+  register uint32_t result;
+
+  __ASM volatile ("MRS %0, psp\n"  : "=r" (result) );
+  return(result);
+}
+
+
+/** \brief  Set Process Stack Pointer
+
+    This function assigns the given value to the Process Stack Pointer (PSP).
+
+    \param [in]    topOfProcStack  Process Stack Pointer value to set
+ */
+__attribute__( ( always_inline ) ) __STATIC_INLINE void __set_PSP(uint32_t topOfProcStack)
+{
+  __ASM volatile ("MSR psp, %0\n" : : "r" (topOfProcStack) : "sp");
+}
+
+
+/** \brief  Get Main Stack Pointer
+
+    This function returns the current value of the Main Stack Pointer (MSP).
+
+    \return               MSP Register value
+ */
+__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __get_MSP(void)
+{
+  register uint32_t result;
+
+  __ASM volatile ("MRS %0, msp\n" : "=r" (result) );
+  return(result);
+}
+
+
+/** \brief  Set Main Stack Pointer
+
+    This function assigns the given value to the Main Stack Pointer (MSP).
+
+    \param [in]    topOfMainStack  Main Stack Pointer value to set
+ */
+__attribute__( ( always_inline ) ) __STATIC_INLINE void __set_MSP(uint32_t topOfMainStack)
+{
+  __ASM volatile ("MSR msp, %0\n" : : "r" (topOfMainStack) : "sp");
+}
+
+
+/** \brief  Get Priority Mask
+
+    This function returns the current state of the priority mask bit from the Priority Mask Register.
+
+    \return               Priority Mask value
+ */
+__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __get_PRIMASK(void)
+{
+  uint32_t result;
+
+  __ASM volatile ("MRS %0, primask" : "=r" (result) );
+  return(result);
+}
+
+
+/** \brief  Set Priority Mask
+
+    This function assigns the given value to the Priority Mask Register.
+
+    \param [in]    priMask  Priority Mask
+ */
+__attribute__( ( always_inline ) ) __STATIC_INLINE void __set_PRIMASK(uint32_t priMask)
+{
+  __ASM volatile ("MSR primask, %0" : : "r" (priMask) : "memory");
+}
+
+
+#if       (__CORTEX_M >= 0x03)
+
+/** \brief  Enable FIQ
+
+    This function enables FIQ interrupts by clearing the F-bit in the CPSR.
+    Can only be executed in Privileged modes.
+ */
+__attribute__( ( always_inline ) ) __STATIC_INLINE void __enable_fault_irq(void)
+{
+  __ASM volatile ("cpsie f" : : : "memory");
+}
+
+
+/** \brief  Disable FIQ
+
+    This function disables FIQ interrupts by setting the F-bit in the CPSR.
+    Can only be executed in Privileged modes.
+ */
+__attribute__( ( always_inline ) ) __STATIC_INLINE void __disable_fault_irq(void)
+{
+  __ASM volatile ("cpsid f" : : : "memory");
+}
+
+
+/** \brief  Get Base Priority
+
+    This function returns the current value of the Base Priority register.
+
+    \return               Base Priority register value
+ */
+__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __get_BASEPRI(void)
+{
+  uint32_t result;
+
+  __ASM volatile ("MRS %0, basepri_max" : "=r" (result) );
+  return(result);
+}
+
+
+/** \brief  Set Base Priority
+
+    This function assigns the given value to the Base Priority register.
+
+    \param [in]    basePri  Base Priority value to set
+ */
+__attribute__( ( always_inline ) ) __STATIC_INLINE void __set_BASEPRI(uint32_t value)
+{
+  __ASM volatile ("MSR basepri, %0" : : "r" (value) : "memory");
+}
+
+
+/** \brief  Get Fault Mask
+
+    This function returns the current value of the Fault Mask register.
+
+    \return               Fault Mask register value
+ */
+__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __get_FAULTMASK(void)
+{
+  uint32_t result;
+
+  __ASM volatile ("MRS %0, faultmask" : "=r" (result) );
+  return(result);
+}
+
+
+/** \brief  Set Fault Mask
+
+    This function assigns the given value to the Fault Mask register.
+
+    \param [in]    faultMask  Fault Mask value to set
+ */
+__attribute__( ( always_inline ) ) __STATIC_INLINE void __set_FAULTMASK(uint32_t faultMask)
+{
+  __ASM volatile ("MSR faultmask, %0" : : "r" (faultMask) : "memory");
+}
+
+#endif /* (__CORTEX_M >= 0x03) */
+
+
+#if       (__CORTEX_M == 0x04)
+
+/** \brief  Get FPSCR
+
+    This function returns the current value of the Floating Point Status/Control register.
+
+    \return               Floating Point Status/Control register value
+ */
+__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __get_FPSCR(void)
+{
+#if (__FPU_PRESENT == 1) && (__FPU_USED == 1)
+  uint32_t result;
+
+  /* Empty asm statement works as a scheduling barrier */
+  __ASM volatile ("");
+  __ASM volatile ("VMRS %0, fpscr" : "=r" (result) );
+  __ASM volatile ("");
+  return(result);
+#else
+   return(0);
+#endif
+}
+
+
+/** \brief  Set FPSCR
+
+    This function assigns the given value to the Floating Point Status/Control register.
+
+    \param [in]    fpscr  Floating Point Status/Control value to set
+ */
+__attribute__( ( always_inline ) ) __STATIC_INLINE void __set_FPSCR(uint32_t fpscr)
+{
+#if (__FPU_PRESENT == 1) && (__FPU_USED == 1)
+  /* Empty asm statement works as a scheduling barrier */
+  __ASM volatile ("");
+  __ASM volatile ("VMSR fpscr, %0" : : "r" (fpscr) : "vfpcc");
+  __ASM volatile ("");
+#endif
+}
+
+#endif /* (__CORTEX_M == 0x04) */
+
+
+#elif defined ( __TASKING__ ) /*------------------ TASKING Compiler --------------*/
+/* TASKING carm specific functions */
+
+/*
+ * The CMSIS functions have been implemented as intrinsics in the compiler.
+ * Please use "carm -?i" to get an up to date list of all instrinsics,
+ * Including the CMSIS ones.
+ */
+
+#endif
+
+/*@} end of CMSIS_Core_RegAccFunctions */
+
+
+#endif /* __CORE_CMFUNC_H */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TARGET_GHI_MBUINO/core_cmInstr.h	Fri Aug 15 15:28:31 2014 +0100
@@ -0,0 +1,688 @@
+/**************************************************************************//**
+ * @file     core_cmInstr.h
+ * @brief    CMSIS Cortex-M Core Instruction Access Header File
+ * @version  V3.20
+ * @date     05. March 2013
+ *
+ * @note
+ *
+ ******************************************************************************/
+/* Copyright (c) 2009 - 2013 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 ARM 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 COPYRIGHT HOLDERS AND CONTRIBUTORS 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.
+   ---------------------------------------------------------------------------*/
+
+
+#ifndef __CORE_CMINSTR_H
+#define __CORE_CMINSTR_H
+
+
+/* ##########################  Core Instruction Access  ######################### */
+/** \defgroup CMSIS_Core_InstructionInterface CMSIS Core Instruction Interface
+  Access to dedicated instructions
+  @{
+*/
+
+#if   defined ( __CC_ARM ) /*------------------RealView Compiler -----------------*/
+/* ARM armcc specific functions */
+
+#if (__ARMCC_VERSION < 400677)
+  #error "Please use ARM Compiler Toolchain V4.0.677 or later!"
+#endif
+
+
+/** \brief  No Operation
+
+    No Operation does nothing. This instruction can be used for code alignment purposes.
+ */
+#define __NOP                             __nop
+
+
+/** \brief  Wait For Interrupt
+
+    Wait For Interrupt is a hint instruction that suspends execution
+    until one of a number of events occurs.
+ */
+#define __WFI                             __wfi
+
+
+/** \brief  Wait For Event
+
+    Wait For Event is a hint instruction that permits the processor to enter
+    a low-power state until one of a number of events occurs.
+ */
+#define __WFE                             __wfe
+
+
+/** \brief  Send Event
+
+    Send Event is a hint instruction. It causes an event to be signaled to the CPU.
+ */
+#define __SEV                             __sev
+
+
+/** \brief  Instruction Synchronization Barrier
+
+    Instruction Synchronization Barrier flushes the pipeline in the processor,
+    so that all instructions following the ISB are fetched from cache or
+    memory, after the instruction has been completed.
+ */
+#define __ISB()                           __isb(0xF)
+
+
+/** \brief  Data Synchronization Barrier
+
+    This function acts as a special kind of Data Memory Barrier.
+    It completes when all explicit memory accesses before this instruction complete.
+ */
+#define __DSB()                           __dsb(0xF)
+
+
+/** \brief  Data Memory Barrier
+
+    This function ensures the apparent order of the explicit memory operations before
+    and after the instruction, without ensuring their completion.
+ */
+#define __DMB()                           __dmb(0xF)
+
+
+/** \brief  Reverse byte order (32 bit)
+
+    This function reverses the byte order in integer value.
+
+    \param [in]    value  Value to reverse
+    \return               Reversed value
+ */
+#define __REV                             __rev
+
+
+/** \brief  Reverse byte order (16 bit)
+
+    This function reverses the byte order in two unsigned short values.
+
+    \param [in]    value  Value to reverse
+    \return               Reversed value
+ */
+#ifndef __NO_EMBEDDED_ASM
+__attribute__((section(".rev16_text"))) __STATIC_INLINE __ASM uint32_t __REV16(uint32_t value)
+{
+  rev16 r0, r0
+  bx lr
+}
+#endif
+
+/** \brief  Reverse byte order in signed short value
+
+    This function reverses the byte order in a signed short value with sign extension to integer.
+
+    \param [in]    value  Value to reverse
+    \return               Reversed value
+ */
+#ifndef __NO_EMBEDDED_ASM
+__attribute__((section(".revsh_text"))) __STATIC_INLINE __ASM int32_t __REVSH(int32_t value)
+{
+  revsh r0, r0
+  bx lr
+}
+#endif
+
+
+/** \brief  Rotate Right in unsigned value (32 bit)
+
+    This function Rotate Right (immediate) provides the value of the contents of a register rotated by a variable number of bits.
+
+    \param [in]    value  Value to rotate
+    \param [in]    value  Number of Bits to rotate
+    \return               Rotated value
+ */
+#define __ROR                             __ror
+
+
+/** \brief  Breakpoint
+
+    This function causes the processor to enter Debug state.
+    Debug tools can use this to investigate system state when the instruction at a particular address is reached.
+
+    \param [in]    value  is ignored by the processor.
+                   If required, a debugger can use it to store additional information about the breakpoint.
+ */
+#define __BKPT(value)                       __breakpoint(value)
+
+
+#if       (__CORTEX_M >= 0x03)
+
+/** \brief  Reverse bit order of value
+
+    This function reverses the bit order of the given value.
+
+    \param [in]    value  Value to reverse
+    \return               Reversed value
+ */
+#define __RBIT                            __rbit
+
+
+/** \brief  LDR Exclusive (8 bit)
+
+    This function performs a exclusive LDR command for 8 bit value.
+
+    \param [in]    ptr  Pointer to data
+    \return             value of type uint8_t at (*ptr)
+ */
+#define __LDREXB(ptr)                     ((uint8_t ) __ldrex(ptr))
+
+
+/** \brief  LDR Exclusive (16 bit)
+
+    This function performs a exclusive LDR command for 16 bit values.
+
+    \param [in]    ptr  Pointer to data
+    \return        value of type uint16_t at (*ptr)
+ */
+#define __LDREXH(ptr)                     ((uint16_t) __ldrex(ptr))
+
+
+/** \brief  LDR Exclusive (32 bit)
+
+    This function performs a exclusive LDR command for 32 bit values.
+
+    \param [in]    ptr  Pointer to data
+    \return        value of type uint32_t at (*ptr)
+ */
+#define __LDREXW(ptr)                     ((uint32_t ) __ldrex(ptr))
+
+
+/** \brief  STR Exclusive (8 bit)
+
+    This function performs a exclusive STR command for 8 bit values.
+
+    \param [in]  value  Value to store
+    \param [in]    ptr  Pointer to location
+    \return          0  Function succeeded
+    \return          1  Function failed
+ */
+#define __STREXB(value, ptr)              __strex(value, ptr)
+
+
+/** \brief  STR Exclusive (16 bit)
+
+    This function performs a exclusive STR command for 16 bit values.
+
+    \param [in]  value  Value to store
+    \param [in]    ptr  Pointer to location
+    \return          0  Function succeeded
+    \return          1  Function failed
+ */
+#define __STREXH(value, ptr)              __strex(value, ptr)
+
+
+/** \brief  STR Exclusive (32 bit)
+
+    This function performs a exclusive STR command for 32 bit values.
+
+    \param [in]  value  Value to store
+    \param [in]    ptr  Pointer to location
+    \return          0  Function succeeded
+    \return          1  Function failed
+ */
+#define __STREXW(value, ptr)              __strex(value, ptr)
+
+
+/** \brief  Remove the exclusive lock
+
+    This function removes the exclusive lock which is created by LDREX.
+
+ */
+#define __CLREX                           __clrex
+
+
+/** \brief  Signed Saturate
+
+    This function saturates a signed value.
+
+    \param [in]  value  Value to be saturated
+    \param [in]    sat  Bit position to saturate to (1..32)
+    \return             Saturated value
+ */
+#define __SSAT                            __ssat
+
+
+/** \brief  Unsigned Saturate
+
+    This function saturates an unsigned value.
+
+    \param [in]  value  Value to be saturated
+    \param [in]    sat  Bit position to saturate to (0..31)
+    \return             Saturated value
+ */
+#define __USAT                            __usat
+
+
+/** \brief  Count leading zeros
+
+    This function counts the number of leading zeros of a data value.
+
+    \param [in]  value  Value to count the leading zeros
+    \return             number of leading zeros in value
+ */
+#define __CLZ                             __clz
+
+#endif /* (__CORTEX_M >= 0x03) */
+
+
+
+#elif defined ( __ICCARM__ ) /*------------------ ICC Compiler -------------------*/
+/* IAR iccarm specific functions */
+
+#include <cmsis_iar.h>
+
+
+#elif defined ( __TMS470__ ) /*---------------- TI CCS Compiler ------------------*/
+/* TI CCS specific functions */
+
+#include <cmsis_ccs.h>
+
+
+#elif defined ( __GNUC__ ) /*------------------ GNU Compiler ---------------------*/
+/* GNU gcc specific functions */
+
+/* Define macros for porting to both thumb1 and thumb2.
+ * For thumb1, use low register (r0-r7), specified by constrant "l"
+ * Otherwise, use general registers, specified by constrant "r" */
+#if defined (__thumb__) && !defined (__thumb2__)
+#define __CMSIS_GCC_OUT_REG(r) "=l" (r)
+#define __CMSIS_GCC_USE_REG(r) "l" (r)
+#else
+#define __CMSIS_GCC_OUT_REG(r) "=r" (r)
+#define __CMSIS_GCC_USE_REG(r) "r" (r)
+#endif
+
+/** \brief  No Operation
+
+    No Operation does nothing. This instruction can be used for code alignment purposes.
+ */
+__attribute__( ( always_inline ) ) __STATIC_INLINE void __NOP(void)
+{
+  __ASM volatile ("nop");
+}
+
+
+/** \brief  Wait For Interrupt
+
+    Wait For Interrupt is a hint instruction that suspends execution
+    until one of a number of events occurs.
+ */
+__attribute__( ( always_inline ) ) __STATIC_INLINE void __WFI(void)
+{
+  __ASM volatile ("wfi");
+}
+
+
+/** \brief  Wait For Event
+
+    Wait For Event is a hint instruction that permits the processor to enter
+    a low-power state until one of a number of events occurs.
+ */
+__attribute__( ( always_inline ) ) __STATIC_INLINE void __WFE(void)
+{
+  __ASM volatile ("wfe");
+}
+
+
+/** \brief  Send Event
+
+    Send Event is a hint instruction. It causes an event to be signaled to the CPU.
+ */
+__attribute__( ( always_inline ) ) __STATIC_INLINE void __SEV(void)
+{
+  __ASM volatile ("sev");
+}
+
+
+/** \brief  Instruction Synchronization Barrier
+
+    Instruction Synchronization Barrier flushes the pipeline in the processor,
+    so that all instructions following the ISB are fetched from cache or
+    memory, after the instruction has been completed.
+ */
+__attribute__( ( always_inline ) ) __STATIC_INLINE void __ISB(void)
+{
+  __ASM volatile ("isb");
+}
+
+
+/** \brief  Data Synchronization Barrier
+
+    This function acts as a special kind of Data Memory Barrier.
+    It completes when all explicit memory accesses before this instruction complete.
+ */
+__attribute__( ( always_inline ) ) __STATIC_INLINE void __DSB(void)
+{
+  __ASM volatile ("dsb");
+}
+
+
+/** \brief  Data Memory Barrier
+
+    This function ensures the apparent order of the explicit memory operations before
+    and after the instruction, without ensuring their completion.
+ */
+__attribute__( ( always_inline ) ) __STATIC_INLINE void __DMB(void)
+{
+  __ASM volatile ("dmb");
+}
+
+
+/** \brief  Reverse byte order (32 bit)
+
+    This function reverses the byte order in integer value.
+
+    \param [in]    value  Value to reverse
+    \return               Reversed value
+ */
+__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __REV(uint32_t value)
+{
+#if (__GNUC__ > 4) || (__GNUC__ == 4 && __GNUC_MINOR__ >= 5)
+  return __builtin_bswap32(value);
+#else
+  uint32_t result;
+
+  __ASM volatile ("rev %0, %1" : __CMSIS_GCC_OUT_REG (result) : __CMSIS_GCC_USE_REG (value) );
+  return(result);
+#endif
+}
+
+
+/** \brief  Reverse byte order (16 bit)
+
+    This function reverses the byte order in two unsigned short values.
+
+    \param [in]    value  Value to reverse
+    \return               Reversed value
+ */
+__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __REV16(uint32_t value)
+{
+  uint32_t result;
+
+  __ASM volatile ("rev16 %0, %1" : __CMSIS_GCC_OUT_REG (result) : __CMSIS_GCC_USE_REG (value) );
+  return(result);
+}
+
+
+/** \brief  Reverse byte order in signed short value
+
+    This function reverses the byte order in a signed short value with sign extension to integer.
+
+    \param [in]    value  Value to reverse
+    \return               Reversed value
+ */
+__attribute__( ( always_inline ) ) __STATIC_INLINE int32_t __REVSH(int32_t value)
+{
+#if (__GNUC__ > 4) || (__GNUC__ == 4 && __GNUC_MINOR__ >= 8)
+  return (short)__builtin_bswap16(value);
+#else
+  uint32_t result;
+
+  __ASM volatile ("revsh %0, %1" : __CMSIS_GCC_OUT_REG (result) : __CMSIS_GCC_USE_REG (value) );
+  return(result);
+#endif
+}
+
+
+/** \brief  Rotate Right in unsigned value (32 bit)
+
+    This function Rotate Right (immediate) provides the value of the contents of a register rotated by a variable number of bits.
+
+    \param [in]    value  Value to rotate
+    \param [in]    value  Number of Bits to rotate
+    \return               Rotated value
+ */
+__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __ROR(uint32_t op1, uint32_t op2)
+{
+  return (op1 >> op2) | (op1 << (32 - op2)); 
+}
+
+
+/** \brief  Breakpoint
+
+    This function causes the processor to enter Debug state.
+    Debug tools can use this to investigate system state when the instruction at a particular address is reached.
+
+    \param [in]    value  is ignored by the processor.
+                   If required, a debugger can use it to store additional information about the breakpoint.
+ */
+#define __BKPT(value)                       __ASM volatile ("bkpt "#value)
+
+
+#if       (__CORTEX_M >= 0x03)
+
+/** \brief  Reverse bit order of value
+
+    This function reverses the bit order of the given value.
+
+    \param [in]    value  Value to reverse
+    \return               Reversed value
+ */
+__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __RBIT(uint32_t value)
+{
+  uint32_t result;
+
+   __ASM volatile ("rbit %0, %1" : "=r" (result) : "r" (value) );
+   return(result);
+}
+
+
+/** \brief  LDR Exclusive (8 bit)
+
+    This function performs a exclusive LDR command for 8 bit value.
+
+    \param [in]    ptr  Pointer to data
+    \return             value of type uint8_t at (*ptr)
+ */
+__attribute__( ( always_inline ) ) __STATIC_INLINE uint8_t __LDREXB(volatile uint8_t *addr)
+{
+    uint32_t result;
+
+#if (__GNUC__ > 4) || (__GNUC__ == 4 && __GNUC_MINOR__ >= 8)
+   __ASM volatile ("ldrexb %0, %1" : "=r" (result) : "Q" (*addr) );
+#else
+    /* Prior to GCC 4.8, "Q" will be expanded to [rx, #0] which is not
+       accepted by assembler. So has to use following less efficient pattern.
+    */
+   __ASM volatile ("ldrexb %0, [%1]" : "=r" (result) : "r" (addr) : "memory" );
+#endif
+   return(result);
+}
+
+
+/** \brief  LDR Exclusive (16 bit)
+
+    This function performs a exclusive LDR command for 16 bit values.
+
+    \param [in]    ptr  Pointer to data
+    \return        value of type uint16_t at (*ptr)
+ */
+__attribute__( ( always_inline ) ) __STATIC_INLINE uint16_t __LDREXH(volatile uint16_t *addr)
+{
+    uint32_t result;
+
+#if (__GNUC__ > 4) || (__GNUC__ == 4 && __GNUC_MINOR__ >= 8)
+   __ASM volatile ("ldrexh %0, %1" : "=r" (result) : "Q" (*addr) );
+#else
+    /* Prior to GCC 4.8, "Q" will be expanded to [rx, #0] which is not
+       accepted by assembler. So has to use following less efficient pattern.
+    */
+   __ASM volatile ("ldrexh %0, [%1]" : "=r" (result) : "r" (addr) : "memory" );
+#endif
+   return(result);
+}
+
+
+/** \brief  LDR Exclusive (32 bit)
+
+    This function performs a exclusive LDR command for 32 bit values.
+
+    \param [in]    ptr  Pointer to data
+    \return        value of type uint32_t at (*ptr)
+ */
+__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __LDREXW(volatile uint32_t *addr)
+{
+    uint32_t result;
+
+   __ASM volatile ("ldrex %0, %1" : "=r" (result) : "Q" (*addr) );
+   return(result);
+}
+
+
+/** \brief  STR Exclusive (8 bit)
+
+    This function performs a exclusive STR command for 8 bit values.
+
+    \param [in]  value  Value to store
+    \param [in]    ptr  Pointer to location
+    \return          0  Function succeeded
+    \return          1  Function failed
+ */
+__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __STREXB(uint8_t value, volatile uint8_t *addr)
+{
+   uint32_t result;
+
+   __ASM volatile ("strexb %0, %2, %1" : "=&r" (result), "=Q" (*addr) : "r" (value) );
+   return(result);
+}
+
+
+/** \brief  STR Exclusive (16 bit)
+
+    This function performs a exclusive STR command for 16 bit values.
+
+    \param [in]  value  Value to store
+    \param [in]    ptr  Pointer to location
+    \return          0  Function succeeded
+    \return          1  Function failed
+ */
+__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __STREXH(uint16_t value, volatile uint16_t *addr)
+{
+   uint32_t result;
+
+   __ASM volatile ("strexh %0, %2, %1" : "=&r" (result), "=Q" (*addr) : "r" (value) );
+   return(result);
+}
+
+
+/** \brief  STR Exclusive (32 bit)
+
+    This function performs a exclusive STR command for 32 bit values.
+
+    \param [in]  value  Value to store
+    \param [in]    ptr  Pointer to location
+    \return          0  Function succeeded
+    \return          1  Function failed
+ */
+__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __STREXW(uint32_t value, volatile uint32_t *addr)
+{
+   uint32_t result;
+
+   __ASM volatile ("strex %0, %2, %1" : "=&r" (result), "=Q" (*addr) : "r" (value) );
+   return(result);
+}
+
+
+/** \brief  Remove the exclusive lock
+
+    This function removes the exclusive lock which is created by LDREX.
+
+ */
+__attribute__( ( always_inline ) ) __STATIC_INLINE void __CLREX(void)
+{
+  __ASM volatile ("clrex" ::: "memory");
+}
+
+
+/** \brief  Signed Saturate
+
+    This function saturates a signed value.
+
+    \param [in]  value  Value to be saturated
+    \param [in]    sat  Bit position to saturate to (1..32)
+    \return             Saturated value
+ */
+#define __SSAT(ARG1,ARG2) \
+({                          \
+  uint32_t __RES, __ARG1 = (ARG1); \
+  __ASM ("ssat %0, %1, %2" : "=r" (__RES) :  "I" (ARG2), "r" (__ARG1) ); \
+  __RES; \
+ })
+
+
+/** \brief  Unsigned Saturate
+
+    This function saturates an unsigned value.
+
+    \param [in]  value  Value to be saturated
+    \param [in]    sat  Bit position to saturate to (0..31)
+    \return             Saturated value
+ */
+#define __USAT(ARG1,ARG2) \
+({                          \
+  uint32_t __RES, __ARG1 = (ARG1); \
+  __ASM ("usat %0, %1, %2" : "=r" (__RES) :  "I" (ARG2), "r" (__ARG1) ); \
+  __RES; \
+ })
+
+
+/** \brief  Count leading zeros
+
+    This function counts the number of leading zeros of a data value.
+
+    \param [in]  value  Value to count the leading zeros
+    \return             number of leading zeros in value
+ */
+__attribute__( ( always_inline ) ) __STATIC_INLINE uint8_t __CLZ(uint32_t value)
+{
+   uint32_t result;
+
+  __ASM volatile ("clz %0, %1" : "=r" (result) : "r" (value) );
+  return(result);
+}
+
+#endif /* (__CORTEX_M >= 0x03) */
+
+
+
+
+#elif defined ( __TASKING__ ) /*------------------ TASKING Compiler --------------*/
+/* TASKING carm specific functions */
+
+/*
+ * The CMSIS functions have been implemented as intrinsics in the compiler.
+ * Please use "carm -?i" to get an up to date list of all intrinsics,
+ * Including the CMSIS ones.
+ */
+
+#endif
+
+/*@}*/ /* end of group CMSIS_Core_InstructionInterface */
+
+#endif /* __CORE_CMINSTR_H */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TARGET_GHI_MBUINO/power_api.h	Fri Aug 15 15:28:31 2014 +0100
@@ -0,0 +1,82 @@
+/****************************************************************************
+ *   $Id:: power_api.h 6249 2011-01-25 19:23:47Z usb01267                   $
+ *   Project: NXP LPC11Uxx software example  
+ *
+ *   Description:
+ *     Power API Header File for NXP LPC11Uxx Device Series 
+ *
+ ****************************************************************************
+ * Software that is described herein is for illustrative purposes only
+ * which provides customers with programming information regarding the
+ * products. This software is supplied "AS IS" without any warranties.
+ * NXP Semiconductors assumes no responsibility or liability for the
+ * use of the software, conveys no license or title under any patent,
+ * copyright, or mask work right to the product. NXP Semiconductors
+ * reserves the right to make changes in the software without
+ * notification. NXP Semiconductors also make no representation or
+ * warranty that such application will be suitable for the specified
+ * use without further testing or modification.
+****************************************************************************/
+#ifndef __LPC11UXX_POWER_API_H__
+#define __LPC11UXX_POWER_API_H__
+
+#ifdef __cplusplus
+ extern "C" {
+#endif 
+
+#define PWRROMD_PRESENT
+
+typedef	struct _PWRD {
+  void (*set_pll)(unsigned int cmd[], unsigned int resp[]);
+  void (*set_power)(unsigned int cmd[], unsigned int resp[]);
+}  PWRD;
+
+typedef	struct _ROM {
+#ifdef USBROMD_PRESENT
+   const USB * pUSBD;
+#else
+   const unsigned p_usbd;
+#endif /* USBROMD_PRESENT */
+   const unsigned p_clib;
+   const unsigned p_cand;
+#ifdef PWRROMD_PRESENT
+   const PWRD * pPWRD;
+#else
+   const unsigned p_pwrd;
+#endif /* PWRROMD_PRESENT */
+   const unsigned p_dev1;
+   const unsigned p_dev2;
+   const unsigned p_dev3;
+   const unsigned p_dev4; 
+}  ROM;
+
+//PLL setup related definitions
+#define	CPU_FREQ_EQU  		0       //main PLL freq must be equal to the specified 
+#define	CPU_FREQ_LTE		1       //main PLL freq must be less than or equal the specified
+#define	CPU_FREQ_GTE		2       //main PLL freq must be greater than or equal the specified
+#define	CPU_FREQ_APPROX		3       //main PLL freq must be as close as possible the specified
+
+#define	PLL_CMD_SUCCESS		0       //PLL setup successfully found
+#define	PLL_INVALID_FREQ	1       //specified freq out of range (either input or output)
+#define	PLL_INVALID_MODE	2       //invalid mode (see above for valid) specified
+#define	PLL_FREQ_NOT_FOUND	3       //specified freq not found under specified conditions
+#define	PLL_NOT_LOCKED		4       //PLL not locked => no changes to the PLL setup
+
+//power setup elated definitions
+#define	PARAM_DEFAULT			0   //default power settings (voltage regulator, flash interface)
+#define	PARAM_CPU_PERFORMANCE	1   //setup for maximum CPU performance (higher current, more computation)
+#define	PARAM_EFFICIENCY		2   //balanced setting (power vs CPU performance)
+#define	PARAM_LOW_CURRENT		3   //lowest active current, lowest CPU performance
+
+#define	PARAM_CMD_SUCCESS		0   //power setting successfully found
+#define	PARAM_INVALID_FREQ		1   //specified freq out of range (=0 or > 50 MHz)
+#define	PARAM_INVALID_MODE		2   //specified mode not valid (see above for valid)
+
+#define MAX_CLOCK_KHZ_PARAM                50000
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif  /* __LPC11UXX_POWER_API_H__ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TARGET_GHI_MBUINO/system_LPC11Uxx.h	Fri Aug 15 15:28:31 2014 +0100
@@ -0,0 +1,64 @@
+/**************************************************************************//**
+ * @file     system_LPC11Uxx.h
+ * @brief    CMSIS Cortex-M0 Device Peripheral Access Layer Header File
+ *           for the NXP LPC11Uxx Device Series
+ * @version  V1.10
+ * @date     24. November 2010
+ *
+ * @note
+ * Copyright (C) 2009-2010 ARM Limited. All rights reserved.
+ *
+ * @par
+ * ARM Limited (ARM) is supplying this software for use with Cortex-M 
+ * processor based microcontrollers.  This file can be freely distributed 
+ * within development tools that are supporting such ARM based processors. 
+ *
+ * @par
+ * THIS SOFTWARE IS PROVIDED "AS IS".  NO WARRANTIES, WHETHER EXPRESS, IMPLIED
+ * OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE APPLY TO THIS SOFTWARE.
+ * ARM SHALL NOT, IN ANY CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL, OR
+ * CONSEQUENTIAL DAMAGES, FOR ANY REASON WHATSOEVER.
+ *
+ ******************************************************************************/
+
+
+#ifndef __SYSTEM_LPC11Uxx_H
+#define __SYSTEM_LPC11Uxx_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <stdint.h>
+
+extern uint32_t SystemCoreClock;     /*!< System Clock Frequency (Core Clock)  */
+
+
+/**
+ * Initialize the system
+ *
+ * @param  none
+ * @return none
+ *
+ * @brief  Setup the microcontroller system.
+ *         Initialize the System and update the SystemCoreClock variable.
+ */
+extern void SystemInit (void);
+
+/**
+ * Update SystemCoreClock variable
+ *
+ * @param  none
+ * @return none
+ *
+ * @brief  Updates the SystemCoreClock with current core Clock 
+ *         retrieved from cpu registers.
+ */
+extern void SystemCoreClockUpdate (void);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* __SYSTEM_LPC11Uxx_H */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TARGET_HRM1017/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/ble.h	Fri Aug 15 15:28:31 2014 +0100
@@ -0,0 +1,385 @@
+/* Copyright (c) 2011 Nordic Semiconductor. All Rights Reserved.
+ *
+ * The information contained herein is confidential property of Nordic Semiconductor. The use,
+ * copying, transfer or disclosure of such information is prohibited except by express written
+ * agreement with Nordic Semiconductor.
+ *
+ */
+/**
+  @addtogroup BLE_COMMON BLE SoftDevice Common
+  @{
+  @defgroup ble_api Events, type definitions and API calls
+  @{
+
+  @brief Module independent events, type definitions and API calls for the S110 SoftDevice.
+
+ */
+
+#ifndef BLE_H__
+#define BLE_H__
+
+#include "ble_ranges.h"
+#include "ble_types.h"
+#include "ble_gap.h"
+#include "ble_l2cap.h"
+#include "ble_gatt.h"
+#include "ble_gattc.h"
+#include "ble_gatts.h"
+
+/** @addtogroup BLE_COMMON_ENUMERATIONS Enumerations
+ * @{ */
+
+/**
+ * @brief Common API SVC numbers.
+ */
+enum BLE_COMMON_SVCS
+{
+  SD_BLE_ENABLE = BLE_SVC_BASE,         /**< Enable and initialize the BLE stack */
+  SD_BLE_EVT_GET,                       /**< Get an event from the pending events queue. */
+  SD_BLE_TX_BUFFER_COUNT_GET,           /**< Get the total number of available application transmission buffers from the stack. */
+  SD_BLE_UUID_VS_ADD,                   /**< Add a Vendor Specific UUID. */
+  SD_BLE_UUID_DECODE,                   /**< Decode UUID bytes. */
+  SD_BLE_UUID_ENCODE,                   /**< Encode UUID bytes. */
+  SD_BLE_VERSION_GET,                   /**< Get the local version information (company id, Link Layer Version, Link Layer Subversion). */
+  SD_BLE_USER_MEM_REPLY,                /**< User Memory Reply. */
+  SD_BLE_OPT_SET,                       /**< Set a BLE option. */
+  SD_BLE_OPT_GET,                       /**< Get a BLE option. */
+};
+
+/** @} */
+
+/** @addtogroup BLE_COMMON_DEFINES Defines
+ * @{ */
+
+/** @brief  Required pointer alignment for BLE Events.
+*/
+#define BLE_EVTS_PTR_ALIGNMENT    4
+
+/** @defgroup BLE_USER_MEM_TYPES User Memory Types
+ * @{ */
+#define BLE_USER_MEM_TYPE_INVALID               0x00  /**< Invalid User Memory Types. */
+#define BLE_USER_MEM_TYPE_GATTS_QUEUED_WRITES   0x01  /**< User Memory for GATTS queued writes. */
+/** @} */
+
+/** @brief  Maximum number of Vendor Specific UUIDs.
+*/
+#define BLE_UUID_VS_MAX_COUNT     10
+
+/** @} */
+
+/** @addtogroup BLE_COMMON_STRUCTURES Structures
+ * @{ */
+
+/**
+ * @brief BLE Module Independent Event IDs.
+ */
+enum BLE_COMMON_EVTS
+{
+  BLE_EVT_TX_COMPLETE  = BLE_EVT_BASE,  /**< Transmission Complete. */
+  BLE_EVT_USER_MEM_REQUEST,             /**< User Memory request. */
+  BLE_EVT_USER_MEM_RELEASE              /**< User Memory release. */
+};
+
+/**@brief User Memory Block. */
+typedef struct
+{
+  uint8_t*          p_mem;      /**< Pointer to the start of the user memory block. */
+  uint16_t          len;        /**< Length in bytes of the user memory block. */
+} ble_user_mem_block_t;
+
+/**
+ * @brief TX complete event.
+ */
+typedef struct
+{
+  uint8_t count;                        /**< Number of packets transmitted. */
+} ble_evt_tx_complete_t;
+
+/**@brief Event structure for BLE_EVT_USER_MEM_REQUEST. */
+typedef struct
+{
+  uint8_t                     type;     /**< User memory type, see @ref BLE_USER_MEM_TYPES. */
+} ble_evt_user_mem_request_t;
+
+/**@brief Event structure for BLE_EVT_USER_MEM_RELEASE. */
+typedef struct
+{
+  uint8_t                     type;       /**< User memory type, see @ref BLE_USER_MEM_TYPES. */
+  ble_user_mem_block_t        mem_block;  /**< User memory block */
+} ble_evt_user_mem_release_t;
+
+
+/**@brief Event structure for events not associated with a specific function module. */
+typedef struct
+{
+  uint16_t conn_handle;                 /**< Connection Handle on which this event occured. */
+  union
+  {
+    ble_evt_tx_complete_t           tx_complete;        /**< Transmission Complete. */
+    ble_evt_user_mem_request_t      user_mem_request;   /**< User Memory Request Event Parameters. */
+    ble_evt_user_mem_release_t      user_mem_release;   /**< User Memory Release Event Parameters. */
+  } params;
+} ble_common_evt_t;
+
+/**@brief BLE Event header. */
+typedef struct
+{
+  uint16_t evt_id;                      /**< Value from a BLE_<module>_EVT series. */
+  uint16_t evt_len;                     /**< Length in octets excluding this header. */
+} ble_evt_hdr_t;
+
+/**@brief Common BLE Event type, wrapping the module specific event reports. */
+typedef struct
+{
+  ble_evt_hdr_t header;                 /**< Event header. */
+  union
+  {
+    ble_common_evt_t  common_evt;         /**< Common Event, evt_id in BLE_EVT_* series. */
+    ble_gap_evt_t     gap_evt;            /**< GAP originated event, evt_id in BLE_GAP_EVT_* series. */
+    ble_l2cap_evt_t   l2cap_evt;          /**< L2CAP originated event, evt_id in BLE_L2CAP_EVT* series. */
+    ble_gattc_evt_t   gattc_evt;          /**< GATT client originated event, evt_id in BLE_GATTC_EVT* series. */
+    ble_gatts_evt_t   gatts_evt;          /**< GATT server originated event, evt_id in BLE_GATTS_EVT* series. */
+  } evt;
+} ble_evt_t;
+
+
+/**
+ * @brief Version Information.
+ */
+typedef struct
+{
+  uint8_t   version_number;             /**< Link Layer Version number for BT 4.1 spec is 7 (https://www.bluetooth.org/en-us/specification/assigned-numbers/link-layer). */
+  uint16_t  company_id;                 /**< Company ID, Nordic Semiconductor's company ID is 89 (0x0059) (https://www.bluetooth.org/apps/content/Default.aspx?doc_id=49708). */
+  uint16_t  subversion_number;          /**< Link Layer Sub Version number, corresponds to the SoftDevice Config ID or Firmware ID (FWID). */
+} ble_version_t;
+
+/**@brief Common BLE Option type, wrapping the module specific options. */
+typedef union
+{
+  ble_gap_opt_t     gap;            /**< GAP option, opt_id in BLE_GAP_OPT_* series. */
+} ble_opt_t;
+
+/**
+ * @brief BLE GATTS init options
+ */
+typedef struct
+{
+  ble_gatts_enable_params_t  gatts_enable_params; /**< GATTS init options @ref ble_gatts_enable_params_t. */  
+} ble_enable_params_t;
+
+/** @} */
+
+/** @addtogroup BLE_COMMON_FUNCTIONS Functions
+ * @{ */
+
+/**@brief Enable the bluetooth stack
+ *
+ * @param[in] p_ble_enable_params Pointer to ble_enable_params_t
+ *
+ * @details This call initializes the bluetooth stack, no other BLE related call can be called before this one has been executed.
+ *
+ * @return @ref NRF_SUCCESS BLE stack has been initialized successfully
+ * @return @ref NRF_ERROR_INVALID_ADDR Invalid or not sufficiently aligned pointer supplied.
+ */
+SVCALL(SD_BLE_ENABLE, uint32_t, sd_ble_enable(ble_enable_params_t * p_ble_enable_params));
+
+/**@brief Get an event from the pending events queue.
+ *
+ * @param[in] p_dest Pointer to buffer to be filled in with an event, or NULL to retrieve the event length. This buffer <b>must be 4-byte aligned in memory</b>.
+ * @param[in, out] p_len Pointer the length of the buffer, on return it is filled with the event length.
+ *
+ * @details This call allows the application to pull a BLE event from the BLE stack. The application is signalled that an event is 
+ * available from the BLE Stack by the triggering of the SD_EVT_IRQn interrupt (mapped to IRQ 22).
+ * The application is free to choose whether to call this function from thread mode (main context) or directly from the Interrupt Service Routine
+ * that maps to SD_EVT_IRQn. In any case however, and because the BLE stack runs at a higher priority than the application, this function should be called
+ * in a loop (until @ref NRF_ERROR_NOT_FOUND is returned) every time SD_EVT_IRQn is raised to ensure that all available events are pulled from the stack. 
+ * Failure to do so could potentially leave events in the internal queue without the application being aware of this fact.
+ * Sizing the p_dest buffer is equally important, since the application needs to provide all the memory necessary for the event to be copied into
+ * application memory. If the buffer provided is not large enough to fit the entire contents of the event, @ref NRF_ERROR_DATA_SIZE will be returned
+ * and the application can then call again with a larger buffer size.
+ * Please note that because of the variable length nature of some events, sizeof(ble_evt_t) will not always be large enough to fit certain events, 
+ * and so it is the application's responsability to provide an amount of memory large enough so that the relevant event is copied in full.
+ * The application may "peek" the event length by providing p_dest as a NULL pointer and inspecting the value of *p_len upon return.
+ *
+ * @note The pointer supplied must be aligned to the extend defined by @ref BLE_EVTS_PTR_ALIGNMENT
+ *
+ * @return @ref NRF_SUCCESS Event pulled and stored into the supplied buffer.
+ * @return @ref NRF_ERROR_INVALID_ADDR Invalid or not sufficiently aligned pointer supplied.
+ * @return @ref NRF_ERROR_NOT_FOUND No events ready to be pulled.
+ * @return @ref NRF_ERROR_DATA_SIZE Event ready but could not fit into the supplied buffer.
+ */
+SVCALL(SD_BLE_EVT_GET, uint32_t, sd_ble_evt_get(uint8_t* p_dest, uint16_t *p_len));
+
+
+/**@brief Get the total number of available application transmission buffers in the BLE stack.
+ *
+ * @details This call allows the application to obtain the total number of
+ *          transmission buffers available for application data. Please note that
+ *          this does not give the number of free buffers, but rather the total amount of them.
+ *          The application has two options to handle its own application transmission buffers:
+ *          - Use a simple arithmetic calculation: at boot time the application should use this function
+ *          to find out the total amount of buffers available to it and store it in a variable.
+ *          Every time a packet that consumes an application buffer is sent using any of the 
+ *          exposed functions in this BLE API, the application should decrement that variable.
+ *          Conversely, whenever a @ref BLE_EVT_TX_COMPLETE event is received by the application
+ *          it should retrieve the count field in such event and add that number to the same
+ *          variable storing the number of available packets.
+ *          This mechanism allows the application to be aware at any time of the number of
+ *          application packets available in the BLE stack's internal buffers, and therefore
+ *          it can know with certainty whether it is possible to send more data or it has to
+ *          wait for a @ref BLE_EVT_TX_COMPLETE event before it proceeds.
+ *          - Choose to simply not keep track of available buffers at all, and instead handle the 
+ *          @ref BLE_ERROR_NO_TX_BUFFERS error by queueing the packet to be transmitted and 
+ *          try again as soon as a @ref BLE_EVT_TX_COMPLETE event arrives.
+ *
+ *          The API functions that <b>may</b> consume an application buffer depending on 
+ *          the parameters supplied to them can be found below:
+ *
+ *          - @ref sd_ble_gattc_write (write witout response only)
+ *          - @ref sd_ble_gatts_hvx (notifications only)
+ *          - @ref sd_ble_l2cap_tx (all packets)
+ *
+ * @param[out] p_count Pointer to a uint8_t which will contain the number of application transmission buffers upon
+ *                     successful return.
+ *
+ * @return @ref NRF_SUCCESS Number of application transmission buffers retrieved successfully.
+ * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
+ */
+SVCALL(SD_BLE_TX_BUFFER_COUNT_GET, uint32_t, sd_ble_tx_buffer_count_get(uint8_t* p_count));
+
+
+/**@brief Add a Vendor Specific UUID.
+ *
+ * @details This call enables the application to add a vendor specific UUID to the BLE stack's table,
+ *          for later use all other modules and APIs. This then allows the application to use the shorter,
+ *          24-bit @ref ble_uuid_t format when dealing with both 16-bit and 128-bit UUIDs without having to
+ *          check for lengths and having split code paths. The way that this is accomplished is by extending the 
+ *          grouping mechanism that the Bluetooth SIG standard base UUID uses for all other 128-bit UUIDs. The 
+ *          type field in the @ref ble_uuid_t structure is an index (relative to @ref BLE_UUID_TYPE_VENDOR_BEGIN) 
+ *          to the table populated by multiple calls to this function, and the uuid field in the same structure 
+ *          contains the 2 bytes at indices 12 and 13. The number of possible 128-bit UUIDs available to the 
+ *          application is therefore the number of Vendor Specific UUIDs added with the help of this function times 65536, 
+ *          although restricted to modifying bytes 12 and 13 for each of the entries in the supplied array.
+ *
+ * @note Bytes 12 and 13 of the provided UUID will not be used internally, since those are always replaced by 
+ * the 16-bit uuid field in @ref ble_uuid_t.
+ *
+ *
+ * @param[in]  p_vs_uuid    Pointer to a 16-octet (128-bit) little endian Vendor Specific UUID disregarding
+ *                          bytes 12 and 13.
+ * @param[out] p_uuid_type  Pointer where the type field in @ref ble_uuid_t corresponding to this UUID will be stored.
+ *
+ * @return @ref NRF_SUCCESS Successfully added the Vendor Specific UUID.
+ * @return @ref NRF_ERROR_INVALID_ADDR If p_vs_uuid or p_uuid_type is NULL or invalid.
+ * @return @ref NRF_ERROR_NO_MEM If there are no more free slots for VS UUIDs.
+ * @return @ref NRF_ERROR_FORBIDDEN If p_vs_uuid has already been added to the VS UUID table.
+ */
+SVCALL(SD_BLE_UUID_VS_ADD, uint32_t, sd_ble_uuid_vs_add(ble_uuid128_t const * const p_vs_uuid, uint8_t * const p_uuid_type));
+
+
+/** @brief Decode little endian raw UUID bytes (16-bit or 128-bit) into a 24 bit @ref ble_uuid_t structure.
+ * 
+ * @details The raw UUID bytes excluding bytes 12 and 13 (i.e. bytes 0-11 and 14-15) of p_uuid_le are compared 
+ * to the corresponding ones in each entry of the table of vendor specific UUIDs pouplated with @ref sd_ble_uuid_vs_add 
+ * to look for a match. If there is such a match, bytes 12 and 13 are returned as p_uuid->uuid and the index 
+ * relative to @ref BLE_UUID_TYPE_VENDOR_BEGIN as p_uuid->type. 
+ *
+ * @note If the UUID length supplied is 2, then the type set by this call will always be @ref BLE_UUID_TYPE_BLE.
+ *
+ * @param[in]      uuid_le_len Length in bytes of the buffer pointed to by p_uuid_le (must be 2 or 16 bytes).
+ * @param[in]      p_uuid_le   Pointer pointing to little endian raw UUID bytes.
+ * @param[in,out]  p_uuid      Pointer to a @ref ble_uuid_t structure to be filled in.
+ *
+ * @return @ref NRF_SUCCESS Successfully decoded into the @ref ble_uuid_t structure.
+ * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
+ * @return @ref NRF_ERROR_INVALID_LENGTH Invalid UUID length.
+ * @return @ref NRF_ERROR_NOT_FOUND For a 128-bit UUID, no match in the populated table of UUIDs.
+ */                                                 
+SVCALL(SD_BLE_UUID_DECODE, uint32_t, sd_ble_uuid_decode(uint8_t uuid_le_len, uint8_t const * const p_uuid_le, ble_uuid_t * const p_uuid));
+
+
+/** @brief Encode a @ref ble_uuid_t structure into little endian raw UUID bytes (16-bit or 128-bit).
+ *
+ * @note The pointer to the destination buffer p_uuid_le may be NULL, in which case only the validitiy and size of p_uuid is computed.
+ *
+ * @param[in]      p_uuid        Pointer to a @ref ble_uuid_t structure that will be encoded into bytes.
+ * @param[out]     p_uuid_le_len Pointer to a uint8_t that will be filled with the encoded length (2 or 16 bytes).
+ * @param[out]     p_uuid_le     Pointer to a buffer where the little endian raw UUID bytes (2 or 16) will be stored.
+ *
+ * @return @ref NRF_SUCCESS Successfully encoded into the buffer.
+ * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
+ * @return @ref NRF_ERROR_INVALID_PARAM Invalid UUID type.
+ */
+SVCALL(SD_BLE_UUID_ENCODE, uint32_t, sd_ble_uuid_encode(ble_uuid_t const * const p_uuid, uint8_t * const  p_uuid_le_len, uint8_t * const p_uuid_le));
+
+
+/**@brief Get Version Information.
+ *
+ * @details This call allows the application to get the BLE stack version information.
+ *
+ * @param[in] p_version Pointer to ble_version_t structure to be filled in.
+ *
+ * @return @ref NRF_SUCCESS  Version information stored successfully.
+ * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
+ * @return @ref NRF_ERROR_BUSY The stack is busy (typically doing a locally-initiated disconnection procedure).
+ */
+SVCALL(SD_BLE_VERSION_GET, uint32_t, sd_ble_version_get(ble_version_t * p_version));
+
+
+/**@brief Provide a user memory block.
+ *
+ * @note This call can only be used as a response to a @ref BLE_EVT_USER_MEM_REQUEST event issued to the application.
+ *
+ * @param[in] conn_handle                 Connection handle.
+ * @param[in] p_block                     Pointer to a user memory block structure.
+ *
+ * @return @ref NRF_SUCCESS               Successfully queued a response to the peer.
+ * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid Connection Handle.
+ * @return @ref NRF_ERROR_INVALID_STATE   No execute write request pending.
+ */
+SVCALL(SD_BLE_USER_MEM_REPLY, uint32_t, sd_ble_user_mem_reply(uint16_t conn_handle, ble_user_mem_block_t *p_block));
+
+
+/**@brief Set a BLE option.
+ *
+ * @details This call allows the application to set the value of an option.
+ *
+ * @param[in] opt_id Option ID.
+ * @param[in] p_opt Pointer to a ble_opt_t structure containing the option value.
+ *
+ * @retval ::NRF_SUCCESS  Option set successfully.
+ * @retval ::NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
+ * @retval ::BLE_ERROR_INVALID_CONN_HANDLE Invalid Connection Handle.
+ * @retval ::NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied, check parameter limits and constraints.
+ * @retval ::NRF_ERROR_INVALID_STATE Unable to set the parameter at this time.
+ * @retval ::NRF_ERROR_BUSY The stack is busy or the previous procedure has not completed.
+ */
+SVCALL(SD_BLE_OPT_SET, uint32_t, sd_ble_opt_set(uint32_t opt_id, ble_opt_t const *p_opt));
+
+
+/**@brief Get a BLE option.
+ *
+ * @details This call allows the application to retrieve the value of an option.
+ *
+ * @param[in] opt_id Option ID.
+ * @param[out] p_opt Pointer to a ble_opt_t structure to be filled in.
+ *
+ * @retval ::NRF_SUCCESS  Option retrieved successfully.
+ * @retval ::NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
+ * @retval ::BLE_ERROR_INVALID_CONN_HANDLE Invalid Connection Handle.
+ * @retval ::NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied, check parameter limits and constraints.
+ * @retval ::NRF_ERROR_INVALID_STATE Unable to retrieve the parameter at this time.
+ * @retval ::NRF_ERROR_BUSY The stack is busy or the previous procedure has not completed.
+ * @retval ::NRF_ERROR_NOT_SUPPORTED This option is not supported.
+ *
+ */
+SVCALL(SD_BLE_OPT_GET, uint32_t, sd_ble_opt_get(uint32_t opt_id, ble_opt_t *p_opt));
+
+/** @} */
+
+#endif /* BLE_H__ */
+
+/**
+  @}
+  @}
+*/
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TARGET_HRM1017/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/ble_err.h	Fri Aug 15 15:28:31 2014 +0100
@@ -0,0 +1,54 @@
+/*
+ * Copyright (c) 2012 Nordic Semiconductor. All Rights Reserved.
+ *
+ * The information contained herein is confidential property of Nordic Semiconductor. The use,
+ * copying, transfer or disclosure of such information is prohibited except by express written
+ * agreement with Nordic Semiconductor.
+ *
+ */
+ /**
+  @addtogroup BLE_COMMON
+  @{
+  @addtogroup  nrf_error
+  @{
+    @ingroup BLE_COMMON
+  @}
+
+  @defgroup ble_err General error codes
+  @{
+
+  @brief General error code definitions for the BLE API.
+
+  @ingroup BLE_COMMON
+*/
+#ifndef NRF_BLE_ERR_H__
+#define NRF_BLE_ERR_H__
+
+#include "nrf_error.h"
+
+/* @defgroup BLE_ERRORS Error Codes
+ * @{ */
+#define BLE_ERROR_NOT_ENABLED            (NRF_ERROR_STK_BASE_NUM+0x001) /**< @ref sd_ble_enable has not been called. */
+#define BLE_ERROR_INVALID_CONN_HANDLE    (NRF_ERROR_STK_BASE_NUM+0x002) /**< Invalid connection handle. */
+#define BLE_ERROR_INVALID_ATTR_HANDLE    (NRF_ERROR_STK_BASE_NUM+0x003) /**< Invalid attribute handle. */
+#define BLE_ERROR_NO_TX_BUFFERS          (NRF_ERROR_STK_BASE_NUM+0x004) /**< Buffer capacity exceeded. */
+/** @} */
+
+
+/** @defgroup BLE_ERROR_SUBRANGES Module specific error code subranges
+ *  @brief Assignment of subranges for module specific error codes.
+ *  @note For specific error codes, see ble_<module>.h or ble_error_<module>.h.
+ * @{ */
+#define NRF_L2CAP_ERR_BASE             (NRF_ERROR_STK_BASE_NUM+0x100) /**< L2CAP specific errors. */
+#define NRF_GAP_ERR_BASE               (NRF_ERROR_STK_BASE_NUM+0x200) /**< GAP specific errors. */
+#define NRF_GATTC_ERR_BASE             (NRF_ERROR_STK_BASE_NUM+0x300) /**< GATT client specific errors. */
+#define NRF_GATTS_ERR_BASE             (NRF_ERROR_STK_BASE_NUM+0x400) /**< GATT server specific errors. */
+/** @} */
+
+#endif
+
+
+/**
+  @}
+  @}
+*/
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TARGET_HRM1017/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/ble_gap.h	Fri Aug 15 15:28:31 2014 +0100
@@ -0,0 +1,1032 @@
+/* Copyright (c) 2011 Nordic Semiconductor. All Rights Reserved.
+ *
+ * The information contained herein is confidential property of Nordic Semiconductor. The use,
+ * copying, transfer or disclosure of such information is prohibited except by express written
+ * agreement with Nordic Semiconductor.
+ *
+ */
+/**
+  @addtogroup BLE_GAP Generic Access Profile (GAP)
+  @{
+  @brief Definitions and prototypes for the GAP interface.
+ */
+
+#ifndef BLE_GAP_H__
+#define BLE_GAP_H__
+
+#include "ble_types.h"
+#include "ble_ranges.h"
+#include "nrf_svc.h"
+
+
+/**@addtogroup BLE_GAP_ENUMERATIONS Enumerations 
+ * @{ */
+
+/**@brief GAP API SVC numbers.
+ */
+enum BLE_GAP_SVCS
+{
+  SD_BLE_GAP_ADDRESS_SET  = BLE_GAP_SVC_BASE,  /**< Set own Bluetooth Address. */
+  SD_BLE_GAP_ADDRESS_GET,                      /**< Get own Bluetooth Address. */
+  SD_BLE_GAP_ADV_DATA_SET,                     /**< Set Advertisement Data. */
+  SD_BLE_GAP_ADV_START,                        /**< Start Advertising. */
+  SD_BLE_GAP_ADV_STOP,                         /**< Stop Advertising. */
+  SD_BLE_GAP_CONN_PARAM_UPDATE,                /**< Connection Parameter Update. */
+  SD_BLE_GAP_DISCONNECT,                       /**< Disconnect. */
+  SD_BLE_GAP_TX_POWER_SET,                     /**< Set TX Power. */
+  SD_BLE_GAP_APPEARANCE_SET,                   /**< Set Appearance. */
+  SD_BLE_GAP_APPEARANCE_GET,                   /**< Get Appearance. */
+  SD_BLE_GAP_PPCP_SET,                         /**< Set PPCP. */
+  SD_BLE_GAP_PPCP_GET,                         /**< Get PPCP. */
+  SD_BLE_GAP_DEVICE_NAME_SET,                  /**< Set Device Name. */
+  SD_BLE_GAP_DEVICE_NAME_GET,                  /**< Get Device Name. */
+  SD_BLE_GAP_AUTHENTICATE,                     /**< Initiate Pairing/Bonding. */
+  SD_BLE_GAP_SEC_PARAMS_REPLY,                 /**< Reply with Security Parameters. */
+  SD_BLE_GAP_AUTH_KEY_REPLY,                   /**< Reply with an authentication key. */
+  SD_BLE_GAP_SEC_INFO_REPLY,                   /**< Reply with Security Information. */
+  SD_BLE_GAP_CONN_SEC_GET,                     /**< Obtain connection security level. */
+  SD_BLE_GAP_RSSI_START,                       /**< Start reporting of changes in RSSI. */ 
+  SD_BLE_GAP_RSSI_STOP,                        /**< Stop reporting of changes in RSSI. */ 
+};
+/**@} */
+
+/**@addtogroup BLE_GAP_DEFINES Defines
+ * @{ */
+
+/**@defgroup BLE_ERRORS_GAP SVC return values specific to GAP
+ * @{ */
+#define BLE_ERROR_GAP_UUID_LIST_MISMATCH            (NRF_GAP_ERR_BASE + 0x000)  /**< UUID list does not contain an integral number of UUIDs. */
+#define BLE_ERROR_GAP_DISCOVERABLE_WITH_WHITELIST   (NRF_GAP_ERR_BASE + 0x001)  /**< Use of Whitelist not permitted with discoverable advertising. */
+#define BLE_ERROR_GAP_INVALID_BLE_ADDR              (NRF_GAP_ERR_BASE + 0x002)  /**< The upper two bits of the address do not correspond to the specified address type. */
+/**@} */
+
+
+/**@defgroup BLE_GAP_ROLES GAP Roles
+ * @note Not explicitly used in peripheral API, but will be relevant for central API.
+ * @{ */
+#define BLE_GAP_ROLE_INVALID     0x0            /**< Invalid Role. */
+#define BLE_GAP_ROLE_PERIPH      0x1            /**< Peripheral Role. */
+#define BLE_GAP_ROLE_CENTRAL     0x2            /**< Central Role. */
+/**@} */
+
+
+/**@defgroup BLE_GAP_TIMEOUT_SOURCES GAP Timeout sources
+ * @{ */
+#define BLE_GAP_TIMEOUT_SRC_ADVERTISEMENT              0x00 /**< Advertisement timeout. */
+#define BLE_GAP_TIMEOUT_SRC_SECURITY_REQUEST           0x01 /**< Security request timeout. */
+/**@} */
+
+
+/**@defgroup BLE_GAP_ADDR_TYPES GAP Address types
+ * @{ */
+#define BLE_GAP_ADDR_TYPE_PUBLIC                        0x00 /**< Public address. */
+#define BLE_GAP_ADDR_TYPE_RANDOM_STATIC                 0x01 /**< Random Static address. */
+#define BLE_GAP_ADDR_TYPE_RANDOM_PRIVATE_RESOLVABLE     0x02 /**< Private Resolvable address. */
+#define BLE_GAP_ADDR_TYPE_RANDOM_PRIVATE_NON_RESOLVABLE 0x03 /**< Private Non-Resolvable address. */
+/**@} */
+
+/**@defgroup BLE_GAP_ADDR_CYCLE_MODES GAP Address cycle modes
+ * @{ */
+#define BLE_GAP_ADDR_CYCLE_MODE_NONE      0x00 /**< Set addresses directly, no automatic address cycling. */
+#define BLE_GAP_ADDR_CYCLE_MODE_AUTO      0x01 /**< Automatically generate and update private addresses. */
+/** @} */
+
+/**@brief The default interval in seconds at which a private address is refreshed when address cycle mode is @ref BLE_GAP_ADDR_CYCLE_MODE_AUTO.  */
+#define BLE_GAP_DEFAULT_PRIVATE_ADDR_CYCLE_INTERVAL_S (60 * 15)
+
+/** @brief BLE address length. */
+#define BLE_GAP_ADDR_LEN            6
+
+
+/**@defgroup BLE_GAP_AD_TYPE_DEFINITIONS GAP Advertising and Scan Response Data format
+ * @note Found at https://www.bluetooth.org/Technical/AssignedNumbers/generic_access_profile.htm
+ * @{ */
+#define BLE_GAP_AD_TYPE_FLAGS                               0x01 /**< Flags for discoverability. */
+#define BLE_GAP_AD_TYPE_16BIT_SERVICE_UUID_MORE_AVAILABLE   0x02 /**< Partial list of 16 bit service UUIDs. */
+#define BLE_GAP_AD_TYPE_16BIT_SERVICE_UUID_COMPLETE         0x03 /**< Complete list of 16 bit service UUIDs. */
+#define BLE_GAP_AD_TYPE_32BIT_SERVICE_UUID_MORE_AVAILABLE   0x04 /**< Partial list of 32 bit service UUIDs. */
+#define BLE_GAP_AD_TYPE_32BIT_SERVICE_UUID_COMPLETE         0x05 /**< Complete list of 32 bit service UUIDs. */
+#define BLE_GAP_AD_TYPE_128BIT_SERVICE_UUID_MORE_AVAILABLE  0x06 /**< Partial list of 128 bit service UUIDs. */
+#define BLE_GAP_AD_TYPE_128BIT_SERVICE_UUID_COMPLETE        0x07 /**< Complete list of 128 bit service UUIDs. */
+#define BLE_GAP_AD_TYPE_SHORT_LOCAL_NAME                    0x08 /**< Short local device name. */
+#define BLE_GAP_AD_TYPE_COMPLETE_LOCAL_NAME                 0x09 /**< Complete local device name. */
+#define BLE_GAP_AD_TYPE_TX_POWER_LEVEL                      0x0A /**< Transmit power level. */
+#define BLE_GAP_AD_TYPE_CLASS_OF_DEVICE                     0x0D /**< Class of device. */
+#define BLE_GAP_AD_TYPE_SIMPLE_PAIRING_HASH_C               0x0E /**< Simple Pairing Hash C. */
+#define BLE_GAP_AD_TYPE_SIMPLE_PAIRING_RANDOMIZER_R         0x0F /**< Simple Pairing Randomizer R. */
+#define BLE_GAP_AD_TYPE_SECURITY_MANAGER_TK_VALUE           0x10 /**< Security Manager TK Value. */
+#define BLE_GAP_AD_TYPE_SECURITY_MANAGER_OOB_FLAGS          0x11 /**< Security Manager Out Of Band Flags. */
+#define BLE_GAP_AD_TYPE_SLAVE_CONNECTION_INTERVAL_RANGE     0x12 /**< Slave Connection Interval Range. */
+#define BLE_GAP_AD_TYPE_SOLICITED_SERVICE_UUIDS_16BIT       0x14 /**< List of 16-bit Service Solicitation UUIDs. */
+#define BLE_GAP_AD_TYPE_SOLICITED_SERVICE_UUIDS_128BIT      0x15 /**< List of 128-bit Service Solicitation UUIDs. */
+#define BLE_GAP_AD_TYPE_SERVICE_DATA                        0x16 /**< Service Data - 16-bit UUID. */
+#define BLE_GAP_AD_TYPE_PUBLIC_TARGET_ADDRESS               0x17 /**< Public Target Address. */
+#define BLE_GAP_AD_TYPE_RANDOM_TARGET_ADDRESS               0x18 /**< Random Target Address. */
+#define BLE_GAP_AD_TYPE_APPEARANCE                          0x19 /**< Appearance. */
+#define BLE_GAP_AD_TYPE_ADVERTISING_INTERVAL                0x1A /**< Advertising Interval. */ 
+#define BLE_GAP_AD_TYPE_LE_BLUETOOTH_DEVICE_ADDRESS         0x1B /**< LE Bluetooth Device Address. */
+#define BLE_GAP_AD_TYPE_LE_ROLE                             0x1C /**< LE Role. */
+#define BLE_GAP_AD_TYPE_SIMPLE_PAIRING_HASH_C256            0x1D /**< Simple Pairing Hash C-256. */
+#define BLE_GAP_AD_TYPE_SIMPLE_PAIRING_RANDOMIZER_R256      0x1E /**< Simple Pairing Randomizer R-256. */
+#define BLE_GAP_AD_TYPE_SERVICE_DATA_32BIT_UUID             0x20 /**< Service Data - 32-bit UUID. */
+#define BLE_GAP_AD_TYPE_SERVICE_DATA_128BIT_UUID            0x21 /**< Service Data - 128-bit UUID. */
+#define BLE_GAP_AD_TYPE_3D_INFORMATION_DATA                 0x3D /**< 3D Information Data. */
+#define BLE_GAP_AD_TYPE_MANUFACTURER_SPECIFIC_DATA          0xFF /**< Manufacturer Specific Data. */
+/**@} */
+
+
+/**@defgroup BLE_GAP_ADV_FLAGS GAP Advertisement Flags
+ * @{ */
+#define BLE_GAP_ADV_FLAG_LE_LIMITED_DISC_MODE         (0x01)   /**< LE Limited Discoverable Mode. */
+#define BLE_GAP_ADV_FLAG_LE_GENERAL_DISC_MODE         (0x02)   /**< LE General Discoverable Mode. */
+#define BLE_GAP_ADV_FLAG_BR_EDR_NOT_SUPPORTED         (0x04)   /**< BR/EDR not supported. */
+#define BLE_GAP_ADV_FLAG_LE_BR_EDR_CONTROLLER         (0x08)   /**< Simultaneous LE and BR/EDR, Controller. */
+#define BLE_GAP_ADV_FLAG_LE_BR_EDR_HOST               (0x10)   /**< Simultaneous LE and BR/EDR, Host. */
+#define BLE_GAP_ADV_FLAGS_LE_ONLY_LIMITED_DISC_MODE   (BLE_GAP_ADV_FLAG_LE_LIMITED_DISC_MODE | BLE_GAP_ADV_FLAG_BR_EDR_NOT_SUPPORTED)   /**< LE Limited Discoverable Mode, BR/EDR not supported. */
+#define BLE_GAP_ADV_FLAGS_LE_ONLY_GENERAL_DISC_MODE   (BLE_GAP_ADV_FLAG_LE_GENERAL_DISC_MODE | BLE_GAP_ADV_FLAG_BR_EDR_NOT_SUPPORTED)   /**< LE General Discoverable Mode, BR/EDR not supported. */
+/**@} */
+
+
+/**@defgroup BLE_GAP_ADV_INTERVALS GAP Advertising interval max and min
+ * @{ */
+#define BLE_GAP_ADV_INTERVAL_MIN        0x0020 /**< Minimum Advertising interval in 625 us units, i.e. 20 ms. */
+#define BLE_GAP_ADV_NONCON_INTERVAL_MIN 0x00A0 /**< Minimum Advertising interval in 625 us units for non connectable mode, i.e. 100 ms. */
+#define BLE_GAP_ADV_INTERVAL_MAX        0x4000 /**< Maximum Advertising interval in 625 us units, i.e. 10.24 s. */
+ /**@}  */
+
+
+/**@brief Maximum size of advertising data in octets. */
+#define  BLE_GAP_ADV_MAX_SIZE       31
+
+
+/**@defgroup BLE_GAP_ADV_TYPES GAP Advertising types
+ * @{ */
+#define BLE_GAP_ADV_TYPE_ADV_IND          0x00   /**< Connectable undirected. */
+#define BLE_GAP_ADV_TYPE_ADV_DIRECT_IND   0x01   /**< Connectable directed. */
+#define BLE_GAP_ADV_TYPE_ADV_SCAN_IND     0x02   /**< Scannable undirected. */
+#define BLE_GAP_ADV_TYPE_ADV_NONCONN_IND  0x03   /**< Non connectable undirected. */
+/**@} */
+
+
+/**@defgroup BLE_GAP_ADV_FILTER_POLICIES GAP Advertising filter policies
+ * @{ */
+#define BLE_GAP_ADV_FP_ANY                0x00   /**< Allow scan requests and connect requests from any device. */
+#define BLE_GAP_ADV_FP_FILTER_SCANREQ     0x01   /**< Filter scan requests with whitelist. */
+#define BLE_GAP_ADV_FP_FILTER_CONNREQ     0x02   /**< Filter connect requests with whitelist. */
+#define BLE_GAP_ADV_FP_FILTER_BOTH        0x03   /**< Filter both scan and connect requests with whitelist. */
+/**@} */
+
+
+/**@defgroup BLE_GAP_ADV_TIMEOUT_VALUES GAP Advertising timeout values
+ * @{ */
+#define BLE_GAP_ADV_TIMEOUT_LIMITED_MAX      180 /**< Maximum advertising time in limited discoverable mode (TGAP(lim_adv_timeout) = 180s in spec (Addendum 2)). */
+#define BLE_GAP_ADV_TIMEOUT_GENERAL_UNLIMITED  0 /**< Unlimited advertising in general discoverable mode. */
+/**@} */
+
+
+/**@defgroup BLE_GAP_DISC_MODES GAP Discovery modes
+ * @{ */
+#define BLE_GAP_DISC_MODE_NOT_DISCOVERABLE  0x00   /**< Not discoverable discovery Mode. */
+#define BLE_GAP_DISC_MODE_LIMITED           0x01   /**< Limited Discovery Mode. */
+#define BLE_GAP_DISC_MODE_GENERAL           0x02   /**< General Discovery Mode. */
+/**@} */
+
+/**@defgroup BLE_GAP_IO_CAPS GAP IO Capabilities
+ * @{ */
+#define BLE_GAP_IO_CAPS_DISPLAY_ONLY      0x00   /**< Display Only. */
+#define BLE_GAP_IO_CAPS_DISPLAY_YESNO     0x01   /**< Display and Yes/No entry. */
+#define BLE_GAP_IO_CAPS_KEYBOARD_ONLY     0x02   /**< Keyboard Only. */
+#define BLE_GAP_IO_CAPS_NONE              0x03   /**< No I/O capabilities. */
+#define BLE_GAP_IO_CAPS_KEYBOARD_DISPLAY  0x04   /**< Keyboard and Display. */
+/**@} */
+
+
+/**@defgroup BLE_GAP_AUTH_KEY_TYPES GAP Authentication Key Types
+ * @{ */
+#define BLE_GAP_AUTH_KEY_TYPE_NONE        0x00   /**< No key (may be used to reject). */
+#define BLE_GAP_AUTH_KEY_TYPE_PASSKEY     0x01   /**< 6-digit Passkey. */
+#define BLE_GAP_AUTH_KEY_TYPE_OOB         0x02   /**< Out Of Band data. */
+/**@} */
+
+/**@defgroup BLE_GAP_SEC_STATUS GAP Security status
+ * @{ */
+#define BLE_GAP_SEC_STATUS_SUCCESS                0x00  /**< Successful parameters. */
+#define BLE_GAP_SEC_STATUS_TIMEOUT                0x01  /**< Procedure timed out. */
+#define BLE_GAP_SEC_STATUS_PDU_INVALID            0x02  /**< Invalid PDU received. */
+#define BLE_GAP_SEC_STATUS_PASSKEY_ENTRY_FAILED   0x81  /**< Passkey entry failed (user cancelled or other). */
+#define BLE_GAP_SEC_STATUS_OOB_NOT_AVAILABLE      0x82  /**< Out of Band Key not available. */
+#define BLE_GAP_SEC_STATUS_AUTH_REQ               0x83  /**< Authentication requirements not met. */
+#define BLE_GAP_SEC_STATUS_CONFIRM_VALUE          0x84  /**< Confirm value failed. */
+#define BLE_GAP_SEC_STATUS_PAIRING_NOT_SUPP       0x85  /**< Pairing not supported.  */
+#define BLE_GAP_SEC_STATUS_ENC_KEY_SIZE           0x86  /**< Encryption key size. */
+#define BLE_GAP_SEC_STATUS_SMP_CMD_UNSUPPORTED    0x87  /**< Unsupported SMP command. */
+#define BLE_GAP_SEC_STATUS_UNSPECIFIED            0x88  /**< Unspecified reason. */
+#define BLE_GAP_SEC_STATUS_REPEATED_ATTEMPTS      0x89  /**< Too little time elapsed since last attempt. */
+#define BLE_GAP_SEC_STATUS_INVALID_PARAMS         0x8A  /**< Invalid parameters. */
+/**@} */
+
+/**@defgroup BLE_GAP_SEC_STATUS_SOURCES GAP Security status sources
+ * @{ */
+#define BLE_GAP_SEC_STATUS_SOURCE_LOCAL           0x00  /**< Local failure. */
+#define BLE_GAP_SEC_STATUS_SOURCE_REMOTE          0x01  /**< Remote failure. */
+/**@} */
+
+/**@defgroup BLE_GAP_CP_LIMITS GAP Connection Parameters Limits
+ * @{ */
+#define BLE_GAP_CP_MIN_CONN_INTVL_NONE           0xFFFF  /**< No new minimum connction interval specified in connect parameters. */
+#define BLE_GAP_CP_MIN_CONN_INTVL_MIN            0x0006  /**< Lowest mimimum connection interval permitted, in units of 1.25 ms, i.e. 7.5 ms. */
+#define BLE_GAP_CP_MIN_CONN_INTVL_MAX            0x0C80  /**< Highest minimum connection interval permitted, in units of 1.25 ms, i.e. 4 s. */
+#define BLE_GAP_CP_MAX_CONN_INTVL_NONE           0xFFFF  /**< No new maximum connction interval specified in connect parameters. */
+#define BLE_GAP_CP_MAX_CONN_INTVL_MIN            0x0006  /**< Lowest maximum connection interval permitted, in units of 1.25 ms, i.e. 7.5 ms. */
+#define BLE_GAP_CP_MAX_CONN_INTVL_MAX            0x0C80  /**< Highest maximum connection interval permitted, in units of 1.25 ms, i.e. 4 s. */
+#define BLE_GAP_CP_SLAVE_LATENCY_MAX             0x03E8  /**< Highest slave latency permitted, in connection events. */
+#define BLE_GAP_CP_CONN_SUP_TIMEOUT_NONE         0xFFFF  /**< No new supervision timeout specified in connect parameters. */
+#define BLE_GAP_CP_CONN_SUP_TIMEOUT_MIN          0x000A  /**< Lowest supervision timeout permitted, in units of 10 ms, i.e. 100 ms. */
+#define BLE_GAP_CP_CONN_SUP_TIMEOUT_MAX          0x0C80  /**< Highest supervision timeout permitted, in units of 10 ms, i.e. 32 s. */
+/**@} */
+
+
+/**@brief GAP device name maximum length. */
+#define BLE_GAP_DEVNAME_MAX_LEN           31
+
+
+/**@defgroup BLE_GAP_CONN_SEC_MODE_SET_MACROS GAP attribute security requirement setters
+ *
+ * See @ref ble_gap_conn_sec_mode_t.
+ * @{ */
+/**@brief Set sec_mode pointed to by ptr to have no access rights.*/
+#define BLE_GAP_CONN_SEC_MODE_SET_NO_ACCESS(ptr)         do {(ptr)->sm = 0; (ptr)->lv = 0;} while(0)
+/**@brief Set sec_mode pointed to by ptr to require no protection, open link.*/
+#define BLE_GAP_CONN_SEC_MODE_SET_OPEN(ptr)              do {(ptr)->sm = 1; (ptr)->lv = 1;} while(0)
+/**@brief Set sec_mode pointed to by ptr to require encryption, but no MITM protection.*/
+#define BLE_GAP_CONN_SEC_MODE_SET_ENC_NO_MITM(ptr)       do {(ptr)->sm = 1; (ptr)->lv = 2;} while(0)
+/**@brief Set sec_mode pointed to by ptr to require encryption and MITM protection.*/
+#define BLE_GAP_CONN_SEC_MODE_SET_ENC_WITH_MITM(ptr)     do {(ptr)->sm = 1; (ptr)->lv = 3;} while(0)
+/**@brief Set sec_mode pointed to by ptr to require signing or encryption, no MITM protection needed.*/
+#define BLE_GAP_CONN_SEC_MODE_SET_SIGNED_NO_MITM(ptr)    do {(ptr)->sm = 2; (ptr)->lv = 1;} while(0)
+/**@brief Set sec_mode pointed to by ptr to require signing or encryption with MITM protection.*/
+#define BLE_GAP_CONN_SEC_MODE_SET_SIGNED_WITH_MITM(ptr)  do {(ptr)->sm = 2; (ptr)->lv = 2;} while(0)
+/**@} */
+
+
+/**@brief GAP Security Key Length. */
+#define BLE_GAP_SEC_KEY_LEN 16
+
+/**@brief GAP Passkey Length. */
+#define BLE_GAP_PASSKEY_LEN 6
+
+/**@brief Maximum amount of addresses in a whitelist. */
+#define BLE_GAP_WHITELIST_ADDR_MAX_COUNT (8)
+
+/**@brief Maximum amount of IRKs in a whitelist.
+ * @note  The number of IRKs is limited to 8, even if the hardware supports more.
+ */
+#define BLE_GAP_WHITELIST_IRK_MAX_COUNT (8)
+
+/**@defgroup GAP_SEC_MODES GAP Security Modes
+ * @{ */
+#define BLE_GAP_SEC_MODE 0x00 /**< No key (may be used to reject). */
+/**@} */
+
+/**@} */
+
+/**@addtogroup BLE_GAP_STRUCTURES Structures
+ * @{ */
+
+/**@brief Bluetooth Low Energy address. */
+typedef struct
+{
+  uint8_t addr_type;                    /**< See @ref BLE_GAP_ADDR_TYPES. */
+  uint8_t addr[BLE_GAP_ADDR_LEN];       /**< 48-bit address, LSB format. */
+} ble_gap_addr_t;
+
+
+/**@brief GAP connection parameters.
+ *
+ * @note  When ble_conn_params_t is received in an event, both min_conn_interval and
+ *        max_conn_interval will be equal to the connection interval set by the central.
+ */
+typedef struct
+{
+  uint16_t min_conn_interval;         /**< Minimum Connection Interval in 1.25 ms units, see @ref BLE_GAP_CP_LIMITS.*/
+  uint16_t max_conn_interval;         /**< Maximum Connection Interval in 1.25 ms units, see @ref BLE_GAP_CP_LIMITS.*/
+  uint16_t slave_latency;             /**< Slave Latency in number of connection events, see @ref BLE_GAP_CP_LIMITS.*/
+  uint16_t conn_sup_timeout;          /**< Connection Supervision Timeout in 10 ms units, see @ref BLE_GAP_CP_LIMITS.*/
+} ble_gap_conn_params_t;
+
+
+/**@brief GAP link requirements.
+ *
+ * See Bluetooth Core specification, Volume 3 Part C 10.2 for details.
+ *
+ * Security Mode 0 Level 0: No access permissions at all (this level is not defined by the Bluetooth Core specification).\n
+ * Security Mode 1 Level 1: No security is needed (aka open link).\n
+ * Security Mode 1 Level 2: Encrypted link required, MITM protection not necessary.\n
+ * Security Mode 1 Level 3: MITM protected encrypted link required.\n
+ * Security Mode 2 Level 1: Signing or encryption required, MITM protection not necessary.\n
+ * Security Mode 2 Level 2: MITM protected signing required, unless link is MITM protected encrypted.\n
+ */
+typedef struct
+{
+  uint8_t sm : 4;                     /**< Security Mode (1 or 2), 0 for no permissions at all. */
+  uint8_t lv : 4;                     /**< Level (1, 2 or 3), 0 for no permissions at all. */
+
+} ble_gap_conn_sec_mode_t;
+
+
+/**@brief GAP connection security status.*/
+typedef struct
+{
+  ble_gap_conn_sec_mode_t sec_mode;           /**< Currently active security mode for this connection.*/
+  uint8_t                 encr_key_size;      /**< Length of currently active encryption key, 7 to 16 octets (only applicable for bonding procedures). */
+} ble_gap_conn_sec_t;
+
+
+/**@brief Identity Resolving Key. */
+typedef struct
+{
+  uint8_t irk[BLE_GAP_SEC_KEY_LEN];   /**< Array containing IRK. */
+} ble_gap_irk_t;
+
+
+/**@brief Whitelist structure. */
+typedef struct
+{
+  ble_gap_addr_t   ** pp_addrs;        /**< Pointer to array of device address pointers, pointing to addresses to be used in whitelist. NULL if none are given. */
+  uint8_t             addr_count;      /**< Count of device addresses in array, up to @ref BLE_GAP_WHITELIST_ADDR_MAX_COUNT. */
+  ble_gap_irk_t    ** pp_irks;         /**< Pointer to array of Identity Resolving Key (IRK) pointers, each pointing to an IRK in the whitelist. NULL if none are given. */
+  uint8_t             irk_count;       /**< Count of IRKs in array, up to @ref BLE_GAP_WHITELIST_IRK_MAX_COUNT. */
+} ble_gap_whitelist_t;
+
+
+/**@brief GAP advertising parameters.*/
+typedef struct
+{
+  uint8_t               type;                 /**< See @ref BLE_GAP_ADV_TYPES. */
+  ble_gap_addr_t*       p_peer_addr;          /**< For BLE_GAP_CONN_MODE_DIRECTED mode only, known peer address. */
+  uint8_t               fp;                   /**< Filter Policy, see @ref BLE_GAP_ADV_FILTER_POLICIES. */
+  ble_gap_whitelist_t * p_whitelist;          /**< Pointer to whitelist, NULL if none is given. */
+  uint16_t              interval;             /**< Advertising interval between 0x0020 and 0x4000 in 0.625 ms units (20ms to 10.24s), see @ref BLE_GAP_ADV_INTERVALS. This parameter must be set to 0 if type equals @ref BLE_GAP_ADV_TYPE_ADV_DIRECT_IND. */
+  uint16_t              timeout;              /**< Advertising timeout between 0x0001 and 0x3FFF in seconds, 0x0000 disables timeout. See also @ref BLE_GAP_ADV_TIMEOUT_VALUES. This parameter must be set to 0 if type equals @ref BLE_GAP_ADV_TYPE_ADV_DIRECT_IND. */
+} ble_gap_adv_params_t;
+
+
+/**@brief GAP scanning parameters. */
+typedef struct
+{
+  uint8_t    filter;                    /**< Filter based on discovery mode, see @ref BLE_GAP_DISC_MODES. */
+  uint8_t    active    : 1;             /**< If 1, perform active scanning (scan requests). */
+  uint8_t    selective : 1;             /**< If 1, ignore unknown devices (non whitelisted). */
+  uint16_t   interval;                  /**< Scan interval between 0x0020 and 0x4000 in 0.625ms units (20ms to 10.24s). */
+  uint16_t   window;                    /**< Scan window between 0x0004 and 0x4000 in 0.625ms units (2.5ms to 10.24s). */
+  uint16_t   timeout;                   /**< Scan timeout between 0x0001 and 0x3FFF in seconds, 0x0000 disables timeout. */
+} ble_gap_scan_params_t;
+
+
+/**@brief GAP security parameters. */
+typedef struct
+{
+  uint16_t   timeout;                   /**< Timeout for SMP transactions or Security Request in seconds, see @ref sd_ble_gap_authenticate and @ref sd_ble_gap_sec_params_reply for more information. */
+  uint8_t    bond    : 1;               /**< Perform bonding. */
+  uint8_t    mitm    : 1;               /**< Man In The Middle protection required. */
+  uint8_t    io_caps : 3;               /**< IO capabilities, see @ref BLE_GAP_IO_CAPS. */
+  uint8_t    oob     : 1;               /**< Out Of Band data available. */
+  uint8_t    min_key_size;              /**< Minimum encryption key size in octets between 7 and 16. */
+  uint8_t    max_key_size;              /**< Maximum encryption key size in octets between min_key_size and 16. */
+} ble_gap_sec_params_t;
+
+
+/**@brief GAP Encryption Information. */
+typedef struct
+{
+  uint16_t  div;                        /**< Encryption Diversifier. */
+  uint8_t   ltk[BLE_GAP_SEC_KEY_LEN];   /**< Long Term Key. */
+  uint8_t   auth : 1;                   /**< Authenticated Key. */
+  uint8_t   ltk_len : 7;                /**< LTK length in octets. */
+} ble_gap_enc_info_t;
+
+
+/**@brief GAP Master Identification. */
+typedef struct
+{
+  uint16_t  ediv;                       /**< Encrypted Diversifier. */
+  uint8_t   rand[8];                    /**< Random Number. */
+} ble_gap_master_id_t;
+
+
+/**@brief GAP Identity Information. */
+typedef struct
+{
+  ble_gap_addr_t  addr;                       /**< Bluetooth address to which this key applies. */
+  uint8_t         irk[BLE_GAP_SEC_KEY_LEN];   /**< Identity Resolution Key. */
+} ble_gap_id_info_t;
+
+
+/**@brief GAP Signing Information. */
+typedef struct
+{
+  uint8_t   csrk[BLE_GAP_SEC_KEY_LEN]; /* Connection Signature Resolving Key. */
+} ble_gap_sign_info_t;
+
+
+/**@brief GAP Event IDs.
+ * Those IDs uniquely identify an event coming from the stack to the application.
+ */
+enum BLE_GAP_EVTS
+{
+  BLE_GAP_EVT_CONNECTED  = BLE_GAP_EVT_BASE,    /**< Connection established. */
+  BLE_GAP_EVT_DISCONNECTED,                     /**< Disconnected from peer. */
+  BLE_GAP_EVT_CONN_PARAM_UPDATE,                /**< Connection Parameters updated. */
+  BLE_GAP_EVT_SEC_PARAMS_REQUEST,               /**< Request to provide security parameters. */
+  BLE_GAP_EVT_SEC_INFO_REQUEST,                 /**< Request to provide security information. */
+  BLE_GAP_EVT_PASSKEY_DISPLAY,                  /**< Request to display a passkey to the user. */
+  BLE_GAP_EVT_AUTH_KEY_REQUEST,                 /**< Request to provide an authentication key. */
+  BLE_GAP_EVT_AUTH_STATUS,                      /**< Authentication procedure completed with status. */
+  BLE_GAP_EVT_CONN_SEC_UPDATE,                  /**< Connection security updated. */
+  BLE_GAP_EVT_TIMEOUT,                          /**< Timeout expired. */
+  BLE_GAP_EVT_RSSI_CHANGED,                     /**< Signal strength measurement report. */
+};
+
+
+/**
+ * @brief GAP Option IDs.
+ * IDs that uniquely identify a GAP option.
+ */
+enum BLE_GAP_OPTS
+{
+  BLE_GAP_OPT_LOCAL_CONN_LATENCY  = BLE_GAP_OPT_BASE,    /**< Local connection latency. */
+  BLE_GAP_OPT_PASSKEY,                                   /**< Set passkey to be used during pairing. This option can be used to make the SoftDevice use an application provided passkey instead of generating a random passkey.*/
+  BLE_GAP_OPT_PRIVACY,                                   /**< Set or get custom IRK or custom private address cycle interval. */
+};
+/**@} */
+
+
+/**@brief Event data for connected event. */
+typedef struct
+{
+  ble_gap_addr_t        peer_addr;              /**< Bluetooth address of the peer device. */
+  uint8_t               irk_match :1;           /**< If 1, peer device's address resolved using an IRK. */
+  uint8_t               irk_match_idx  :7;      /**< Index in IRK list where the address was matched. */
+  ble_gap_conn_params_t conn_params;            /**< GAP Connection Parameters. */
+} ble_gap_evt_connected_t;
+
+
+/**@brief Event data for disconnected event. */
+typedef struct
+{
+  uint8_t reason;                               /**< HCI error code. */
+} ble_gap_evt_disconnected_t;
+
+
+/**@brief Event data for connection parameter update event. */
+typedef struct
+{
+  ble_gap_conn_params_t conn_params;            /**<  GAP Connection Parameters. */
+} ble_gap_evt_conn_param_update_t;
+
+
+/**@brief Event data for security parameters request event. */
+typedef struct
+{
+  ble_gap_sec_params_t peer_params;             /**< Initiator Security Parameters. */
+} ble_gap_evt_sec_params_request_t;
+
+
+/**@brief Event data for security info request event. */
+typedef struct
+{
+  ble_gap_addr_t peer_addr;                     /**< Bluetooth address of the peer device. */
+  uint16_t       div;                           /**< Encryption diversifier for LTK lookup. */
+  uint8_t        enc_info  : 1;                 /**< If 1, Encryption Information required. */
+  uint8_t        id_info   : 1;                 /**< If 1, Identity Information required. */
+  uint8_t        sign_info : 1;                 /**< If 1, Signing Information required. */
+} ble_gap_evt_sec_info_request_t;
+
+
+/**@brief Event data for passkey display event. */
+typedef struct
+{
+  uint8_t passkey[BLE_GAP_PASSKEY_LEN];         /**< 6-digit passkey in ASCII ('0'-'9' digits only). */
+} ble_gap_evt_passkey_display_t;
+
+
+/**@brief Event data for authentication key request event. */
+typedef struct
+{
+  uint8_t key_type;                             /**< See @ref BLE_GAP_AUTH_KEY_TYPES. */
+} ble_gap_evt_auth_key_request_t;
+
+
+/**@brief Security levels supported.
+ * @note See Bluetooth Specification Version 4.1 Volume 3, Part C, Chapter 10.
+*/
+typedef struct
+{
+  uint8_t lv1 : 1;                              /**< If 1: Level 1 is supported. */
+  uint8_t lv2 : 1;                              /**< If 1: Level 2 is supported. */
+  uint8_t lv3 : 1;                              /**< If 1: Level 3 is supported. */
+} ble_gap_sec_levels_t;
+
+
+/**@brief Keys that have been exchanged. */
+typedef struct
+{
+  uint8_t ltk       : 1;                        /**< Long Term Key. */
+  uint8_t ediv_rand : 1;                        /**< Encrypted Diversifier and Random value. */
+  uint8_t irk       : 1;                        /**< Identity Resolving Key. */
+  uint8_t address   : 1;                        /**< Public or static random address. */
+  uint8_t csrk      : 1;                        /**< Connection Signature Resolving Key. */
+} ble_gap_sec_keys_t;
+
+
+/**@brief Event data for authentication status event. */
+typedef struct
+{
+  uint8_t               auth_status;            /**< Authentication status, see @ref BLE_GAP_SEC_STATUS. */
+  uint8_t               error_src;              /**< On error, source that caused the failure, see @ref BLE_GAP_SEC_STATUS_SOURCES. */
+  ble_gap_sec_levels_t  sm1_levels;             /**< Levels supported in Security Mode 1. */
+  ble_gap_sec_levels_t  sm2_levels;             /**< Levels supported in Security Mode 2. */
+  ble_gap_sec_keys_t    periph_kex;             /**< Bitmap stating which keys were exchanged (distributed) by the peripheral. */
+  ble_gap_sec_keys_t    central_kex;            /**< Bitmap stating which keys were exchanged (distributed) by the central. */
+  struct periph_keys_t
+  {
+    ble_gap_enc_info_t    enc_info;             /**< Peripheral's Encryption information. */
+  } periph_keys;                                /**< Actual keys distributed from the Peripheral to the Central. */ 
+  struct central_keys_t
+  {
+    ble_gap_irk_t         irk;                  /**< Central's IRK. */
+    ble_gap_addr_t        id_info;              /**< Central's Identity Info. */
+  } central_keys;                               /**< Actual keys distributed from the Central to the Peripheral. */
+} ble_gap_evt_auth_status_t;
+
+
+/**@brief Event data for connection security update event. */
+typedef struct
+{
+  ble_gap_conn_sec_t conn_sec;                  /**< Connection security level. */
+} ble_gap_evt_conn_sec_update_t;
+
+
+/**@brief Event data for timeout event. */
+typedef struct
+{
+  uint8_t src;                                  /**< Source of timeout event, see @ref BLE_GAP_TIMEOUT_SOURCES. */
+} ble_gap_evt_timeout_t;
+
+
+/**@brief Event data for advertisement report event. */
+typedef struct
+{
+  int8_t  rssi;                               /**< Received Signal Strength Indication in dBm. */
+} ble_gap_evt_rssi_changed_t;
+
+
+/**@brief GAP event callback event structure. */
+typedef struct
+{
+  uint16_t conn_handle;                                     /**< Connection Handle on which event occured. */
+  union                                                     /**< union alternative identified by evt_id in enclosing struct. */
+  {
+    ble_gap_evt_connected_t          connected;             /**< Connected Event Parameters. */
+    ble_gap_evt_disconnected_t       disconnected;          /**< Disconnected Event Parameters. */
+    ble_gap_evt_conn_param_update_t  conn_param_update;     /**< Connection Parameter Update Parameters. */
+    ble_gap_evt_sec_params_request_t sec_params_request;    /**< Security Parameters Request Event Parameters. */
+    ble_gap_evt_sec_info_request_t   sec_info_request;      /**< Security Information Request Event Parameters. */
+    ble_gap_evt_passkey_display_t    passkey_display;       /**< Passkey Display Event Parameters. */
+    ble_gap_evt_auth_key_request_t   auth_key_request;      /**< Authentication Key Request Event Parameters. */
+    ble_gap_evt_auth_status_t        auth_status;           /**< Authentication Status Event Parameters. */
+    ble_gap_evt_conn_sec_update_t    conn_sec_update;       /**< Connection Security Update Event Parameters. */
+    ble_gap_evt_timeout_t            timeout;               /**< Timeout Event Parameters. */
+    ble_gap_evt_rssi_changed_t       rssi_changed;          /**< RSSI Event parameters. */
+  } params;
+
+} ble_gap_evt_t;
+
+
+/**@brief Local connection latency option.
+ *
+ *         Local connection latency is a feature which enables the slave to improve
+ *         current consumption by ignoring the slave latency set by the peer. The
+ *         local connection latency can only be set to a multiple of the slave latency,
+ *         and cannot be longer than half of the supervision timeout.
+ *
+ *         Used with @ref sd_ble_opt_set to set the local connection latency. The
+ *         @ref sd_ble_opt_get is not supported for this option, but the actual 
+ *         local connection latency (unless set to NULL) is set as a return parameter
+ *         when setting the option.
+ *
+ *  @note  The latency set will be truncated down to the closest slave latency event
+ *         multiple, or the nearest multiple before half of the supervision timeout.
+ *
+ *  @note  The local connection latency is default off, and needs to be set for new
+ *         connections and whenever the connection is updated.
+ *
+ *  @retval ::NRF_SUCCESS Set successfully.
+ *  @retval ::NRF_ERROR_NOT_SUPPORTED Get is not supported.
+ *  @retval ::BLE_ERROR_INVALID_CONN_HANDLE Invalid connection handle parameter.
+ */
+typedef struct
+{
+  uint16_t   conn_handle;                       /**< Connection Handle */
+  uint16_t   requested_latency;                 /**< Requested local connection latency. */
+  uint16_t * p_actual_latency;                  /**< Pointer to storage for the actual local connection latency (can be set to NULL to skip return value). */
+} ble_gap_opt_local_conn_latency_t;
+
+
+/**@brief Passkey Option.
+ *
+ *        Structure containing the passkey to be used during pairing. This can be used with @ref
+ *        sd_ble_opt_set to make the SoftDevice use a pre-programmed passkey for authentication
+ *        instead of generating a random one.
+ *
+ * @note  @ref sd_ble_opt_get is not supported for this option.
+ *
+ */
+typedef struct
+{
+  uint8_t * p_passkey;                          /**< Pointer to 6-digit ASCII string (digit 0..9 only, no NULL termination) passkey to be used during pairing. If this is NULL, the SoftDevice will generate a random passkey if required.*/
+} ble_gap_opt_passkey_t;
+
+
+/**@brief Custom Privacy Options.
+ *
+ * @note The specified address cycle interval is used when the address cycle mode is
+ * @ref BLE_GAP_ADDR_CYCLE_MODE_AUTO. If 0 is given, the address will not be refreshed at any
+ * interval, and not at start of advertising. A new address can be generated manually by calling
+ * @ref sd_ble_gap_address_set with the same type again. The default interval is
+ * @ref BLE_GAP_DEFAULT_PRIVATE_ADDR_CYCLE_INTERVAL_S.
+ *
+ * @note If cycle mode is @ref BLE_GAP_ADDR_CYCLE_MODE_AUTO, the address will immediately be
+ * refreshed when this option is set.
+ */
+typedef struct
+{
+  ble_gap_irk_t * p_irk;        /**< When input: Pointer to custom IRK, or NULL to use/reset to the device's default IRK. When output: Pointer to where the current IRK is to be stored, or NULL to not read out the IRK. */
+  uint16_t        interval_s;   /**< When input: Custom private address cycle interval in seconds. When output: The current private address cycle interval. */
+} ble_gap_opt_privacy_t;
+
+
+/**@brief Option structure for GAP options. */
+typedef union
+{
+  ble_gap_opt_local_conn_latency_t local_conn_latency;  /**< Local connection latency. */
+  ble_gap_opt_passkey_t            passkey;             /**< Passkey to be used for pairing.*/
+  ble_gap_opt_privacy_t            privacy;             /**< Custom privacy options. */
+} ble_gap_opt_t;
+/**@} */
+
+
+/**@addtogroup BLE_GAP_FUNCTIONS Functions
+ * @{ */
+
+/**@brief Set local Bluetooth address.
+ *
+ * If the address cycle mode is @ref BLE_GAP_ADDR_CYCLE_MODE_AUTO, the address type is required to
+ * be @ref BLE_GAP_ADDR_TYPE_RANDOM_PRIVATE_RESOLVABLE or
+ * @ref BLE_GAP_ADDR_TYPE_RANDOM_PRIVATE_NON_RESOLVABLE. The given address is ignored and the
+ * SoftDevice will generate a new private address automatically every time advertising is
+ * (re)started, and every @ref BLE_GAP_DEFAULT_PRIVATE_ADDR_CYCLE_INTERVAL_S seconds. If this API
+ * call is used again with the same parameters while advertising, the SoftDevice will immediately
+ * generate a new private address to replace the current address.
+ *
+ * If the application wishes to use a @ref BLE_GAP_ADDR_TYPE_PUBLIC or
+ * @ref BLE_GAP_ADDR_TYPE_RANDOM_STATIC address, the cycle mode must be
+ * @ref BLE_GAP_ADDR_CYCLE_MODE_NONE.
+ *
+ * If this API function is called while advertising, the softdevice will immediately update the
+ * advertising address without the need to stop advertising in the following cases:
+ *   - If the previously set address is of type @ref BLE_GAP_ADDR_TYPE_PUBLIC and the new address
+ *   is also of type @ref BLE_GAP_ADDR_TYPE_PUBLIC
+ *   - If the previously set address is not @ref BLE_GAP_ADDR_TYPE_PUBLIC and the new address is
+ *   also not @ref BLE_GAP_ADDR_TYPE_PUBLIC.
+ *
+ * If the address is changed from a @ref BLE_GAP_ADDR_TYPE_PUBLIC address to another type or from
+ * another type to a @ref BLE_GAP_ADDR_TYPE_PUBLIC address, the change will take effect the next
+ * time advertising is started.
+ *
+ * @note If the address cycle mode is @ref BLE_GAP_ADDR_CYCLE_MODE_NONE and the application is
+ *       using privacy, the application must take care to generate and set new private addresses
+ *       periodically to comply with the Privacy specification in Bluetooth Core Spec.
+ *
+ * @param[in] addr_cycle_mode Address cycle mode, see @ref BLE_GAP_ADDR_CYCLE_MODES.
+ * @param[in] p_addr          Pointer to address structure.
+ *
+ * @return @ref NRF_SUCCESS Address successfully set.
+ * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
+ * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameters.
+ * @return @ref BLE_ERROR_GAP_INVALID_BLE_ADDR Invalid address.
+ * @return @ref NRF_ERROR_BUSY The stack is busy, process pending events and retry.
+ */
+SVCALL(SD_BLE_GAP_ADDRESS_SET, uint32_t, sd_ble_gap_address_set(uint8_t addr_cycle_mode, ble_gap_addr_t const * const p_addr));
+
+
+/**@brief Get local Bluetooth address.
+ *
+ * @param[out] p_addr Pointer to address structure.
+ *
+ * @return @ref NRF_SUCCESS Address successfully retrieved.
+ * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
+ */
+SVCALL(SD_BLE_GAP_ADDRESS_GET, uint32_t, sd_ble_gap_address_get(ble_gap_addr_t * const p_addr));
+
+
+/**@brief Set, clear or update advertisement and scan response data.
+ *
+ * @note The format of the advertisement data will be checked by this call to ensure interoperability.
+ *       Limitations imposed by this API call to the data provided include having a flags data type in the scan response data and
+ *       duplicating the local name in the advertisement data and scan response data. 
+ *
+ * @note: To clear the advertisement data and set it to a 0-length packet, simply provide a valid pointer (p_data/p_sr_data) with its corresponding 
+ *        length (dlen/srdlen) set to 0.
+ *
+ * @note: The call will fail if p_data and p_sr_data are both NULL since this would have no effect.
+ *
+ * @param[in] p_data    Raw data to be placed in advertisement packet. If NULL, no changes are made to the current advertisement packet data.
+ * @param[in] dlen      Data length for p_data. Max size: @ref BLE_GAP_ADV_MAX_SIZE octets. Should be 0 if p_data is NULL, can be 0 if p_data is not NULL.
+ * @param[in] p_sr_data Raw data to be placed in scan response packet. If NULL, no changes are made to the current scan response packet data.
+ * @param[in] srdlen    Data length for p_sr_data. Max size: @ref BLE_GAP_ADV_MAX_SIZE octets. Should be 0 if p_sr_data is NULL, can be 0 if p_data is not NULL.
+ *
+ * @return @ref NRF_SUCCESS Advertisement data successfully updated or cleared.
+ * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
+ * @return @ref NRF_ERROR_INVALID_FLAGS Invalid combination of advertising flags supplied.
+ * @return @ref NRF_ERROR_INVALID_DATA Invalid data type(s) supplied, check the advertising data format specification.
+ * @return @ref NRF_ERROR_INVALID_LENGTH Invalid data length(s) supplied.
+ * @return @ref BLE_ERROR_GAP_UUID_LIST_MISMATCH Invalid UUID list supplied.
+ * @return @ref NRF_ERROR_BUSY The stack is busy, process pending events and retry.
+ */
+SVCALL(SD_BLE_GAP_ADV_DATA_SET, uint32_t, sd_ble_gap_adv_data_set(uint8_t const * const p_data, uint8_t dlen, uint8_t const * const p_sr_data, uint8_t srdlen));
+
+
+/**@brief Start advertising (GAP Discoverable, Connectable modes, Broadcast Procedure).
+ *
+ * @param[in] p_adv_params Pointer to advertising parameters structure.
+ *
+ * @return @ref NRF_SUCCESS The BLE stack has started advertising.
+ * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
+ * @return @ref NRF_ERROR_INVALID_STATE Invalid state to perform operation.
+ * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied, check the accepted ranges and limits.
+ * @return @ref BLE_ERROR_GAP_INVALID_BLE_ADDR Invalid Bluetooth address supplied.
+ * @return @ref BLE_ERROR_GAP_DISCOVERABLE_WITH_WHITELIST Discoverable mode and whitelist incompatible.
+ */
+SVCALL(SD_BLE_GAP_ADV_START, uint32_t, sd_ble_gap_adv_start(ble_gap_adv_params_t const * const p_adv_params));
+
+
+/**@brief Stop advertising (GAP Discoverable, Connectable modes, Broadcast Procedure).
+ *
+ * @return @ref NRF_SUCCESS The BLE stack has stopped advertising.
+ * @return @ref NRF_ERROR_INVALID_STATE Invalid state to perform operation (most probably not in advertising state).
+ */
+SVCALL(SD_BLE_GAP_ADV_STOP, uint32_t, sd_ble_gap_adv_stop(void));
+
+
+/**@brief Update connection parameters.
+ *
+ * @details In the central role this will initiate a Link Layer connection parameter update procedure,
+ *          otherwise in the peripheral role, this will send the corresponding L2CAP request and wait for
+ *          the central to perform the procedure. In both cases, and regardless of success or failure, the application
+ *          will be informed of the result with a @ref BLE_GAP_EVT_CONN_PARAM_UPDATE event.
+ *
+ * @note If both a connection supervision timeout and a maximum connection interval are specified, then the following constraint
+ *       applies: (conn_sup_timeout * 8) >= (max_conn_interval * (slave_latency + 1))
+ *
+ * @param[in] conn_handle Connection handle.
+ * @param[in] p_conn_params  Pointer to desired connection parameters. If NULL is provided on a peripheral role,
+ *                           the parameters in the PPCP characteristic of the GAP service will be used instead.
+ *
+ * @return @ref NRF_SUCCESS The Connection Update procedure has been started successfully.
+ * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
+ * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied, check parameter limits and constraints.
+ * @return @ref NRF_ERROR_BUSY Procedure already in progress or not allowed at this time, process pending events and retry.
+ * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid connection handle supplied.
+ * @return @ref NRF_ERROR_NO_MEM Not enough memory to complete operation.
+ */
+SVCALL(SD_BLE_GAP_CONN_PARAM_UPDATE, uint32_t, sd_ble_gap_conn_param_update(uint16_t conn_handle, ble_gap_conn_params_t const * const p_conn_params));
+
+
+/**@brief Disconnect (GAP Link Termination).
+ *
+ * @details This call initiates the disconnection procedure, and its completion will be communicated to the application
+ *          with a BLE_GAP_EVT_DISCONNECTED event.
+ *
+ * @param[in] conn_handle Connection handle.
+ * @param[in] hci_status_code HCI status code, see @ref BLE_HCI_STATUS_CODES (accepted values are BTLE_REMOTE_USER_TERMINATED_CONNECTION and BTLE_CONN_INTERVAL_UNACCEPTABLE).
+ *
+ * @return @ref NRF_SUCCESS The disconnection procedure has been started successfully.
+ * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied.
+ * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid connection handle supplied.
+ * @return @ref NRF_ERROR_INVALID_STATE Invalid state to perform operation (disconnection is already in progress or not connected at all).
+ */
+SVCALL(SD_BLE_GAP_DISCONNECT, uint32_t, sd_ble_gap_disconnect(uint16_t conn_handle, uint8_t hci_status_code));
+
+
+/**@brief Set the radio's transmit power.
+ *
+ * @param[in] tx_power Radio transmit power in dBm (accepted values are -40, -30, -20, -16, -12, -8, -4, 0, and 4 dBm).
+ *
+ * @note -40 dBm will not actually give -40 dBm, but will instead be remapped to -30 dBm.
+ *
+ * @return @ref NRF_SUCCESS Successfully changed the transmit power.
+ * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied.
+ * @return @ref NRF_ERROR_BUSY The stack is busy, process pending events and retry.
+ */
+SVCALL(SD_BLE_GAP_TX_POWER_SET, uint32_t, sd_ble_gap_tx_power_set(int8_t tx_power));
+
+
+/**@brief Set GAP Appearance value.
+ *
+ * @param[in] appearance Appearance (16-bit), see @ref BLE_APPEARANCES.
+ *
+ * @return @ref NRF_SUCCESS  Appearance value set successfully.
+ * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied.
+ */
+SVCALL(SD_BLE_GAP_APPEARANCE_SET, uint32_t, sd_ble_gap_appearance_set(uint16_t appearance));
+
+
+/**@brief Get GAP Appearance value.
+ *
+ * @param[out] p_appearance Appearance (16-bit), see @ref BLE_APPEARANCES.
+ *
+ * @return @ref NRF_SUCCESS Appearance value retrieved successfully.
+ * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
+ */
+SVCALL(SD_BLE_GAP_APPEARANCE_GET, uint32_t, sd_ble_gap_appearance_get(uint16_t * const p_appearance));
+
+
+/**@brief Set GAP Peripheral Preferred Connection Parameters.
+ *
+ * @param[in] p_conn_params Pointer to a @ref ble_gap_conn_params_t structure with the desired parameters.
+ *
+ * @return @ref NRF_SUCCESS Peripheral Preferred Connection Parameters set successfully.
+ * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
+ * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied.
+ */
+SVCALL(SD_BLE_GAP_PPCP_SET, uint32_t, sd_ble_gap_ppcp_set(ble_gap_conn_params_t const * const p_conn_params));
+
+
+/**@brief Get GAP Peripheral Preferred Connection Parameters.
+ *
+ * @param[out] p_conn_params Pointer to a @ref ble_gap_conn_params_t structure where the parameters will be stored.
+ *
+ * @return @ref NRF_SUCCESS Peripheral Preferred Connection Parameters retrieved successfully.
+ * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
+ */
+SVCALL(SD_BLE_GAP_PPCP_GET, uint32_t, sd_ble_gap_ppcp_get(ble_gap_conn_params_t * const p_conn_params));
+
+
+/**@brief Set GAP device name.
+ *
+ * @param[in] p_write_perm Write permissions for the Device Name characteristic see @ref ble_gap_conn_sec_mode_t.
+ * @param[in] p_dev_name Pointer to a UTF-8 encoded, <b>non NULL-terminated</b> string.
+ * @param[in] len   Length of the UTF-8, <b>non NULL-terminated</b> string pointed to by p_dev_name in octets (must be smaller or equal than @ref BLE_GAP_DEVNAME_MAX_LEN).
+ *
+ * @return @ref NRF_SUCCESS GAP device name and permissions set successfully.
+ * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
+ * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied.
+ * @return @ref NRF_ERROR_DATA_SIZE Invalid data size(s) supplied.
+ */
+SVCALL(SD_BLE_GAP_DEVICE_NAME_SET, uint32_t, sd_ble_gap_device_name_set(ble_gap_conn_sec_mode_t const * const p_write_perm, uint8_t const * const p_dev_name, uint16_t len));
+
+
+/**@brief Get GAP device name.
+ *
+ * @param[in]     p_dev_name Pointer to an empty buffer where the UTF-8 <b>non NULL-terminated</b> string will be placed. Set to NULL to obtain the complete device name length.
+ * @param[in,out] p_len      Length of the buffer pointed by p_dev_name, complete device name length on output.
+ *
+ * @note          If the device name is longer than the size of the supplied buffer,
+ *                p_len will return the complete device name length,
+ *                and not the number of bytes actually returned in p_dev_name.
+ *                The application may use this information to allocate a suitable buffer size.
+ *
+ * @return @ref NRF_SUCCESS GAP device name retrieved successfully.
+ * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
+ * @return @ref NRF_ERROR_DATA_SIZE Invalid data size(s) supplied.
+ */
+SVCALL(SD_BLE_GAP_DEVICE_NAME_GET, uint32_t, sd_ble_gap_device_name_get(uint8_t * const p_dev_name, uint16_t * const p_len));
+
+
+/**@brief Initiate GAP Authentication procedure.
+ *
+ * @param[in] conn_handle Connection handle.
+ * @param[in] p_sec_params Pointer to the @ref ble_gap_sec_params_t structure with the security parameters to be used during the pairing procedure.
+ *
+ * @details In the central role, this function will send an SMP Pairing Request, otherwise in the peripheral role, an SMP Security Request will be sent.
+ *          In the peripheral role, only the timeout, bond and mitm fields of @ref ble_gap_sec_params_t are used.
+ *
+ * @note    The GAP Authentication procedure may be triggered by the central without calling this function when accessing a secure service.
+ * @note    Calling this function may result in the following events depending on the outcome and parameters: @ref BLE_GAP_EVT_SEC_PARAMS_REQUEST,
+ *          @ref BLE_GAP_EVT_SEC_INFO_REQUEST, @ref BLE_GAP_EVT_AUTH_KEY_REQUEST, @ref BLE_GAP_EVT_AUTH_STATUS.
+ * @note    The timeout parameter in @ref ble_gap_sec_params_t is interpreted here as the Security Request timeout
+ *
+ *
+ * @return @ref NRF_SUCCESS Successfully initiated authentication procedure.
+ * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
+ * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied.
+ * @return @ref NRF_ERROR_INVALID_STATE Invalid state to perform operation.
+ * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid connection handle supplied.
+ */
+SVCALL(SD_BLE_GAP_AUTHENTICATE, uint32_t, sd_ble_gap_authenticate(uint16_t conn_handle, ble_gap_sec_params_t const * const p_sec_params));
+
+
+/**@brief Reply with GAP security parameters.
+ *
+ * @param[in] conn_handle Connection handle.
+ * @param[in] sec_status Security status, see @ref BLE_GAP_SEC_STATUS.
+ * @param[in] p_sec_params Pointer to a @ref ble_gap_sec_params_t security parameters structure.
+ *
+ * @details This function is only used to reply to a @ref BLE_GAP_EVT_SEC_PARAMS_REQUEST, calling it at other times will result in an NRF_ERROR_INVALID_STATE.
+ * @note    If the call returns an error code, the request is still pending, and the reply call may be repeated with corrected parameters.
+ * @note    The timeout parameter in @ref ble_gap_sec_params_t is interpreted here as the SMP procedure timeout, and must be 30 seconds. The function will fail
+ *          if the application supplies a different value.
+ *
+ * @return @ref NRF_SUCCESS Successfully accepted security parameter from the application.
+ * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
+ * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied.
+ * @return @ref NRF_ERROR_INVALID_STATE Invalid state to perform operation.
+ * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid connection handle supplied.
+ */
+SVCALL(SD_BLE_GAP_SEC_PARAMS_REPLY, uint32_t, sd_ble_gap_sec_params_reply(uint16_t conn_handle, uint8_t sec_status, ble_gap_sec_params_t const * const p_sec_params));
+
+
+/**@brief Reply with an authentication key.
+ *
+ * @param[in] conn_handle Connection handle.
+ * @param[in] key_type See @ref BLE_GAP_AUTH_KEY_TYPES.
+ * @param[in] key If key type is BLE_GAP_AUTH_KEY_TYPE_NONE, then NULL.
+ *                If key type is BLE_GAP_AUTH_KEY_TYPE_PASSKEY, then a 6-byte ASCII string (digit 0..9 only, no NULL termination).
+ *                If key type is BLE_GAP_AUTH_KEY_TYPE_OOB, then a 16-byte OOB key value in Little Endian format.
+ *
+ * @details This function is only used to reply to a @ref BLE_GAP_EVT_AUTH_KEY_REQUEST, calling it at other times will result in an NRF_ERROR_INVALID_STATE.
+ * @note    If the call returns an error code, the request is still pending, and the reply call may be repeated with corrected parameters.
+ *
+ * @return @ref NRF_SUCCESS Authentication key successfully set.
+ * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
+ * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied.
+ * @return @ref NRF_ERROR_INVALID_STATE Invalid state to perform operation.
+ * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid connection handle supplied.
+ */
+SVCALL(SD_BLE_GAP_AUTH_KEY_REPLY, uint32_t, sd_ble_gap_auth_key_reply(uint16_t conn_handle, uint8_t key_type, uint8_t const * const key));
+
+
+/**@brief Reply with GAP security information.
+ *
+ * @param[in] conn_handle Connection handle.
+ * @param[in] p_enc_info Pointer to a @ref ble_gap_enc_info_t encryption information structure. May be NULL to signal none is available.
+ * @param[in] p_sign_info Pointer to a @ref ble_gap_sign_info_t signing information structure. May be NULL to signal none is available.
+ *
+ * @details This function is only used to reply to a @ref BLE_GAP_EVT_SEC_INFO_REQUEST, calling it at other times will result in NRF_ERROR_INVALID_STATE.
+ * @note    If the call returns an error code, the request is still pending, and the reply call may be repeated with corrected parameters.
+ * @note    Data signing is not implemented yet. p_sign_info must therefore be NULL.
+ *
+ * @return @ref NRF_SUCCESS Successfully accepted security information.
+ * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied.
+ * @return @ref NRF_ERROR_INVALID_STATE Invalid state to perform operation.
+ * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid connection handle supplied.
+ * @return @ref NRF_ERROR_BUSY The stack is busy, process pending events and retry.
+ */
+SVCALL(SD_BLE_GAP_SEC_INFO_REPLY, uint32_t, sd_ble_gap_sec_info_reply(uint16_t conn_handle, ble_gap_enc_info_t const * const p_enc_info, ble_gap_sign_info_t const * const p_sign_info));
+
+
+/**@brief Get the current connection security.
+ *
+ * @param[in]  conn_handle Connection handle.
+ * @param[out] p_conn_sec  Pointer to a @ref ble_gap_conn_sec_t structure to be filled in.
+ *
+ * @return @ref NRF_SUCCESS Current connection security successfully retrieved.
+ * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
+ * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid connection handle supplied.
+ */
+SVCALL(SD_BLE_GAP_CONN_SEC_GET, uint32_t, sd_ble_gap_conn_sec_get(uint16_t conn_handle, ble_gap_conn_sec_t * const p_conn_sec));
+
+
+/**@brief Start reporting the received signal strength to the application. 
+ *
+ * A new event is reported whenever the RSSI value changes, until @ref sd_ble_gap_rssi_stop is called.
+ *
+ * @param[in] conn_handle Connection handle.
+ *
+ * @return @ref NRF_SUCCESS Successfully activated RSSI reporting.
+ * @return @ref NRF_ERROR_INVALID_STATE Invalid state to perform operation.
+ * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid connection handle supplied.
+ */
+SVCALL(SD_BLE_GAP_RSSI_START, uint32_t, sd_ble_gap_rssi_start(uint16_t conn_handle));
+
+
+/**@brief Stop reporting the received singnal strength. 
+ *
+ * An RSSI change detected before the call but not yet received by the application 
+ * may be reported after @ref sd_ble_gap_rssi_stop has been called.
+ *
+ * @param[in] conn_handle Connection handle.
+ *
+ * @return @ref NRF_SUCCESS Successfully deactivated RSSI reporting.
+ * @return @ref NRF_ERROR_INVALID_STATE Invalid state to perform operation.
+ * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid connection handle supplied.
+ */
+SVCALL(SD_BLE_GAP_RSSI_STOP, uint32_t, sd_ble_gap_rssi_stop(uint16_t conn_handle));
+/**@} */
+
+#endif // BLE_GAP_H__
+
+/**
+  @}
+*/
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TARGET_HRM1017/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/ble_gatt.h	Fri Aug 15 15:28:31 2014 +0100
@@ -0,0 +1,171 @@
+/* Copyright (c) 2012 Nordic Semiconductor. All Rights Reserved.
+ *
+ * The information contained herein is confidential property of Nordic Semiconductor. The use,
+ * copying, transfer or disclosure of such information is prohibited except by express written
+ * agreement with Nordic Semiconductor.
+ *
+ */
+ /**
+  @addtogroup BLE_GATT Generic Attribute Profile (GATT) Common
+  @{
+  @brief  Common definitions and prototypes for the GATT interfaces.
+ */
+
+#ifndef BLE_GATT_H__
+#define BLE_GATT_H__
+
+#include "ble_types.h"
+#include "ble_ranges.h"
+
+
+/** @addtogroup BLE_GATT_DEFINES Defines
+ * @{ */
+
+/** @brief Default MTU size. */
+#define GATT_MTU_SIZE_DEFAULT 23
+
+/** @brief Only the default MTU size of 23 is currently supported. */
+#define GATT_RX_MTU 23
+
+
+/**@brief Invalid Attribute Handle. */
+#define BLE_GATT_HANDLE_INVALID            0x0000
+
+/** @defgroup BLE_GATT_TIMEOUT_SOURCES GATT Timeout sources
+ * @{ */
+#define BLE_GATT_TIMEOUT_SRC_PROTOCOL                  0x00 /**< ATT Protocol timeout. */
+/** @} */
+
+/** @defgroup BLE_GATT_WRITE_OPS GATT Write operations
+ * @{ */
+#define BLE_GATT_OP_INVALID                0x00  /**< Invalid Operation. */
+#define BLE_GATT_OP_WRITE_REQ              0x01  /**< Write Request. */
+#define BLE_GATT_OP_WRITE_CMD              0x02  /**< Write Command. */
+#define BLE_GATT_OP_SIGN_WRITE_CMD         0x03  /**< Signed Write Command. */
+#define BLE_GATT_OP_PREP_WRITE_REQ         0x04  /**< Prepare Write Request. */
+#define BLE_GATT_OP_EXEC_WRITE_REQ         0x05  /**< Execute Write Request. */
+/** @} */
+
+/** @defgroup BLE_GATT_EXEC_WRITE_FLAGS GATT Execute Write flags
+ * @{ */
+#define BLE_GATT_EXEC_WRITE_FLAG_PREPARED_CANCEL 0x00
+#define BLE_GATT_EXEC_WRITE_FLAG_PREPARED_WRITE  0x01
+/** @} */
+
+/** @defgroup BLE_GATT_HVX_TYPES GATT Handle Value operations
+ * @{ */
+#define BLE_GATT_HVX_INVALID               0x00  /**< Invalid Operation. */
+#define BLE_GATT_HVX_NOTIFICATION          0x01  /**< Handle Value Notification. */
+#define BLE_GATT_HVX_INDICATION            0x02  /**< Handle Value Indication. */
+/** @} */
+
+/** @defgroup BLE_GATT_STATUS_CODES GATT Status Codes
+ * @{ */
+#define BLE_GATT_STATUS_SUCCESS                           0x0000  /**< Success. */
+#define BLE_GATT_STATUS_UNKNOWN                           0x0001  /**< Unknown or not applicable status. */
+#define BLE_GATT_STATUS_ATTERR_INVALID                    0x0100  /**< ATT Error: Invalid Error Code. */
+#define BLE_GATT_STATUS_ATTERR_INVALID_HANDLE             0x0101  /**< ATT Error: Invalid Attribute Handle. */
+#define BLE_GATT_STATUS_ATTERR_READ_NOT_PERMITTED         0x0102  /**< ATT Error: Read not permitted. */
+#define BLE_GATT_STATUS_ATTERR_WRITE_NOT_PERMITTED        0x0103  /**< ATT Error: Write not permitted. */
+#define BLE_GATT_STATUS_ATTERR_INVALID_PDU                0x0104  /**< ATT Error: Used in ATT as Invalid PDU. */
+#define BLE_GATT_STATUS_ATTERR_INSUF_AUTHENTICATION       0x0105  /**< ATT Error: Authenticated link required. */
+#define BLE_GATT_STATUS_ATTERR_REQUEST_NOT_SUPPORTED      0x0106  /**< ATT Error: Used in ATT as Request Not Supported. */
+#define BLE_GATT_STATUS_ATTERR_INVALID_OFFSET             0x0107  /**< ATT Error: Offset specified was past the end of the attribute. */
+#define BLE_GATT_STATUS_ATTERR_INSUF_AUTHORIZATION        0x0108  /**< ATT Error: Used in ATT as Insufficient Authorisation. */
+#define BLE_GATT_STATUS_ATTERR_PREPARE_QUEUE_FULL         0x0109  /**< ATT Error: Used in ATT as Prepare Queue Full. */
+#define BLE_GATT_STATUS_ATTERR_ATTRIBUTE_NOT_FOUND        0x010A  /**< ATT Error: Used in ATT as Attribute not found. */
+#define BLE_GATT_STATUS_ATTERR_ATTRIBUTE_NOT_LONG         0x010B  /**< ATT Error: Attribute cannot be read or written using read/write blob requests. */
+#define BLE_GATT_STATUS_ATTERR_INSUF_ENC_KEY_SIZE         0x010C  /**< ATT Error: Encryption key size used is insufficient. */
+#define BLE_GATT_STATUS_ATTERR_INVALID_ATT_VAL_LENGTH     0x010D  /**< ATT Error: Invalid value size. */
+#define BLE_GATT_STATUS_ATTERR_UNLIKELY_ERROR             0x010E  /**< ATT Error: Very unlikely error. */
+#define BLE_GATT_STATUS_ATTERR_INSUF_ENCRYPTION           0x010F  /**< ATT Error: Encrypted link required. */
+#define BLE_GATT_STATUS_ATTERR_UNSUPPORTED_GROUP_TYPE     0x0110  /**< ATT Error: Attribute type is not a supported grouping attribute. */
+#define BLE_GATT_STATUS_ATTERR_INSUF_RESOURCES            0x0111  /**< ATT Error: Encrypted link required. */
+#define BLE_GATT_STATUS_ATTERR_RFU_RANGE1_BEGIN           0x0112  /**< ATT Error: Reserved for Future Use range #1 begin. */
+#define BLE_GATT_STATUS_ATTERR_RFU_RANGE1_END             0x017F  /**< ATT Error: Reserved for Future Use range #1 end. */
+#define BLE_GATT_STATUS_ATTERR_APP_BEGIN                  0x0180  /**< ATT Error: Application range begin. */
+#define BLE_GATT_STATUS_ATTERR_APP_END                    0x019F  /**< ATT Error: Application range end. */
+#define BLE_GATT_STATUS_ATTERR_RFU_RANGE2_BEGIN           0x01A0  /**< ATT Error: Reserved for Future Use range #2 begin. */
+#define BLE_GATT_STATUS_ATTERR_RFU_RANGE2_END             0x01DF  /**< ATT Error: Reserved for Future Use range #2 end. */
+#define BLE_GATT_STATUS_ATTERR_RFU_RANGE3_BEGIN           0x01E0  /**< ATT Error: Reserved for Future Use range #3 begin. */
+#define BLE_GATT_STATUS_ATTERR_RFU_RANGE3_END             0x01FC  /**< ATT Error: Reserved for Future Use range #3 end. */
+#define BLE_GATT_STATUS_ATTERR_CPS_CCCD_CONFIG_ERROR      0x01FD  /**< ATT Common Profile and Service Error: Client Characteristic Configuration Descriptor improperly configured. */
+#define BLE_GATT_STATUS_ATTERR_CPS_PROC_ALR_IN_PROG       0x01FE  /**< ATT Common Profile and Service Error: Procedure Already in Progress. */
+#define BLE_GATT_STATUS_ATTERR_CPS_OUT_OF_RANGE           0x01FF  /**< ATT Common Profile and Service Error: Out Of Range. */
+/** @} */
+
+
+/** @defgroup BLE_GATT_CPF_FORMATS Characteristic Presentation Formats
+ *  @note Found at http://developer.bluetooth.org/gatt/descriptors/Pages/DescriptorViewer.aspx?u=org.bluetooth.descriptor.gatt.characteristic_presentation_format.xml
+ * @{ */
+#define BLE_GATT_CPF_FORMAT_RFU                 0x00 /**< Reserved For Future Use. */
+#define BLE_GATT_CPF_FORMAT_BOOLEAN             0x01 /**< Boolean. */
+#define BLE_GATT_CPF_FORMAT_2BIT                0x02 /**< Unsigned 2-bit integer. */
+#define BLE_GATT_CPF_FORMAT_NIBBLE              0x03 /**< Unsigned 4-bit integer. */
+#define BLE_GATT_CPF_FORMAT_UINT8               0x04 /**< Unsigned 8-bit integer. */
+#define BLE_GATT_CPF_FORMAT_UINT12              0x05 /**< Unsigned 12-bit integer. */
+#define BLE_GATT_CPF_FORMAT_UINT16              0x06 /**< Unsigned 16-bit integer. */
+#define BLE_GATT_CPF_FORMAT_UINT24              0x07 /**< Unsigned 24-bit integer. */
+#define BLE_GATT_CPF_FORMAT_UINT32              0x08 /**< Unsigned 32-bit integer. */
+#define BLE_GATT_CPF_FORMAT_UINT48              0x09 /**< Unsigned 48-bit integer. */
+#define BLE_GATT_CPF_FORMAT_UINT64              0x0A /**< Unsigned 64-bit integer. */
+#define BLE_GATT_CPF_FORMAT_UINT128             0x0B /**< Unsigned 128-bit integer. */
+#define BLE_GATT_CPF_FORMAT_SINT8               0x0C /**< Signed 2-bit integer. */
+#define BLE_GATT_CPF_FORMAT_SINT12              0x0D /**< Signed 12-bit integer. */
+#define BLE_GATT_CPF_FORMAT_SINT16              0x0E /**< Signed 16-bit integer. */
+#define BLE_GATT_CPF_FORMAT_SINT24              0x0F /**< Signed 24-bit integer. */
+#define BLE_GATT_CPF_FORMAT_SINT32              0x10 /**< Signed 32-bit integer. */
+#define BLE_GATT_CPF_FORMAT_SINT48              0x11 /**< Signed 48-bit integer. */
+#define BLE_GATT_CPF_FORMAT_SINT64              0x12 /**< Signed 64-bit integer. */
+#define BLE_GATT_CPF_FORMAT_SINT128             0x13 /**< Signed 128-bit integer. */
+#define BLE_GATT_CPF_FORMAT_FLOAT32             0x14 /**< IEEE-754 32-bit floating point. */
+#define BLE_GATT_CPF_FORMAT_FLOAT64             0x15 /**< IEEE-754 64-bit floating point. */
+#define BLE_GATT_CPF_FORMAT_SFLOAT              0x16 /**< IEEE-11073 16-bit SFLOAT. */
+#define BLE_GATT_CPF_FORMAT_FLOAT               0x17 /**< IEEE-11073 32-bit FLOAT. */
+#define BLE_GATT_CPF_FORMAT_DUINT16             0x18 /**< IEEE-20601 format. */
+#define BLE_GATT_CPF_FORMAT_UTF8S               0x19 /**< UTF-8 string. */
+#define BLE_GATT_CPF_FORMAT_UTF16S              0x1A /**< UTF-16 string. */
+#define BLE_GATT_CPF_FORMAT_STRUCT              0x1B /**< Opaque Structure. */
+/** @} */
+
+/** @defgroup BLE_GATT_CPF_NAMESPACES GATT Bluetooth Namespaces
+ * @{
+ */
+#define BLE_GATT_CPF_NAMESPACE_BTSIG            0x01
+#define BLE_GATT_CPF_NAMESPACE_DESCRIPTION_UNKNOWN 0x0000
+/** @} */
+
+/** @} */
+
+/** @addtogroup BLE_GATT_STRUCTURES Structures
+ * @{ */
+
+/**@brief GATT Characteristic Properties. */
+typedef struct
+{
+  /* Standard properties */
+  uint8_t broadcast       :1; /**< Broadcasting of value permitted. */
+  uint8_t read            :1; /**< Reading value permitted. */
+  uint8_t write_wo_resp   :1; /**< Writing value with Write Command permitted. */
+  uint8_t write           :1; /**< Writing value with Write Request permitted. */
+  uint8_t notify          :1; /**< Notications of value permitted. */
+  uint8_t indicate        :1; /**< Indications of value permitted. */
+  uint8_t auth_signed_wr  :1; /**< Writing value with Signed Write Command permitted. */
+} ble_gatt_char_props_t;
+
+/**@brief GATT Characteristic Extended Properties. */
+typedef struct
+{
+  /* Extended properties */
+  uint8_t reliable_wr     :1; /**< Writing value with Queued Write Request permitted. */
+  uint8_t wr_aux          :1; /**< Writing the Characteristic User Description permitted. */
+} ble_gatt_char_ext_props_t;
+
+#endif // BLE_GATT_H__
+
+/** @} */
+
+/**
+  @}
+  @}
+*/
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TARGET_HRM1017/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/ble_gattc.h	Fri Aug 15 15:28:31 2014 +0100
@@ -0,0 +1,406 @@
+/* Copyright (c) 2012 Nordic Semiconductor. All Rights Reserved.
+ *
+ * The information contained herein is confidential property of Nordic Semiconductor. The use,
+ * copying, transfer or disclosure of such information is prohibited except by express written
+ * agreement with Nordic Semiconductor.
+ *
+ */
+/**
+  @addtogroup BLE_GATTC Generic Attribute Profile (GATT) Client
+  @{
+  @brief  Definitions and prototypes for the GATT Client interface.
+ */
+
+#ifndef BLE_GATTC_H__
+#define BLE_GATTC_H__
+
+#include "ble_gatt.h"
+#include "ble_types.h"
+#include "ble_ranges.h"
+#include "nrf_svc.h"
+
+/** @addtogroup BLE_GATTC_ENUMERATIONS Enumerations
+ * @{ */
+
+/**@brief GATTC API SVC numbers. */
+enum BLE_GATTC_SVCS
+{
+  SD_BLE_GATTC_PRIMARY_SERVICES_DISCOVER = BLE_GATTC_SVC_BASE, /**< Primary Service Discovery. */
+  SD_BLE_GATTC_RELATIONSHIPS_DISCOVER,                         /**< Relationship Discovery. */
+  SD_BLE_GATTC_CHARACTERISTICS_DISCOVER,                       /**< Characteristic Discovery. */
+  SD_BLE_GATTC_DESCRIPTORS_DISCOVER,                           /**< Characteristic Descriptor Discovery. */
+  SD_BLE_GATTC_CHAR_VALUE_BY_UUID_READ,                        /**< Read Characteristic Value by UUID. */
+  SD_BLE_GATTC_READ,                                           /**< Generic read. */
+  SD_BLE_GATTC_CHAR_VALUES_READ,                               /**< Read multiple Characteristic Values. */
+  SD_BLE_GATTC_WRITE,                                          /**< Generic write. */
+  SD_BLE_GATTC_HV_CONFIRM                                      /**< Handle Value Confirmation. */
+};
+
+/** @} */
+
+/** @addtogroup BLE_GATTC_DEFINES Defines
+ * @{ */
+
+/** @defgroup BLE_ERRORS_GATTC SVC return values specific to GATTC
+ * @{ */
+#define BLE_ERROR_GATTC_PROC_NOT_PERMITTED    (NRF_GATTC_ERR_BASE + 0x000)
+/** @} */
+
+/**@brief Last Attribute Handle. */
+#define BLE_GATTC_HANDLE_END                0xFFFF
+
+/** @} */
+
+/** @addtogroup BLE_GATTC_STRUCTURES Structures
+ * @{ */
+
+/**@brief Operation Handle Range. */
+typedef struct
+{
+  uint16_t          start_handle; /**< Start Handle. */
+  uint16_t          end_handle;   /**< End Handle. */
+} ble_gattc_handle_range_t;
+
+
+/**@brief GATT service. */
+typedef struct
+{
+  ble_uuid_t               uuid;          /**< Service UUID. */
+  ble_gattc_handle_range_t handle_range;  /**< Service Handle Range. */
+} ble_gattc_service_t;
+
+
+/**@brief  GATT include. */
+typedef struct
+{
+  uint16_t            handle;           /**< Include Handle. */
+  ble_gattc_service_t included_srvc;    /**< Handle of the included service. */
+} ble_gattc_include_t;
+
+
+/**@brief GATT characteristic. */
+typedef struct
+{
+  ble_uuid_t              uuid;                 /**< Characteristic UUID. */
+  ble_gatt_char_props_t   char_props;           /**< Characteristic Properties. */
+  uint8_t                 char_ext_props : 1;   /**< Extended properties present. */
+  uint16_t                handle_decl;          /**< Handle of the Characteristic Declaration. */
+  uint16_t                handle_value;         /**< Handle of the Characteristic Value. */
+} ble_gattc_char_t;
+
+
+/**@brief GATT descriptor. */
+typedef struct
+{
+  uint16_t          handle;         /**< Descriptor Handle. */
+  ble_uuid_t        uuid;           /**< Descriptor UUID. */
+} ble_gattc_desc_t;
+
+
+/**@brief Write Parameters. */
+typedef struct
+{
+  uint8_t    write_op;                 /**< Write Operation to be performed, see @ref BLE_GATT_WRITE_OPS. */
+  uint16_t   handle;                   /**< Handle to the attribute to be written. */
+  uint16_t   offset;                   /**< Offset in bytes. @note For WRITE_CMD and WRITE_REQ, offset must be 0. */
+  uint16_t   len;                      /**< Length of data in bytes. */
+  uint8_t*   p_value;                  /**< Pointer to the value data. */
+  uint8_t    flags;                    /**< Flags, see @ref BLE_GATT_EXEC_WRITE_FLAGS. */
+} ble_gattc_write_params_t;
+
+
+/**
+ * @brief GATT Client Event IDs.
+ */
+enum BLE_GATTC_EVTS
+{
+  BLE_GATTC_EVT_PRIM_SRVC_DISC_RSP = BLE_GATTC_EVT_BASE,  /**< Primary Service Discovery Response event.  */
+  BLE_GATTC_EVT_REL_DISC_RSP,                             /**< Relationship Discovery Response event. */
+  BLE_GATTC_EVT_CHAR_DISC_RSP,                            /**< Characteristic Discovery Response event. */
+  BLE_GATTC_EVT_DESC_DISC_RSP,                            /**< Descriptor Discovery Response event. */
+  BLE_GATTC_EVT_CHAR_VAL_BY_UUID_READ_RSP,                /**< Read By UUID Response event. */
+  BLE_GATTC_EVT_READ_RSP,                                 /**< Read Response event. */
+  BLE_GATTC_EVT_CHAR_VALS_READ_RSP,                       /**< Read multiple Response event. */
+  BLE_GATTC_EVT_WRITE_RSP,                                /**< Write Response event. */
+  BLE_GATTC_EVT_HVX,                                      /**< Handle Value Notification or Indication event. */
+  BLE_GATTC_EVT_TIMEOUT                                   /**< Timeout event. */
+};
+
+/**@brief Event structure for BLE_GATTC_EVT_PRIM_SRVC_DISC_RSP. */
+typedef struct
+{
+  uint16_t             count;           /**< Service count. */
+  ble_gattc_service_t services[1];      /**< Service data, variable length. */
+} ble_gattc_evt_prim_srvc_disc_rsp_t;
+
+/**@brief Event structure for BLE_GATTC_EVT_REL_DISC_RSP. */
+typedef struct
+{
+  uint16_t             count;           /**< Include count. */
+  ble_gattc_include_t includes[1];      /**< Include data, variable length. */
+} ble_gattc_evt_rel_disc_rsp_t;
+
+/**@brief Event structure for BLE_GATTC_EVT_CHAR_DISC_RSP. */
+typedef struct
+{
+  uint16_t            count;          /**< Characteristic count. */
+  ble_gattc_char_t    chars[1];       /**< Characteristic data, variable length. */
+} ble_gattc_evt_char_disc_rsp_t;
+
+/**@brief Event structure for BLE_GATTC_EVT_DESC_DISC_RSP. */
+typedef struct
+{
+  uint16_t            count;          /**< Descriptor count. */
+  ble_gattc_desc_t    descs[1];       /**< Descriptor data, variable length. */
+} ble_gattc_evt_desc_disc_rsp_t;
+
+/**@brief GATT read by UUID handle value pair. */
+typedef struct 
+{
+  uint16_t            handle;          /**< Attribute Handle. */
+  uint8_t             *p_value;        /**< Pointer to value, variable length (length available as value_len in ble_gattc_evt_read_by_uuid_rsp_t). 
+                                            Please note that this pointer is absolute to the memory provided by the user when retrieving the event,
+                                            so it will effectively point to a location inside the handle_value array. */
+} ble_gattc_handle_value_t;
+
+/**@brief Event structure for BLE_GATTC_EVT_CHAR_VAL_BY_UUID_READ_RSP. */
+typedef struct
+{
+  uint16_t                  count;            /**< Handle-Value Pair Count. */
+  uint16_t                  value_len;        /**< Length of the value in Handle-Value(s) list. */
+  ble_gattc_handle_value_t  handle_value[1];  /**< Handle-Value(s) list, variable length. */
+} ble_gattc_evt_char_val_by_uuid_read_rsp_t;
+
+/**@brief Event structure for BLE_GATTC_EVT_READ_RSP. */
+typedef struct
+{
+  uint16_t            handle;         /**< Attribute Handle. */
+  uint16_t            offset;         /**< Offset of the attribute data. */
+  uint16_t            len;            /**< Attribute data length. */
+  uint8_t             data[1];        /**< Attribute data, variable length. */
+} ble_gattc_evt_read_rsp_t;
+
+/**@brief Event structure for BLE_GATTC_EVT_CHAR_VALS_READ_RSP. */
+typedef struct
+{
+  uint16_t            len;            /**< Concatenated Attribute values length. */
+  uint8_t             values[1];      /**< Attribute values, variable length. */
+} ble_gattc_evt_char_vals_read_rsp_t;
+
+/**@brief Event structure for BLE_GATTC_EVT_WRITE_RSP. */
+typedef struct
+{
+  uint16_t            handle;           /**< Attribute Handle. */
+  uint8_t             write_op;         /**< Type of write operation, see @ref BLE_GATT_WRITE_OPS. */
+  uint16_t            offset;           /**< Data Offset. */
+  uint16_t            len;              /**< Data length. */
+  uint8_t             data[1];          /**< Data, variable length. */
+} ble_gattc_evt_write_rsp_t;
+
+/**@brief Event structure for BLE_GATTC_EVT_HVX. */
+typedef struct
+{
+  uint16_t            handle;         /**< Handle to which the HVx operation applies. */
+  uint8_t             type;           /**< Indication or Notification, see @ref BLE_GATT_HVX_TYPES. */
+  uint16_t            len;            /**< Attribute data length. */
+  uint8_t             data[1];        /**< Attribute data, variable length. */
+} ble_gattc_evt_hvx_t;
+
+/**@brief Event structure for BLE_GATTC_EVT_TIMEOUT. */
+typedef struct
+{
+  uint8_t          src;                       /**< Timeout source, see @ref BLE_GATT_TIMEOUT_SOURCES. */
+} ble_gattc_evt_timeout_t;
+
+/**@brief GATTC event type. */
+typedef struct
+{
+  uint16_t            conn_handle;                /**< Connection Handle on which event occured. */
+  uint16_t            gatt_status;                /**< GATT status code for the operation, see @ref BLE_GATT_STATUS_CODES. */
+  uint16_t            error_handle;               /**< In case of error: The handle causing the error. In all other cases BLE_GATT_HANDLE_INVALID. */
+  union
+  {
+    ble_gattc_evt_prim_srvc_disc_rsp_t          prim_srvc_disc_rsp;         /**< Primary Service Discovery Response Event Parameters. */
+    ble_gattc_evt_rel_disc_rsp_t                rel_disc_rsp;               /**< Relationship Discovery Response Event Parameters. */
+    ble_gattc_evt_char_disc_rsp_t               char_disc_rsp;              /**< Characteristic Discovery Response Event Parameters. */
+    ble_gattc_evt_desc_disc_rsp_t               desc_disc_rsp;              /**< Descriptor Discovery Response Event Parameters. */
+    ble_gattc_evt_char_val_by_uuid_read_rsp_t   char_val_by_uuid_read_rsp;  /**< Characteristic Value Read by UUID Response Event Parameters. */
+    ble_gattc_evt_read_rsp_t                    read_rsp;                   /**< Read Response Event Parameters. */
+    ble_gattc_evt_char_vals_read_rsp_t          char_vals_read_rsp;         /**< Characteristic Values Read Response Event Parameters. */
+    ble_gattc_evt_write_rsp_t                   write_rsp;                  /**< Write Response Event Parameters. */
+    ble_gattc_evt_hvx_t                         hvx;                        /**< Handle Value Notification/Indication Event Parameters. */
+    ble_gattc_evt_timeout_t                     timeout;                    /**< Timeout Event Parameters. */
+  } params;                                                                 /**< Event Parameters. @note Only valid if @ref gatt_status == BLE_GATT_STATUS_SUCCESS. */
+} ble_gattc_evt_t;
+/** @} */
+
+/** @addtogroup BLE_GATTC_FUNCTIONS Functions
+ * @{ */
+
+/**@brief Initiate or continue a GATT Primary Service Discovery procedure.
+ *
+ * @details This function initiates a Primary Service discovery, starting from the supplied handle. 
+ *          If the last service has not been reached, this must be called again with an updated start handle value to continue the search.
+ *
+ * @note If any of the discovered services have 128-bit UUIDs which are not present in the table provided to ble_vs_uuids_assign, a UUID structure with
+ *       type BLE_UUID_TYPE_UNKNOWN will be received in the corresponding event.
+ *
+ * @param[in] conn_handle The connection handle identifying the connection to perform this procedure on.
+ * @param[in] start_handle Handle to start searching from.
+ * @param[in] p_srvc_uuid Pointer to the service UUID to be found. If it is NULL, all primary services will be returned.
+ *
+ * @return @ref NRF_SUCCESS Successfully started or resumed the Primary Service Discovery procedure.
+ * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid Connection Handle.
+ * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied.
+ * @return @ref NRF_ERROR_BUSY Client procedure already in progress.
+ */
+SVCALL(SD_BLE_GATTC_PRIMARY_SERVICES_DISCOVER, uint32_t, sd_ble_gattc_primary_services_discover(uint16_t conn_handle, uint16_t start_handle, ble_uuid_t const * const p_srvc_uuid));
+
+
+/**@brief Initiate or continue a GATT Relationship Discovery procedure.
+ *
+ * @details This function initiates the Find Included Services sub-procedure. If the last included service has not been reached,
+ *          this must be called again with an updated handle range to continue the search.
+ *
+ * @param[in] conn_handle The connection handle identifying the connection to perform this procedure on.
+ * @param[in] p_handle_range A pointer to the range of handles of the Service to perform this procedure on.
+ *
+ * @return @ref NRF_SUCCESS Successfully started or resumed the Relationship Discovery procedure.
+ * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid Connection Handle.
+ * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
+ * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied.
+ * @return @ref NRF_ERROR_BUSY Client procedure already in progress.
+ */
+SVCALL(SD_BLE_GATTC_RELATIONSHIPS_DISCOVER, uint32_t, sd_ble_gattc_relationships_discover(uint16_t conn_handle, ble_gattc_handle_range_t const * const p_handle_range));
+
+
+/**@brief Initiate or continue a GATT Characteristic Discovery procedure.
+ *
+ * @details This function initiates a Characteristic discovery procedure. If the last Characteristic has not been reached,
+ *          this must be called again with an updated handle range to continue the discovery.
+ *
+ * @note If any of the discovered characteristics have 128-bit UUIDs which are not present in the table provided to ble_vs_uuids_assign, a UUID structure with
+ *       type BLE_UUID_TYPE_UNKNOWN will be received in the corresponding event.
+ *
+ * @param[in] conn_handle The connection handle identifying the connection to perform this procedure on.
+ * @param[in] p_handle_range A pointer to the range of handles of the Service to perform this procedure on.
+ *
+ * @return @ref NRF_SUCCESS Successfully started or resumed the Characteristic Discovery procedure.
+ * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid Connection Handle.
+ * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
+ * @return @ref NRF_ERROR_BUSY Client procedure already in progress.
+ */
+SVCALL(SD_BLE_GATTC_CHARACTERISTICS_DISCOVER, uint32_t, sd_ble_gattc_characteristics_discover(uint16_t conn_handle, ble_gattc_handle_range_t const * const p_handle_range));
+
+
+/**@brief Initiate or continue a GATT Characteristic Descriptor Discovery procedure.
+ *
+ * @details This function initiates the Characteristic Descriptor discovery procedure. If the last Descriptor has not been reached,
+ *          this must be called again with an updated handle range to continue the discovery.
+ *
+ * @param[in] conn_handle The connection handle identifying the connection to perform this procedure on.
+ * @param[in] p_handle_range A pointer to the range of handles of the Characteristic to perform this procedure on.
+ *
+ * @return @ref NRF_SUCCESS Successfully started or resumed the Descriptor Discovery procedure.
+ * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid Connection Handle.
+ * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
+ * @return @ref NRF_ERROR_BUSY Client procedure already in progress.
+ */
+SVCALL(SD_BLE_GATTC_DESCRIPTORS_DISCOVER, uint32_t, sd_ble_gattc_descriptors_discover(uint16_t conn_handle, ble_gattc_handle_range_t const * const p_handle_range));
+
+
+/**@brief Initiate or continue a GATT Read using Characteristic UUID procedure.
+ *
+ * @details This function initiates the Read using Characteristic UUID procedure. If the last Characteristic has not been reached,
+ *          this must be called again with an updated handle range to continue the discovery.
+ *
+ * @param[in] conn_handle The connection handle identifying the connection to perform this procedure on.
+ * @param[in] p_uuid Pointer to a Characteristic value UUID to read.
+ * @param[in] p_handle_range A pointer to the range of handles to perform this procedure on.
+ *
+ * @return @ref NRF_SUCCESS Successfully started or resumed the Read using Characteristic UUID procedure.
+ * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid Connection Handle.
+ * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
+ * @return @ref NRF_ERROR_BUSY Client procedure already in progress.
+ */
+SVCALL(SD_BLE_GATTC_CHAR_VALUE_BY_UUID_READ, uint32_t, sd_ble_gattc_char_value_by_uuid_read(uint16_t conn_handle, ble_uuid_t const * const p_uuid, ble_gattc_handle_range_t const * const p_handle_range));
+
+
+/**@brief Initiate or continue a GATT Read (Long) Characteristic or Descriptor procedure.
+ *
+ * @details This function initiates a GATT Read (Long) Characteristic or Descriptor procedure. If the Characteristic or Descriptor
+ *          to be read is longer than GATT_MTU - 1, this function must be called multiple times with appropriate offset to read the 
+ *          complete value.
+ *
+ * @param[in] conn_handle The connection handle identifying the connection to perform this procedure on.
+ * @param[in] handle The handle of the attribute to be read.
+ * @param[in] offset Offset into the attribute value to be read.
+ *
+ * @return @ref NRF_SUCCESS Successfully started or resumed the Read (Long) procedure.
+ * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid Connection Handle.
+ * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
+ * @return @ref NRF_ERROR_BUSY Client procedure already in progress.
+ */
+SVCALL(SD_BLE_GATTC_READ, uint32_t, sd_ble_gattc_read(uint16_t conn_handle, uint16_t handle, uint16_t offset));
+
+
+/**@brief Initiate a GATT Read Multiple Characteristic Values procedure.
+ *
+ * @details This function initiates a GATT Read Multiple Characteristic Values procedure. 
+ *
+ * @param[in] conn_handle The connection handle identifying the connection to perform this procedure on.
+ * @param[in] p_handles A pointer to the handle(s) of the attribute(s) to be read.
+ * @param[in] handle_count The number of handles in p_handles.
+ *
+ * @return @ref NRF_SUCCESS Successfully started the Read Multiple Characteristic Values procedure.
+ * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid Connection Handle.
+ * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
+ * @return @ref NRF_ERROR_BUSY Client procedure already in progress.
+ */
+SVCALL(SD_BLE_GATTC_CHAR_VALUES_READ, uint32_t, sd_ble_gattc_char_values_read(uint16_t conn_handle, uint16_t const * const p_handles, uint16_t handle_count));
+
+
+/**@brief Perform a Write (Characteristic Value or Descriptor, with or without response, signed or not, long or reliable) procedure.
+ *
+ * @details This function can perform all write procedures described in GATT. 
+ *
+ * @note    It is important to note that a write without response will <b>consume an application buffer</b>, and will therefore 
+ *          generate a @ref BLE_EVT_TX_COMPLETE event when the packet has been transmitted. A write on the other hand will use the 
+ *          standard client internal buffer and thus will only generate a @ref BLE_GATTC_EVT_WRITE_RSP event as soon as the write response 
+ *          has been received from the peer. Please see the documentation of @ref sd_ble_tx_buffer_count_get for more details.
+ *
+ * @param[in] conn_handle The connection handle identifying the connection to perform this procedure on.
+ * @param[in] p_write_params A pointer to a write parameters structure.
+ *
+ * @return @ref NRF_SUCCESS Successfully started the Write procedure.
+ * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid Connection Handle.
+ * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
+ * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied.
+ * @return @ref NRF_ERROR_DATA_SIZE Invalid data size(s) supplied.
+ * @return @ref NRF_ERROR_BUSY Procedure already in progress.
+ * @return @ref BLE_ERROR_NO_TX_BUFFERS There are no available buffers left.
+ */
+SVCALL(SD_BLE_GATTC_WRITE, uint32_t, sd_ble_gattc_write(uint16_t conn_handle, ble_gattc_write_params_t const * const p_write_params));
+
+
+/**@brief Send a Handle Value Confirmation to the GATT Server.
+ *
+ * @param[in] conn_handle The connection handle identifying the connection to perform this procedure on.
+ * @param[in] handle The handle of the attribute in the indication.
+ *
+ * @return @ref NRF_SUCCESS Successfully queued the Handle Value Confirmation for transmission.
+ * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid Connection Handle.
+ * @return @ref NRF_ERROR_INVALID_STATE No Indication pending to be confirmed.
+ * @return @ref BLE_ERROR_INVALID_ATTR_HANDLE Invalid attribute handle.
+ * @return @ref BLE_ERROR_NO_TX_BUFFERS There are no available buffers left.
+ */
+SVCALL(SD_BLE_GATTC_HV_CONFIRM, uint32_t, sd_ble_gattc_hv_confirm(uint16_t conn_handle, uint16_t handle));
+
+/** @} */
+
+#endif /* BLE_GATTC_H__ */
+
+/**
+  @}
+  @}
+*/
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TARGET_HRM1017/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/ble_gatts.h	Fri Aug 15 15:28:31 2014 +0100
@@ -0,0 +1,566 @@
+/* Copyright (c) 2011 Nordic Semiconductor. All Rights Reserved.
+ *
+ * The information contained herein is confidential property of Nordic Semiconductor. The use,
+ * copying, transfer or disclosure of such information is prohibited except by express written
+ * agreement with Nordic Semiconductor.
+ *
+ */
+/**
+  @addtogroup BLE_GATTS Generic Attribute Profile (GATT) Server
+  @{
+  @brief  Definitions and prototypes for the GATTS interface.
+ */
+
+#ifndef BLE_GATTS_H__
+#define BLE_GATTS_H__
+
+#include "ble_types.h"
+#include "ble_ranges.h"
+#include "ble_l2cap.h"
+#include "ble_gap.h"
+#include "ble_gatt.h"
+#include "nrf_svc.h"
+
+/** @addtogroup BLE_GATTS_ENUMERATIONS Enumerations
+ * @{ */
+
+/**
+ * @brief GATTS API SVC numbers.
+ */
+enum BLE_GATTS_SVCS
+{
+  SD_BLE_GATTS_SERVICE_ADD = BLE_GATTS_SVC_BASE, /**< Add a service. */
+  SD_BLE_GATTS_INCLUDE_ADD,                      /**< Add an included service. */
+  SD_BLE_GATTS_CHARACTERISTIC_ADD,               /**< Add a characteristic. */
+  SD_BLE_GATTS_DESCRIPTOR_ADD,                   /**< Add a generic attribute. */
+  SD_BLE_GATTS_VALUE_SET,                        /**< Set an attribute value. */
+  SD_BLE_GATTS_VALUE_GET,                        /**< Get an attribute value. */
+  SD_BLE_GATTS_HVX,                              /**< Handle Value Notification or Indication. */
+  SD_BLE_GATTS_SERVICE_CHANGED,                  /**< Perform a Service Changed Indication to one or more peers. */
+  SD_BLE_GATTS_RW_AUTHORIZE_REPLY,               /**< Reply to an authorization request for a read or write operation on one or more attributes. */ 
+  SD_BLE_GATTS_SYS_ATTR_SET,                     /**< Set the persistent system attributes for a connection. */  
+  SD_BLE_GATTS_SYS_ATTR_GET,                     /**< Get updated persistent system attributes after terminating a connection. */
+};
+
+/** @} */
+
+/** @addtogroup BLE_GATTS_DEFINES Defines
+ * @{ */
+
+/** @brief Only the default MTU size of 23 is currently supported. */
+#define GATT_RX_MTU 23
+
+/** @defgroup BLE_ERRORS_GATTS SVC return values specific to GATTS
+ * @{ */
+#define BLE_ERROR_GATTS_INVALID_ATTR_TYPE   (NRF_GATTS_ERR_BASE + 0x000) /**< Invalid attribute type. */
+#define BLE_ERROR_GATTS_SYS_ATTR_MISSING    (NRF_GATTS_ERR_BASE + 0x001) /**< System Attributes missing. */
+/** @} */
+
+/** @defgroup BLE_GATTS_ATTR_LENS_MAX Maximum attribute lengths
+ * @{ */
+#define BLE_GATTS_FIX_ATTR_LEN_MAX (510)  /**< Maximum length for fixed length Attribute Values. */
+#define BLE_GATTS_VAR_ATTR_LEN_MAX (512)  /**< Maximum length for variable length Attribute Values. */ 
+/** @} */
+
+/** @defgroup BLE_GATTS_SRVC_TYPES GATT Server Service Types
+ * @{ */
+#define BLE_GATTS_SRVC_TYPE_INVALID          0x00  /**< Invalid Service Type. */
+#define BLE_GATTS_SRVC_TYPE_PRIMARY          0x01  /**< Primary Service. */
+#define BLE_GATTS_SRVC_TYPE_SECONDARY        0x02  /**< Secondary Type. */
+/** @} */
+
+
+/** @defgroup BLE_GATTS_ATTR_TYPES GATT Server Attribute Types
+ * @{ */
+#define BLE_GATTS_ATTR_TYPE_INVALID         0x00  /**< Invalid Attribute Type. */
+#define BLE_GATTS_ATTR_TYPE_PRIM_SRVC_DECL  0x01  /**< Primary Service Declaration. */
+#define BLE_GATTS_ATTR_TYPE_SEC_SRVC_DECL   0x02  /**< Secondary Service Declaration. */
+#define BLE_GATTS_ATTR_TYPE_INC_DECL        0x03  /**< Include Declaration. */
+#define BLE_GATTS_ATTR_TYPE_CHAR_DECL       0x04  /**< Characteristic Declaration. */
+#define BLE_GATTS_ATTR_TYPE_CHAR_VAL        0x05  /**< Characteristic Value. */
+#define BLE_GATTS_ATTR_TYPE_DESC            0x06  /**< Descriptor. */
+#define BLE_GATTS_ATTR_TYPE_OTHER           0x07  /**< Other, non-GATT specific type. */
+/** @} */
+
+
+/** @defgroup BLE_GATTS_OPS GATT Server Operations
+ * @{ */
+#define BLE_GATTS_OP_INVALID                0x00  /**< Invalid Operation. */
+#define BLE_GATTS_OP_WRITE_REQ              0x01  /**< Write Request. */
+#define BLE_GATTS_OP_WRITE_CMD              0x02  /**< Write Command. */
+#define BLE_GATTS_OP_SIGN_WRITE_CMD         0x03  /**< Signed Write Command. */
+#define BLE_GATTS_OP_PREP_WRITE_REQ         0x04  /**< Prepare Write Request. */
+#define BLE_GATTS_OP_EXEC_WRITE_REQ_CANCEL  0x05  /**< Execute Write Request: Cancel all prepared writes. */
+#define BLE_GATTS_OP_EXEC_WRITE_REQ_NOW     0x06  /**< Execute Write Request: Immediately execute all prepared writes. */
+/** @} */
+
+/** @defgroup BLE_GATTS_VLOCS GATT Value Locations
+ * @{ */
+#define BLE_GATTS_VLOC_INVALID       0x00  /**< Invalid Location. */
+#define BLE_GATTS_VLOC_STACK         0x01  /**< Attribute Value is located in stack memory, no user memory is required. */
+#define BLE_GATTS_VLOC_USER          0x02  /**< Attribute Value is located in user memory. This requires the user to maintain a valid buffer through the lifetime of the attribute, since the stack
+                                                will read and write directly to the memory using the pointer provided in the APIs. There are no alignment requirements for the buffer. */
+/** @} */
+
+/** @defgroup BLE_GATTS_AUTHORIZE_TYPES GATT Server Authorization Types
+ * @{ */
+#define BLE_GATTS_AUTHORIZE_TYPE_INVALID    0x00  /**< Invalid Type. */
+#define BLE_GATTS_AUTHORIZE_TYPE_READ       0x01  /**< Authorize a Read Operation. */
+#define BLE_GATTS_AUTHORIZE_TYPE_WRITE      0x02  /**< Authorize a Write Request Operation. */
+/** @} */
+
+
+/** @} */
+
+/** @addtogroup BLE_GATTS_STRUCTURES Structures
+ * @{ */
+
+/**
+ * @brief BLE GATTS init options
+ */
+typedef struct
+{
+  uint8_t   service_changed:1;             /**< Include the Service Changed characteristic in the local attributes. */
+} ble_gatts_enable_params_t;
+
+/**@brief Attribute metadata. */
+typedef struct
+{
+  ble_gap_conn_sec_mode_t read_perm;       /**< Read permissions. */
+  ble_gap_conn_sec_mode_t write_perm;      /**< Write permissions. */
+  uint8_t                 vlen       :1;   /**< Variable length attribute. */
+  uint8_t                 vloc       :2;   /**< Value location, see @ref BLE_GATTS_VLOCS.*/
+  uint8_t                 rd_auth    :1;   /**< Read Authorization and value will be requested from the application on every read operation. */ 
+  uint8_t                 wr_auth    :1;   /**< Write Authorization will be requested from the application on every Write Request operation (but not Write Command). */
+} ble_gatts_attr_md_t;
+
+
+/**@brief GATT Attribute. */
+typedef struct
+{
+  ble_uuid_t*          p_uuid;          /**< Pointer to the attribute UUID. */
+  ble_gatts_attr_md_t* p_attr_md;       /**< Pointer to the attribute metadata structure. */
+  uint16_t             init_len;        /**< Initial attribute value length in bytes. */
+  uint16_t             init_offs;       /**< Initial attribute value offset in bytes. If different from zero, the first init_offs bytes of the attribute value will be left uninitialized. */
+  uint16_t             max_len;         /**< Maximum attribute value length in bytes, see @ref BLE_GATTS_ATTR_LENS_MAX for maximum values. */
+  uint8_t*             p_value;         /**< Pointer to the attribute data. Please note that if the @ref BLE_GATTS_VLOC_USER value location is selected in the attribute metadata, this will have to point to a buffer
+                                             that remains valid through the lifetime of the attribute. This excludes usage of automatic variables that may go out of scope or any other temporary location. 
+                                             The stack may access that memory directly without the application's knowledge. */
+} ble_gatts_attr_t;
+
+
+/**@brief GATT Attribute Context. */
+typedef struct
+{
+  ble_uuid_t           srvc_uuid;       /**< Service UUID. */
+  ble_uuid_t           char_uuid;       /**< Characteristic UUID if applicable (BLE_UUID_TYPE_UNKNOWN if N/A). */
+  ble_uuid_t           desc_uuid;       /**< Descriptor UUID if applicable (BLE_UUID_TYPE_UNKNOWN if N/A). */
+  uint16_t             srvc_handle;     /**< Service Handle. */
+  uint16_t             value_handle;    /**< Characteristic Handle if applicable (BLE_GATT_HANDLE_INVALID if N/A). */
+  uint8_t              type;            /**< Attribute Type, see @ref BLE_GATTS_ATTR_TYPES. */
+} ble_gatts_attr_context_t;
+
+
+/**@brief GATT Characteristic Presentation Format. */
+typedef struct
+{
+  uint8_t          format;      /**< Format of the value, see @ref BLE_GATT_CPF_FORMATS. */
+  int8_t           exponent;    /**< Exponent for integer data types. */
+  uint16_t         unit;        /**< UUID from Bluetooth Assigned Numbers. */
+  uint8_t          name_space;  /**< Namespace from Bluetooth Assigned Numbers, see @ref BLE_GATT_CPF_NAMESPACES. */
+  uint16_t         desc;        /**< Namespace description from Bluetooth Assigned Numbers, see @ref BLE_GATT_CPF_NAMESPACES. */
+} ble_gatts_char_pf_t;
+
+
+/**@brief GATT Characteristic metadata. */
+typedef struct
+{
+  ble_gatt_char_props_t       char_props;               /**< Characteristic Properties. */
+  ble_gatt_char_ext_props_t   char_ext_props;           /**< Characteristic Extended Properties. */
+  uint8_t*                    p_char_user_desc;         /**< Pointer to a UTF-8, NULL if the descriptor is not required. */
+  uint16_t                    char_user_desc_max_size;  /**< The maximum size in bytes of the user description descriptor. */
+  uint16_t                    char_user_desc_size;      /**< The size of the user description, must be smaller or equal to char_user_desc_max_size. */ 
+  ble_gatts_char_pf_t*        p_char_pf;                /**< Pointer to a presentation format structure or NULL if the descriptor is not required. */
+  ble_gatts_attr_md_t*        p_user_desc_md;           /**< Attribute metadata for the User Description descriptor, or NULL for default values. */
+  ble_gatts_attr_md_t*        p_cccd_md;                /**< Attribute metadata for the Client Characteristic Configuration Descriptor, or NULL for default values. */
+  ble_gatts_attr_md_t*        p_sccd_md;                /**< Attribute metadata for the Server Characteristic Configuration Descriptor, or NULL for default values. */
+} ble_gatts_char_md_t;
+
+
+/**@brief GATT Characteristic Definition Handles. */
+typedef struct
+{
+  uint16_t          value_handle;       /**< Handle to the characteristic value. */
+  uint16_t          user_desc_handle;   /**< Handle to the User Description descriptor, or BLE_GATT_HANDLE_INVALID if not present. */
+  uint16_t          cccd_handle;        /**< Handle to the Client Characteristic Configuration Descriptor, or BLE_GATT_HANDLE_INVALID if not present. */
+  uint16_t          sccd_handle;        /**< Handle to the Server Characteristic Configuration Descriptor, or BLE_GATT_HANDLE_INVALID if not present. */
+} ble_gatts_char_handles_t;
+
+
+/**@brief GATT HVx parameters. */
+typedef struct
+{
+  uint16_t          handle;             /**< Characteristic Value Handle. */
+  uint8_t           type;               /**< Indication or Notification, see @ref BLE_GATT_HVX_TYPES. */
+  uint16_t          offset;             /**< Offset within the attribute value. */
+  uint16_t*         p_len;              /**< Length in bytes to be written, length in bytes written after successful return. */
+  uint8_t*          p_data;             /**< Actual data content, use NULL to use the current attribute value. */
+} ble_gatts_hvx_params_t;
+
+/**@brief GATT Read Authorization parameters. */
+typedef struct
+{
+  uint16_t          gatt_status;        /**< GATT status code for the operation, see @ref BLE_GATT_STATUS_CODES. */
+  uint8_t           update : 1;         /**< If set, data supplied in p_data will be used in the ATT response. */
+  uint16_t          offset;             /**< Offset of the attribute value being updated. */
+  uint16_t          len;                /**< Length in bytes of the value in p_data pointer, see @ref BLE_GATTS_ATTR_LENS_MAX. */
+  uint8_t*          p_data;             /**< Pointer to new value used to update the attribute value. */
+} ble_gatts_read_authorize_params_t;
+
+/**@brief GATT Write Authorisation parameters. */
+typedef struct
+{
+  uint16_t          gatt_status;        /**< GATT status code for the operation, see @ref BLE_GATT_STATUS_CODES. */
+} ble_gatts_write_authorize_params_t;
+
+/**@brief GATT Read or Write Authorize Reply parameters. */
+typedef struct
+{
+  uint8_t                               type;   /**< Type of authorize operation, see @ref BLE_GATTS_AUTHORIZE_TYPES. */
+  union {
+    ble_gatts_read_authorize_params_t   read;   /**< Read authorization parameters. */
+    ble_gatts_write_authorize_params_t  write;  /**< Write authorization parameters. */
+  } params;
+} ble_gatts_rw_authorize_reply_params_t;
+
+
+/**
+ * @brief GATT Server Event IDs.
+ */
+enum BLE_GATTS_EVTS
+{
+  BLE_GATTS_EVT_WRITE = BLE_GATTS_EVT_BASE,       /**< Write operation performed. */
+  BLE_GATTS_EVT_RW_AUTHORIZE_REQUEST,             /**< Read/Write Authorization request. */
+  BLE_GATTS_EVT_SYS_ATTR_MISSING,                 /**< A persistent system attribute access is pending, awaiting a sd_ble_gatts_sys_attr_set(). */
+  BLE_GATTS_EVT_HVC,                              /**< Handle Value Confirmation. */
+  BLE_GATTS_EVT_SC_CONFIRM,                       /**< Service Changed Confirmation. */
+  BLE_GATTS_EVT_TIMEOUT                           /**< Timeout. */
+};
+
+
+/**@brief Event structure for BLE_GATTS_EVT_WRITE. */
+typedef struct
+{
+  uint16_t                    handle;             /**< Attribute Handle. */
+  uint8_t                     op;                 /**< Type of write operation, see @ref BLE_GATTS_OPS. */
+  ble_gatts_attr_context_t    context;            /**< Attribute Context. */
+  uint16_t                    offset;             /**< Offset for the write operation. */
+  uint16_t                    len;                /**< Length of the incoming data. */
+  uint8_t                     data[1];            /**< Incoming data, variable length. */
+} ble_gatts_evt_write_t;
+
+/**@brief Event structure for authorize read request. */
+typedef struct
+{
+  uint16_t                    handle;             /**< Attribute Handle. */
+  ble_gatts_attr_context_t    context;            /**< Attribute Context. */
+  uint16_t                    offset;             /**< Offset for the read operation. */
+} ble_gatts_evt_read_t;
+
+/**@brief Event structure for BLE_GATTS_EVT_RW_AUTHORIZE_REQUEST. */
+typedef struct
+{
+  uint8_t                     type;             /**< Type of authorize operation, see @ref BLE_GATTS_AUTHORIZE_TYPES. */
+  union {
+    ble_gatts_evt_read_t      read;             /**< Attribute Read Parameters. */
+    ble_gatts_evt_write_t     write;            /**< Attribute Write Parameters. */
+  } request;
+} ble_gatts_evt_rw_authorize_request_t;
+
+/**@brief Event structure for BLE_GATTS_EVT_SYS_ATTR_MISSING. */
+typedef struct
+{
+  uint8_t hint;
+} ble_gatts_evt_sys_attr_missing_t;
+
+
+/**@brief Event structure for BLE_GATTS_EVT_HVC. */
+typedef struct
+{
+  uint16_t          handle;                       /**< Attribute Handle. */
+} ble_gatts_evt_hvc_t;
+
+/**@brief Event structure for BLE_GATTS_EVT_TIMEOUT. */
+typedef struct
+{
+  uint8_t          src;                       /**< Timeout source, see @ref BLE_GATT_TIMEOUT_SOURCES. */
+} ble_gatts_evt_timeout_t;
+
+
+/**@brief GATT Server event callback event structure. */
+typedef struct
+{
+  uint16_t conn_handle;                                       /**< Connection Handle on which event occurred. */
+  union
+  {
+    ble_gatts_evt_write_t                 write;              /**< Write Event Parameters. */
+    ble_gatts_evt_rw_authorize_request_t  authorize_request;  /**< Read or Write Authorize Request Parameters. */
+    ble_gatts_evt_sys_attr_missing_t      sys_attr_missing;   /**< System attributes missing. */
+    ble_gatts_evt_hvc_t                   hvc;                /**< Handle Value Confirmation Event Parameters. */
+    ble_gatts_evt_timeout_t               timeout;            /**< Timeout Event. */
+  } params;
+} ble_gatts_evt_t;
+
+/** @} */
+
+/** @addtogroup BLE_GATTS_FUNCTIONS Functions
+ * @{ */
+
+/**@brief Add a service declaration to the local server ATT table.
+ *
+ * @param[in] type      Toggles between primary and secondary services, see @ref BLE_GATTS_SRVC_TYPES.
+ * @param[in] p_uuid    Pointer to service UUID.
+ * @param[out] p_handle Pointer to a 16-bit word where the assigned handle will be stored.
+ *
+ * @note Secondary Services are only relevant in the context of the entity that references them, it is therefore forbidden to
+ *       add a secondary service declaration that is not referenced by another service later in the ATT table.
+ *
+ * @return @ref NRF_SUCCESS Successfully added a service declaration.
+ * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
+ * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied, Vendor Specific UUIDs need to be present in the table.
+ * @return @ref NRF_ERROR_FORBIDDEN Forbidden value supplied, certain UUIDs are reserved for the stack.
+ * @return @ref NRF_ERROR_NO_MEM Not enough memory to complete operation.
+ */
+SVCALL(SD_BLE_GATTS_SERVICE_ADD, uint32_t, sd_ble_gatts_service_add(uint8_t type, ble_uuid_t const*const p_uuid, uint16_t *const p_handle));
+
+
+/**@brief Add an include declaration to the local server ATT table.
+ *
+ * @note It is currently only possible to add an include declaration to the last added service (i.e. only sequential addition is supported at this time). 
+ *
+ * @note The included service must already be present in the ATT table prior to this call.
+ *
+ * @param[in] service_handle    Handle of the service where the included service is to be placed, if BLE_GATT_HANDLE_INVALID is used, it will be placed sequentially.
+ * @param[in] inc_srvc_handle   Handle of the included service.
+ * @param[out] p_include_handle Pointer to a 16-bit word where the assigned handle will be stored.
+ *
+ * @return @ref NRF_SUCCESS Successfully added an include declaration.
+ * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
+ * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied, handle values need to match previously added services.
+ * @return @ref NRF_ERROR_INVALID_STATE Invalid state to perform operation.
+ * @return @ref NRF_ERROR_FORBIDDEN Forbidden value supplied, self inclusions are not allowed.
+ * @return @ref NRF_ERROR_NO_MEM Not enough memory to complete operation.
+ * @return @ref NRF_ERROR_NOT_FOUND Attribute not found.
+ */
+SVCALL(SD_BLE_GATTS_INCLUDE_ADD, uint32_t, sd_ble_gatts_include_add(uint16_t service_handle, uint16_t inc_srvc_handle, uint16_t *const p_include_handle));
+
+
+/**@brief Add a characteristic declaration, a characteristic value declaration and optional characteristic descriptor declarations to the local server ATT table.
+ *
+ * @note It is currently only possible to add a characteristic to the last added service (i.e. only sequential addition is supported at this time). 
+ *
+ * @note Several restrictions apply to the parameters, such as matching permissions between the user description descriptor and the writeable auxiliaries bits,
+ *       readable (no security) and writeable (selectable) CCCDs and SCCDs and valid presentation format values.
+ *
+ * @note If no metadata is provided for the optional descriptors, their permissions will be derived from the characteristic permissions.
+ *
+ * @param[in] service_handle    Handle of the service where the characteristic is to be placed, if BLE_GATT_HANDLE_INVALID is used, it will be placed sequentially.
+ * @param[in] p_char_md         Characteristic metadata.
+ * @param[in] p_attr_char_value Pointer to the attribute structure corresponding to the characteristic value.
+ * @param[out] p_handles        Pointer to the structure where the assigned handles will be stored.
+ *
+ * @return @ref NRF_SUCCESS Successfully added a characteristic.
+ * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
+ * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied, service handle, Vendor Specific UUIDs, lengths, and permissions need to adhere to the constraints.
+ * @return @ref NRF_ERROR_INVALID_STATE Invalid state to perform operation, a service context is required.
+ * @return @ref NRF_ERROR_FORBIDDEN Forbidden value supplied, certain UUIDs are reserved for the stack.
+ * @return @ref NRF_ERROR_NO_MEM Not enough memory to complete operation.
+ * @return @ref NRF_ERROR_DATA_SIZE Invalid data size(s) supplied, attribute lengths are restricted by @ref BLE_GATTS_ATTR_LENS_MAX.
+ */
+SVCALL(SD_BLE_GATTS_CHARACTERISTIC_ADD, uint32_t, sd_ble_gatts_characteristic_add(uint16_t service_handle, ble_gatts_char_md_t const*const p_char_md, ble_gatts_attr_t const*const p_attr_char_value, ble_gatts_char_handles_t *const p_handles));
+
+
+/**@brief Add a descriptor to the local server ATT table.
+ *
+ * @note It is currently only possible to add a descriptor to the last added characteristic (i.e. only sequential addition is supported at this time). 
+ *
+ * @param[in] char_handle   Handle of the characteristic where the descriptor is to be placed, if BLE_GATT_HANDLE_INVALID is used, it will be placed sequentially.
+ * @param[in] p_attr        Pointer to the attribute structure.
+ * @param[out] p_handle     Pointer to a 16-bit word where the assigned handle will be stored.
+ *
+ * @return @ref NRF_SUCCESS Successfully added a descriptor.
+ * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
+ * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied, characteristic handle, Vendor Specific UUIDs, lengths, and permissions need to adhere to the constraints.
+ * @return @ref NRF_ERROR_INVALID_STATE Invalid state to perform operation, a characteristic context is required.
+ * @return @ref NRF_ERROR_FORBIDDEN Forbidden value supplied, certain UUIDs are reserved for the stack.
+ * @return @ref NRF_ERROR_NO_MEM Not enough memory to complete operation.
+ * @return @ref NRF_ERROR_DATA_SIZE Invalid data size(s) supplied, attribute lengths are restricted by @ref BLE_GATTS_ATTR_LENS_MAX.
+ */
+SVCALL(SD_BLE_GATTS_DESCRIPTOR_ADD, uint32_t, sd_ble_gatts_descriptor_add(uint16_t char_handle, ble_gatts_attr_t const * const p_attr, uint16_t* const p_handle));
+
+/**@brief Set the value of a given attribute.
+ *
+ * @param[in] handle    Attribute handle.
+ * @param[in] offset    Offset in bytes to write from.
+ * @param[in,out] p_len Length in bytes to be written, length in bytes written after successful return.
+ * @param[in] p_value   Pointer to a buffer (at least len bytes long) containing the desired attribute value. If value is stored in user memory, only the attribute length is updated when p_value == NULL.
+ *
+ * @return @ref NRF_SUCCESS Successfully set the value of the attribute.
+ * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
+ * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied.
+ * @return @ref NRF_ERROR_NOT_FOUND Attribute not found.
+ * @return @ref NRF_ERROR_FORBIDDEN Forbidden handle supplied, certain attributes are not modifiable by the application.
+ * @return @ref NRF_ERROR_DATA_SIZE Invalid data size(s) supplied, attribute lengths are restricted by @ref BLE_GATTS_ATTR_LENS_MAX.
+ */
+SVCALL(SD_BLE_GATTS_VALUE_SET, uint32_t, sd_ble_gatts_value_set(uint16_t handle, uint16_t offset, uint16_t* const p_len, uint8_t const * const p_value));
+
+/**@brief Get the value of a given attribute.
+ *
+ * @param[in] handle     Attribute handle.
+ * @param[in] offset     Offset in bytes to read from.
+ * @param[in,out] p_len  Length in bytes to be read, total length of attribute value (in bytes, starting from offset) after successful return.
+ * @param[in,out] p_data Pointer to a buffer (at least len bytes long) where to store the attribute value. Set to NULL to obtain the complete length of attribute value.
+ *
+ * @note                 If the attribute value is longer than the size of the supplied buffer,
+ *                       p_len will return the total attribute value length (excluding offset),
+ *                       and not the number of bytes actually returned in p_data.
+ *                       The application may use this information to allocate a suitable buffer size.
+ * 
+ * @return @ref NRF_SUCCESS Successfully retrieved the value of the attribute.
+ * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
+ * @return @ref NRF_ERROR_NOT_FOUND Attribute not found.
+ */
+SVCALL(SD_BLE_GATTS_VALUE_GET, uint32_t, sd_ble_gatts_value_get(uint16_t handle, uint16_t offset, uint16_t *const p_len, uint8_t* const p_data));
+
+/**@brief Notify or Indicate an attribute value.
+ *
+ * @details This function checks for the relevant Client Characteristic Configuration descriptor value to verify that the relevant operation
+ *          (notification or indication) has been enabled by the client. It is also able to update the attribute value before issuing the PDU, so that
+ *          the application can atomically perform a value update and a server initiated transaction with a single API call.
+ *          If the application chooses to indicate an attribute value, a @ref BLE_GATTS_EVT_HVC will be sent up as soon as the confirmation arrives from
+ *          the peer.
+ *
+ * @note    The local attribute value may be updated even if an outgoing packet is not sent to the peer due to an error during execution. 
+ *          When receiveing the error codes @ref NRF_ERROR_INVALID_STATE, @ref NRF_ERROR_BUSY, @ref BLE_ERROR_GATTS_SYS_ATTR_MISSING and 
+ *          @ref BLE_ERROR_NO_TX_BUFFERS the ATT table has been updated.
+ *          The caller can check whether the value has been updated by looking at the contents of *(p_hvx_params->p_len).
+ *
+ * @note    It is important to note that a notification will <b>consume an application buffer</b>, and will therefore 
+ *          generate a @ref BLE_EVT_TX_COMPLETE event when the packet has been transmitted. An indication on the other hand will use the 
+ *          standard server internal buffer and thus will only generate a @ref BLE_GATTS_EVT_HVC event as soon as the confirmation 
+ *          has been received from the peer. Please see the documentation of @ref sd_ble_tx_buffer_count_get for more details.
+ *
+ * @param[in] conn_handle  Connection handle.
+ * @param[in] p_hvx_params Pointer to an HVx parameters structure. If the p_data member contains a non-NULL pointer the attribute value will be updated with
+ *                         the contents pointed by it before sending the notification or indication.
+ *
+ * @return @ref NRF_SUCCESS Successfully queued a notification or indication for transmission, and optionally updated the attribute value.
+ * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid Connection Handle.
+ * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
+ * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied.
+ * @return @ref BLE_ERROR_INVALID_ATTR_HANDLE Invalid attribute handle(s) supplied. Only attributes added directly by the application are available to notify and indicate.
+ * @return @ref BLE_ERROR_GATTS_INVALID_ATTR_TYPE Invalid attribute type(s) supplied, only characteristic values may be notified and indicated.
+ * @return @ref NRF_ERROR_NOT_FOUND Attribute not found.
+ * @return @ref NRF_ERROR_DATA_SIZE Invalid data size(s) supplied.
+ * @return @ref NRF_ERROR_INVALID_STATE Invalid state to perform operation, notifications or indications must be enabled in the CCCD.
+ * @return @ref NRF_ERROR_BUSY Procedure already in progress.
+ * @return @ref BLE_ERROR_GATTS_SYS_ATTR_MISSING System attributes missing, use @ref sd_ble_gatts_sys_attr_set to set them to a known value.
+ * @return @ref BLE_ERROR_NO_TX_BUFFERS There are no available buffers to send the data, applies only to notifications.
+ */
+SVCALL(SD_BLE_GATTS_HVX, uint32_t, sd_ble_gatts_hvx(uint16_t conn_handle, ble_gatts_hvx_params_t const*const p_hvx_params));
+
+/**@brief Indicate the Service Changed attribute value.
+ *
+ * @details This call will send a Handle Value Indication to one or more peers connected to inform them that the attribute
+ *          table layout has changed. As soon as the peer has confirmed the indication, a @ref BLE_GATTS_EVT_SC_CONFIRM event will
+ *          be issued.
+ *
+ * @note    Some of the restrictions and limitations that apply to @ref sd_ble_gatts_hvx also apply here.
+ *
+ * @param[in] conn_handle  Connection handle.
+ * @param[in] start_handle Start of affected attribute handle range.
+ * @param[in] end_handle   End of affected attribute handle range.
+ *
+ * @return @ref NRF_SUCCESS Successfully queued the Service Changed indication for transmission.
+ * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid Connection Handle.
+ * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied.
+ * @return @ref BLE_ERROR_INVALID_ATTR_HANDLE Invalid attribute handle(s) supplied, handles must be in the range populated by the application.
+ * @return @ref NRF_ERROR_INVALID_STATE Invalid state to perform operation, notifications or indications must be enabled in the CCCD.
+ * @return @ref NRF_ERROR_BUSY Procedure already in progress.
+ * @return @ref BLE_ERROR_GATTS_SYS_ATTR_MISSING System attributes missing, use @ref sd_ble_gatts_sys_attr_set to set them to a known value.
+ */
+SVCALL(SD_BLE_GATTS_SERVICE_CHANGED, uint32_t, sd_ble_gatts_service_changed(uint16_t conn_handle, uint16_t start_handle, uint16_t end_handle));
+
+/**@brief Respond to a Read/Write authorization request.
+ *
+ * @note This call should only be used as a response to a @ref BLE_GATTS_EVT_RW_AUTHORIZE_REQUEST event issued to the application.
+ *
+ * @param[in] conn_handle                 Connection handle.
+ * @param[in] p_rw_authorize_reply_params Pointer to a structure with the attribute provided by the application.
+ *
+ * @return @ref NRF_SUCCESS               Successfully queued a response to the peer, and in the case of a write operation, ATT table updated.
+ * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid Connection Handle.
+ * @return @ref NRF_ERROR_INVALID_STATE   No authorization request pending.
+ * @return @ref NRF_ERROR_INVALID_PARAM   Authorization op invalid,
+ *                                         or for Read Authorization reply: requested handles not replied with,
+ *                                         or for Write Authorization reply: handle supplied does not match requested handle.
+ */
+SVCALL(SD_BLE_GATTS_RW_AUTHORIZE_REPLY, uint32_t, sd_ble_gatts_rw_authorize_reply(uint16_t conn_handle, ble_gatts_rw_authorize_reply_params_t const*const p_rw_authorize_reply_params));
+
+
+/**@brief Update persistent system attribute information.
+ *
+ * @details Supply to the stack information about persistent system attributes.
+ *          This call is legal in the connected state only, and is usually 
+ *          made immediately after a connection is established and the bond identified.
+ *          usually as a response to a BLE_GATTS_EVT_SYS_ATTR_MISSING.
+ *
+ *          p_sysattrs may point directly to the application's stored copy of the struct.
+ *          If the pointer is NULL, the system attribute info is initialized, assuming that
+ *          the application does not have any previously saved data for this bond.
+ *
+ * @note The state of persistent system attributes is reset upon connection and then remembered for its duration. 
+ *
+ * @note If this call returns with an error code different from @ref NRF_SUCCESS, the storage of persistent system attributes may have been completed only partially.
+ *       This means that the state of the attribute table is undefined, and the application should either provide a new set of attributes using this same call or
+ *       reset the SoftDevice to return to a known state.
+ *
+ * @param[in]  conn_handle        Connection handle.
+ * @param[in]  p_sys_attr_data    Pointer to a saved copy of system attributes supplied to the stack, or NULL.
+ * @param[in]  len                Size of data pointed by p_sys_attr_data, in octets. 
+ *
+ * @return @ref NRF_SUCCESS Successfully set the system attribute information.
+ * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid Connection Handle.
+ * @return @ref NRF_ERROR_INVALID_DATA Invalid data supplied, the data should be exactly the same as retrieved with @ref sd_ble_gatts_sys_attr_get.
+ * @return @ref NRF_ERROR_NO_MEM Not enough memory to complete operation.
+ */ 
+SVCALL(SD_BLE_GATTS_SYS_ATTR_SET, uint32_t, sd_ble_gatts_sys_attr_set(uint16_t conn_handle, uint8_t const*const p_sys_attr_data, uint16_t len)); 
+
+ 
+/**@brief Retrieve persistent system attribute information from the stack.
+ *
+ * @details This call is used to retrieve information about values to be stored perisistently by the application
+ *          after a connection has been terminated. When a new connection is made to the same bond, the values
+ *          should be restored using @ref sd_ble_gatts_sys_attr_set.
+ *          The data should be read before any new advertising is started, or any new connection established. The connection handle for
+ *          the previous now defunct connection will remain valid until a new one is created to allow this API call to refer to it.
+ *
+ * @param[in]     conn_handle       Connection handle of the recently terminated connection.
+ * @param[in]     p_sys_attr_data   Pointer to a buffer where updated information about system attributes will be filled in. NULL can be provided to 
+ *                                  obtain the length of the data
+ * @param[in,out] p_len             Size of application buffer if p_sys_attr_data is not NULL. Unconditially updated to actual length of system attribute data.
+ *
+ * @return @ref NRF_SUCCESS Successfully retrieved the system attribute information.
+ * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid Connection Handle.
+ * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
+ * @return @ref NRF_ERROR_DATA_SIZE The system attribute information did not fit into the provided buffer.
+ */ 
+SVCALL(SD_BLE_GATTS_SYS_ATTR_GET, uint32_t, sd_ble_gatts_sys_attr_get(uint16_t conn_handle, uint8_t * const p_sys_attr_data, uint16_t* const p_len)); 
+
+/** @} */
+
+#endif // BLE_GATTS_H__
+
+/**
+  @}
+*/
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TARGET_HRM1017/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/ble_hci.h	Fri Aug 15 15:28:31 2014 +0100
@@ -0,0 +1,96 @@
+/*
+  Copyright (c) 2012 Nordic Semiconductor. All Rights Reserved.
+
+  The information contained herein is confidential property of Nordic Semiconductor. The use,
+  copying, transfer or disclosure of such information is prohibited except by express written
+  agreement with Nordic Semiconductor.
+ */
+/**
+  @addtogroup BLE_COMMON 
+  @{
+*/
+
+
+#ifndef BLE_HCI_H__
+#define BLE_HCI_H__ 
+
+/** @defgroup BLE_HCI_STATUS_CODES Bluetooth status codes
+ * @{ */
+
+#define BLE_HCI_STATUS_CODE_SUCCESS                        0x00
+#define BLE_HCI_STATUS_CODE_UNKNOWN_BTLE_COMMAND           0x01
+#define BLE_HCI_STATUS_CODE_UNKNOWN_CONNECTION_IDENTIFIER  0x02 
+/*0x03 Hardware Failure
+0x04 Page Timeout
+*/
+#define BLE_HCI_AUTHENTICATION_FAILURE                     0x05
+#define BLE_HCI_STATUS_CODE_PIN_OR_KEY_MISSING             0x06
+#define BLE_HCI_MEMORY_CAPACITY_EXCEEDED                   0x07
+#define BLE_HCI_CONNECTION_TIMEOUT                         0x08
+/*0x09 Connection Limit Exceeded
+0x0A Synchronous Connection Limit To A Device Exceeded
+0x0B ACL Connection Already Exists*/
+#define BLE_HCI_STATUS_CODE_COMMAND_DISALLOWED             0x0C
+/*0x0D Connection Rejected due to Limited Resources
+0x0E Connection Rejected Due To Security Reasons
+0x0F Connection Rejected due to Unacceptable BD_ADDR
+0x10 Connection Accept Timeout Exceeded
+0x11 Unsupported Feature or Parameter Value*/
+#define BLE_HCI_STATUS_CODE_INVALID_BTLE_COMMAND_PARAMETERS 0x12
+#define BLE_HCI_REMOTE_USER_TERMINATED_CONNECTION           0x13
+#define BLE_HCI_REMOTE_DEV_TERMINATION_DUE_TO_LOW_RESOURCES 0x14
+#define BLE_HCI_REMOTE_DEV_TERMINATION_DUE_TO_POWER_OFF     0x15
+#define BLE_HCI_LOCAL_HOST_TERMINATED_CONNECTION            0x16
+/*
+0x17 Repeated Attempts
+0x18 Pairing Not Allowed
+0x19 Unknown LMP PDU
+*/
+#define BLE_HCI_UNSUPPORTED_REMOTE_FEATURE 0x1A
+/*
+0x1B SCO Offset Rejected
+0x1C SCO Interval Rejected
+0x1D SCO Air Mode Rejected*/
+#define BLE_HCI_STATUS_CODE_INVALID_LMP_PARAMETERS     0x1E
+#define BLE_HCI_STATUS_CODE_UNSPECIFIED_ERROR          0x1F
+/*0x20 Unsupported LMP Parameter Value
+0x21 Role Change Not Allowed
+*/
+#define BLE_HCI_STATUS_CODE_LMP_RESPONSE_TIMEOUT       0x22
+/*0x23 LMP Error Transaction Collision*/
+#define BLE_HCI_STATUS_CODE_LMP_PDU_NOT_ALLOWED        0x24
+/*0x25 Encryption Mode Not Acceptable
+0x26 Link Key Can Not be Changed
+0x27 Requested QoS Not Supported
+*/
+#define BLE_HCI_INSTANT_PASSED                         0x28
+#define BLE_HCI_PAIRING_WITH_UNIT_KEY_UNSUPPORTED      0x29
+#define BLE_HCI_DIFFERENT_TRANSACTION_COLLISION        0x2A
+/*
+0x2B Reserved
+0x2C QoS Unacceptable Parameter
+0x2D QoS Rejected
+0x2E Channel Classification Not Supported
+0x2F Insufficient Security
+0x30 Parameter Out Of Mandatory Range
+0x31 Reserved
+0x32 Role Switch Pending
+0x33 Reserved
+0x34 Reserved Slot Violation
+0x35 Role Switch Failed
+0x36 Extended Inquiry Response Too Large
+0x37 Secure Simple Pairing Not Supported By Host.
+0x38 Host Busy - Pairing
+0x39 Connection Rejected due to No Suitable Channel Found*/
+#define BLE_HCI_CONTROLLER_BUSY                        0x3A
+#define BLE_HCI_CONN_INTERVAL_UNACCEPTABLE             0x3B
+#define BLE_HCI_DIRECTED_ADVERTISER_TIMEOUT            0x3C
+#define BLE_HCI_CONN_TERMINATED_DUE_TO_MIC_FAILURE     0x3D
+#define BLE_HCI_CONN_FAILED_TO_BE_ESTABLISHED          0x3E
+
+/** @} */
+
+
+#endif // BLE_HCI_H__
+
+/** @} */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TARGET_HRM1017/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/ble_l2cap.h	Fri Aug 15 15:28:31 2014 +0100
@@ -0,0 +1,144 @@
+/* Copyright (c) 2011 Nordic Semiconductor. All Rights Reserved.
+ *
+ * The information contained herein is confidential property of Nordic Semiconductor. The use,
+ * copying, transfer or disclosure of such information is prohibited except by express written
+ * agreement with Nordic Semiconductor.
+ *
+ */
+/**
+  @addtogroup BLE_L2CAP Logical Link Control and Adaptation Protocol (L2CAP)
+  @{
+  @brief Definitions and prototypes for the L2CAP interface.
+ */
+
+#ifndef BLE_L2CAP_H__
+#define BLE_L2CAP_H__ 
+
+#include "ble_types.h"
+#include "ble_ranges.h"
+#include "ble_err.h"
+#include "nrf_svc.h"
+
+/**@addtogroup BLE_L2CAP_ENUMERATIONS Enumerations
+ * @{ */
+
+/**@brief L2CAP API SVC numbers. */
+enum BLE_L2CAP_SVCS 
+{
+  SD_BLE_L2CAP_CID_REGISTER = BLE_L2CAP_SVC_BASE,  /**< Register a CID. */
+  SD_BLE_L2CAP_CID_UNREGISTER,                     /**< Unregister a CID. */
+  SD_BLE_L2CAP_TX                                  /**< Transmit a packet. */
+};
+
+/** @} */
+
+/**@addtogroup BLE_L2CAP_DEFINES Defines
+ * @{ */
+
+/**@defgroup BLE_ERRORS_L2CAP SVC return values specific to L2CAP
+ * @{ */
+#define BLE_ERROR_L2CAP_CID_IN_USE            (NRF_L2CAP_ERR_BASE + 0x000)  /**< CID already in use. */
+/** @} */
+
+/**@brief Default L2CAP MTU. */
+#define BLE_L2CAP_MTU_DEF           (23)    
+
+/**@brief Invalid Channel Identifier. */
+#define BLE_L2CAP_CID_INVALID       (0x0000) 
+
+/**@brief Dynamic Channel Identifier base. */
+#define BLE_L2CAP_CID_DYN_BASE      (0x0040) 
+
+/**@brief Maximum amount of dynamic CIDs. */
+#define BLE_L2CAP_CID_DYN_MAX       (8) 
+
+/** @} */
+
+/**@addtogroup BLE_L2CAP_STRUCTURES Structures
+ * @{ */
+
+/**@brief Packet header format for L2CAP transmission. */
+typedef struct
+{
+  uint16_t   len;                                 /**< Length of valid info in data member. */
+  uint16_t   cid;                                 /**< Channel ID on which packet is transmitted. */
+} ble_l2cap_header_t;
+
+/**@brief L2CAP Event IDs. */
+enum BLE_L2CAP_EVTS 
+{
+  BLE_L2CAP_EVT_RX  = BLE_L2CAP_EVT_BASE          /**< L2CAP packet received. */
+};
+
+
+/**@brief L2CAP Received packet event report. */
+typedef struct
+{
+  ble_l2cap_header_t header;                      /** L2CAP packet header. */
+  uint8_t    data[1];                             /**< Packet data, variable length. */
+} ble_l2cap_evt_rx_t;
+
+
+/**@brief L2CAP event callback event structure. */
+typedef struct
+{
+  uint16_t conn_handle;                           /**< Connection Handle on which event occured. */
+  union
+  {
+    ble_l2cap_evt_rx_t rx;                        /**< RX Event parameters. */
+  } params;
+} ble_l2cap_evt_t;
+
+
+/**@brief Register a CID with L2CAP.
+ *
+ * @details This registers a higher protocol layer with the L2CAP multiplexer, and is requried prior to all operations on the CID.
+ *          
+ * @param[in] cid L2CAP CID.
+ *
+ * @return @ref NRF_SUCCESS Successfully registered a CID with the L2CAP layer.
+ * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied, CID must be above @ref BLE_L2CAP_CID_DYN_BASE.
+ * @return @ref BLE_ERROR_L2CAP_CID_IN_USE L2CAP CID already in use.
+ * @return @ref NRF_ERROR_NO_MEM Not enough memory to complete operation.
+ */
+SVCALL(SD_BLE_L2CAP_CID_REGISTER, uint32_t, sd_ble_l2cap_cid_register(uint16_t cid));
+
+/**@brief Unregister a CID with L2CAP.
+ *
+ * @details This unregisters a previously registerd higher protocol layer with the L2CAP multiplexer.
+ *          
+ * @param[in] cid L2CAP CID.
+ *
+ * @return @ref NRF_SUCCESS Successfully unregistered the CID.
+ * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied.
+ * @return @ref NRF_ERROR_NOT_FOUND CID not previously registered.
+ */
+SVCALL(SD_BLE_L2CAP_CID_UNREGISTER, uint32_t, sd_ble_l2cap_cid_unregister(uint16_t cid));
+
+/**@brief Transmit an L2CAP packet.
+ *
+ * @note    It is important to note that a call to this function will <b>consume an application buffer</b>, and will therefore 
+ *          generate a @ref BLE_EVT_TX_COMPLETE event when the packet has been transmitted. 
+ *          Please see the documentation of @ref sd_ble_tx_buffer_count_get for more details.
+ *
+ * @param[in] conn_handle Connection Handle.
+ * @param[in] p_header    Pointer to a packet header containing length and CID.
+ * @param[in] p_data      Pointer to the data to be transmitted.
+ *
+ * @return @ref NRF_SUCCESS Successfully queued an L2CAP packet for transmission.
+ * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
+ * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied, CIDs must be registered beforehand with @ref sd_ble_l2cap_cid_register.
+ * @return @ref NRF_ERROR_NOT_FOUND CID not found.
+ * @return @ref NRF_ERROR_NO_MEM Not enough memory to complete operation.
+ * @return @ref BLE_ERROR_NO_TX_BUFFERS Not enough application buffers available.
+ * @return @ref NRF_ERROR_DATA_SIZE Invalid data size(s) supplied, see @ref BLE_L2CAP_MTU_DEF.
+ */
+SVCALL(SD_BLE_L2CAP_TX, uint32_t, sd_ble_l2cap_tx(uint16_t conn_handle, ble_l2cap_header_t const * const p_header, uint8_t const * const p_data));
+
+/** @} */
+
+#endif // BLE_L2CAP_H__
+
+/**
+  @}
+*/
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TARGET_HRM1017/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/ble_ranges.h	Fri Aug 15 15:28:31 2014 +0100
@@ -0,0 +1,89 @@
+/*
+  Copyright (c) 2012 Nordic Semiconductor. All Rights Reserved.
+
+  The information contained herein is confidential property of Nordic Semiconductor. The use,
+  copying, transfer or disclosure of such information is prohibited except by express written
+  agreement with Nordic Semiconductor.
+ */
+/**
+  @addtogroup BLE_COMMON
+  @{
+  @defgroup ble_ranges Module specific SVC and event number subranges
+  @{
+
+  @brief Definition of SVC and event number subranges for each API module.
+
+  @note
+  SVCs and event numbers are split into subranges for each API module.
+  Each module receives its entire allocated range of SVC calls, whether implemented or not,
+  but return BLE_ERROR_NOT_SUPPORTED for unimplemented or undefined calls in its range.
+
+  Note that the symbols BLE_<module>_SVC_LAST is the end of the allocated SVC range,
+  rather than the last SVC function call actually defined and implemented.
+
+  Specific SVC and event values are defined in each module's ble_<module>.h file,
+  which defines names of each individual SVC code based on the range start value.
+*/
+
+#ifndef BLE_RANGES_H__
+#define BLE_RANGES_H__
+
+#define BLE_SVC_BASE           0x60
+#define BLE_SVC_LAST           0x6B       /* Total: 12. */
+
+#define BLE_RESERVED_SVC_BASE  0x6C
+#define BLE_RESERVED_SVC_LAST  0x6F       /* Total: 4. */
+
+#define BLE_GAP_SVC_BASE       0x70
+#define BLE_GAP_SVC_LAST       0x8F       /* Total: 32. */
+
+#define BLE_GATTC_SVC_BASE     0x90
+#define BLE_GATTC_SVC_LAST     0x9F       /* Total: 16. */
+
+#define BLE_GATTS_SVC_BASE     0xA0
+#define BLE_GATTS_SVC_LAST     0xAF       /* Total: 16. */
+
+#define BLE_L2CAP_SVC_BASE     0xB0
+#define BLE_L2CAP_SVC_LAST     0xBF       /* Total: 16. */
+
+
+#define BLE_EVT_INVALID        0x00
+
+#define BLE_EVT_BASE           0x01
+#define BLE_EVT_LAST           0x0F       /* Total: 15. */
+
+#define BLE_GAP_EVT_BASE       0x10
+#define BLE_GAP_EVT_LAST       0x2F       /* Total: 32. */
+
+#define BLE_GATTC_EVT_BASE     0x30
+#define BLE_GATTC_EVT_LAST     0x4F       /* Total: 32. */
+
+#define BLE_GATTS_EVT_BASE     0x50
+#define BLE_GATTS_EVT_LAST     0x6F       /* Total: 32. */
+
+#define BLE_L2CAP_EVT_BASE     0x70
+#define BLE_L2CAP_EVT_LAST     0x8F       /* Total: 32.  */
+
+#define BLE_OPT_INVALID        0x00       /**< Invalid BLE Option. */
+
+#define BLE_OPT_BASE           0x01       /**< Common BLE Option base. */
+#define BLE_OPT_LAST           0x1F       /**< Total: 31. */
+
+#define BLE_GAP_OPT_BASE       0x20       /**< GAP BLE Option base. */
+#define BLE_GAP_OPT_LAST       0x3F       /**< Total: 32. */
+
+#define BLE_GATTC_OPT_BASE     0x40       /**< GATTC BLE Option base. */
+#define BLE_GATTC_OPT_LAST     0x5F       /**< Total: 32. */
+
+#define BLE_GATTS_OPT_BASE     0x60       /**< GATTS BLE Option base. */
+#define BLE_GATTS_OPT_LAST     0x7F       /**< Total: 32. */
+
+#define BLE_L2CAP_OPT_BASE     0x80       /**< L2CAP BLE Option base. */
+#define BLE_L2CAP_OPT_LAST     0x9F       /**< Total: 32.  */
+
+#endif /* BLE_RANGES_H__ */
+
+/**
+  @}
+  @}
+*/
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TARGET_HRM1017/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/ble_types.h	Fri Aug 15 15:28:31 2014 +0100
@@ -0,0 +1,169 @@
+/* Copyright (c) 2011 Nordic Semiconductor. All Rights Reserved.
+ *
+ * The information contained herein is confidential property of Nordic Semiconductor. The use,
+ * copying, transfer or disclosure of such information is prohibited except by express written
+ * agreement with Nordic Semiconductor.
+ *
+ */
+/**
+  @addtogroup BLE_COMMON
+  @{
+  @defgroup ble_types Common types and macro definitions
+  @{
+
+  @brief Common types and macro definitions for the S110 SoftDevice.
+ */
+
+#ifndef BLE_TYPES_H__
+#define BLE_TYPES_H__
+
+#include <stdint.h>
+
+/** @addtogroup BLE_COMMON_DEFINES Defines
+ * @{ */
+
+/** @defgroup BLE_CONN_HANDLES BLE Connection Handles
+ * @{ */
+#define BLE_CONN_HANDLE_INVALID 0xFFFF  /**< Invalid Connection Handle. */
+#define BLE_CONN_HANDLE_ALL     0xFFFE  /**< Applies to all Connection Handles. */
+/** @} */
+
+
+/** @defgroup BLE_UUID_VALUES Assigned Values for BLE UUIDs
+ * @{ */
+/* Generic UUIDs, applicable to all services */
+#define BLE_UUID_UNKNOWN                              0x0000 /**< Reserved UUID. */
+#define BLE_UUID_SERVICE_PRIMARY                      0x2800 /**< Primary Service. */
+#define BLE_UUID_SERVICE_SECONDARY                    0x2801 /**< Secondary Service. */
+#define BLE_UUID_SERVICE_INCLUDE                      0x2802 /**< Include. */
+#define BLE_UUID_CHARACTERISTIC                       0x2803 /**< Characteristic. */
+#define BLE_UUID_DESCRIPTOR_CHAR_EXT_PROP             0x2900 /**< Characteristic Extended Properties Descriptor. */
+#define BLE_UUID_DESCRIPTOR_CHAR_USER_DESC            0x2901 /**< Characteristic User Description Descriptor. */
+#define BLE_UUID_DESCRIPTOR_CLIENT_CHAR_CONFIG        0x2902 /**< Client Characteristic Configuration Descriptor. */
+#define BLE_UUID_DESCRIPTOR_SERVER_CHAR_CONFIG        0x2903 /**< Server Characteristic Configuration Descriptor. */
+#define BLE_UUID_DESCRIPTOR_CHAR_PRESENTATION_FORMAT  0x2904 /**< Characteristic Presentation Format Descriptor. */
+#define BLE_UUID_DESCRIPTOR_CHAR_AGGREGATE_FORMAT     0x2905 /**< Characteristic Aggregate Format Descriptor. */
+/* GATT specific UUIDs */
+#define BLE_UUID_GATT                                 0x1801 /**< Generic Attribute Profile. */
+#define BLE_UUID_GATT_CHARACTERISTIC_SERVICE_CHANGED  0x2A05 /**< Service Changed Characteristic. */
+/* GAP specific UUIDs */
+#define BLE_UUID_GAP                                  0x1800 /**< Generic Access Profile. */
+#define BLE_UUID_GAP_CHARACTERISTIC_DEVICE_NAME       0x2A00 /**< Device Name Characteristic. */
+#define BLE_UUID_GAP_CHARACTERISTIC_APPEARANCE        0x2A01 /**< Appearance Characteristic. */
+#define BLE_UUID_GAP_CHARACTERISTIC_PPF               0x2A02 /**< Peripheral Privacy Flag Characteristic. */
+#define BLE_UUID_GAP_CHARACTERISTIC_RECONN_ADDR       0x2A03 /**< Reconnection Address Characteristic. */
+#define BLE_UUID_GAP_CHARACTERISTIC_PPCP              0x2A04 /**< Peripheral Preferred Connection Parameters Characteristic. */
+/** @} */
+
+
+/** @defgroup BLE_UUID_TYPES Types of UUID
+ * @{ */
+#define BLE_UUID_TYPE_UNKNOWN       0x00 /**< Invalid UUID type. */
+#define BLE_UUID_TYPE_BLE           0x01 /**< Bluetooth SIG UUID (16-bit). */
+#define BLE_UUID_TYPE_VENDOR_BEGIN  0x02 /**< Vendor UUID types start at this index (128-bit). */
+/** @} */
+
+
+/** @defgroup BLE_APPEARANCES Bluetooth Appearance values
+ *  @note Retrieved from http://developer.bluetooth.org/gatt/characteristics/Pages/CharacteristicViewer.aspx?u=org.bluetooth.characteristic.gap.appearance.xml
+ * @{ */
+#define BLE_APPEARANCE_UNKNOWN                                0 /**< Unknown. */
+#define BLE_APPEARANCE_GENERIC_PHONE                         64 /**< Generic Phone. */
+#define BLE_APPEARANCE_GENERIC_COMPUTER                     128 /**< Generic Computer. */
+#define BLE_APPEARANCE_GENERIC_WATCH                        192 /**< Generic Watch. */
+#define BLE_APPEARANCE_WATCH_SPORTS_WATCH                   193 /**< Watch: Sports Watch. */
+#define BLE_APPEARANCE_GENERIC_CLOCK                        256 /**< Generic Clock. */
+#define BLE_APPEARANCE_GENERIC_DISPLAY                      320 /**< Generic Display. */
+#define BLE_APPEARANCE_GENERIC_REMOTE_CONTROL               384 /**< Generic Remote Control. */
+#define BLE_APPEARANCE_GENERIC_EYE_GLASSES                  448 /**< Generic Eye-glasses. */
+#define BLE_APPEARANCE_GENERIC_TAG                          512 /**< Generic Tag. */
+#define BLE_APPEARANCE_GENERIC_KEYRING                      576 /**< Generic Keyring. */
+#define BLE_APPEARANCE_GENERIC_MEDIA_PLAYER                 640 /**< Generic Media Player. */
+#define BLE_APPEARANCE_GENERIC_BARCODE_SCANNER              704 /**< Generic Barcode Scanner. */
+#define BLE_APPEARANCE_GENERIC_THERMOMETER                  768 /**< Generic Thermometer. */
+#define BLE_APPEARANCE_THERMOMETER_EAR                      769 /**< Thermometer: Ear. */
+#define BLE_APPEARANCE_GENERIC_HEART_RATE_SENSOR            832 /**< Generic Heart rate Sensor. */
+#define BLE_APPEARANCE_HEART_RATE_SENSOR_HEART_RATE_BELT    833 /**< Heart Rate Sensor: Heart Rate Belt. */
+#define BLE_APPEARANCE_GENERIC_BLOOD_PRESSURE               896 /**< Generic Blood Pressure. */
+#define BLE_APPEARANCE_BLOOD_PRESSURE_ARM                   897 /**< Blood Pressure: Arm. */
+#define BLE_APPEARANCE_BLOOD_PRESSURE_WRIST                 898 /**< Blood Pressure: Wrist. */
+#define BLE_APPEARANCE_GENERIC_HID                          960 /**< Human Interface Device (HID). */
+#define BLE_APPEARANCE_HID_KEYBOARD                         961 /**< Keyboard (HID Subtype). */
+#define BLE_APPEARANCE_HID_MOUSE                            962 /**< Mouse (HID Subtype). */
+#define BLE_APPEARANCE_HID_JOYSTICK                         963 /**< Joystiq (HID Subtype). */
+#define BLE_APPEARANCE_HID_GAMEPAD                          964 /**< Gamepad (HID Subtype). */
+#define BLE_APPEARANCE_HID_DIGITIZERSUBTYPE                 965 /**< Digitizer Tablet (HID Subtype). */
+#define BLE_APPEARANCE_HID_CARD_READER                      966 /**< Card Reader (HID Subtype). */
+#define BLE_APPEARANCE_HID_DIGITAL_PEN                      967 /**< Digital Pen (HID Subtype). */
+#define BLE_APPEARANCE_HID_BARCODE                          968 /**< Barcode Scanner (HID Subtype). */
+#define BLE_APPEARANCE_GENERIC_GLUCOSE_METER               1024 /**< Generic Glucose Meter. */
+#define BLE_APPEARANCE_GENERIC_RUNNING_WALKING_SENSOR      1088 /**< Generic Running Walking Sensor. */
+#define BLE_APPEARANCE_RUNNING_WALKING_SENSOR_IN_SHOE      1089 /**< Running Walking Sensor: In-Shoe. */
+#define BLE_APPEARANCE_RUNNING_WALKING_SENSOR_ON_SHOE      1090 /**< Running Walking Sensor: On-Shoe. */
+#define BLE_APPEARANCE_RUNNING_WALKING_SENSOR_ON_HIP       1091 /**< Running Walking Sensor: On-Hip. */
+#define BLE_APPEARANCE_GENERIC_CYCLING                     1152 /**< Generic Cycling. */
+#define BLE_APPEARANCE_CYCLING_CYCLING_COMPUTER            1153 /**< Cycling: Cycling Computer. */
+#define BLE_APPEARANCE_CYCLING_SPEED_SENSOR                1154 /**< Cycling: Speed Sensor. */
+#define BLE_APPEARANCE_CYCLING_CADENCE_SENSOR              1155 /**< Cycling: Cadence Sensor. */
+#define BLE_APPEARANCE_CYCLING_POWER_SENSOR                1156 /**< Cycling: Power Sensor. */
+#define BLE_APPEARANCE_CYCLING_SPEED_CADENCE_SENSOR        1157 /**< Cycling: Speed and Cadence Sensor. */
+#define BLE_APPEARANCE_GENERIC_PULSE_OXIMETER              3136 /**< Generic Pulse Oximeter. */
+#define BLE_APPEARANCE_PULSE_OXIMETER_FINGERTIP            3137 /**< Fingertip (Pulse Oximeter subtype). */
+#define BLE_APPEARANCE_PULSE_OXIMETER_WRIST_WORN           3138 /**< Wrist Worn(Pulse Oximeter subtype). */
+#define BLE_APPEARANCE_GENERIC_WEIGHT_SCALE                3200 /**< Generic Weight Scale. */
+#define BLE_APPEARANCE_GENERIC_OUTDOOR_SPORTS_ACT          5184 /**< Generic Outdoor Sports Activity. */
+#define BLE_APPEARANCE_OUTDOOR_SPORTS_ACT_LOC_DISP         5185 /**< Location Display Device (Outdoor Sports Activity subtype). */
+#define BLE_APPEARANCE_OUTDOOR_SPORTS_ACT_LOC_AND_NAV_DISP 5186 /**< Location and Navigation Display Device (Outdoor Sports Activity subtype). */
+#define BLE_APPEARANCE_OUTDOOR_SPORTS_ACT_LOC_POD          5187 /**< Location Pod (Outdoor Sports Activity subtype). */
+#define BLE_APPEARANCE_OUTDOOR_SPORTS_ACT_LOC_AND_NAV_POD  5188 /**< Location and Navigation Pod (Outdoor Sports Activity subtype). */
+/** @} */
+
+/** @brief Set .type and .uuid fields of ble_uuid_struct to specified uuid value. */
+#define BLE_UUID_BLE_ASSIGN(instance, value) do {\
+            instance.type = BLE_UUID_TYPE_BLE; \
+            instance.uuid = value;} while(0)
+
+/** @brief Copy type and uuid members from src to dst ble_uuid_t pointer. Both pointers must be valid/non-null. */
+#define BLE_UUID_COPY_PTR(dst, src) do {\
+            (dst)->type = (src)->type; \
+            (dst)->uuid = (src)->uuid;} while(0)
+
+/** @brief Copy type and uuid members from src to dst ble_uuid_t struct. */
+#define BLE_UUID_COPY_INST(dst, src) do {\
+            (dst).type = (src).type; \
+            (dst).uuid = (src).uuid;} while(0)
+
+/** @brief Compare for equality both type and uuid members of two (valid, non-null) ble_uuid_t pointers. */
+#define BLE_UUID_EQ(p_uuid1, p_uuid2) \
+            (((p_uuid1)->type == (p_uuid2)->type) && ((p_uuid1)->uuid == (p_uuid2)->uuid))
+
+/** @brief Compare for difference both type and uuid members of two (valid, non-null) ble_uuid_t pointers. */
+#define BLE_UUID_NEQ(p_uuid1, p_uuid2) \
+            (((p_uuid1)->type != (p_uuid2)->type) || ((p_uuid1)->uuid != (p_uuid2)->uuid))
+
+/** @} */
+
+/** @addtogroup BLE_TYPES_STRUCTURES Structures
+ * @{ */
+
+/** @brief 128 bit UUID values. */
+typedef struct
+{ 
+    unsigned char uuid128[16];
+} ble_uuid128_t;
+
+/** @brief  Bluetooth Low Energy UUID type, encapsulates both 16-bit and 128-bit UUIDs. */
+typedef struct
+{
+    uint16_t    uuid; /**< 16-bit UUID value or octets 12-13 of 128-bit UUID. */
+    uint8_t     type; /**< UUID type, see @ref BLE_UUID_TYPES. If type is BLE_UUID_TYPE_UNKNOWN, the value of uuid is undefined. */
+} ble_uuid_t;
+
+/** @} */
+
+#endif /* BLE_TYPES_H__ */
+
+/**
+  @}
+  @}
+*/
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TARGET_HRM1017/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/nrf_error.h	Fri Aug 15 15:28:31 2014 +0100
@@ -0,0 +1,51 @@
+/*
+ * Copyright (c) 2012 Nordic Semiconductor. All Rights Reserved.
+ *
+ * The information contained herein is confidential property of Nordic Semiconductor. The use,
+ * copying, transfer or disclosure of such information is prohibited except by express written
+ * agreement with Nordic Semiconductor.
+ *
+ */
+ /**
+  @defgroup nrf_error SoftDevice Global Error Codes
+  @{
+   
+  @brief Global Error definitions
+*/
+
+/* Header guard */
+#ifndef NRF_ERROR_H__
+#define NRF_ERROR_H__
+
+/** @defgroup NRF_ERRORS_BASE Error Codes Base number definitions
+ * @{ */
+#define NRF_ERROR_BASE_NUM      (0x0)       ///< Global error base
+#define NRF_ERROR_SDM_BASE_NUM  (0x1000)    ///< SDM error base
+#define NRF_ERROR_SOC_BASE_NUM  (0x2000)    ///< SoC error base
+#define NRF_ERROR_STK_BASE_NUM  (0x3000)    ///< STK error base
+/** @} */
+
+#define NRF_SUCCESS                           (NRF_ERROR_BASE_NUM + 0)  ///< Successful command
+#define NRF_ERROR_SVC_HANDLER_MISSING         (NRF_ERROR_BASE_NUM + 1)  ///< SVC handler is missing
+#define NRF_ERROR_SOFTDEVICE_NOT_ENABLED      (NRF_ERROR_BASE_NUM + 2)  ///< SoftDevice has not been enabled
+#define NRF_ERROR_INTERNAL                    (NRF_ERROR_BASE_NUM + 3)  ///< Internal Error
+#define NRF_ERROR_NO_MEM                      (NRF_ERROR_BASE_NUM + 4)  ///< No Memory for operation
+#define NRF_ERROR_NOT_FOUND                   (NRF_ERROR_BASE_NUM + 5)  ///< Not found
+#define NRF_ERROR_NOT_SUPPORTED               (NRF_ERROR_BASE_NUM + 6)  ///< Not supported
+#define NRF_ERROR_INVALID_PARAM               (NRF_ERROR_BASE_NUM + 7)  ///< Invalid Parameter
+#define NRF_ERROR_INVALID_STATE               (NRF_ERROR_BASE_NUM + 8)  ///< Invalid state, operation disallowed in this state
+#define NRF_ERROR_INVALID_LENGTH              (NRF_ERROR_BASE_NUM + 9)  ///< Invalid Length
+#define NRF_ERROR_INVALID_FLAGS               (NRF_ERROR_BASE_NUM + 10) ///< Invalid Flags
+#define NRF_ERROR_INVALID_DATA                (NRF_ERROR_BASE_NUM + 11) ///< Invalid Data
+#define NRF_ERROR_DATA_SIZE                   (NRF_ERROR_BASE_NUM + 12) ///< Data size exceeds limit
+#define NRF_ERROR_TIMEOUT                     (NRF_ERROR_BASE_NUM + 13) ///< Operation timed out
+#define NRF_ERROR_NULL                        (NRF_ERROR_BASE_NUM + 14) ///< Null Pointer
+#define NRF_ERROR_FORBIDDEN                   (NRF_ERROR_BASE_NUM + 15) ///< Forbidden Operation
+#define NRF_ERROR_INVALID_ADDR                (NRF_ERROR_BASE_NUM + 16) ///< Bad Memory Address
+#define NRF_ERROR_BUSY                        (NRF_ERROR_BASE_NUM + 17) ///< Busy
+
+#endif // NRF_ERROR_H__
+
+/**
+  @}
+*/
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TARGET_HRM1017/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/nrf_error_sdm.h	Fri Aug 15 15:28:31 2014 +0100
@@ -0,0 +1,33 @@
+/*
+ * Copyright (c) 2012 Nordic Semiconductor. All Rights Reserved.
+ *
+ * The information contained herein is confidential property of Nordic Semiconductor. The use,
+ * copying, transfer or disclosure of such information is prohibited except by express written
+ * agreement with Nordic Semiconductor.
+ *
+ */
+ /**
+  @addtogroup nrf_sdm_api
+  @{
+  @defgroup nrf_sdm_error SoftDevice Manager Error Codes
+  @{
+     
+  @brief Error definitions for the SDM API
+*/
+
+/* Header guard */
+#ifndef NRF_ERROR_SDM_H__
+#define NRF_ERROR_SDM_H__
+
+#include "nrf_error.h"
+
+#define NRF_ERROR_SDM_LFCLK_SOURCE_UNKNOWN              (NRF_ERROR_SDM_BASE_NUM + 0)  ///< Unknown lfclk source
+#define NRF_ERROR_SDM_INCORRECT_INTERRUPT_CONFIGURATION (NRF_ERROR_SDM_BASE_NUM + 1)  ///< Incorrect interrupt configuration (can be caused by using illegal priority levels, or having enabled SoftDevice interrupts)
+#define NRF_ERROR_SDM_INCORRECT_CLENR0                  (NRF_ERROR_SDM_BASE_NUM + 2)  ///< Incorrect CLENR0 (can be caused by erronous SoftDevice flashing)
+
+#endif // NRF_ERROR_SDM_H__
+
+/**
+  @}
+  @}
+*/
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TARGET_HRM1017/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/nrf_error_soc.h	Fri Aug 15 15:28:31 2014 +0100
@@ -0,0 +1,49 @@
+/*
+ * Copyright (c) 2012 Nordic Semiconductor. All Rights Reserved.
+ *
+ * The information contained herein is confidential property of Nordic Semiconductor. The use,
+ * copying, transfer or disclosure of such information is prohibited except by express written
+ * agreement with Nordic Semiconductor.
+ *
+ */
+ /**
+  @addtogroup nrf_soc_api
+  @{
+  @defgroup nrf_soc_error SoC Library Error Codes
+  @{
+     
+  @brief Error definitions for the SoC library
+
+*/
+
+/* Header guard */
+#ifndef NRF_ERROR_SOC_H__
+#define NRF_ERROR_SOC_H__
+
+#include "nrf_error.h"
+
+/* Mutex Errors */
+#define NRF_ERROR_SOC_MUTEX_ALREADY_TAKEN                 (NRF_ERROR_SOC_BASE_NUM + 0)  ///< Mutex already taken
+
+/* NVIC errors */
+#define NRF_ERROR_SOC_NVIC_INTERRUPT_NOT_AVAILABLE        (NRF_ERROR_SOC_BASE_NUM + 1)  ///< NVIC interrupt not available
+#define NRF_ERROR_SOC_NVIC_INTERRUPT_PRIORITY_NOT_ALLOWED (NRF_ERROR_SOC_BASE_NUM + 2)  ///< NVIC interrupt priority not allowed
+#define NRF_ERROR_SOC_NVIC_SHOULD_NOT_RETURN              (NRF_ERROR_SOC_BASE_NUM + 3)  ///< NVIC should not return
+
+/* Power errors */
+#define NRF_ERROR_SOC_POWER_MODE_UNKNOWN                  (NRF_ERROR_SOC_BASE_NUM + 4)  ///< Power mode unknown
+#define NRF_ERROR_SOC_POWER_POF_THRESHOLD_UNKNOWN         (NRF_ERROR_SOC_BASE_NUM + 5)  ///< Power POF threshold unknown
+#define NRF_ERROR_SOC_POWER_OFF_SHOULD_NOT_RETURN         (NRF_ERROR_SOC_BASE_NUM + 6)  ///< Power off should not return
+
+/* Rand errors */
+#define NRF_ERROR_SOC_RAND_NOT_ENOUGH_VALUES              (NRF_ERROR_SOC_BASE_NUM + 7)  ///< RAND not enough values
+
+/* PPI errors */
+#define NRF_ERROR_SOC_PPI_INVALID_CHANNEL                 (NRF_ERROR_SOC_BASE_NUM + 8)  ///< Invalid PPI Channel
+#define NRF_ERROR_SOC_PPI_INVALID_GROUP                   (NRF_ERROR_SOC_BASE_NUM + 9)  ///< Invalid PPI Group
+
+#endif // NRF_ERROR_SOC_H__
+/**
+  @}
+  @}
+*/
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TARGET_HRM1017/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/nrf_mbr.h	Fri Aug 15 15:28:31 2014 +0100
@@ -0,0 +1,155 @@
+/*
+ * Copyright (c) 2014 Nordic Semiconductor. All Rights Reserved.
+ *
+ * The information contained herein is confidential property of Nordic Semiconductor. The use,
+ * copying, transfer or disclosure of such information is prohibited except by express written
+ * agreement with Nordic Semiconductor.
+ *
+ */
+/**
+  @defgroup nrf_mbr_api Master Boot Record API
+  @{
+     
+  @brief APIs for updating SoftDevice and BootLoader
+ 
+*/
+
+/* Header guard */
+#ifndef NRF_MBR_H__
+#define NRF_MBR_H__
+
+#include "nrf_svc.h"
+#include <stdint.h>
+
+
+/** @addtogroup NRF_MBR_DEFINES Defines
+ * @{ */
+
+/**@brief MBR SVC Base number. */
+#define MBR_SVC_BASE 0x18   
+/** @} */
+
+/** @addtogroup NRF_MBR_ENUMS Enumerations
+ * @{ */
+
+/**@brief nRF Master Boot Record API SVC numbers. */
+enum NRF_MBR_SVCS
+{
+  SD_MBR_COMMAND = MBR_SVC_BASE, /**< ::sd_mbr_command */
+};
+
+/**@brief Possible values for ::sd_mbr_command_t.command */
+enum NRF_MBR_COMMANDS
+{
+  SD_MBR_COMMAND_COPY_BL,               /**< Copy a new a new BootLoader. @see sd_mbr_command_copy_bl_t */
+  SD_MBR_COMMAND_COPY_SD,               /**< Copy a new SoftDevice. @see ::sd_mbr_command_copy_sd_t*/
+  SD_MBR_COMMAND_INIT_SD,               /**< Init forwarding interrupts to SD, and run reset function in SD*/
+  SD_MBR_COMMAND_COMPARE,               /**< This command works like memcmp. @see ::sd_mbr_command_compare_t*/
+  SD_MBR_COMMAND_VECTOR_TABLE_BASE_SET, /**< Start forwarding all exception to this address @see ::sd_mbr_command_vector_table_base_set_t*/
+};
+
+/** @} */
+
+/** @addtogroup NRF_MBR_TYPES Types
+ * @{ */
+
+/**@brief This command copies part of a new SoftDevice
+ * The destination area is erased before copying. 
+ * If dst is in the middle of a flash page, that whole flash page will be erased.
+ * If (dst+len) is in the middle of a flash page, that whole flash page will be erased.
+ * 
+ * The user of this function is responsible for setting the PROTENSET registers.
+ * 
+ * @retval ::NRF_SUCCESS indicates that the contents of the memory blocks where copied correctly.
+ * @retval ::NRF_ERROR_INTERNAL indicates that the contents of the memory blocks where not verified correctly after copying.
+ */
+typedef struct
+{
+  uint32_t *src;  /**< Pointer to the source of data to be copied.*/
+  uint32_t *dst;  /**< Pointer to the destination where the content is to be copied.*/
+  uint32_t len;   /**< Number of 32 bit words to copy. Must be a multiple of 256 words*/
+}sd_mbr_command_copy_sd_t;
+
+
+/**@brief This command works like memcmp, but takes the length in words.
+ *
+ * @retval ::NRF_SUCCESS indicates that the contents of both memory blocks are equal.
+ * @retval ::NRF_ERROR_NULL indicates that the contents of the memory blocks are not equal.
+ */
+typedef struct
+{
+  uint32_t *ptr1; /**< Pointer to block of memory */
+  uint32_t *ptr2; /**< Pointer to block of memory */
+  uint32_t len;   /**< Number of 32 bit words to compare*/
+}sd_mbr_command_compare_t;
+
+
+/**@brief This command copies a new BootLoader.
+ *  With this command, destination of BootLoader is always the address written in NRF_UICR->BOOTADDR.
+ *
+ *  Destination is erased by this function.
+ *  If (destination+bl_len) is in the middle of a flash page, that whole flash page will be erased.
+ *
+ *  This function will use PROTENSET to protect the flash that is not intended to be written.
+ * 
+ *  On Success, this function will not return. It will start the new BootLoader from reset-vector as normal.
+ *
+ * @retval ::NRF_ERROR_INVALID_STATE indicates that something was wrong.
+ * @retval ::NRF_ERROR_INTERNAL indicates an internal error that should not happen.
+ * @retval ::NRF_ERROR_FORBIDDEN if NRF_UICR->BOOTADDR is not set
+ * @retval ::NRF_ERROR_INVALID_LENGTH is invalid.
+ */
+typedef struct
+{
+  uint32_t *bl_src;  /**< Pointer to the source of the Bootloader to be be copied.*/
+  uint32_t bl_len;   /**< Number of 32 bit words to copy for BootLoader */
+}sd_mbr_command_copy_bl_t;
+
+/**@brief Sets the base address of the interrupt vector table for interrupts forwarded from the MBR
+ * 
+ * Once this function has been called, this address is where the MBR will start to forward interrupts to after a reset.
+ *
+ * To restore default forwarding thiss function should be called with @param address set to 0.
+ * The MBR will then start forwarding to interrupts to the adress in NFR_UICR->BOOTADDR or to the SoftDevice if the BOOTADDR is not set.
+ *
+ * @retval ::NRF_SUCCESS
+ */
+typedef struct
+{ 
+  uint32_t address; /**< The base address of the interrupt vector table for forwarded interrupts.*/
+}sd_mbr_command_vector_table_base_set_t;
+
+typedef struct
+{
+  uint32_t command;  /**< type of command to be issued see @ref NRF_MBR_COMMANDS. */
+  union 
+  {
+    sd_mbr_command_copy_sd_t copy_sd;  /**< Parameters for copy*/
+    sd_mbr_command_copy_bl_t copy_bl;  /**< Parameters for copy SoftDevice and BootLoader*/
+    sd_mbr_command_compare_t compare;  /**< Parameters for verify*/
+    sd_mbr_command_vector_table_base_set_t base_set; /**< Parameters for vector table base set.*/
+  } params;
+}sd_mbr_command_t;
+
+/** @} */
+
+/** @addtogroup NRF_MBR_FUNCTIONS Functions
+ * @{ */
+
+/**@brief Issue Master Boot Record commands
+ *
+ * Commands used when updating a SoftDevice and bootloader
+ *
+ * @param[in]  param Pointer to a struct describing the command
+ *
+ *@note for retvals see ::sd_mbr_command_copy_sd_t ::sd_mbr_command_copy_bl_t ::sd_mbr_command_compare_t
+
+*/
+SVCALL(SD_MBR_COMMAND, uint32_t, sd_mbr_command(sd_mbr_command_t* param));
+
+/** @} */
+#endif // NRF_MBR_H__
+
+/**
+  @}
+*/
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TARGET_HRM1017/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/nrf_sdm.h	Fri Aug 15 15:28:31 2014 +0100
@@ -0,0 +1,167 @@
+/*
+ * Copyright (c) 2011 Nordic Semiconductor. All Rights Reserved.
+ *
+ * The information contained herein is confidential property of Nordic Semiconductor. The use,
+ * copying, transfer or disclosure of such information is prohibited except by express written
+ * agreement with Nordic Semiconductor.
+ *
+ */
+/**
+  @defgroup nrf_sdm_api SoftDevice Manager API
+  @{
+     
+  @brief APIs for SoftDevice management.
+ 
+*/
+
+/* Header guard */
+#ifndef NRF_SDM_H__
+#define NRF_SDM_H__
+
+#include "nrf_svc.h"
+#include "nrf51.h"
+#include "nrf_soc.h"
+#include "nrf_error_sdm.h"
+
+/** @addtogroup NRF_SDM_DEFINES Defines
+ * @{ */
+
+/**@brief SoftDevice Manager SVC Base number. */
+#define SDM_SVC_BASE  (0x10)
+
+/** @} */
+
+/** @addtogroup NRF_SDM_ENUMS Enumerations
+ * @{ */
+
+/**@brief nRF SoftDevice Manager API SVC numbers. */
+enum NRF_SD_SVCS
+{
+  SD_SOFTDEVICE_ENABLE = SDM_SVC_BASE, /**< ::sd_softdevice_enable */
+  SD_SOFTDEVICE_DISABLE,               /**< ::sd_softdevice_disable */
+  SD_SOFTDEVICE_IS_ENABLED,            /**< ::sd_softdevice_is_enabled */
+  SD_SOFTDEVICE_VECTOR_TABLE_BASE_SET, /**< ::sd_softdevice_vector_table_base_set */
+  SVC_SDM_LAST                         /**< Placeholder for last SDM SVC */
+};
+
+/**@brief Possible lfclk oscillator sources. */
+enum NRF_CLOCK_LFCLKSRCS
+{
+  NRF_CLOCK_LFCLKSRC_SYNTH_250_PPM,                       /**< LFCLK Synthesized from HFCLK.                    */
+  NRF_CLOCK_LFCLKSRC_XTAL_500_PPM,                        /**< LFCLK crystal oscillator 500 PPM accuracy.       */
+  NRF_CLOCK_LFCLKSRC_XTAL_250_PPM,                        /**< LFCLK crystal oscillator 250 PPM accuracy.       */
+  NRF_CLOCK_LFCLKSRC_XTAL_150_PPM,                        /**< LFCLK crystal oscillator 150 PPM accuracy.       */
+  NRF_CLOCK_LFCLKSRC_XTAL_100_PPM,                        /**< LFCLK crystal oscillator 100 PPM accuracy.       */
+  NRF_CLOCK_LFCLKSRC_XTAL_75_PPM,                         /**< LFCLK crystal oscillator 75 PPM accuracy.        */
+  NRF_CLOCK_LFCLKSRC_XTAL_50_PPM,                         /**< LFCLK crystal oscillator 50 PPM accuracy.        */
+  NRF_CLOCK_LFCLKSRC_XTAL_30_PPM,                         /**< LFCLK crystal oscillator 30 PPM accuracy.        */
+  NRF_CLOCK_LFCLKSRC_XTAL_20_PPM,                         /**< LFCLK crystal oscillator 20 PPM accuracy.        */
+  NRF_CLOCK_LFCLKSRC_RC_250_PPM_250MS_CALIBRATION,        /**< LFCLK RC oscillator, 250ms  calibration interval.*/
+  NRF_CLOCK_LFCLKSRC_RC_250_PPM_500MS_CALIBRATION,        /**< LFCLK RC oscillator, 500ms  calibration interval.*/
+  NRF_CLOCK_LFCLKSRC_RC_250_PPM_1000MS_CALIBRATION,       /**< LFCLK RC oscillator, 1000ms calibration interval.*/
+  NRF_CLOCK_LFCLKSRC_RC_250_PPM_2000MS_CALIBRATION,       /**< LFCLK RC oscillator, 2000ms calibration interval.*/
+  NRF_CLOCK_LFCLKSRC_RC_250_PPM_4000MS_CALIBRATION,       /**< LFCLK RC oscillator, 4000ms calibration interval.*/
+  NRF_CLOCK_LFCLKSRC_RC_250_PPM_8000MS_CALIBRATION,       /**< LFCLK RC oscillator, 8000ms calibration interval.*/
+  NRF_CLOCK_LFCLKSRC_RC_250_PPM_TEMP_1000MS_CALIBRATION,  /**< LFCLK RC oscillator. Temperature checked every 1000ms, if changed above a threshold, a calibration is done.*/
+  NRF_CLOCK_LFCLKSRC_RC_250_PPM_TEMP_2000MS_CALIBRATION,  /**< LFCLK RC oscillator. Temperature checked every 2000ms, if changed above a threshold, a calibration is done.*/
+  NRF_CLOCK_LFCLKSRC_RC_250_PPM_TEMP_4000MS_CALIBRATION,  /**< LFCLK RC oscillator. Temperature checked every 4000ms, if changed above a threshold, a calibration is done.*/
+  NRF_CLOCK_LFCLKSRC_RC_250_PPM_TEMP_8000MS_CALIBRATION,  /**< LFCLK RC oscillator. Temperature checked every 8000ms, if changed above a threshold, a calibration is done.*/
+  NRF_CLOCK_LFCLKSRC_RC_250_PPM_TEMP_16000MS_CALIBRATION, /**< LFCLK RC oscillator. Temperature checked every 16000ms, if changed above a threshold, a calibration is done.*/
+};
+
+/** @} */
+
+/** @addtogroup NRF_SDM_TYPES Types
+ * @{ */
+
+/**@brief Type representing lfclk oscillator source. */
+typedef uint32_t nrf_clock_lfclksrc_t;
+
+
+/**@brief SoftDevice Assertion Handler type.
+ *
+ * When an unexpected error occurs within the SoftDevice it will call the SoftDevice assertion handler callback.
+ * The protocol stack will be in an undefined state when this happens and the only way to recover will be to
+ * perform a reset, using e.g. CMSIS NVIC_SystemReset().
+ *
+ * @note This callback is executed in HardFault context, thus SVC functions cannot be called from the SoftDevice assert callback.
+ *       
+ * @param[in] pc The program counter of the failed assert.
+ * @param[in] line_number Line number where the assert failed.
+ * @param[in] file_name File name where the assert failed.
+ */
+typedef void (*softdevice_assertion_handler_t)(uint32_t pc, uint16_t line_number, const uint8_t * p_file_name);
+
+/** @} */
+
+/** @addtogroup NRF_SDM_FUNCTIONS Functions
+ * @{ */
+
+/**@brief Enables the SoftDevice and by extension the protocol stack.
+ *
+ * Idempotent function to enable the SoftDevice.
+ *
+ * @note Some care must be taken if a low frequency clock source is already running when calling this function:
+ *       If the LF clock has a different source then the one currently running, it will be stopped. Then, the new
+ *       clock source will be started.
+ *
+ * @note This function has no effect when returning with an error.
+ *
+ * @post If return code is ::NRF_SUCCESS 
+ *       - SoC library and protocol stack APIs are made available
+ *       - A portion of RAM will be unavailable (see relevant SDS documentation)
+ *       - Some peripherals will be unavailable or available only through the SoC API (see relevant SDS documentation)
+ *       - Interrupts will not arrive from protected peripherals or interrupts
+ *       - nrf_nvic_ functions must be used instead of CMSIS NVIC_ functions for reliable usage of the softdevice.
+ *       - Interrupt latency may be affected by the SoftDevice  (see relevant SDS documentation)
+ *       - Chosen low frequency clock source will be running
+ *
+ * @param clock_source Low frequency clock source and accuracy. (Note: In the case of XTAL source, the PPM accuracy of the chosen clock source must be greater than or equal to the actual characteristics of your XTAL clock).
+ * @param assertion_handler Callback for SoftDevice assertions.
+ *
+ * @retval ::NRF_SUCCESS
+ * @retval ::NRF_ERROR_SDM_INCORRECT_INTERRUPT_CONFIGURATION SoftDeviceinterrupt is already enabled, or an enabled interrupt has an illegal priority level
+ * @retval ::NRF_ERROR_SDM_LFCLK_SOURCE_UNKNOWN Unknown low frequency clock source selected
+ */
+SVCALL(SD_SOFTDEVICE_ENABLE, uint32_t, sd_softdevice_enable(nrf_clock_lfclksrc_t clock_source, softdevice_assertion_handler_t assertion_handler));
+
+/**@brief Disables the SoftDevice and by extension the protocol stack.
+ * 
+ * Idempotent function to disable the SoftDevice.
+ *
+ * @post SoC library and protocol stack APIs are made unavailable.
+ * @post All interrupts that was protected by the SoftDevice will be disabled and initialized to priority 0 (highest).
+ * @post All peripherals used by the SoftDevice will be reset to default values.
+ * @post All of RAM become available.
+ * @post All interrupts are forwarded to the application.
+ * @post LFCLK source chosen in ::sd_softdevice_enable will be left running.
+ *
+ * @retval ::NRF_SUCCESS
+ */
+SVCALL(SD_SOFTDEVICE_DISABLE, uint32_t, sd_softdevice_disable(void));
+
+/**@brief Check if the SoftDevice is enabled.
+ *
+ * @param[out]  p_softdevice_enabled If the SoftDevice is enabled: 1 else 0.
+ *
+ * @retval ::NRF_SUCCESS
+ */
+SVCALL(SD_SOFTDEVICE_IS_ENABLED, uint32_t, sd_softdevice_is_enabled(uint8_t * p_softdevice_enabled));
+
+/**@brief Sets the base address of the interrupt vector table for interrupts forwarded from the SoftDevice
+ * 
+ * This function is only intended to be called when a bootloader is enabled.
+ *
+ * @param[in] address The base address of the interrupt vector table for forwarded interrupts.
+ 
+ * @retval ::NRF_SUCCESS
+ */
+SVCALL(SD_SOFTDEVICE_VECTOR_TABLE_BASE_SET, uint32_t, sd_softdevice_vector_table_base_set(uint32_t address)); 
+
+/** @} */
+
+#endif // NRF_SDM_H__
+
+/**
+  @}
+*/
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TARGET_HRM1017/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/nrf_soc.h	Fri Aug 15 15:28:31 2014 +0100
@@ -0,0 +1,958 @@
+/* Copyright (c) 2011 Nordic Semiconductor. All Rights Reserved.
+ *
+ * The information contained herein is confidential property of Nordic Semiconductor. The use,
+ * copying, transfer or disclosure of such information is prohibited except by express written
+ * agreement with Nordic Semiconductor.
+ *
+ */
+ 
+/**
+ * @defgroup nrf_soc_api SoC Library API
+ * @{
+ * 
+ * @brief APIs for the SoC library.
+ * 
+*/
+
+#ifndef NRF_SOC_H__
+#define NRF_SOC_H__
+
+#include <stdint.h>
+#include <stdbool.h>
+#include "nrf_svc.h"
+#include "nrf51.h"
+#include "nrf51_bitfields.h"
+#include "nrf_error_soc.h"
+
+/** @addtogroup NRF_SOC_DEFINES Defines
+ * @{ */
+
+/**@brief The number of the lowest SVC number reserved for the SoC library. */
+#define SOC_SVC_BASE               (0x20)
+#define SOC_SVC_BASE_NOT_AVAILABLE (0x23)
+
+/**@brief Guranteed time for application to process radio inactive notification. */
+#define NRF_RADIO_NOTIFICATION_INACTIVE_GUARANTEED_TIME_US  (62)
+
+/**@brief The minimum allowed timeslot extension time. */
+#define NRF_RADIO_MINIMUM_TIMESLOT_LENGTH_EXTENSION_TIME_US (200)
+
+#define SOC_ECB_KEY_LENGTH            (16)                       /**< ECB key length. */
+#define SOC_ECB_CLEARTEXT_LENGTH      (16)                       /**< ECB cleartext length. */
+#define SOC_ECB_CIPHERTEXT_LENGTH     (SOC_ECB_CLEARTEXT_LENGTH) /**< ECB ciphertext length. */
+
+#define SD_EVT_IRQn                   (SWI2_IRQn)        /**< SoftDevice Event IRQ number. Used for both protocol events and SoC events. */
+#define SD_EVT_IRQHandler             (SWI2_IRQHandler)  /**< SoftDevice Event IRQ handler. Used for both protocol events and SoC events. */
+#define RADIO_NOTIFICATION_IRQn       (SWI1_IRQn)        /**< The radio notification IRQ number. */
+#define RADIO_NOTIFICATION_IRQHandler (SWI1_IRQHandler)  /**< The radio notification IRQ handler. */
+
+#define NRF_RADIO_LENGTH_MIN_US       (100)               /**< The shortest allowed radio timeslot, in microseconds. */
+#define NRF_RADIO_LENGTH_MAX_US       (100000)            /**< The longest allowed radio timeslot, in microseconds. */
+
+#define NRF_RADIO_DISTANCE_MAX_US         (128000000UL - 1UL) /**< The longest timeslot distance, in microseconds, allowed for the distance parameter (see @ref nrf_radio_request_normal_t) in the request. */
+
+#define NRF_RADIO_EARLIEST_TIMEOUT_MAX_US (128000000UL - 1UL) /**< The longest timeout, in microseconds, allowed when requesting the earliest possible timeslot. */
+
+#define NRF_RADIO_START_JITTER_US     (2)                 /**< The maximum jitter in NRF_RADIO_CALLBACK_SIGNAL_TYPE_START relative to the requested start time. */
+
+/** @} */
+
+/** @addtogroup NRF_SOC_TYPES Types
+ * @{ */
+
+/**@brief The SVC numbers used by the SVC functions in the SoC library. */
+enum NRF_SOC_SVCS
+{
+  SD_FLASH_PAGE_ERASE = SOC_SVC_BASE,
+  SD_FLASH_WRITE,
+  SD_FLASH_PROTECT,
+  SD_MUTEX_NEW = SOC_SVC_BASE_NOT_AVAILABLE,
+  SD_MUTEX_ACQUIRE,
+  SD_MUTEX_RELEASE,
+  SD_NVIC_ENABLEIRQ,
+  SD_NVIC_DISABLEIRQ,
+  SD_NVIC_GETPENDINGIRQ,
+  SD_NVIC_SETPENDINGIRQ,
+  SD_NVIC_CLEARPENDINGIRQ,
+  SD_NVIC_SETPRIORITY,
+  SD_NVIC_GETPRIORITY,
+  SD_NVIC_SYSTEMRESET,
+  SD_NVIC_CRITICAL_REGION_ENTER,
+  SD_NVIC_CRITICAL_REGION_EXIT,
+  SD_RAND_APPLICATION_POOL_CAPACITY,
+  SD_RAND_APPLICATION_BYTES_AVAILABLE,
+  SD_RAND_APPLICATION_GET_VECTOR,
+  SD_POWER_MODE_SET,
+  SD_POWER_SYSTEM_OFF,
+  SD_POWER_RESET_REASON_GET,
+  SD_POWER_RESET_REASON_CLR,
+  SD_POWER_POF_ENABLE,
+  SD_POWER_POF_THRESHOLD_SET,
+  SD_POWER_RAMON_SET,
+  SD_POWER_RAMON_CLR,
+  SD_POWER_RAMON_GET,
+  SD_POWER_GPREGRET_SET,
+  SD_POWER_GPREGRET_CLR,
+  SD_POWER_GPREGRET_GET,
+  SD_POWER_DCDC_MODE_SET,
+  SD_APP_EVT_WAIT,
+  SD_CLOCK_HFCLK_REQUEST,
+  SD_CLOCK_HFCLK_RELEASE,
+  SD_CLOCK_HFCLK_IS_RUNNING,
+  SD_PPI_CHANNEL_ENABLE_GET,
+  SD_PPI_CHANNEL_ENABLE_SET,
+  SD_PPI_CHANNEL_ENABLE_CLR,
+  SD_PPI_CHANNEL_ASSIGN,
+  SD_PPI_GROUP_TASK_ENABLE,
+  SD_PPI_GROUP_TASK_DISABLE,
+  SD_PPI_GROUP_ASSIGN,
+  SD_PPI_GROUP_GET,
+  SD_RADIO_NOTIFICATION_CFG_SET,
+  SD_ECB_BLOCK_ENCRYPT,
+  SD_RADIO_SESSION_OPEN,
+  SD_RADIO_SESSION_CLOSE,
+  SD_RADIO_REQUEST,
+  SD_EVT_GET,
+  SD_TEMP_GET,
+  SVC_SOC_LAST
+};
+
+/**@brief Possible values of a ::nrf_mutex_t. */
+enum NRF_MUTEX_VALUES
+{
+  NRF_MUTEX_FREE,
+  NRF_MUTEX_TAKEN
+};
+
+/**@brief Possible values of ::nrf_app_irq_priority_t. */
+enum NRF_APP_PRIORITIES
+{
+  NRF_APP_PRIORITY_HIGH = 1,
+  NRF_APP_PRIORITY_LOW = 3
+};
+
+/**@brief Possible values of ::nrf_power_mode_t. */
+enum NRF_POWER_MODES
+{
+  NRF_POWER_MODE_CONSTLAT,  /**< Constant latency mode. See power management in the reference manual. */
+  NRF_POWER_MODE_LOWPWR     /**< Low power mode. See power management in the reference manual. */
+};
+
+
+/**@brief Possible values of ::nrf_power_failure_threshold_t */
+enum NRF_POWER_THRESHOLDS
+{
+  NRF_POWER_THRESHOLD_V21,  /**< 2.1 Volts power failure threshold. */
+  NRF_POWER_THRESHOLD_V23,  /**< 2.3 Volts power failure threshold. */
+  NRF_POWER_THRESHOLD_V25,  /**< 2.5 Volts power failure threshold. */ 
+  NRF_POWER_THRESHOLD_V27   /**< 2.7 Volts power failure threshold. */
+};
+
+
+/**@brief Possible values of ::nrf_power_dcdc_mode_t. */
+enum NRF_POWER_DCDC_MODES
+{
+  NRF_POWER_DCDC_MODE_OFF,          /**< The DCDC is always off. */
+  NRF_POWER_DCDC_MODE_ON,           /**< The DCDC is always on. */
+  NRF_POWER_DCDC_MODE_AUTOMATIC     /**< The DCDC is automatically managed. */
+};
+
+/**@brief Possible values of ::nrf_radio_notification_distance_t. */
+enum NRF_RADIO_NOTIFICATION_DISTANCES
+{
+  NRF_RADIO_NOTIFICATION_DISTANCE_NONE = 0, /**< The event does not have a notification. */
+  NRF_RADIO_NOTIFICATION_DISTANCE_800US,    /**< The distance from the active notification to start of radio activity. */
+  NRF_RADIO_NOTIFICATION_DISTANCE_1740US,   /**< The distance from the active notification to start of radio activity. */
+  NRF_RADIO_NOTIFICATION_DISTANCE_2680US,   /**< The distance from the active notification to start of radio activity. */
+  NRF_RADIO_NOTIFICATION_DISTANCE_3620US,   /**< The distance from the active notification to start of radio activity. */
+  NRF_RADIO_NOTIFICATION_DISTANCE_4560US,   /**< The distance from the active notification to start of radio activity. */
+  NRF_RADIO_NOTIFICATION_DISTANCE_5500US    /**< The distance from the active notification to start of radio activity. */
+};
+
+
+/**@brief Possible values of ::nrf_radio_notification_type_t. */
+enum NRF_RADIO_NOTIFICATION_TYPES
+{
+  NRF_RADIO_NOTIFICATION_TYPE_NONE = 0,        /**< The event does not have a radio notification signal. */
+  NRF_RADIO_NOTIFICATION_TYPE_INT_ON_ACTIVE,   /**< Using interrupt for notification when the radio will be enabled. */
+  NRF_RADIO_NOTIFICATION_TYPE_INT_ON_INACTIVE, /**< Using interrupt for notification when the radio has been disabled. */
+  NRF_RADIO_NOTIFICATION_TYPE_INT_ON_BOTH,     /**< Using interrupt for notification both when the radio will be enabled and disabled. */
+};
+
+/**@brief SoC Events. */
+enum NRF_SOC_EVTS
+{
+  NRF_EVT_HFCLKSTARTED,                         /**< Event indicating that the HFCLK has started. */
+  NRF_EVT_POWER_FAILURE_WARNING,                /**< Event indicating that a power failure warning has occurred. */
+  NRF_EVT_FLASH_OPERATION_SUCCESS,              /**< Event indicating that the ongoing flash operation has completed successfully. */
+  NRF_EVT_FLASH_OPERATION_ERROR,                /**< Event indicating that the ongoing flash operation has timed out with an error. */
+  NRF_EVT_RADIO_BLOCKED,                        /**< Event indicating that a radio timeslot was blocked. */
+  NRF_EVT_RADIO_CANCELED,                       /**< Event indicating that a radio timeslot was canceled by SoftDevice. */
+  NRF_EVT_RADIO_SIGNAL_CALLBACK_INVALID_RETURN, /**< Event indicating that a radio signal callback handler return was invalid. */
+  NRF_EVT_RADIO_SESSION_IDLE,                   /**< Event indicating that a radio session is idle. */
+  NRF_EVT_RADIO_SESSION_CLOSED,                 /**< Event indicating that a radio session is closed. */
+  NRF_EVT_NUMBER_OF_EVTS
+};
+
+/** @} */
+
+/** @addtogroup NRF_SOC_TYPES Types
+ * @{ */
+
+/**@brief Represents a mutex for use with the nrf_mutex functions.
+ * @note Accessing the value directly is not safe, use the mutex functions!
+ */
+typedef volatile uint8_t nrf_mutex_t;
+
+/**@brief The interrupt priorities available to the application while the softdevice is active. */
+typedef uint8_t nrf_app_irq_priority_t;
+
+/**@brief Represents a power mode, used in power mode functions */
+typedef uint8_t nrf_power_mode_t;
+
+/**@brief Represents a power failure threshold value. */
+typedef uint8_t nrf_power_failure_threshold_t;
+
+/**@brief Represents a DCDC mode value. */
+typedef uint32_t nrf_power_dcdc_mode_t;
+
+/**@brief Radio notification distances. */
+typedef uint8_t nrf_radio_notification_distance_t;
+
+/**@brief Radio notification types. */
+typedef uint8_t nrf_radio_notification_type_t;
+
+/** @brief The Radio signal callback types. */
+enum NRF_RADIO_CALLBACK_SIGNAL_TYPE
+{
+  NRF_RADIO_CALLBACK_SIGNAL_TYPE_START,            /**< This signal indicates the start of the radio timeslot. */
+  NRF_RADIO_CALLBACK_SIGNAL_TYPE_TIMER0,            /**< This signal indicates the NRF_TIMER0 interrupt. */
+  NRF_RADIO_CALLBACK_SIGNAL_TYPE_RADIO,             /**< This signal indicates the NRF_RADIO interrupt. */
+  NRF_RADIO_CALLBACK_SIGNAL_TYPE_EXTEND_FAILED,     /**< This signal indicates extend action failed. */
+  NRF_RADIO_CALLBACK_SIGNAL_TYPE_EXTEND_SUCCEEDED   /**< This signal indicates extend action succeeded. */
+};
+
+/** @brief The actions requested by the signal callback.
+ *
+ *  This code gives the SOC instructions about what action to take when the signal callback has
+ *  returned.
+ */
+enum NRF_RADIO_SIGNAL_CALLBACK_ACTION
+{
+  NRF_RADIO_SIGNAL_CALLBACK_ACTION_NONE,            /**< Return without action. */
+  NRF_RADIO_SIGNAL_CALLBACK_ACTION_EXTEND,          /**< Request an extension of the current timeslot (maximum execution time for this action is when the extension succeeded). */
+  NRF_RADIO_SIGNAL_CALLBACK_ACTION_END,             /**< End the current radio timeslot. */
+  NRF_RADIO_SIGNAL_CALLBACK_ACTION_REQUEST_AND_END  /**< Request a new radio timeslot and end the current timeslot. */
+};
+
+/**@brief Radio timeslot high frequency clock source configuration. */
+enum NRF_RADIO_HFCLK_CFG
+{
+  NRF_RADIO_HFCLK_CFG_DEFAULT,                      /**< Use the currently selected oscillator as HF clock source during the timeslot (i.e. the source is not specified). */
+  NRF_RADIO_HFCLK_CFG_FORCE_XTAL,                   /**< Force external crystal to be used as HF clock source during whole the timeslot. */
+};
+
+/** @brief Radio timeslot priorities. */
+enum NRF_RADIO_PRIORITY
+{
+  NRF_RADIO_PRIORITY_HIGH,                          /**< High (equal priority as the normal connection priority of the SoftDevice stack(s)). */
+  NRF_RADIO_PRIORITY_NORMAL,                        /**< Normal (equal priority as the priority of secondary activites of the SoftDevice stack(s)). */
+};
+
+/** @brief Radio timeslot request type. */
+enum NRF_RADIO_REQUEST_TYPE
+{
+  NRF_RADIO_REQ_TYPE_EARLIEST,                      /**< Request timeslot as early as possible. This should always be used for the first request in a session. */
+  NRF_RADIO_REQ_TYPE_NORMAL                         /**< Normal timeslot request. */
+};
+
+/** @brief Parameters for a request for a timeslot as early as possible. */
+typedef struct
+{
+  uint8_t       hfclk;                              /**< High frequency clock source, see @ref NRF_RADIO_HFCLK_CFG. */
+  uint8_t       priority;                           /**< The radio timeslot priority, see @ref NRF_RADIO_PRIORITY. */
+  uint32_t      length_us;                          /**< The radio timeslot length (in the range 100 to 100,000] microseconds). */
+  uint32_t      timeout_us;                         /**< Longest acceptable delay until the start of the requested timeslot (up to @ref NRF_RADIO_EARLIEST_TIMEOUT_MAX_US microseconds). */
+} nrf_radio_request_earliest_t;
+
+/** @brief Parameters for a normal radio request. */
+typedef struct
+{
+  uint8_t       hfclk;                              /**< High frequency clock source, see @ref NRF_RADIO_HFCLK_CFG. */
+  uint8_t       priority;                           /**< The radio timeslot priority, see @ref NRF_RADIO_PRIORITY. */
+  uint32_t      distance_us;                        /**< Distance from the start of the previous radio timeslot (up to @ref NRF_RADIO_DISTANCE_MAX_US microseconds). */
+  uint32_t      length_us;                          /**< The radio timeslot length (in the range [100..100,000] microseconds). */
+} nrf_radio_request_normal_t;
+
+/** @brief Radio request parameters. */
+typedef struct
+{
+  uint8_t                         request_type;     /**< Type of request, see @ref NRF_RADIO_REQUEST_TYPE. */
+  union
+  {
+    nrf_radio_request_earliest_t  earliest;         /**< Parameters for a request for a timeslot as early as possible. */
+    nrf_radio_request_normal_t    normal;           /**< Parameters for a normal radio request. */
+  } params;
+} nrf_radio_request_t;
+
+/**@brief Return parameters of the radio timeslot signal callback. */
+typedef struct
+{
+  uint8_t               callback_action;            /**< The action requested by the application when returning from the signal callback, see @ref NRF_RADIO_SIGNAL_CALLBACK_ACTION. */
+  union
+  {
+    struct
+    {
+      nrf_radio_request_t * p_next;                 /**< The request parameters for the next radio timeslot. */
+    } request;                                      /**< Additional parameters for return_code @ref NRF_RADIO_SIGNAL_CALLBACK_ACTION_REQUEST_AND_END. */
+    struct
+    {
+      uint32_t              length_us;              /**< Requested extension of the timeslot duration (microseconds) (for minimum time see @ref NRF_RADIO_MINIMUM_TIMESLOT_LENGTH_EXTENSION_TIME_US). */
+    } extend;                                       /**< Additional parameters for return_code @ref NRF_RADIO_SIGNAL_CALLBACK_ACTION_EXTEND. */
+  } params;
+} nrf_radio_signal_callback_return_param_t;
+
+/**@brief The radio signal callback type.
+ *
+ * @note In case of invalid return parameters, the radio timeslot will automatically end
+ *       immediately after returning from the signal callback and the
+ *       @ref NRF_EVT_RADIO_SIGNAL_CALLBACK_INVALID_RETURN event will be sent.
+ * @note The returned struct pointer must remain valid after the signal callback
+ *       function returns. For instance, this means that it must not point to a stack variable.
+ *
+ * @param[in] signal_type Type of signal, see @ref NRF_RADIO_CALLBACK_SIGNAL_TYPE.
+ *
+ * @return Pointer to structure containing action requested by the application.
+ */
+typedef nrf_radio_signal_callback_return_param_t * (*nrf_radio_signal_callback_t) (uint8_t signal_type);
+
+/**@brief AES ECB data structure */
+typedef struct
+{
+  uint8_t key[SOC_ECB_KEY_LENGTH];                  /**< Encryption key. */
+  uint8_t cleartext[SOC_ECB_CLEARTEXT_LENGTH];      /**< Clear Text data. */
+  uint8_t ciphertext[SOC_ECB_CIPHERTEXT_LENGTH];    /**< Cipher Text data. */
+} nrf_ecb_hal_data_t;
+
+/** @} */
+
+/** @addtogroup NRF_SOC_FUNCTIONS Functions
+ * @{ */
+
+/**@brief Initialize a mutex.
+ *
+ * @param[in] p_mutex Pointer to the mutex to initialize.
+ *
+ * @retval ::NRF_SUCCESS
+ */
+SVCALL(SD_MUTEX_NEW, uint32_t, sd_mutex_new(nrf_mutex_t * p_mutex));
+
+/**@brief Attempt to acquire a mutex.
+ *
+ * @param[in] p_mutex Pointer to the mutex to acquire.
+ *
+ * @retval ::NRF_SUCCESS The mutex was successfully acquired.
+ * @retval ::NRF_ERROR_SOC_MUTEX_ALREADY_TAKEN The mutex could not be acquired.
+ */
+SVCALL(SD_MUTEX_ACQUIRE, uint32_t, sd_mutex_acquire(nrf_mutex_t * p_mutex));
+
+/**@brief Release a mutex.
+ *
+ * @param[in] p_mutex Pointer to the mutex to release.
+ *
+ * @retval ::NRF_SUCCESS
+ */
+SVCALL(SD_MUTEX_RELEASE, uint32_t, sd_mutex_release(nrf_mutex_t * p_mutex));
+
+/**@brief Enable External Interrupt.
+ * @note Corresponds to NVIC_EnableIRQ in CMSIS.
+ *
+ * @pre{IRQn is valid and not reserved by the stack}
+ *
+ * @param[in] IRQn See the NVIC_EnableIRQ documentation in CMSIS.
+ *
+ * @retval ::NRF_SUCCESS The interrupt was enabled.
+ * @retval ::NRF_ERROR_SOC_NVIC_INTERRUPT_NOT_AVAILABLE The interrupt is not available for the application.
+ * @retval ::NRF_ERROR_SOC_NVIC_INTERRUPT_PRIORITY_NOT_ALLOWED The interrupt has a priority not available for the application.
+ */
+SVCALL(SD_NVIC_ENABLEIRQ, uint32_t, sd_nvic_EnableIRQ(IRQn_Type IRQn));
+
+/**@brief  Disable External Interrupt.
+ * @note Corresponds to NVIC_DisableIRQ in CMSIS.
+ *
+ * @pre{IRQn is valid and not reserved by the stack}
+ *
+ * @param[in] IRQn See the NVIC_DisableIRQ documentation in CMSIS
+ *
+ * @retval ::NRF_SUCCESS The interrupt was disabled.
+ * @retval ::NRF_ERROR_SOC_NVIC_INTERRUPT_NOT_AVAILABLE The interrupt is not available for the application.
+ */
+SVCALL(SD_NVIC_DISABLEIRQ, uint32_t, sd_nvic_DisableIRQ(IRQn_Type IRQn));
+
+/**@brief  Get Pending Interrupt.
+ * @note Corresponds to NVIC_GetPendingIRQ in CMSIS.
+ *
+ * @pre{IRQn is valid and not reserved by the stack}
+ *
+ * @param[in]   IRQn          See the NVIC_GetPendingIRQ documentation in CMSIS.
+ * @param[out]  p_pending_irq Return value from NVIC_GetPendingIRQ.
+ *
+ * @retval ::NRF_SUCCESS The interrupt is available for the application.
+ * @retval ::NRF_ERROR_SOC_NVIC_INTERRUPT_NOT_AVAILABLE IRQn is not available for the application.
+ */
+SVCALL(SD_NVIC_GETPENDINGIRQ, uint32_t, sd_nvic_GetPendingIRQ(IRQn_Type IRQn, uint32_t * p_pending_irq));
+
+/**@brief  Set Pending Interrupt.
+ * @note Corresponds to NVIC_SetPendingIRQ in CMSIS.
+ *
+ * @pre{IRQn is valid and not reserved by the stack}
+ *
+ * @param[in] IRQn See the NVIC_SetPendingIRQ documentation in CMSIS.
+ *
+ * @retval ::NRF_SUCCESS The interrupt is set pending.
+ * @retval ::NRF_ERROR_SOC_NVIC_INTERRUPT_NOT_AVAILABLE IRQn is not available for the application.
+ */
+SVCALL(SD_NVIC_SETPENDINGIRQ, uint32_t, sd_nvic_SetPendingIRQ(IRQn_Type IRQn));
+
+/**@brief  Clear Pending Interrupt.
+ * @note Corresponds to NVIC_ClearPendingIRQ in CMSIS.
+ *
+ * @pre{IRQn is valid and not reserved by the stack}
+ *
+ * @param[in] IRQn See the NVIC_ClearPendingIRQ documentation in CMSIS.
+ *
+ * @retval ::NRF_SUCCESS The interrupt pending flag is cleared.
+ * @retval ::NRF_ERROR_SOC_NVIC_INTERRUPT_NOT_AVAILABLE IRQn is not available for the application.
+ */
+SVCALL(SD_NVIC_CLEARPENDINGIRQ, uint32_t, sd_nvic_ClearPendingIRQ(IRQn_Type IRQn));
+
+/**@brief Set Interrupt Priority.
+ * @note Corresponds to NVIC_SetPriority in CMSIS.
+ *
+ * @pre{IRQn is valid and not reserved by the stack}
+ * @pre{priority is valid and not reserved by the stack}
+ *
+ * @param[in] IRQn      See the NVIC_SetPriority documentation in CMSIS.
+ * @param[in] priority  A valid IRQ priority for use by the application.
+ *
+ * @retval ::NRF_SUCCESS The interrupt and priority level is available for the application.
+ * @retval ::NRF_ERROR_SOC_NVIC_INTERRUPT_NOT_AVAILABLE IRQn is not available for the application.
+ * @retval ::NRF_ERROR_SOC_NVIC_INTERRUPT_PRIORITY_NOT_ALLOWED The interrupt priority is not available for the application.
+ */
+SVCALL(SD_NVIC_SETPRIORITY, uint32_t, sd_nvic_SetPriority(IRQn_Type IRQn, nrf_app_irq_priority_t priority));
+
+/**@brief Get Interrupt Priority.
+ * @note Corresponds to NVIC_GetPriority in CMSIS.
+ *
+ * @pre{IRQn is valid and not reserved by the stack}
+ *
+ * @param[in]  IRQn         See the NVIC_GetPriority documentation in CMSIS.
+ * @param[out] p_priority   Return value from NVIC_GetPriority.
+ *
+ * @retval ::NRF_SUCCESS The interrupt priority is returned in p_priority.
+ * @retval ::NRF_ERROR_SOC_NVIC_INTERRUPT_NOT_AVAILABLE - IRQn is not available for the application.
+ */
+SVCALL(SD_NVIC_GETPRIORITY, uint32_t, sd_nvic_GetPriority(IRQn_Type IRQn, nrf_app_irq_priority_t * p_priority));
+
+/**@brief System Reset.
+ * @note Corresponds to NVIC_SystemReset in CMSIS.
+ *
+ * @retval ::NRF_ERROR_SOC_NVIC_SHOULD_NOT_RETURN
+ */
+SVCALL(SD_NVIC_SYSTEMRESET, uint32_t, sd_nvic_SystemReset(void));
+
+/**@brief Enters critical region.
+ *
+ * @post Application interrupts will be disabled.
+ * @sa sd_nvic_critical_region_exit
+ *
+ * @param[out]  p_is_nested_critical_region  1: If in a nested critical region.
+ *                                           0: Otherwise.
+ *
+ * @retval ::NRF_SUCCESS
+ */
+SVCALL(SD_NVIC_CRITICAL_REGION_ENTER, uint32_t, sd_nvic_critical_region_enter(uint8_t * p_is_nested_critical_region));
+
+/**@brief Exit critical region.
+ *
+ * @pre Application has entered a critical region using ::sd_nvic_critical_region_enter.
+ * @post If not in a nested critical region, the application interrupts will restored to the state before ::sd_nvic_critical_region_enter was called. 
+ *
+ * @param[in] is_nested_critical_region If this is set to 1, the critical region won't be exited. @sa sd_nvic_critical_region_enter.
+ *
+ * @retval ::NRF_SUCCESS
+ */
+SVCALL(SD_NVIC_CRITICAL_REGION_EXIT, uint32_t, sd_nvic_critical_region_exit(uint8_t is_nested_critical_region));
+
+/**@brief Query the capacity of the application random pool.
+ *
+ * @param[out] p_pool_capacity The capacity of the pool.
+ *
+ * @retval ::NRF_SUCCESS
+ */
+SVCALL(SD_RAND_APPLICATION_POOL_CAPACITY, uint32_t, sd_rand_application_pool_capacity_get(uint8_t * p_pool_capacity));
+
+/**@brief Get number of random bytes available to the application.
+ *
+ * @param[out] p_bytes_available The number of bytes currently available in the pool.
+ *
+ * @retval ::NRF_SUCCESS
+ */
+SVCALL(SD_RAND_APPLICATION_BYTES_AVAILABLE, uint32_t, sd_rand_application_bytes_available_get(uint8_t * p_bytes_available));
+
+/**@brief Get random bytes from the application pool.
+ *
+ * @param[out]  p_buff  Pointer to unit8_t buffer for storing the bytes.
+ * @param[in]   length  Number of bytes to take from pool and place in p_buff.
+ *
+ * @retval ::NRF_SUCCESS The requested bytes were written to p_buff.
+ * @retval ::NRF_ERROR_SOC_RAND_NOT_ENOUGH_VALUES No bytes were written to the buffer, because there were not enough bytes available.
+*/
+SVCALL(SD_RAND_APPLICATION_GET_VECTOR, uint32_t, sd_rand_application_vector_get(uint8_t * p_buff, uint8_t length));
+
+/**@brief Gets the reset reason register. 
+ *
+ * @param[out]  p_reset_reason  Contents of the NRF_POWER->RESETREAS register.
+ *
+ * @retval ::NRF_SUCCESS
+ */
+SVCALL(SD_POWER_RESET_REASON_GET, uint32_t, sd_power_reset_reason_get(uint32_t * p_reset_reason));
+
+/**@brief Clears the bits of the reset reason register. 
+ *
+ * @param[in] reset_reason_clr_msk Contains the bits to clear from the reset reason register.
+ *
+ * @retval ::NRF_SUCCESS
+ */
+SVCALL(SD_POWER_RESET_REASON_CLR, uint32_t, sd_power_reset_reason_clr(uint32_t reset_reason_clr_msk));
+
+/**@brief Sets the power mode when in CPU sleep.
+ *
+ * @param[in] power_mode The power mode to use when in CPU sleep. @sa sd_app_evt_wait
+ *
+ * @retval ::NRF_SUCCESS The power mode was set.
+ * @retval ::NRF_ERROR_SOC_POWER_MODE_UNKNOWN The power mode was unknown.
+ */
+SVCALL(SD_POWER_MODE_SET, uint32_t, sd_power_mode_set(nrf_power_mode_t power_mode));
+
+/**@brief Puts the chip in System OFF mode. 
+ *
+ * @retval ::NRF_ERROR_SOC_POWER_OFF_SHOULD_NOT_RETURN
+ */
+SVCALL(SD_POWER_SYSTEM_OFF, uint32_t, sd_power_system_off(void));
+
+/**@brief Enables or disables the power-fail comparator.
+ *
+ * Enabling this will give a softdevice event (NRF_EVT_POWER_FAILURE_WARNING) when the power failure warning occurs.
+ * The event can be retrieved with sd_evt_get();
+ *
+ * @param[in] pof_enable    True if the power-fail comparator should be enabled, false if it should be disabled.
+ *
+ * @retval ::NRF_SUCCESS
+ */
+SVCALL(SD_POWER_POF_ENABLE, uint32_t, sd_power_pof_enable(uint8_t pof_enable));
+
+/**@brief Sets the power-fail threshold value.
+ *
+ * @param[in] threshold The power-fail threshold value to use.
+ *
+ * @retval ::NRF_SUCCESS The power failure threshold was set.
+ * @retval ::NRF_ERROR_SOC_POWER_POF_THRESHOLD_UNKNOWN The power failure threshold is unknown.
+ */
+SVCALL(SD_POWER_POF_THRESHOLD_SET, uint32_t, sd_power_pof_threshold_set(nrf_power_failure_threshold_t threshold));
+
+/**@brief Sets bits in the NRF_POWER->RAMON register.
+ *
+ * @param[in] ramon Contains the bits needed to be set in the NRF_POWER->RAMON register.
+ *
+ * @retval ::NRF_SUCCESS
+ */
+SVCALL(SD_POWER_RAMON_SET, uint32_t, sd_power_ramon_set(uint32_t ramon));
+
+/** @brief Clears bits in the NRF_POWER->RAMON register.
+ *
+ * @param ramon Contains the bits needed to be cleared in the NRF_POWER->RAMON register.
+ *
+ * @retval ::NRF_SUCCESS
+ */
+SVCALL(SD_POWER_RAMON_CLR, uint32_t, sd_power_ramon_clr(uint32_t ramon));
+
+/**@brief Get contents of NRF_POWER->RAMON register, indicates power status of ram blocks.
+ *
+ * @param[out] p_ramon Content of NRF_POWER->RAMON register.
+ *
+ * @retval ::NRF_SUCCESS
+ */
+SVCALL(SD_POWER_RAMON_GET, uint32_t, sd_power_ramon_get(uint32_t * p_ramon));
+
+/**@brief Set bits in the NRF_POWER->GPREGRET register.
+ *
+ * @param[in] gpregret_msk Bits to be set in the GPREGRET register.
+ *
+ * @retval ::NRF_SUCCESS
+ */
+SVCALL(SD_POWER_GPREGRET_SET, uint32_t, sd_power_gpregret_set(uint32_t gpregret_msk));
+
+/**@brief Clear bits in the NRF_POWER->GPREGRET register.
+ *
+ * @param[in] gpregret_msk Bits to be clear in the GPREGRET register.
+ *
+ * @retval ::NRF_SUCCESS
+ */
+SVCALL(SD_POWER_GPREGRET_CLR, uint32_t, sd_power_gpregret_clr(uint32_t gpregret_msk));
+
+/**@brief Get contents of the NRF_POWER->GPREGRET register.
+ *
+ * @param[out] p_gpregret Contents of the GPREGRET register.
+ *
+ * @retval ::NRF_SUCCESS
+ */
+SVCALL(SD_POWER_GPREGRET_GET, uint32_t, sd_power_gpregret_get(uint32_t *p_gpregret));
+
+/**@brief Sets the DCDC mode.
+ *
+ * Depending on the internal state of the SoftDevice, the mode change may not happen immediately.
+ * The DCDC mode switch will be blocked when occurring in close proximity to radio transmissions. When
+ * the radio transmission is done, the last mode will be used.
+ *
+ * @param[in] dcdc_mode The mode of the DCDC.
+ *
+ * @retval ::NRF_SUCCESS
+ * @retval ::NRF_ERROR_INVALID_PARAM The DCDC mode is invalid.
+ */
+SVCALL(SD_POWER_DCDC_MODE_SET, uint32_t, sd_power_dcdc_mode_set(nrf_power_dcdc_mode_t dcdc_mode));
+
+/**@brief Request the high frequency crystal oscillator.
+ *
+ * Will start the high frequency crystal oscillator, the startup time of the crystal varies
+ * and the ::sd_clock_hfclk_is_running function can be polled to check if it has started.
+ *
+ * @see sd_clock_hfclk_is_running
+ * @see sd_clock_hfclk_release
+ *
+ * @retval ::NRF_SUCCESS
+ */
+SVCALL(SD_CLOCK_HFCLK_REQUEST, uint32_t, sd_clock_hfclk_request(void));
+
+/**@brief Releases the high frequency crystal oscillator.
+ *
+ * Will stop the high frequency crystal oscillator, this happens immediately.
+ *
+ * @see sd_clock_hfclk_is_running
+ * @see sd_clock_hfclk_request
+ *
+ * @retval ::NRF_SUCCESS
+ */
+SVCALL(SD_CLOCK_HFCLK_RELEASE, uint32_t, sd_clock_hfclk_release(void));
+
+/**@brief Checks if the high frequency crystal oscillator is running.
+ *
+ * @see sd_clock_hfclk_request
+ * @see sd_clock_hfclk_release
+ *
+ * @param[out] p_is_running 1 if the external crystal oscillator is running, 0 if not.
+ *
+ * @retval ::NRF_SUCCESS
+ */
+SVCALL(SD_CLOCK_HFCLK_IS_RUNNING, uint32_t, sd_clock_hfclk_is_running(uint32_t * p_is_running));
+
+/**@brief Waits for an application event.
+ * 
+ * An application event is either an application interrupt or a pended interrupt when the
+ * interrupt is disabled. When the interrupt is enabled it will be taken immediately since
+ * this function will wait in thread mode, then the execution will return in the application's
+ * main thread. When an interrupt is disabled and gets pended it will return to the application's 
+ * thread main. The application must ensure that the pended flag is cleared using 
+ * ::sd_nvic_ClearPendingIRQ in order to sleep using this function. This is only necessary for
+ * disabled interrupts, as the interrupt handler will clear the pending flag automatically for
+ * enabled interrupts.
+ *
+ * In order to wake up from disabled interrupts, the SEVONPEND flag has to be set in the Cortex-M0
+ * System Control Register (SCR). @sa CMSIS_SCB
+ *
+ * @note If an application interrupt has happened since the last time sd_app_evt_wait was
+ *       called this function will return immediately and not go to sleep. This is to avoid race
+ *       conditions that can occur when a flag is updated in the interrupt handler and processed
+ *       in the main loop.
+ *
+ * @post An application interrupt has happened or a interrupt pending flag is set.
+ *
+ * @retval ::NRF_SUCCESS
+ */
+SVCALL(SD_APP_EVT_WAIT, uint32_t, sd_app_evt_wait(void));
+
+/**@brief Get PPI channel enable register contents.
+ *
+ * @param[out] p_channel_enable The contents of the PPI CHEN register.
+ *
+ * @retval ::NRF_SUCCESS
+ */
+SVCALL(SD_PPI_CHANNEL_ENABLE_GET, uint32_t, sd_ppi_channel_enable_get(uint32_t * p_channel_enable));
+
+/**@brief Set PPI channel enable register.
+ *
+ * @param[in] channel_enable_set_msk Mask containing the bits to set in the PPI CHEN register.
+ *
+ * @retval ::NRF_SUCCESS
+ */
+SVCALL(SD_PPI_CHANNEL_ENABLE_SET, uint32_t, sd_ppi_channel_enable_set(uint32_t channel_enable_set_msk));
+
+/**@brief Clear PPI channel enable register.
+ *
+ * @param[in] channel_enable_clr_msk Mask containing the bits to clear in the PPI CHEN register.
+ *
+ * @retval ::NRF_SUCCESS
+ */
+SVCALL(SD_PPI_CHANNEL_ENABLE_CLR, uint32_t, sd_ppi_channel_enable_clr(uint32_t channel_enable_clr_msk));
+
+/**@brief Assign endpoints to a PPI channel.
+ *
+ * @param[in] channel_num Number of the PPI channel to assign.
+ * @param[in] evt_endpoint Event endpoint of the PPI channel.
+ * @param[in] task_endpoint Task endpoint of the PPI channel.
+ *
+ * @retval ::NRF_ERROR_SOC_PPI_INVALID_CHANNEL The channel number is invalid.
+ * @retval ::NRF_SUCCESS
+ */
+SVCALL(SD_PPI_CHANNEL_ASSIGN, uint32_t, sd_ppi_channel_assign(uint8_t channel_num, const volatile void * evt_endpoint, const volatile void * task_endpoint));
+
+/**@brief Task to enable a channel group.
+ *
+ * @param[in] group_num Number of the channel group.
+ *
+ * @retval ::NRF_ERROR_SOC_PPI_INVALID_GROUP The group number is invalid
+ * @retval ::NRF_SUCCESS
+ */
+SVCALL(SD_PPI_GROUP_TASK_ENABLE, uint32_t, sd_ppi_group_task_enable(uint8_t group_num));
+
+/**@brief Task to disable a channel group.
+ *
+ * @param[in] group_num Number of the PPI group.
+ *
+ * @retval ::NRF_ERROR_SOC_PPI_INVALID_GROUP The group number is invalid.
+ * @retval ::NRF_SUCCESS
+ */
+SVCALL(SD_PPI_GROUP_TASK_DISABLE, uint32_t, sd_ppi_group_task_disable(uint8_t group_num));
+
+/**@brief Assign PPI channels to a channel group.
+ *
+ * @param[in] group_num Number of the channel group.
+ * @param[in] channel_msk Mask of the channels to assign to the group.
+ *
+ * @retval ::NRF_ERROR_SOC_PPI_INVALID_GROUP The group number is invalid.
+ * @retval ::NRF_SUCCESS
+ */
+SVCALL(SD_PPI_GROUP_ASSIGN, uint32_t, sd_ppi_group_assign(uint8_t group_num, uint32_t channel_msk));
+
+/**@brief Gets the PPI channels of a channel group.
+ *
+ * @param[in]   group_num Number of the channel group.
+ * @param[out]  p_channel_msk Mask of the channels assigned to the group.
+ *
+ * @retval ::NRF_ERROR_SOC_PPI_INVALID_GROUP The group number is invalid.
+ * @retval ::NRF_SUCCESS
+ */
+SVCALL(SD_PPI_GROUP_GET, uint32_t, sd_ppi_group_get(uint8_t group_num, uint32_t * p_channel_msk));
+
+/**@brief Configures the Radio Notification signal.
+ *
+ * @note
+ *      - The notification signal latency depends on the interrupt priority settings of SWI used
+ *        for notification signal.
+ *      - In the period between the ACTIVE signal and the start of the Radio Event, the SoftDevice
+ *        will interrupt the application to do Radio Event preparation.
+ *      - Using the Radio Notification feature may limit the bandwidth, as the SoftDevice may have
+ *        to shorten the connection events to have time for the Radio Notification signals.
+ *
+ * @param[in]  type      Type of notification signal.
+ *                       @ref NRF_RADIO_NOTIFICATION_TYPE_NONE shall be used to turn off radio
+ *                       notification. Using @ref NRF_RADIO_NOTIFICATION_DISTANCE_NONE is
+ *                       recommended (but not required) to be used with
+ *                       @ref NRF_RADIO_NOTIFICATION_TYPE_NONE.
+ *
+ * @param[in]  distance  Distance between the notification signal and start of radio activity.
+ *                       This parameter is ignored when @ref NRF_RADIO_NOTIFICATION_TYPE_NONE or 
+ *                       @ref NRF_RADIO_NOTIFICATION_TYPE_INT_ON_INACTIVE is used.
+ *
+ * @retval ::NRF_ERROR_INVALID_PARAM The group number is invalid.
+ * @retval ::NRF_SUCCESS
+ */
+SVCALL(SD_RADIO_NOTIFICATION_CFG_SET, uint32_t, sd_radio_notification_cfg_set(nrf_radio_notification_type_t type, nrf_radio_notification_distance_t distance));
+
+/**@brief Encrypts a block according to the specified parameters.
+ *
+ * 128-bit AES encryption.
+ *
+ * @param[in, out] p_ecb_data Pointer to the ECB parameters' struct (two input
+ *                            parameters and one output parameter).
+ *
+ * @retval ::NRF_SUCCESS
+ */
+SVCALL(SD_ECB_BLOCK_ENCRYPT, uint32_t, sd_ecb_block_encrypt(nrf_ecb_hal_data_t * p_ecb_data));
+
+/**@brief Gets any pending events generated by the SoC API.
+ *
+ * The application should keep calling this function to get events, until ::NRF_ERROR_NOT_FOUND is returned.
+ *
+ * @param[out] p_evt_id Set to one of the values in @ref NRF_SOC_EVTS, if any events are pending.
+ *
+ * @retval ::NRF_SUCCESS An event was pending. The event id is written in the p_evt_id parameter.
+ * @retval ::NRF_ERROR_NOT_FOUND No pending events. 
+ */
+SVCALL(SD_EVT_GET, uint32_t, sd_evt_get(uint32_t * p_evt_id));
+
+/**@brief Get the temperature measured on the chip
+ * 
+ * This function will block until the temperature measurement is done.
+ * It takes around 50us from call to return.
+ *
+ * @note Pan #28 in PAN-028 v 1.6 "Negative measured values are not represented correctly" is corrected by this function.
+ *
+ * @param[out] p_temp Result of temperature measurement. Die temperature in 0.25 degrees celsius.
+ *
+ * @retval ::NRF_SUCCESS A temperature measurement was done, and the temperature was written to temp
+ */
+SVCALL(SD_TEMP_GET, uint32_t, sd_temp_get(int32_t * p_temp));
+
+/**@brief Flash Write
+ *
+ * Commands to write a buffer to flash
+ *
+ * This call initiates the flash access command, and its completion will be communicated to the
+ * application with exactly one of the following events:
+ *      - NRF_EVT_FLASH_OPERATION_SUCCESS - The command was successfully completed.
+ *      - NRF_EVT_FLASH_OPERATION_ERROR   - The command could not be started.
+ *
+ * @note
+ *      - This call takes control over the radio and the CPU during flash erase and write to make sure that
+ *        they will not interfere with the flash access. This means that all interrupts will be blocked
+ *        for a predictable time (depending on the NVMC specification in nRF51 Series Reference Manual
+ *        and the command parameters).
+ *
+ *
+ * @param[in]  p_dst Pointer to start of flash location to be written.
+ * @param[in]  p_src Pointer to buffer with data to be written
+ * @param[in]  size  Number of 32-bit words to write. Maximum size is 256 32bit words.
+ *
+ * @retval ::NRF_ERROR_INVALID_ADDR   Tried to write to a non existing flash address, or p_dst or p_src was unaligned.
+ * @retval ::NRF_ERROR_BUSY           The previous command has not yet completed.
+ * @retval ::NRF_ERROR_INVALID_LENGTH Size was 0, or more than 256 words.
+ * @retval ::NRF_ERROR_FORBIDDEN      Tried to write to or read from protected location.
+ * @retval ::NRF_SUCCESS              The command was accepted.
+ */
+SVCALL(SD_FLASH_WRITE, uint32_t, sd_flash_write(uint32_t * const p_dst, uint32_t const * const p_src, uint32_t size));
+
+
+/**@brief Flash Erase page
+ *
+ * Commands to erase a flash page
+ *
+ * This call initiates the flash access command, and its completion will be communicated to the
+ * application with exactly one of the following events:
+ *      - NRF_EVT_FLASH_OPERATION_SUCCESS - The command was successfully completed.
+ *      - NRF_EVT_FLASH_OPERATION_ERROR   - The command could not be started.
+ *
+ * @note
+ *      - This call takes control over the radio and the CPU during flash erase and write to make sure that
+ *        they will not interfere with the flash access. This means that all interrupts will be blocked
+ *        for a predictable time (depending on the NVMC specification in nRF51 Series Reference Manual
+ *        and the command parameters).
+ *
+ *
+ * @param[in]  page_number Pagenumber of the page to erase
+ * @retval ::NRF_ERROR_INTERNAL      If a new session could not be opened due to an internal error.
+ * @retval ::NRF_ERROR_INVALID_ADDR  Tried to erase to a non existing flash page.
+ * @retval ::NRF_ERROR_BUSY          The previous command has not yet completed.
+ * @retval ::NRF_ERROR_FORBIDDEN     Tried to erase a protected page.
+ * @retval ::NRF_SUCCESS             The command was accepted.
+ */
+SVCALL(SD_FLASH_PAGE_ERASE, uint32_t, sd_flash_page_erase(uint32_t page_number));
+
+
+/**@brief Flash Protection set
+ *
+ * Commands to set the flash protection registers PROTENSETx
+ *
+ * @note To read the values in PROTENSETx you can read them directly. They are only write-protected.
+ *
+ * @param[in]  protenset0 Value to be written to PROTENSET0
+ * @param[in]  protenset1 Value to be written to PROTENSET1
+ *
+ * @retval ::NRF_ERROR_FORBIDDEN Tried to protect the SoftDevice
+ * @retval ::NRF_SUCCESS Values successfully written to PROTENSETx
+ */
+SVCALL(SD_FLASH_PROTECT, uint32_t, sd_flash_protect(uint32_t protenset0, uint32_t protenset1));
+
+/**@brief Opens a session for radio requests.
+ *
+ * @note Only one session can be open at a time.
+ * @note p_radio_signal_callback(NRF_RADIO_CALLBACK_SIGNAL_TYPE_START) will be called when the radio timeslot
+ *       starts. From this point the NRF_RADIO and NRF_TIMER0 peripherals can be freely accessed
+ *       by the application.
+ * @note p_radio_signal_callback(NRF_RADIO_CALLBACK_SIGNAL_TYPE_TIMER0) is called whenever the NRF_TIMER0
+ *       interrupt occurs.
+ * @note p_radio_signal_callback(NRF_RADIO_CALLBACK_SIGNAL_TYPE_RADIO) is called whenever the NRF_RADIO
+ *       interrupt occurs.
+ * @note p_radio_signal_callback() will be called at ARM interrupt priority level 0. This
+ *       implies that none of the sd_* API calls can be used from p_radio_signal_callback().
+ *
+ * @param[in] p_radio_signal_callback The signal callback.
+ *
+ * @retval ::NRF_ERROR_INVALID_ADDR p_radio_signal_callback is an invalid function pointer.
+ * @retval ::NRF_ERROR_BUSY If session cannot be opened.
+ * @retval ::NRF_ERROR_INTERNAL If a new session could not be opened due to an internal error.
+ * @retval ::NRF_SUCCESS Otherwise.
+ */
+ SVCALL(SD_RADIO_SESSION_OPEN, uint32_t, sd_radio_session_open(nrf_radio_signal_callback_t p_radio_signal_callback));
+
+/**@brief Closes a session for radio requests.
+ *
+ * @note Any current radio timeslot will be finished before the session is closed.
+ * @note If a radio timeslot is scheduled when the session is closed, it will be canceled.
+ * @note The application cannot consider the session closed until the NRF_EVT_RADIO_SESSION_CLOSED
+ *       event is received.
+ *
+ * @retval ::NRF_ERROR_FORBIDDEN If session not opened.
+ * @retval ::NRF_ERROR_BUSY If session is currently being closed.
+ * @retval ::NRF_SUCCESS Otherwise.
+ */
+ SVCALL(SD_RADIO_SESSION_CLOSE, uint32_t, sd_radio_session_close(void));
+
+ /**@brief Requests a radio timeslot.
+ *
+ * @note The timing of the radio timeslot is specified by p_request->distance_us. For the first
+ *       request in a session, p_request->distance_us is required to be 0 by convention, and
+ *       the timeslot is scheduled at the first possible opportunity. All following radio timeslots are
+ *       requested with a distance of p_request->distance_us measured from the start of the
+ *       previous radio timeslot.
+ * @note A too small p_request->distance_us will lead to a NRF_EVT_RADIO_BLOCKED event.
+ * @note Timeslots scheduled too close will lead to a NRF_EVT_RADIO_BLOCKED event.
+ * @note See the SoftDevice Specification for more on radio timeslot scheduling, distances and lengths.
+ * @note If an opportunity for the first radio timeslot is not found before 100ms after the call to this
+ *       function, it is not scheduled, and instead a NRF_EVT_RADIO_BLOCKED event is sent.
+ *       The application may then try to schedule the first radio timeslot again.
+ * @note Successful requests will result in nrf_radio_signal_callback_t(NRF_RADIO_CALLBACK_SIGNAL_TYPE_START).
+ *       Unsuccessful requests will result in a NRF_EVT_RADIO_BLOCKED event, see @ref NRF_SOC_EVTS.
+ * @note The jitter in the start time of the radio timeslots is +/- NRF_RADIO_START_JITTER_US us.
+ * @note The nrf_radio_signal_callback_t(NRF_RADIO_CALLBACK_SIGNAL_TYPE_START) call has a latency relative to the
+ *       specified radio timeslot start, but this does not affect the actual start time of the timeslot.
+ * @note NRF_TIMER0 is reset at the start of the radio timeslot, and is clocked at 1MHz from the high frequency
+ *       (16 MHz) clock source. If p_request->hfclk_force_xtal is true, the high frequency clock is 
+ *       guaranteed to be clocked from the external crystal.
+ * @note The SoftDevice will neither access the NRF_RADIO peripheral nor the NRF_TIMER0 peripheral
+ *       during the radio timeslot.
+ *
+ * @param[in] p_request Pointer to the request parameters.
+ *
+ * @retval ::NRF_ERROR_FORBIDDEN If session not opened or the session is not IDLE.
+ * @retval ::NRF_ERROR_INVALID_ADDR If the p_request pointer is invalid.
+ * @retval ::NRF_ERROR_INVALID_PARAM If the parameters of p_request are not valid.
+ * @retval ::NRF_SUCCESS Otherwise.
+ */
+ SVCALL(SD_RADIO_REQUEST, uint32_t, sd_radio_request(nrf_radio_request_t * p_request ));
+
+/** @} */
+
+#endif // NRF_SOC_H__
+
+/**@} */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TARGET_HRM1017/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/nrf_svc.h	Fri Aug 15 15:28:31 2014 +0100
@@ -0,0 +1,33 @@
+#ifndef NRF_SVC__
+#define NRF_SVC__
+
+#ifdef SVCALL_AS_NORMAL_FUNCTION
+#define SVCALL(number, return_type, signature) return_type signature
+#else
+
+#ifndef SVCALL
+#if defined (__CC_ARM)
+#define SVCALL(number, return_type, signature) return_type __svc(number) signature
+#elif defined (__GNUC__)
+#define SVCALL(number, return_type, signature) \
+  _Pragma("GCC diagnostic ignored \"-Wreturn-type\"") \
+  _Pragma("GCC diagnostic ignored \"-Wunused-function\"") \
+  __attribute__((naked)) static return_type signature \
+  { \
+    __asm( \
+        "svc %0\n" \
+        "bx r14" : : "I" (number) : "r0" \
+    ); \
+  }
+#elif defined (__ICCARM__)
+#define PRAGMA(x) _Pragma(#x)
+#define SVCALL(number, return_type, signature) \
+PRAGMA(swi_number = number) \
+ __swi return_type signature;
+#else
+#define SVCALL(number, return_type, signature) return_type signature  
+#endif
+#endif  // SVCALL
+
+#endif  // SVCALL_AS_NORMAL_FUNCTION
+#endif  // NRF_SVC__
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TARGET_HRM1017/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/softdevice_assert.h	Fri Aug 15 15:28:31 2014 +0100
@@ -0,0 +1,46 @@
+/*
+ * Copyright (c) 2012 Nordic Semiconductor. All Rights Reserved.
+ *
+ * The information contained herein is confidential property of Nordic Semiconductor. The use,
+ * copying, transfer or disclosure of such information is prohibited except by express written
+ * agreement with Nordic Semiconductor.
+ *
+ */
+
+/** @brief Utilities for verifying program logic
+ */
+
+#ifndef SOFTDEVICE_ASSERT_H_
+#define SOFTDEVICE_ASSERT_H_
+
+#include <stdint.h>
+
+/** @brief This function handles assertions.
+ *
+ *
+ * @note
+ * This function is called when an assertion has triggered.
+ * 
+ *
+ * @param line_num The line number where the assertion is called
+ * @param file_name Pointer to the file name
+ */
+void assert_softdevice_callback(uint16_t line_num, const uint8_t *file_name);
+
+
+/*lint -emacro(506, ASSERT) */ /* Suppress "Constant value Boolean */ 
+/*lint -emacro(774, ASSERT) */ /* Suppress "Boolean within 'if' always evaluates to True" */ \
+/** @brief Check intended for production code
+ *
+ * Check passes if "expr" evaluates to true. */
+#define ASSERT(expr) \
+if (expr)                                                                     \
+{                                                                             \
+}                                                                             \
+else                                                                          \
+{                                                                             \
+  assert_softdevice_callback((uint16_t)__LINE__, (uint8_t *)__FILE__);        \
+  /*lint -unreachable */                                                      \
+}
+
+#endif /* SOFTDEVICE_ASSERT_H_ */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TARGET_HRM1017/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_softdevice.hex	Fri Aug 15 15:28:31 2014 +0100
@@ -0,0 +1,5290 @@
+:020000040000FA
+:10000000C0070000D1060000D1000000B1060000CA
+:1000100000000000000000000000000000000000E0
+:100020000000000000000000000000005107000078
+:100030000000000000000000DB000000E500000000
+:10004000EF000000F9000000030100000D010000B6
+:1000500017010000210100002B0100003501000004
+:100060003F01000049010000530100005D01000054
+:1000700067010000710100007B01000085010000A4
+:100080008F01000099010000A3010000AD010000F4
+:10009000B7010000C1010000CB010000D501000044
+:1000A000DF010000E9010000F3010000FD01000094
+:1000B00007020000110200001B02000025020000E0
+:1000C0001FB5C046C04600F0EFFA04B00FB41FBD24
+:1000D00008205A49096809580847382057490968CB
+:1000E000095808473C2055490968095808474020E5
+:1000F0005249096809580847442050490968095875
+:10010000084748204D490968095808474C204B4981
+:10011000096809580847502048490968095808479C
+:100120005420464909680958084758204349096836
+:10013000095808475C204149096809580847602068
+:100140003E4909680958084764203C49096809582C
+:100150000847682039490968095808476C20374919
+:100160000968095808477020344909680958084740
+:100170007420324909680958084778202F490968CE
+:10018000095808477C202D490968095808478020EC
+:100190002A490968095808478420284909680958E4
+:1001A0000847882025490968095808478C202349B1
+:1001B00009680958084790202049096809580847E4
+:1001C00094201E4909680958084798201B49096866
+:1001D000095808479C201949096809580847A02070
+:1001E0001649096809580847A4201449096809589C
+:1001F0000847A8201149096809580847AC200F4949
+:10020000096809580847B0200C4909680958084787
+:10021000B4200A49096809580847B82007490968FD
+:1002200009580847BC2005490968095808470000D3
+:1002300003480449024A034B7047000000000020B5
+:10024000C0070000C00700000122D84B5A6000BF61
+:10025000D74A1268002AFBD0016000BFD44A126856
+:10026000002AFBD00022D14B5A6000BFD04A12684E
+:10027000002AFBD07047F0B505460E46174600240D
+:1002800006E0A200B158A2005019FFF7DDFF641C80
+:10029000BC42F6D30020F0BD0120C043C549086030
+:1002A000401048607047014601229204086890425D
+:1002B00001D9102070470020FCE7F0B505460C4638
+:1002C0001646002706E028462168FFF7BDFF2D1DD2
+:1002D000241D7F1CB742F6D3F0BD70B505460C4611
+:1002E0002E460BE0304600F075F9FF2C01D80024B3
+:1002F00001E0FF3C013C012080023618002CF1D1C6
+:1003000070BD0146012292044868904201D909203B
+:100310007047A9484069401C01D10F20F8E7002030
+:10032000F6E7FEB504462068030000F037FA05043E
+:100330002B4249598B00201DFFF7E3FF0546002D96
+:1003400001D02846FEBDFFF7A7FF0120C00200F044
+:1003500041F9042221469948FFF78DFF002801D07A
+:100360000320EFE708222146944800F06DF90028A9
+:1003700006D1002192480068FFF766FF00F00CF9F3
+:100380000320DFE7A768E6686068019031463846D9
+:10039000FFF7A3FF324638460199FFF78EFFB20000
+:1003A0003846019900F050F9002800D1CAE703202F
+:1003B000C8E700F0E3F9834800688349086041E03A
+:1003C00060680190E668A0680090B200009901980A
+:1003D00000F03AF90746002F00D1B3E70E20B1E74D
+:1003E000201DFFF760FF0546002D01D02846A9E734
+:1003F0006068002807D1FFF74FFF0320800200F05C
+:10040000E9F800F0C9F8FFF747FF0120C00200F04B
+:10041000E1F8042221466948FFF72DFF002801D0AA
+:1004200003208FE708222146644800F00DF90028D8
+:1004300006D1002162480068FFF706FF00F0ACF823
+:1004400003207FE700BF00207CE770B505460C461F
+:10045000182D04D12068FFF764FF206002E001201E
+:10046000206000BF00BF70BDF0B589B05248406940
+:1004700003905248806881000398081802900398FE
+:10048000000B01900121090302984018401E000B47
+:1004900000900124002520462946019A00F0C4F866
+:1004A0000022401E91410791069001260027304608
+:1004B0003946009A00F0B8F80022401E914105919B
+:1004C0000490049BDB43059AD2430698184307998E
+:1004D00011430791069037490698086007984860CD
+:1004E00009B0F0BD70B53448446934488568466841
+:1004F000AA003146204600F0A7F8002801D00020CD
+:1005000070BD0120FCE72D484068002801D0012083
+:1005100000E000200546FFF7E5FF002807D0FFF7C1
+:10052000BBFE0320800200F055F800F035F8FFF71D
+:100530009BFF002D0ED020484669204884684768FC
+:1005400021463046FFF7C9FE224639463046FFF7BE
+:10055000B4FE00BF00F020F810B5184844681A48EF
+:100560000460204600F0DCF810BD15480068006803
+:10057000401C01D100BFFEE710480068002802D0EF
+:10058000042806D101E0FFF7BEFFFFF7E5FF00BF3B
+:10059000FEE700BF00BFFEE7BFF34F8F0B480C49DB
+:1005A000C860BFF34F8F00BFFEE7000000E50140C9
+:1005B00000E40140000600400010001000080000A8
+:1005C000B8070000BC070000000000200400FA0586
+:1005D00000ED00E010B50146104B1A6808460223F2
+:1005E0000F4C636000BF0F4B1B68002BFBD0531CEC
+:1005F00004D0904202D20A4B186101E0084B986087
+:1006000000BF084B1B68002BFBD00023044C636029
+:1006100000BF044B1B68002BFBD010BD0010001066
+:1006200000E5014000E4014010B5202A04DB01464A
+:10063000203A9140002010BD914020239C1A03468F
+:10064000E3401943904010BD034610B50B439B0790
+:100650000FD1042A0DD308C810C9121FA342F8D025
+:1006600018BA21BA884201D9012010BD0020C04328
+:1006700010BD002A03D0D30703D0521C07E000208E
+:1006800010BD03780C78401C491C1B1B07D1037854
+:100690000C78401C491C1B1B01D1921EF1D118463D
+:1006A00010BD70477047704710B500F007F810BDD7
+:1006B000014B1B68DB6818470000002019481A49E5
+:1006C0007047FFF7FBFFFFF7FBFC00BD20BFFDE716
+:1006D0001649174C24688C420BD1164B1B68994263
+:1006E0000CD1154B154A1360186810498842EDD09B
+:1006F0000AE0134880F30888124B18470F4A13602A
+:1007000018680A498842E1D080F308880E49884277
+:1007100004DD0E48026802210A4302605B68184744
+:100720000346DFE7C0070000C0070000FFFFFFFF30
+:10073000000C000014100010001000000000002049
+:10074000000400206B05000000200020240500406C
+:100750000D48704502D1EFF3098101E0EFF3088104
+:10076000886902380078182802D1C046074A104725
+:10077000074A12682C3212681047000000B5054B7A
+:10078000054A9B58984700BDFDFFFFFF4B04000042
+:1007900000000020001000000400000030B4744687
+:1007A000641E2578641CAB4204D3635D5B00E318D0
+:1007B00030BC18471D46F8E7000C00000010000090
+:10100000901D002079500100ED3D0000DF4F0100F0
+:1010100000000000000000000000000000000000D0
+:10102000000000000000000000000000E950010086
+:101030000000000000000000ED3D0000ED3D00005C
+:10104000555101005B510100ED3D0000ED3D0000F8
+:10105000ED3D0000ED3D0000ED3D0000ED3D0000E8
+:1010600061510100ED3D0000ED3D000067510100C0
+:10107000ED3D00006D5101007351010079510100F7
+:10108000ED3D0000ED3D0000ED3D0000ED3D0000B8
+:10109000ED3D0000ED3D0000ED3D0000ED3D0000A8
+:1010A0007F51010085510100ED3D0000ED3D000044
+:1010B000ED3D0000ED3D0000ED3D0000ED3D000088
+:1010C00000F002F813F0B9FF0CA030C8083824185B
+:1010D0002D18A246671EAB4654465D46AC4201D170
+:1010E00013F0ABFF7E460F3E0FCCB64601263342CF
+:1010F00000D0FB1AA246AB463343184744410100D7
+:1011000074410100103A02D378C878C1FAD8520766
+:1011100001D330C830C101D504680C6070470000AD
+:101120000023002400250026103A01D378C1FBD803
+:10113000520700D330C100D50B6070471FB5C046C1
+:10114000C04613F01BFF04B00FB41FBD82690249F3
+:1011500081610248104470476111000001000000E5
+:1011600001B41EB400B510F02FFC01B401988646FE
+:1011700001BC01B01EBD0000F0B4404649465246D5
+:101180005B460FB402A0013001B50648004700BF1E
+:1011900001BC86460FBC8046894692469B46F0BC01
+:1011A00070470000C1100000401E00BF00BF00BF1C
+:1011B00000BF00BF00BF00BF00BF00BF00BF00BF37
+:1011C00000BFF1D17047000070B505460C461646C9
+:1011D00002E00FCC0FC5103E102EFAD2082E02D31B
+:1011E00003CC03C5083E042E07D301CC01C5361F2E
+:1011F00003E021782970641C6D1C761EF9D270BD45
+:101200008307FF22DB0E9A408907090E99400028C8
+:101210000BDA0007000F0838830828489B001B18CA
+:10122000D86990430843D8617047830824489B00DD
+:101230001B181868904308431860704710B504469F
+:1012400000210120FFF7DCFF00211820FFF7D8FF65
+:1012500000210B20FFF7D4FF02211920FFF7D0FF58
+:1012600002210D20FFF7CCFF02210E20FFF7C8FF5F
+:1012700002210F20FFF7C4FF0221C81FFFF7C0FFA4
+:1012800003211620FFF7BCFF03211520FFF7B8FF4D
+:10129000204600F019F8002010BD4F210180704752
+:1012A00010B500F03AF810BD0648704710B500F0D0
+:1012B00035F810BD704770477047000000ED00E042
+:1012C00000E400E003F900C330B50446374D95B0A3
+:1012D00007202870A81CFFF7E0FF5920A880344899
+:1012E00001F020FC0546072000F0DCF929462F48D4
+:1012F00000F08CFA641E072C0AD830216846017071
+:10130000847001F0DDFA002802D009A800F0DDFCAD
+:10131000284601F083FE15B030BD7047F8B5234E66
+:101320000446B61E307801270D46002807D0204617
+:1013300060380B2808D8204601F096FB2BE0602C83
+:10134000F9D01C480860F8BD20466C38032803D843
+:10135000204601F0CBFB1EE0204670381F2803D842
+:10136000204600F037F816E0204690380F2803D8C2
+:10137000204600F0BBF80EE02046A0380F2803D826
+:10138000204600F023F906E02046B0380F2804D8A4
+:10139000204600F000F9286000E02F60602CD2D1D8
+:1013A00028680028CFD13770F8BD00001A0000204F
+:1013B000C33300000130000070477047704770472A
+:1013C000704770477047704710B5012801D100F091
+:1013D00042FA10BD10B57038030013F0EBFE150C87
+:1013E00012161E22252C33383D41454950555C6468
+:1013F0006C747B8085004A680878114603F081FF91
+:1014000010BD086803F0F9FF10BD0C790B7B8A68EA
+:101410000868214604F005F810BD086804F07EF85D
+:1014200010BD03F05BFC10BD08884A6880B211460D
+:1014300004F043FA10BD0A790888114680B204F01E
+:1014400091FA10BD087840B204F09CFA10BD0888EB
+:1014500080B204F0B8FA10BD086804F0C7FA10BDF5
+:10146000086804F0DFFA10BD086804F00AFB10BD3C
+:10147000088982B209C9194604F034FB10BD05C9B8
+:10148000114604F082FB10BD08884A6880B21146FC
+:1014900004F0A0FB10BD0B7908888A6880B2194659
+:1014A00004F0FDFB10BD0B7908888A6880B21946EC
+:1014B00004F0B3FC10BD08884B688A6880B21946F6
+:1014C00004F0F3FC10BD08884A6880B2114604F0AD
+:1014D0003EFD10BD088880B204F056FD10BD08889E
+:1014E00080B204F076FD10BD012010BD10B590381B
+:1014F000030013F05FFE09060F161D242C363F462D
+:101500004E0088888A6883B20888194680B205F040
+:1015100093F910BD08884A6880B2114605F0E9F9D0
+:1015200010BD08884A6880B2114605F02DFA10BD3A
+:1015300008884A6880B2114605F063FA10BD088831
+:101540004B688A6880B2194605F094FA10BD088984
+:1015500082B2888883B20888194680B205F0C9FA39
+:1015600010BD08894B6882B20888194680B205F020
+:10157000FEFA10BD08884A6880B2114605F02EFBBD
+:1015800010BD888882B20888114680B205F0C2FB7F
+:1015900010BD012010BD10B5B02805D0B12808D06D
+:1015A000B2280BD0012010BD088880B205F0A6FE3D
+:1015B00010BD088880B205F0D1FE10BD08884B68C8
+:1015C0008A6880B2194605F0DAFE10BD10B5A03861
+:1015D000030013F0EFFD0B070E172028323C434D9C
+:1015E000545D65004B6808788A68194607F017FA59
+:1015F00010BD88888A6883B20888194680B207F0CF
+:1016000023FA10BD08884C68CB688A6880B22146EE
+:1016100007F02AFA10BD08884B688A6880B219461C
+:1016200007F044FA10BD8888CB6884B208888A68BD
+:1016300080B2214607F064FA10BD8888CB6884B276
+:1016400008888A6880B2214607F089FA10BD0888A8
+:101650004A6880B2114607F0BDFA10BD088982B20F
+:10166000888883B20888194680B207F0BDFA10BD99
+:1016700008884A6880B2114607F0DAFA10BD088976
+:101680004B6882B20888194680B207F057FB10BD3C
+:1016900008884B688A6880B2194607F014FC10BDB0
+:1016A000012010BD10B507F0FAFC0FF0A7FF00F005
+:1016B00007F810F0F5F808F0F5F908F081F910BD19
+:1016C00001202B49C00308602A490020087003202C
+:1016D0002949800288607047F8B5264D044628786D
+:1016E000A04207D0002C05D0002803D023A14D2014
+:1016F00013F06FFC2878A04213D02C700325002330
+:101700002349AD021C48002C27D01B4A214E4032F1
+:10171000214F012C06D0022C13D018A16E2013F0FB
+:1017200058FCF8BD0B6002230B604E6185601B49BD
+:1017300011625762091D91621749091DD162456006
+:10174000F8BD0B6003230B604E610121C90281606B
+:10175000134B9362D7624160F8BD0B600B608560EC
+:10176000F8BD10B505A1772013F033FC10BD0000C3
+:1017700080E100E02000002000F501407372635C0E
+:1017800068616C5F63636D5F6161722E630000006E
+:1017900000F500407C01002000F0004000110040F6
+:1017A000488100401CB50446002069460870204668
+:1017B00009F0F6F86946204608F0B4FF002803D186
+:1017C000FBA1B62013F005FC01A9204608F009FF93
+:1017D000002803D1F6A1BB2013F0FBFB684600787C
+:1017E0001CBD70B5F74D002428462C76203084713E
+:1017F000C47113F0EDFC2846403804702030847327
+:10180000847484762C74AC7070BDEAE710B50C4615
+:10181000ED4982888A8042884A80007808700846AC
+:101820000A38847008F0B3FEFFF7DBFF20460AF0A9
+:101830002FFAE44AE0321146383908461446813816
+:1018400009F020F92146E0480BF0C2FC09F09FF8AE
+:1018500013F0BEFC10BD10B50120FFF7ADFD10BDAB
+:10186000F8B509F083FDD84DD64C0A3D022802D0C8
+:10187000207C00287CD0207E0026102819D1A0785A
+:10188000002803D0CAA1D14813F0A3FBCD48E83803
+:10189000817A89070DD50146267160398989E180F1
+:1018A000C17A217281896181C089A0810120A070E3
+:1018B0002676C44F203FB87C002859D1C4486946D9
+:1018C000808908F02FFF002805D0694668780978DC
+:1018D0004018687004E0BD48B5A11D3013F079FBD5
+:1018E000207C002838D0BA488189FF300930406D0B
+:1018F0008089814204D0B548ADA1223013F069FB44
+:10190000B348808908F0B4FF002804D1AF48A8A1EB
+:10191000283013F05EFB09F022F800281CD0AC48F8
+:101920008089FFF73FFF697840186870A548403804
+:10193000416D20318A7C012A0DD1A54A3E779289DA
+:10194000C287C87C20700120B876207E102801D084
+:10195000282800D1267626746978002908D09C486A
+:101960008289FF300930C28601870120B8746E7009
+:1019700009F0CCFC002805D1207C002802D0A878F2
+:1019800001F0F4F8F8BDF8B50F460446FFF768FF1C
+:101990008C4D403D28788B4E002813D0002F10D15D
+:1019A000307E002804D0FF2081A1C63013F011FB47
+:1019B0002C22A91C204613F06FF90E202070002065
+:1019C00028708FE07F4D203DA87B002818D0002F85
+:1019D000F7D1307E102808D0282806D0002804D05F
+:1019E000FF2073A1D23013F0F4FA0120E070E87BFD
+:1019F000A070287C60700F2020700020A87371E018
+:101A00000121204608F0E4FF002807D0307C0028A0
+:101A100051D13946204608F0DBFFF8BDA97C694862
+:101A20000C38009068480A38002913D0017805293D
+:101A300010D2002F56D1491C0170002666700D206F
+:101A40002070012028750622A01C009913F024F9AB
+:101A5000AE7447E05C4800210A380170B078002875
+:101A600014D0002F3ED1307E002803D050A1594819
+:101A700013F0AFFA002565700120524920700A2248
+:101A8000091DA01C13F008F9B5702BE0394620465B
+:101A90000BF008FB002825D1A87C002805D0002FDA
+:101AA00020D149480A380178C5E7A87E002802D02D
+:101AB000307C002801D00020F8BD002F12D1307EEC
+:101AC000002804D08F203AA1800013F082FA00266B
+:101AD00066700A203B4920700622091FA01C13F0E3
+:101AE000DBF8AE760120F8BD10B53648017E00293E
+:101AF00008D1007C012805D001210020FFF743FF19
+:101B0000002801D0072010BD012010BD10B5012410
+:101B10000AF006F90443FFF7E7FF044308F038FF33
+:101B200001462143084610BDF8B51D4614460E4631
+:101B300008F077FD002807D0684608F07DFD0028F2
+:101B400003D0002C07D101E00120F8BD9B2018A193
+:101B5000800013F03EFA08F01BFDA04204D21D489D
+:101B600013A1583013F035FA009808F089F931467E
+:101B7000009808F097F9E2B22946009808F04EFB69
+:101B800008F06CFD002804D19F2009A1800013F00B
+:101B900020FA08F0FFFE0E4800244030417C002966
+:101BA00002D044740AF0A7F90948C480CCE70000C9
+:101BB0007372635C6C6C5F6374726C2E73302E6333
+:101BC00000000000200300202C00002082060000FE
+:101BD000D80100201502000010B50179002908D0B5
+:101BE00001290BD0FF20FE49043013F0F2F9002048
+:101BF00010BD831D42880488022103E042880488C6
+:101C0000831D01212046FFF78FFF10BDF8B51F4649
+:101C100015460E46044609F0A9FB022803D0F148F8
+:101C2000007C00281FD0F0488089208008F020FE2A
+:101C3000002803D1EA49ED4813F0CBF905246846A2
+:101C400008F021FE00280ED0009808F063F93070EB
+:101C5000022809D0012807D008F055FE641E24068A
+:101C6000240EECD10020F8BD3946009808F0EEFAB9
+:101C70002880002804D1AF20D949800013F0A9F9A9
+:101C800008F041FE002804D1D848D549193013F096
+:101C9000A0F90120F8BD38B50446831D821C6946B1
+:101CA000FFF7B4FF00280DD000206071684600786F
+:101CB000012808D0022806D0FF20C949253013F09A
+:101CC00088F9012038BD2071FBE700215BE670B583
+:101CD000C44C0546403C2078002803D1C148007E12
+:101CE000002804D0C120BE49C00013F072F9287842
+:101CF00008F085FF28780BF0C1FB0020207101203F
+:101D000060713921E170207070BD70B5B54D044629
+:101D1000403D2878002803D1B248007E002804D036
+:101D20005F20AF49000113F054F9AF4E2188B0890C
+:101D3000884203D109F01AFB022807D0022028713B
+:101D4000012068713821E970287070BD7F2070769D
+:101D5000A548E17820304174A17801740020EEE7B5
+:101D600010B5A04C403C207800280BD19D48007E47
+:101D7000002807D109F0FAFA032803D009F0FAFA8B
+:101D8000032804D199489649653013F022F9954902
+:101D900000202031C8712071012060713A21E1706A
+:101DA000207010BD70B58F4C0646403C207800284E
+:101DB0000BD18C48007E002807D109F0D7FA032800
+:101DC00003D009F0D7FA032804D1884884497B302E
+:101DD00013F0FFF8834D2035E87908280CD2E87914
+:101DE0001022000100196830314600F025FEE87924
+:101DF000401CE871002000E0072020710120607184
+:101E00003B21E170207070BDF8B5764D0446403D31
+:101E10002878002803D17348007E002803D0704939
+:101E2000734813F0D6F8704F2188B889884203D1DF
+:101E300009F09CFA022801D0022022E03E8C64883E
+:101E40007200788CF98B521C944217D3694A514323
+:101E50009200504312F09AFF401EFF2180B2F531EC
+:101E6000884200D90846844200D22046711C401C9A
+:101E700012F08CFF761C7043401E86B2FE85EE8009
+:101E800000202871012068713C21E9702870F8BD9C
+:101E9000F8B5544C0546403C2078002803D1514801
+:101EA000007E002804D052484D492C3813F091F898
+:101EB000A878002801D0012804D1A888FF21F53195
+:101EC000884204D959204649000113F082F8464E51
+:101ED0002988B089884203D109F048FA022807D03E
+:101EE00002202071012060713621E1702070F8BD60
+:101EF0003D48002720308772A988B18501213176BD
+:101F0000A978012900D00021817237484030407CF7
+:101F1000002801D009F0EFFF2771E3E770B5314CDD
+:101F20000546403C2078002807D12E48007E002836
+:101F300003D109F01BFA002804D02D482849533852
+:101F400013F047F8287809F0EEFE002020710120F8
+:101F500060713021E170207070BD70B5214C054674
+:101F6000403C2078002803D11E48007E002804D081
+:101F70001F481B495F3013F02CF8287800280BD03D
+:101F8000012809D0022807D06878402804D31848CF
+:101F90001349663013F01DF8284609F0DEF90028D1
+:101FA00001D0002000E00C2020710120607134215C
+:101FB000E170207070BD70B50A4C0546403C207839
+:101FC000002807D10748007E002803D109F0CEF988
+:101FD000002804D057200249000112F0FAFF0BE05C
+:101FE000B01B000020030020D8010020AA0200003E
+:101FF000B6050000C40900002978002913D00A2979
+:1020000011D014290FD01E290DD028290BD0322928
+:1020100009D04B2907D0642905D0FF2903D0FE49F8
+:10202000FE4812F0D6FF284609F0FCFE0020207181
+:10203000012060713321E170207070BD70B5F84CE3
+:1020400006462078251D002804D120464030007E19
+:10205000002804D05520F049000112F0BAFF3146A3
+:10206000002008F0A1FD2870002804D10622314686
+:10207000EC4812F011FE012060713221E1702070F5
+:1020800070BD70B5E64C05462078002804D1204686
+:102090004030007E002804D0A720DF49C00012F0A5
+:1020A00098FF00216956042914D0002912D0081D78
+:1020B00010D0001D0ED0001D0CD0001D0AD0001D38
+:1020C00008D00A3006D0283104D0D448D249443848
+:1020D00012F07FFFD448297801700120607131210E
+:1020E000E170207070BD10B5CD4C2078002804D16F
+:1020F00020464030007E002803D0C749CB4812F06C
+:1021000068FF08F045FAE08008F00AFB2072002022
+:102110002071012060710521E170207010BDF8B5BB
+:10212000BF4C07462034A07B25462035002805D12A
+:10213000287E002802D1A878002804D0B748B649E4
+:10214000703812F046FF09F011F91026022822D14A
+:10215000B7483988808988421DD1B1494839084635
+:102160000A7F6038807A002A03D080070CD40C20C4
+:102170000CE0800708D406200877AD484030407C4A
+:10218000002801D009F0B7FE2E760020E0732674F7
+:102190000120A073F8BD0220F8E710B5A04C20780C
+:1021A000002804D120464030007E002804D09B48FF
+:1021B0009949823812F00DFF002020710E20A07086
+:1021C0000F20E070FF20A0710020C04320819548BF
+:1021D000C01D0178A1728188A1814088E081012021
+:1021E0006071207010BD10B58D4C2078002804D18E
+:1021F00020464030007E002803D087498D4812F0E9
+:10220000E8FE0821A01D0FF095FA002020710120A2
+:1022100060712B21E170207010BD70B5804D0446B7
+:102220002878002804D128464030007E002804D0B9
+:102230007A487949B13012F0CCFE7D48102221460F
+:10224000303800F0F9FB7A481022A118203800F04D
+:10225000F3FB774830380FF074FB754910221039C2
+:102260002C46A81D00F0E8FB002020710E20A07075
+:102270002A20E07001206071207070BDF8B5684CB4
+:1022800005462034A07B26462036002802D1307E29
+:10229000002804D067486049E53012F09AFEA9781A
+:1022A000052912D0132910D014290ED015290CD0CD
+:1022B0001A290AD0292908D03D2906D03B2904D063
+:1022C0005C485549ED3012F084FE28885A4988420E
+:1022D00004D958485049F63012F07BFE09F046F810
+:1022E0000C212827022809D151482A888089904248
+:1022F00015D14B484838027E002A01D0E17310E026
+:10230000A97841760121017637760020E0734848AC
+:102310004030407C002804D009F0EDFD01E00220AF
+:10232000E07327740120A073F8BDF8B53C4F064652
+:1023300038783D1D002804D138464030007E002802
+:1023400004D089203449C00012F043FE31460120F8
+:1023500008F02AFC01242870002807D13048062202
+:1023600060303146054612F097FCAC717C71172045
+:10237000F8703C70F8BDF0B52B4F85B0403F3D7A0A
+:10238000064627480078002804D13846A038007E49
+:10239000002804D0D3202049800012F01AFE3078A3
+:1023A000002806D0012804D022481B492C3812F0FE
+:1023B00010FE082D4CD21C4820380190C46930789A
+:1023C00000283FD0012804D01A4813491E3812F0C3
+:1023D00000FE294608310120884004430120A8401E
+:1023E00020430090B1790E4C0802727969000919F6
+:1023F0001043FF3101318881B01C12F0AEFC7178BE
+:1024000000020843A9000919C031C862387A401C8B
+:1024100038720199009811E0B01B00007E050000A1
+:10242000E00200202500002000040020E706000054
+:10243000D801002079030000FF0E0000C8610020D1
+:10244000207108E029460831012088408443C5E70F
+:10245000FE48072101710121FC480B224171C27025
+:10246000017005B0F0BD10B5F84C2078002804D1FB
+:1024700020464030007E002803D0F549F54812F090
+:10248000A8FD12F0A5FE00202071012060710A2134
+:10249000E170207010BD10B509F0DDFB002804D0FC
+:1024A000EC48EB49583812F094FD08F06FFA08F048
+:1024B00052F80AF07EFE002804D0BD20E4498000D6
+:1024C00012F087FD08F0B3FA002804D05F20E0493D
+:1024D000C00012F07EFD12F07BFEDF480024047085
+:1024E000FFF77FF9D9480121047141710222C270BE
+:1024F000017010BD70B5D54D04462878002804D170
+:1025000028464030007E002804D0F320D0498000C7
+:1025100012F05FFD20781F2801D8601C04D1CD483F
+:10252000CB498F3012F055FD002028712078611CB6
+:1025300008F054FB012068712021E970287070BDFB
+:10254000F8B5C24C0646207825464035002802D111
+:10255000287E002804D0BF48BD499C3012F039FDC8
+:102560003078012806D0002804D0BA48B8499D30F8
+:1025700012F02FFD012060710C20207130780027AF
+:10258000B64E012808D008F0F1FE032867D008F005
+:10259000F1FE032871D076E008F0E8FE002803D1B0
+:1025A00008F0E8FE002804D008F0E0FE02283DD044
+:1025B00069E008F07EFA002865D0287C002862D106
+:1025C000A64802210C300FF03EF8002806D00F215B
+:1025D000B089090212F0DAFBB18100E0B781012273
+:1025E00003219E4807F05AFE9C4808F006FCB0897B
+:1025F00007F0D0FF002804D196489549B83012F072
+:10260000E8FCB089002108F0C9F9002804D09148FD
+:102610008F49BC3012F0DDFC297F688B09F087FB05
+:1026200000282FD08B488A49C03015E008F0A2FE60
+:10263000002828D1287F002825D0012823D008F0A1
+:1026400038FA00281FD0297F688B09F070FB00281A
+:1026500018D080487E49D33012F0BBFC12E0002035
+:1026600009F098FA00280ED12771287C00280AD199
+:10267000B089FFF797F806E0FFE7002009F08AFA33
+:10268000002800D127711B20E07001202070F8BDC8
+:1026900070B56E4D04462878002804D12846403095
+:1026A000007E002804D06B486949803012F091FC0C
+:1026B00020781F2801D8601C04D166486449813005
+:1026C00012F087FC002028712078611C08F09AFA2B
+:1026D000012068711A21E970287070BDF8B55B4D52
+:1026E000044628780C272E46403600280AD1307E32
+:1026F000002807D108F03AFE032803D008F03AFE7C
+:10270000032804D153485249473012F062FC6079E3
+:10271000002801D001282FD1A079002801D001285C
+:102720002AD1A07B002805D0012803D0022801D09F
+:10273000032821D1607B40071ED0618801208003DF
+:10274000814202D82288824201D920790CE0207986
+:10275000002804D0022805D0032803D004E0202953
+:1027600004D209E0A02A01D2012805D1208888429C
+:1027700007D92079012804D0364835495C3012F059
+:1027800028FC20887083207930776079002802D077
+:10279000012803D00CE0324A002105E02B4A6032C8
+:1027A0009079002804D00121204608F086F90746D8
+:1027B00001202F7168711821E9702870F8BD70B57B
+:1027C000224C05462078002804D120464030007E67
+:1027D000002803D01E49234812F0FBFB08F0C6FD79
+:1027E0000C2102280ED11D482A8883899A4219D1CA
+:1027F0000246C032137F002B04D1807E0E2803D006
+:102800000F2801D0217103E00520107700202071EE
+:102810000E20A0702E20E0702888E08001206071DA
+:10282000207070BD0220F2E770B5084C0546207894
+:10283000002804D120464030007E002804D00948FA
+:1028400003492C3812F0C5FB0EE00000E002002026
+:10285000B01B00003E03000000040020D80100204F
+:1028600025000020D104000008F080FD0C21022882
+:102870000ED178482A8883899A421FD10646C036ED
+:10288000327F002A04D1807E0E2803D00F2801D089
+:10289000217109E06F481022A91CEA3012F0FCF9FE
+:1028A00004203077002020710E20A0702D20E070D1
+:1028B0002888E08001206071207070BD0220F2E75E
+:1028C00010B501780B0012F075FC3D8787388787BB
+:1028D00058878787873B3E878787515487878787B5
+:1028E00087874228872C3087878787348787878721
+:1028F00087878746874A4E872024876B5B5F63679D
+:10290000876F877E827B77738700801CFFF78CFF41
+:1029100060E0801CFFF753FF5CE0801CFFF7DEFEE9
+:1029200058E0801CFFF7B4FE54E0801CFFF708FE5F
+:1029300050E0801CFFF7DEFD4CE0FFF7ACFD49E006
+:10294000FFF791FD46E0801CFFF715FD42E0801C7B
+:10295000FFF7EBFC3EE0801CFFF790FC3AE0801CA8
+:10296000FFF75BFC36E0FFF73EFC33E0FFF715FCBA
+:1029700030E0801CFFF7D3FB2CE0FFF7B4FB29E02D
+:10298000801CFFF77EFB25E0801CFFF757FB21E052
+:10299000801CFFF710FB1DE0801CFFF7DEFA19E03A
+:1029A000801CFFF7BBFA15E0801CFFF771FA11E0FD
+:1029B000801CFFF729FA0DE0801CFFF7F3F909E00E
+:1029C000FFF7CEF906E0801CFFF79FF902E0801CBC
+:1029D000FFF77DF9012010BD002010BD10B51E4984
+:1029E0001E4812F0F6FA10BD70B51D4A01241146BA
+:1029F000184D4031030012F0DDFB05191C1C0419B1
+:102A00001C0001220021134807F048FC1448002153
+:102A1000483801774177C03809F005FA002804D01A
+:102A20000E480D49D33012F0D4FA70BD0C745565C0
+:102A300070BD09490B48F6E730B5134606E0CC18DF
+:102A4000203CE47FD51A44555B1EDBB2002BF6D147
+:102A500030BD0000D8010020B01B0000410600007E
+:102A6000E00200204707000010B56038030012F0B4
+:102A7000A1FB0A060A0F13181F262A31363B0868E5
+:102A800000F093FD10BD05C9114600F0ADFD10BD6D
+:102A9000086800F04CFE10BD05C9114600F054FE58
+:102AA00010BD4B6808788A68194600F065FE10BDB5
+:102AB0004B688A680868194600F07FFE10BD0868F8
+:102AC00000F09AFE10BD08884A6880B2114600F0F6
+:102AD000EAFE10BD05C9114600F00AFF10BD05C988
+:102AE000114600F01DFF10BD012010BD10B56C286F
+:102AF00001D0012010BD087800F0B8FE10BD000024
+:102B000001203F49400608603E4908603E490A6886
+:102B1000FF231B029A4383121A430A603849803903
+:102B20000860704710B502460420384904E0C3002D
+:102B30005B181B79002B0AD00346401EC0B2002B45
+:102B4000F5D133A1432012F044FAFF2010BDC30099
+:102B5000CA50002259184A718A7101220A7110BDA7
+:102B60002A4A0021C00080180171704710B5044640
+:102B7000042803D326A1522012F02BFA2348E100A7
+:102B80000C182079012803D021A1532012F021FA3A
+:102B90006079A179401CC0B2814200D060710120EF
+:102BA000174940068031086010BD70B516480068AE
+:102BB0000004800F022803D015A1692012F009FA41
+:102BC000124E194C03252078C10088190279012A78
+:102BD00007D1427983799A4203D042798271705841
+:102BE00080472078401CC0B22070042801D3002008
+:102BF000207028466D1EEDB20028E4D170BD0000A3
+:102C000080E100E080E200E018E400E02C12002007
+:102C10007372635C736F635F7369676E616C6C6919
+:102C20006E672E63000000003C00002010B5EFF33B
+:102C30001080C407E40F72B6D6484178491C417031
+:102C40004078012801D10FF065F9002C00D162B65F
+:102C500010BD70B5CF4CE07800280AD10125E57091
+:102C6000FFF7E4FF0FF05EF9002804D000200FF01A
+:102C700031F9002070BDC84865714560F9E770B54D
+:102C8000EFF31080C507ED0F72B6C24C60780028D4
+:102C900003D1C2A18F2012F09CF96078401E6070B1
+:102CA0006078002801D10FF039F9002D00D162B60B
+:102CB00070BD10B5B748C178002904D0002141711A
+:102CC000C170FFF7DCFF002010BD10B504460FF007
+:102CD00029F9B049C978084000D0012020600020BF
+:102CE00010BDF8B50246AB4C0026A67108200421A1
+:102CF00001251027130012F05DFA0D080A0C0E10C2
+:102D00001214161E262123252800257122E00220F8
+:102D100001E021711EE020711CE027711AE02020E3
+:102D2000F9E7012616E0FFF781FF0FF0FBF8002816
+:102D3000FBD002260EE02171A5710BE02771FBE7A5
+:102D4000202000E040202071F6E7FF2093A17E3094
+:102D500012F03FF90FF0F2F8002809D00FF0F4F864
+:102D6000B04205D130460FF0F2F80028FAD024E046
+:102D700001208007C5608D4A002151608C4A966110
+:102D8000854B02225A6085608A4803690569DB43E6
+:102D9000DB06DB175B1C10273D430561834D00E01C
+:102DA00020BF6F68002FFBD0002B03D107691023D1
+:102DB0009F430761784882606960A07900280CD041
+:102DC0000FF0B0F805460FF00DF87B4A002D02D049
+:102DD000A260E06001E0E260A060002E01D100F09E
+:102DE000B1F8F8BD10B504460FF0A2F8002805D0E0
+:102DF00068490120C8704A78521C4A702046FFF783
+:102E000070FF10BDF8B5694FB8680025012802D1E0
+:102E1000BD600FF05FF87868012800D17D603868E8
+:102E200001265C4C012814D13D606079002803D054
+:102E300000200FF04FF865712078002809D00FF0BE
+:102E400071F8002805D05948C0388663000606612D
+:102E5000A670386901282CD13D6100F068F8012086
+:102E600080074661A079002815D00FF05BF800902C
+:102E70000EF0B8FF0099002901D0E16800E0A168D8
+:102E8000411A022901DA8A1C13DC0099002901D0B9
+:102E9000E06000E0A060FFF7C9FE0FF043F80028F3
+:102EA00006D04248C038866300060661A67000E07E
+:102EB0002670F868012819D100F039F800F037F8C9
+:102EC00000F035F8A078002804D1FF2033A10530A8
+:102ED00012F07FF8FD60A5702570FFF7D0FE0EF0B0
+:102EE000F8FA002802D03148C038C663F8BD10B5E2
+:102EF000284CE078002801D10FF010F8012081075C
+:102F0000886100F014F8A07800280BD0274CE06806
+:102F1000002803D10FF01BF80028F8D10020E06052
+:102F200000F005F800201C49C043886010BD08B5BA
+:102F30005020694608806A461088411E118000288A
+:102F4000F9D108BDF8B51448192787601749002042
+:102F50000860C8600EF0E6FFBD0701240D4E002892
+:102F600005D01248C03884632C61B47000E034701E
+:102F7000FFF75CFE084847600D4930798863FFF72A
+:102F8000D6FFAC61FFF7D3FF0849002008616C61F0
+:102F9000F8BD000040000020000300407372635C35
+:102FA000736F635F636C6F636B2E6300000100409F
+:102FB0000005004000ED00E0FFFFFF7F10B510F0BE
+:102FC00064F810BD00200449C8630120012181403C
+:102FD000024A116000BF7047C01F004080E200E05D
+:102FE00010B504460BF095F820460CF0AAF810BD79
+:102FF0007047704770477047704770477047704719
+:1030000010FFFFFFDBE5B151006001004F00FFFF43
+:1030100003B40148019001BD09000020FE49487039
+:10302000704710B5030012F0C5F8080E050E080829
+:103030000B0B0E1104F07DF810BDFFF7D1FF10BD92
+:103040000DF0E8FF10BD01F095FE10BDFF20F3A1CB
+:10305000713011F0BEFF10BD7FB5F44905464868D8
+:103060008968082301910090F14A1946F1480EF051
+:103070008BFD0024F0480EF0A5FD641CE4B2082C82
+:10308000F8D3EB490320803140020CF02FF90028DF
+:1030900003D0E2A1962011F09CFF1E220221E748F6
+:1030A0000AF0E7FCE5481E22032110300BF05BFA22
+:1030B000E2480722342174300AF034FCDF484C2106
+:1030C000283011F048FEDD496A46743108464C3814
+:1030D0000164FF317B31416401211172039002F0E0
+:1030E000B4F802A80CF050FC002803D0CBA1AA2011
+:1030F00011F06FFFCF4802222421A8380AF012FCF9
+:10310000CC4802222C215C380AF00CFCCC490B2064
+:103110000EF082F8002803D0C0A1B72011F059FFAB
+:1031200003F0F4FF03F0F8F904F05AFE6B460022B6
+:103130000821C4A001F070FF002803D0B7A1BE2071
+:1031400011F047FF284605F071F9002803D0B3A11C
+:10315000C02011F03EFF8521C900BD4811F0FBFDE4
+:10316000BB49B24A0020135C0C18401CC0B2E3708B
+:103170000428F8D3A849002048608870C8707FBD33
+:1031800070B5B44E0546706A94B00C46401C04D12C
+:10319000B06AC0430004000C0BD0306AC007C00FF7
+:1031A0002870706A11F0EAFDB06A2071000A60713F
+:1031B00013E02B206946087009A968460AF0F8FB5D
+:1031C000002803D095A1E42011F003FF012028700E
+:1031D00006220AA9204611F05FFD2878002803D0B6
+:1031E0006079C0210843607114B070BDF0B5994C8E
+:1031F0000646206895B00D463746401C0837002823
+:1032000008D16068401C05D1A068401C02D1E0686C
+:10321000401C11D02068314611F0B0FD6068311DAE
+:1032200011F0ACFDA068394611F0A8FDE068314608
+:103230000C3111F0A3FD25E02B206946087009A987
+:1032400068460AF0B5FB002804D0FF2073A10E30B9
+:1032500011F0BFFE08220AA9304611F01DFD2B20F7
+:103260006946087009A968460AF0A2FB002804D044
+:10327000FF206AA1153011F0ACFE08220AA93846D9
+:1032800011F00AFD20692E46401C0836002808D19E
+:103290006069401C05D1A069401C02D1E069401C56
+:1032A00012D02069294611F069FD6069291D11F0CD
+:1032B00065FDA069314611F061FDE06929460C31D8
+:1032C00011F05CFD15B0F0BD2B246846047009A90F
+:1032D0000AF06EFB002804D0FF2050A1333011F01B
+:1032E00078FE082209AF0AA9284611F0D5FC6846E5
+:1032F000047009A90AF05CFB002804D0FF2047A154
+:103300003A3011F066FE0822391D304611F0C4FC37
+:10331000D8E710B5002108460EF00CFD0021012071
+:103320000EF008FD002102200EF004FD0021032014
+:103330000EF000FD002104200EF0FCFC0021052011
+:103340000EF0F8FC10BD10B5414CA0780B2804D34A
+:10335000FF2032A18A3011F03CFE207860214843E2
+:1033600000190830002101704178E722C908C9001E
+:10337000C91C11404170284A0121917010BD70B5DF
+:10338000254CA07800280ED0314800250178491C32
+:10339000C9B201700B2900D105708178491C817078
+:1033A0000EF093FDA57070BD70B51B4C05466068AE
+:1033B000002804D0FF2019A1B33011F00AFE656087
+:1033C00070BD70B5144E224DFFF7BDFF7168044605
+:1033D000002907D06022FDF7F7FEFFF7D0FF00209D
+:1033E0007060F1E72879002876D012485C380AF03E
+:1033F000A9FA6060002804D1FF2008A1D13011F0A3
+:10340000E8FD60680AF0FCFA002831D0204600F0A0
+:103410006FFF607801071FE0340000207372635C67
+:10342000686F73745F636F72652E6300E051010013
+:10343000040400200C12002023300000840A002025
+:10344000B41000206E524635313832320000000090
+:103450008C0C00208000001007D5C008C000401C64
+:1034600060702879401E287127E0F74861682AE0DB
+:10347000F54861680AF06FFA687900282CD0F248A4
+:103480004C380AF05FFA6060002804D1FF20EF4951
+:10349000F43011F09EFD60680AF0B6FA002816D0EC
+:1034A000204603F085FE6078010709D5C008C000FA
+:1034B000801C60706879401E6871FFF760FF83E7C9
+:1034C000E14861684C380AF046FA7DE704E0DE48DE
+:1034D00061684C380AF03FFA70BDF7B505460078D0
+:1034E000002700090C463E46062803D0D749D84895
+:1034F00011F06FFD287A00280ED0012814D0D4488E
+:10350000D249213011F065FD0298002C068001D0CF
+:10351000278066800020FEBD02270926002C0ED0E1
+:10352000A889A080A87B08E003271426002C06D0D9
+:103530002869E060A88A2082287B2072E4E702984C
+:103540000680E7E770B50E4600211C461980154637
+:10355000030011F02FFE0723050B1711231D230075
+:1035600022462946304603F0EFFD70BD224629462B
+:10357000304601F078F970BD22462946304604F005
+:103580002AFB70BD22462946304602F0F9FF70BD85
+:10359000224629463046FFF7A0FF70BD9720AB4971
+:1035A000800011F016FD032070BD10B5A94C2178E4
+:1035B000002901D0082010BDFFF74EFD012020702A
+:1035C000002010BD0146A04810B54C380AF0C3F9E0
+:1035D000A1494879401CC0B24871012803D19D48D7
+:1035E0004078FFF7C3FA10BDF8B50546072040073D
+:1035F0000F460A18012189038A4209D2002D02D000
+:103600002818884204D2E81C80088000A84201D013
+:103610001020F8BD90488178002911D03988009198
+:103620004178602251430C18083420783B4600074B
+:10363000000F00222146FFF785FF060004D015E0A9
+:10364000002038800520F8BD002D13D0398800985F
+:10365000814201D90C260DE020783B460007000F7F
+:103660002A462146FFF76EFF060005D00C2E01D03A
+:10367000002038803046F8BD774D6878401CC0B2D5
+:1036800068700B2801D100206870A878401EA870CF
+:1036900061784807400F022810D00128EAD16A4813
+:1036A00061680AF058F92879401CC0B228710128D5
+:1036B000E0D168484078FFF759FADBE7C806D9D46B
+:1036C0006068FFF77FFFD5E770B50446634816468C
+:1036D0000D46814204D15E485C49C53011F079FC49
+:1036E000012E05D05A485949D53011F072FC70BDF1
+:1036F00058480121C1706620207000202072A581E9
+:10370000A17370BD70B516460D46040001D1FFF7D8
+:103710001AFE662101700121017229680161A988E0
+:1037200081820673002C01D1FFF729FE70BD0721AD
+:103730004907012241189203914201D3102070479A
+:103740000721017000207047454A10B590420ED302
+:1037500001239B04C21A434B9A4208D3424B98421E
+:1037600005D2072252078A18DB139A4201D3102090
+:1037700010BD0DF08AFD10BD394B10B599420ED326
+:1037800001239B04374CCB1AA34208D3364B9942F2
+:1037900005D2E3020124D318A403A34201D31020CD
+:1037A00010BD022803D0102801D0092010BD0DF053
+:1037B00092FD0028FAD0052010BD70B5284B984224
+:1037C00012D301239B04274CC31AA3420CD3264BCC
+:1037D000984209D2E4020D19DB139D4204D2002A5B
+:1037E00004D014199C4201D3102070BD0DF099FD36
+:1037F0000028FAD0072070BD10B504460720400706
+:1038000001212018890394B0884202D3102014B0FB
+:1038100010BD01F06AFD002801D01120F7E70F204C
+:1038200008A9087369460BA80AF0C2F80028EED16F
+:103830006846007A207068464089608068468089C2
+:10384000A0800020E3E70000B01100201C3400003D
+:1038500015020000340000208C0C0020FFFF000047
+:10386000006001000000FC1F0040002010B594B073
+:10387000044601F03AFD002801D01120C7E7002CD2
+:1038800001D00720C3E7392168460170002181700B
+:1038900009A90AF08DF8002803D02B492B4811F014
+:1038A00098FB0020B3E770B5294C0846E178002961
+:1038B00013D000280FD007225207012385189B033D
+:1038C0009D4203D20568AA189A4201D3102070BD08
+:1038D0008288002A03D0012903D0082070BD092066
+:1038E00070BD04F0E1FA0028FAD10021E17070BD4A
+:1038F000184A10B5914208D301229204164B8A1A35
+:103900009A4202D3154A914201D3102010BD0246BB
+:10391000203A1F2A02D801F01FFC10BD072010BD5D
+:1039200007225207012310B58A189B039A4201D33C
+:10393000102010BD0246203A1F2A02D801F068FC70
+:1039400010BD072010BD00001C34000079030000EA
+:1039500034000020006001000000FC1F0040002037
+:103960008107C90E002808DA0007000F0838800810
+:103970002C4A80008018C06904E080082A4A800030
+:1039800080180068C8400006800F704710B50D20F1
+:10399000FFF7E6FFC4B20420C043FFF7E1FFC0B267
+:1039A000844203D021A11A2011F013FB10BD012184
+:1039B000234A48031060234B00221A60224A5160B8
+:1039C000224A1060224A11601D4980390860704700
+:1039D00001211B4A480310601D4A5160194A002109
+:1039E00011601A490860704710B516490868012827
+:1039F00004D00EA1562011F0ECFA10BD15488068D5
+:103A00000022C0B20A600DF0BBFE10BD10B50D481B
+:103A100001680029FCD0FFF7E7FF01200B494003B4
+:103A2000086010BD00ED00E000E400E07372635C2C
+:103A3000736F635F68616C5F726E672E6300000076
+:103A400080E100E000D1004000D3004080E200E0CF
+:103A500000D0004000D5004030B40121BC48C9026C
+:103A60000160CD1005604A030260BA4803681B027A
+:103A70001B0A036004680023240A24020460B64879
+:103A80000468240A24020460B44801244460846069
+:103A9000B34C23606360A360B24B19601D601A6071
+:103AA000B14B19601A600121016030BC704710B43D
+:103AB0000121A748CC0204600A0202600B060360E1
+:103AC000A64841608160A64900200860486088607F
+:103AD000A44804600260036010BC70470121A14843
+:103AE000C9020160C91001607047002805D0012893
+:103AF00005D0022805D19D4870479D4870479D48D4
+:103B0000704710B59CA18B2011F063FA002010BD06
+:103B100070B500219F4CA04DA04A914B002808D0C1
+:103B200001281DD0022822D093A1B32011F051FA10
+:103B300070BD01200004A060A86011601960984B5E
+:103B400042109A60974A9060814A0012106096482D
+:103B5000016087480160954801609548017070BD1B
+:103B600001204004A060A8605160596070BD012030
+:103B70008004A060A8609160996070BDF8B594461B
+:103B8000844A854D00240127754E002808D001285D
+:103B900036D0022844D078A1E82011F01AFAF8BDF6
+:103BA000891E0902090A01200004906034606860DF
+:103BB0007A4A1160012B21D000217D4A7D4B517042
+:103BC00061463D31DC63DF637B4B5C6002249C60BB
+:103BD00004241C61744B196074490F60614B891592
+:103BE0001960704B58606048016075487349C16046
+:103BF00086606B49600348601770F8BD0121DCE7FF
+:103C000001205C4E40046F4F012B04D134605060A2
+:103C100068603960F8BD9060346068603960F8BDF4
+:103C20000120524E8004684F012BF4D1EEE7674823
+:103C30004068704770B54A4D28680026554C0128E9
+:103C400006D1A068C00303D501200004A0602E6047
+:103C50006868012809D1A068800306D501204004C6
+:103C6000A0606E6001200FF04CF9A868012809D10E
+:103C7000A068400306D501208004A060AE60022049
+:103C80000FF03FF970BD10B549490878002818D0E9
+:103C90000120434AC0039060424A400090602C4A91
+:103CA00000121060404A00201060314A10603F4A04
+:103CB000106008704A78002A02D048700FF021F98D
+:103CC00010BD0320FAE70120414900060860704753
+:103CD0000120244900060860704701203C49400546
+:103CE0000860704701201F4940050860704731494E
+:103CF0000020C86388151B4908607047410A354A8F
+:103D0000C005C00D5043801C5143400A081870473D
+:103D100010B4314C430B63431B0C5C020C602D4C04
+:103D20006343C31A2D485C0258432A4B400D43435A
+:103D3000E31A0124DB0324041B191B1613700A6801
+:103D40001018086010BC704710B50FF0B2F910BD24
+:103D500080E100E008E400E018E400E000B000408A
+:103D600040B1004080E200E000E100E048B10040E6
+:103D70004081004044B100407372635C72656D5FC6
+:103D800068616C5F6576656E745F74696D65722ECF
+:103D90006300000000B3004040B3004040B5004065
+:103DA00000F5014000830040408500400082004053
+:103DB00050000020C08F004000850040008000407F
+:103DC00080F5014044B5004048B5004000B50040D2
+:103DD00000E200E0093D0000378600006F0C0100A2
+:103DE0000E4A12680C498A420AD118470B4A1268D7
+:103DF000094B9A4204D101B50DF0DDFD03BC8E469E
+:103E0000074909680958084706480749054A064B03
+:103E10007047000000000000BEBAFECA1C0100206E
+:103E200004000020901D0020901D002010B5FA4CC9
+:103E300094B02168087A002836D017206A4610709E
+:103E400000A806220931023010F026FF09A96846B1
+:103E500009F0AEFD112825D02168C03189790629E5
+:103E600020D007291ED008291CD004291AD00929DE
+:103E700018D00A2916D00B2914D0052912D00028F1
+:103E800003D0E6A1F32011F0A4F82168B82040582F
+:103E900006221C30093110F0FFFE2068017A8030C4
+:103EA000806BC17614B010BD3220C7E770B5DA4D13
+:103EB000044629680300C03111F07CF90C077C0B23
+:103EC0001A212E3B48515C677080FF20D3A1093036
+:103ED0006EE0887901286DD009286BD0052869D05B
+:103EE0000A2867D00B2865D0FF20CCA10E305FE0F8
+:103EF000887901285ED0FF20C8A1153058E0887964
+:103F0000062857D0072855D0082853D0052851D067
+:103F1000FF20C2A118304BE0887909284AD00A282E
+:103F200048D00B2846D0042844D0FF20BBA11E3027
+:103F30003EE0887903283DD007283BD0082839D0B7
+:103F4000092837D0FF20B5A1243031E08879062830
+:103F500030D00A282ED0FF20B0A12A3028E088795E
+:103F6000062827D0072825D00B2823D0FF20ABA177
+:103F70002E301DE0887906281CD00A281AD00B287C
+:103F800018D0FF20A5A1333012E08879092811D07C
+:103F90000A280FD0FF20A1A1383009E0887909282C
+:103FA00008D00A2806D0082804D0FF209BA13C3066
+:103FB00011F00FF82868C030847170BDFF2097A100
+:103FC0004130F5E79449C9220968525CD206920F44
+:103FD00005D1A0318A8B824201D1887F70470020B1
+:103FE000704770B504461120207000218A4D617021
+:103FF0002968C031897A002908D003290ED0042904
+:1040000010D0FF2085A16A3010F0E3FF207800096E
+:10401000012802D92868807D607070BD0007000FFC
+:10402000203002E00007000F30302070EEE730B59E
+:1040300003887E497E4C8B4202D09A1FA2421ED238
+:1040400042888A4202D0951FA54218D2934216D8C0
+:1040500083887D24E400A34211D8C088884205D01B
+:10406000734D04460A3C2D1FAC4208D2884208D04A
+:104070008A4206D05B1C5A43C000824201DD072001
+:1040800030BD002030BDFFB50022099B002802D0C2
+:10409000994205DC5CE0002902D1002004B0F0BDAB
+:1040A0000920FBE7845C002C12D085186F780D2F57
+:1040B0004CD010DC3B0011F07DF80A421B2A2A305C
+:1040C0003032323A3A42835C002B3FD1521CD2B29A
+:1040D0008A42F8DBE1E7122F31D004DC0E2F35D015
+:1040E0000F2F2CD132E0142F11D0152F27D116E02D
+:1040F000022CD5D1AB78039C072B237001D25B0730
+:1041000001D40A20CAE7029B01241B7814E0E34390
+:10411000DB0708E0012C08D011E00620BEE70F25E0
+:1041200023072D075B19002BF4D03046B6E7029B1E
+:104130001B789C070AD402242343029C2370835CCF
+:10414000521C9A18D2B28A4204DDA9E70B20A5E7D7
+:10415000192676028A42A5DB9FE705E00278401C1B
+:10416000002A01D0002070470A46491E89B2002A61
+:10417000F4D10120704730B5274D0021286887B061
+:10418000C943A030818300248477214606200DF0A6
+:10419000D1FD002105200DF0CDFD002102200DF004
+:1041A000C9FD0120FFF782FE28686946C030C4714E
+:1041B00004720120087068460BF007FC07B030BDA0
+:1041C00030B5154C95B02268C0329279042A0CD0D3
+:1041D000052A0AD028236A4613705080132906D076
+:1041E0003B2904D0072015B030BD0820FBE7117132
+:1041F000104609A909F0DCFB05000BD12068C0308E
+:104200008179062916D0082914D0072912D0052053
+:10421000FFF74CFE2846E6E7540000207372635C0B
+:104220006761705F636F72652E630000FFFF0000BF
+:104230007B0C00000420EBE730B587B0040003D00E
+:10424000002107200DF076FDFE4D012128686A4609
+:1042500001720421117003210C300DF06BFA2968F2
+:104260004022887B8006800E1043887368460BF0DE
+:10427000ACFB00280DD12968098A00299ED0002CAA
+:104280009CD08B000122002107200DF0AEFC0728F6
+:1042900001D0032092E7002090E770B50025064684
+:1042A000002803D0002107200DF044FDE54C01213A
+:1042B00020680172062109300DF03CFA2068817BEC
+:1042C0008906890E8173FFF7B1FD2068008A0028F6
+:1042D0000AD0002E08D083000122002107200DF013
+:1042E00084FC072802D00325284670BD0025FBE783
+:1042F000F0B59BB0040004D11920D349400110F05F
+:1043000068FE72202070616800260A780825521F16
+:104310000127CC48130010F04DFF0F0976D9FD7628
+:1043200078FCFBB576767676FAF97600C5480068B3
+:10433000C0308079032803D0C349C44810F049FE37
+:10434000002108460DF0F6FC002107200DF0F2FCDC
+:104350006078BC4A28436070106810250146C0315F
+:104360004B7A2B434B7263689D783C2D48D00246B4
+:104370009D88A032977763688030DB890B80636803
+:104380001B8A4B8063685B8A8B8095836168826B34
+:10439000C97911756168806B08311530062210F0FB
+:1043A0007BFC0620FFF782FDA648CA210068FB229D
+:1043B0000E54017E11400176B82109588A7A92087C
+:1043C00092008A724682284602F0ACFE002804D091
+:1043D0009E489D491A3010F0FCFD284602F0BCF8BA
+:1043E000002804D0994898491D3010F0F2FD284665
+:1043F00003F008FD002806D069209349C0003EE183
+:104400000120FFF753FD1BB0F0BD064600688F8802
+:10441000C0308079062812D0072810D008280ED086
+:1044200004280CD009280AD00A2808D00B2806D066
+:10443000052804D0D5208449800010F0CAFD60789A
+:10444000284360703068C030417A294341728079D6
+:10445000092811D00A280FD00B280DD005280BD021
+:10446000FFF789FE384602F062FE384602F07AF81D
+:10447000384603F0FDFCC6E7FFF77DFE0220FFF79C
+:1044800015FDEFE70068C0308079062812D00728B4
+:1044900010D008280ED004280CD009280AD00A28E9
+:1044A00008D00B2806D0052804D06F206649C0002C
+:1044B00010F08FFD6068807902F0F1FE0028A2D034
+:1044C0006178294361706168C8809CE7074600688D
+:1044D000C0308079062812D0072810D008280ED0C6
+:1044E00004280CD009280AD00A2808D00B2806D0A6
+:1044F000052804D055485449623010F06AFD6078B0
+:10450000284360706068C188386804E032E197E150
+:1045100084E084E00FE0C030018061680989418057
+:10452000616849898180002102200DF003FC386810
+:10453000C030C67167E706460068C030807906283B
+:1045400019D0072817D0082815D0042893D0092897
+:1045500011D00A280FD00B280DD005288BD03B484E
+:104560003949793010F035FD3068C0308079042841
+:10457000ABD00528A9D03068807C40063AD5606869
+:1045800002210C30FFF7E9FD002833D060680821D4
+:10459000001DFFF7E2FD00282CD03168B8204058FC
+:1045A000807A800708D1CA20405C002808D1488A58
+:1045B000C20505D5C00703D14A8A402082434A82FA
+:1045C0004A8A802082434A822D2268460270BC209B
+:1045D000425A684642801022973101A810F05CFBD5
+:1045E00009A9684609F0E4F90028A3D0174816493C
+:1045F000A03044E062683068AC2192890A52616858
+:104600000822091DAE3010F047FB10A80574306871
+:10461000AE30159014A80BF0D8F9F4E68F71064669
+:104620000068C030807906281FD007281DD00828D0
+:104630001BD00428F1D0092817D00A2815D00B2840
+:1046400013D005E0540000201C42000029030000A4
+:104650000528E2D0F949FA4810F0BBFC3068C030B8
+:1046600080790428D9D00528D7D0606881790029BD
+:1046700002D08078002805D0F148F0496C3010F065
+:10468000A8FCC0E66078B8212843607030680958FB
+:10469000897A8907890F012952D1817C09064FD473
+:1046A000017E490701D5042100E00321C030817259
+:1046B0002B206946087009A9684609F079F9002895
+:1046C00004D0DF48DD49213010F083FC69463068B2
+:1046D000098D81820E2210A90A74DA49B822159137
+:1046E000125808324A61024660324A6092790A7072
+:1046F000024614320A61521D8A601032CA60133AAF
+:104700008A619632CA61921C0A62473A4A62103242
+:104710008A621032CA62473ACA63521E0A64921F02
+:1047200050304A64886414A80CF038FB022815D075
+:10473000002813D0C248C1494A3010F04AFC0DE0AD
+:10474000817C4906017E490701D5042100E003214F
+:10475000C0308172002106200DF0ECFA3068418AE9
+:104760000A0602D440229143418289B280229143B9
+:10477000418248E6B4480068C0308079032804D0FC
+:10478000AF48AE49783010F024FC002108460DF007
+:10479000D1FA002107200DF0CDFA6078AA4A28430B
+:1047A0006070106810250146C0314B7A2B434B7264
+:1047B00063689D783C2D00D122E602469D88A03298
+:1047C000977763688030DB890B8063681B8A4B8036
+:1047D00063685B8A8B8095836168826BC979117588
+:1047E0006168806B08311530062210F055FA0620FA
+:1047F000FFF75CFB9448CA210068FB220E54017E3F
+:10480000114001764682284602F08CFC002804D034
+:104810008B488A49923010F0DCFB284601F09CFE60
+:10482000002804D086488549953010F0D2FB2846F0
+:1048300003F0E8FA00289CD08148804997301EE7B1
+:10484000607828436070DEE500290BD088807E48C0
+:104850000068C0300288CA8002880A8142884A8182
+:10486000808888817047F7B5064600780C46002797
+:10487000010982B03D46012974D073480068009058
+:10488000C03002296FD0072904D00A296CD06B49A7
+:104890006E48E3E171680A78521F130010F08AFC39
+:1048A0000F09A551A5A52F585847A5A5A5A5656F22
+:1048B000A5008A783C2A1BD010271625002C7DD015
+:1048C0008888A0807068A21DC08920827068C08915
+:1048D000E0817068008A60827068408AA082716896
+:1048E00008460831C07901F09FFB0020607375E035
+:1048F00019270725002CE2D00021A17171E01127B2
+:104900000725002CDBD089880091A1807168F722EF
+:104910008979A171417A11404172009802F008FC36
+:10492000009801F023FE009803F0B0FAC1E10127DE
+:104930000925002CC3D08888A080706880792072F7
+:10494000B7E1888812270E252146FFF77DFFB0E1E9
+:1049500018270825002CB2D08888A080A01DFFF75A
+:1049600040FBA6E145E0A1E15DE01A270725002C08
+:10497000A5D04888A08070680079A07199E18A78F4
+:104980003C2AB5D010271625002C98D08888A08006
+:104990007068C08920827068C089E0817068008A70
+:1049A00060827068408AA0827168607B497D40089F
+:1049B0004000C907C90F0843607300E036E1716821
+:1049C000C007497DC00F49084900084360737168FA
+:1049D000A21D08460831C07901F026FB1A4800687C
+:1049E000C030417AEF22114046E1532013490001C3
+:1049F00034E1307A012803D014481049C5382DE13C
+:104A000012270E2570892146FFF71EFF002C91D03A
+:104A100070784007400F032888D10B480068C030E9
+:104A2000417AFB22DFE708490968A031002C01D058
+:104A30008A8BA280327A921E0AE000001C4200009B
+:104A4000ED030000AC120020540000200C06000012
+:104A5000130010F0AFFB073D4853EDEE6F05ED007E
+:104A600013270C25002C90D0009900224A82F1686F
+:104A700089788907890F0129217A26D049084900B8
+:104A80002172FD231940F3689B785B07DB0F5B0005
+:104A900019432172E323E2801940F3681B785B0716
+:104AA000DB0E19432172DF231940F3685B78DB07C3
+:104AB0009B0E194321726272F1680122C978A172BA
+:104AC000017A1143F7221140ADE001231943D7E7E2
+:104AD00015270C25002C9AD0F06806220068A11D2D
+:104AE0000EF07CFFE5E016270725002C8FD0317BE8
+:104AF000A171017A08221BE00172DAE01427122565
+:104B0000002C84D00098A21D8030806B01461531A6
+:104B1000007D01F089FAB089E081207C0121084301
+:104B2000F92108402074FE480068C030017A022252
+:104B30001143E1E717273825002C77D03221A01D3B
+:104B400010F007F90020A071207A03210843207299
+:104B5000FB210840F24909680A7E5207D20F9200F1
+:104B600010432072B8204058807A800757D0A07A2E
+:104B70008A7C4008D2074000D20F1043FD2210402B
+:104B8000A0728B7CFB229B07DB0F10409B0018431D
+:104B9000A0728B7CF7269B07DB0F3040DB001843AD
+:104BA000EF231840A072E07A10408A7CD206D20F20
+:104BB00092001043E0728A7C3040D206D20FD200BD
+:104BC0001043E072888AA0812046102267310E309F
+:104BD00010F062F8D249A07F0968C0078A7DC00F33
+:104BE00052001043A0770A7E400852074000D20FBF
+:104BF0001043A077084640304DC820344DC4303CA7
+:104C00003F20405C22463032393101F00DFAC44871
+:104C100000688030806B817A890889008172C04881
+:104C20000068C030017AFB22114065E737E000E000
+:104C300038E0327B022A14D017273825002C2ED0DA
+:104C4000017AFB2319400172012A17D0032A17D0D9
+:104C5000042A18D0052A16D0B249B34810F0B9F981
+:104C600027E019270725002C19D0898BA180012165
+:104C7000A171417A4908490041721AE0012000E01F
+:104C80000220A07106E0707B0007000F8030A07149
+:104C9000052A02D00020E0710BE00120FBE7049818
+:104CA00005800CE0A0489F490A30D7E7317A0029F7
+:104CB00008D00498002C058001D027806580002052
+:104CC00005B0F0BD19270725002CE8D00021C94305
+:104CD000A1800021A171417AFD2284E610B5904C9B
+:104CE00094B02068C0308079022809D0032807D00A
+:104CF000052805D0092803D00A2801D00B2837D170
+:104D00001B2108A801730021817369460BA808F0D4
+:104D10004FFE002804D1684640781B2802D00320AB
+:104D200014B010BD002108460DF004F80021072042
+:104D30000DF000F868468078002819D12068C0304E
+:104D40008079801E030010F035FA0A060613081356
+:104D500013130D0F1113012000E00420FFF7A6F834
+:104D60000020DDE70620F9E70720F7E70820F5E750
+:104D70000820D5E770B50025694C002807D0022827
+:104D800017D0072828D033206649400146E0FFF7B6
+:104D9000A5FF00280CD1FEF7D6FA2221017005727A
+:104DA000FEF7EDFA2068C030417A022211434172C9
+:104DB00070BDFEF7C8FA122101700121017221684D
+:104DC000BC22525A4281C031CD71FEF7D8FA206818
+:104DD000C030417A0422E9E72168C620405C0228FD
+:104DE00009D0032807D0092805D00A2803D00B28AA
+:104DF00001D00528DCD1887B8109012911D08009E7
+:104E000004D0494847496E3010F0E3F80020FFF71E
+:104E100044FA0028CCD044484249723010F0D9F806
+:104E200070BD0020FFF708FAF3E770B50D460400E7
+:104E300004D1CD203B49C00010F0CBF820780128E8
+:104E400005D0394837499D3010F0C3F870BDA188AE
+:104E50003648334E814209D1E288824206D1306819
+:104E60001321A030808BFFF7ABF970BD814202D1D6
+:104E7000E08800280AD012202870687808210843AA
+:104E8000687007CC083507C5002106E000227823AA
+:104E9000114602200CF0A9FE02213068C030C17119
+:104EA00070BD1F480068C030807A704738B51C4C10
+:104EB00005460278206813000146C03110F07AF9E7
+:104EC00009A8060909A21945728AA800FEF7AEFFD3
+:104ED00038BD8879062806D0092804D0124811491F
+:104EE000B53010F076F820680422017E1143017677
+:104EF00088E0A9880029EBD0A030808B0B4988423C
+:104F0000E6D0A868002804D107480649C53010F04B
+:104F100060F8A8680A38A8600090AB88206807E0AD
+:104F2000540000201C420000E9050000FFFF0000C3
+:104F3000A030808B0622042102F028F80028C7D078
+:104F4000F849F94810F045F838BD287902288879E1
+:104F50000DD00428F8D00528F6D0284601F075F8C1
+:104F600020681321A030808BFFF72AF938BD07286D
+:104F700006D00A2804D0EC48EA490A3010F029F893
+:104F8000284601F062F820680122C030417A1143BE
+:104F900041728079072803D00920FEF787FF38BDCA
+:104FA0000620FAE7887906280AD0042808D00928BC
+:104FB00006D0052804D0DC48DA49313010F009F871
+:104FC0000ECDDA480361C2608160A2210170FEF754
+:104FD000EBF938BD8879062818D0072816D009289B
+:104FE0000DD00A280BD0D048CE4944300FF0F1FF45
+:104FF0002068C0308079062808D0072806D00B200A
+:10500000FEF754FF284601F020F838BD0820F7E7E6
+:10501000C548C449583095E7FFB593B001246846A8
+:1050200003218470C9021D4601800AF0A6F90022FE
+:105030006946012003F0ABF906460AF0A2F9002EFA
+:105040005CD16846152184704902018000271C212B
+:1050500001A808970FF07FFE01200146103108A833
+:1050600001700020014608A841708178F9200140B4
+:10507000891C214308A881706846017902263143C2
+:10508000017114998185C7851F21018608A80A909E
+:1050900013980D90684609900AF06FF90EAA09A9B5
+:1050A00001A802F036FF07460AF06BF9002F02D084
+:1050B000384617B0F0BD9E4F68463968008F48806B
+:1050C000684684709B49018008A88078F9210840CF
+:1050D000801C4108490008A88170684686850686BC
+:1050E00015A80D900AF049F90EAA09A901A802F025
+:1050F00010FF06460AF045F9002E01D03046D8E7E9
+:1051000068463968008F88808A4968468470C91C5F
+:105110000180298810A8018069884180A988818040
+:10512000E988C180082168468185018610A80D9014
+:105130000AF023F90EAA09A901A802F0EAFE044622
+:105140000AF01FF9002C01D02046B2E76846396802
+:10515000008FC8800020ACE7F0B5774D95B00C46C5
+:10516000A9423FD30126B604744FA11BB94239D3DB
+:1051700073498C4236D2202806D0212827D02228F5
+:1051800042D0072015B0F0BD3C216846017021884F
+:1051900041806188818009A908F00AFC0028F1D1CA
+:1051A00008A98979002903D002290ED00320E9E754
+:1051B0006168A942E6D38A1BBA42E3D3604A9142AE
+:1051C000E0D26A46128D0A80DCE75E48DAE72068A2
+:1051D000574C002813D00721490701224118920398
+:1051E000914201D31020CDE706210EF0E1FB2168AA
+:1051F000A82250500120A03188750020C2E7206805
+:105200000021A0308175F8E7204600F02AFFB9E7B9
+:10521000494A10B5914208D301229204474B8A1A99
+:105220009A4202D3464A914201D3102010BD202851
+:1052300005D0212803D0222803D0072010BD062046
+:1052400010BD084600F051FF10BD70B50446374848
+:10525000CC21AC300FF07FFD3448354EAC3000210E
+:105260003060C943A0308183002585770120FEF797
+:105270001DFE3068C7210D54E121C57389000182EC
+:10528000B6210D54014609310830FDF779FF316828
+:10529000084629311930FDF7A9FF002C24D03068C9
+:1052A00080308463FEF7C2FD1E20E081607A8F218A
+:1052B0000840303060723068014614312161983105
+:1052C0006162933921601031616025721339A162E6
+:1052D000091FE1628531E163303921631031616377
+:1052E00010310930A163A06470BD11480068C0305E
+:1052F0008079042803D0052801D0002070470120C0
+:10530000704770B506460C480C46814208D3012010
+:1053100080040A49201A884202D30948844213D3E0
+:10532000102070BD1C420000B30600004C1200208B
+:1053300054000020012A0000006001000000FC1F52
+:105340000040002002300000FFF7CFFF002801D00E
+:105350001120E6E7FD48FE4D002E02D0012E46D179
+:105360002FE02278002A0AD00121012A09D0022A3E
+:1053700014D0032AD5D1A2799209D2D112E000210A
+:1053800003E0A2799209032ACBD128680622017290
+:1053900060308171611C0FF07FFC05E0A2799209F9
+:1053A000012ABED128680172002107200CF0C2FC3E
+:1053B00028680622611C09300FF06EFCFEF736FDEE
+:1053C00011E02178002912D0012910D0022910D033
+:1053D0000329A6D10120FEF760FF002803D0DD4994
+:1053E000DD480FF0F6FD2868C673002099E7072016
+:1053F00097E70120FEF720FFEFE707214907012289
+:1054000010B541189203914201D3102010BDD0492C
+:10541000024609680B7A0931184600F005FE0020A3
+:1054200010BDFFB599B005460020694608710872A5
+:1054300008A9087408751E4614460121C748890446
+:10544000C74AC84B002D06D085420DD36F1A97422C
+:105450000AD39D4208D2002C09D0844204D3601A9A
+:10546000904201D39C4202D310201DB0F0BD2846CB
+:10547000204318D01F270CAB01AA009728461A9981
+:10548000FEF701FE0028F0D10DAB02AA31462046FE
+:105490000097FEF7F8FD0028E7D16846007AC107BB
+:1054A00003D00A20E1E70720DFE7800705D568463B
+:1054B0000079800701D50B20D7E7FFF716FF0028FA
+:1054C00001D01120D1E703AF002D0FD01A2069467B
+:1054D00008731A9888732946F81C1A9A0FF0DCFB97
+:1054E0000EA903A808F064FA0028BED1002C0ED043
+:1054F000202168460173867332462146F81C0FF05E
+:10550000CBFB0EA903A808F053FA0028ADD19049AF
+:1055100008A80968007C08700020A6E7F0B50446DA
+:105520008E48002795B084426FD301208004211A51
+:105530008B488142F8D38B48844266D22378012B72
+:105540000BD1864960688842EED39904421A844997
+:105550008A42E9D383498842EFD27D490A681546D9
+:10556000C035A879022814D0032812D0052810D0FD
+:1055700009280ED00A280CD00B280AD0012803D005
+:10558000002B06D0012B04D0687AC506AD0F06D1DA
+:1055900001E00820F6E5850701D4400701D5112078
+:1055A000F0E5012B15D0208A6F4E0546203DB5420F
+:1055B0007ED2022B01D0032B01D1A02878D3012B5E
+:1055C00007D01078C00704D0608A002870D0B428B3
+:1055D0006ED8002B06D0012B08D0022B04D0032B51
+:1055E00066D110E0002512E0022510E06068012578
+:1055F000007800280BD0012808D0022806D0032804
+:1056000004D05248BEE5032501E066E00127D07BC7
+:1056100001281CD1108A002819D0907B810901290A
+:1056200011D0800904D04C484A49E4300FF0D1FC35
+:105630000120FEF732FE00280BD047484549E830EC
+:105640000FF0C7FC05E00120FEF7F6FDF3E7FEF7DB
+:10565000EDFB207A002806D0012806D0022806D0CB
+:10566000032825D105E0002604E0012602E00226F9
+:1056700000E00326002D01D0022D42D1002E40D0A3
+:10568000E068002814D00179002928D008290FD813
+:10569000027B9446082A0BD800290ED02F4A0168B5
+:1056A00091421AD3012292048B1A2D4A934200E0B0
+:1056B00084E012D32B4A91420FD26146002912D0C6
+:1056C00080682649884208D301218904421A244966
+:1056D0008A4202D32349884205D3102052E5027B37
+:1056E000002A6BD0D4E71A4800680078800702D0FF
+:1056F0001648401E46E5022D03D1022E5ED0032E31
+:105700005CD0182168460170218A4180218A8180FD
+:1057100085710F480068007A002801D0012870D1F7
+:105720006946C8716846077221780930012932D06C
+:1057300006210FF00EFB07216846C173067409A904
+:1057400008F036F90028C9D10A210FE00232000022
+:10575000540000201C4200005F08000000600100AF
+:105760000000FC1F00400020E13F0000684601707F
+:1057700009A908F01DF90028B0D13A20694608703F
+:1057800009A9684608F014F90028A7D1002D08D00F
+:10579000022D06D04CE061680622491C0FF07CFA0D
+:1057A000C9E7002E44D00026374623E00168B00048
+:1057B00009580978002903D0012904D00720E1E421
+:1057C00069468F7002E001216A469170E168062205
+:1057D0000968095800A8491C03300FF05DFA0B2036
+:1057E0006946087009A9684608F0E2F80028E6D181
+:1057F000761CF6B2E0680179B142D7D800266F4630
+:1058000012E050E08068B10041581022B81C0FF03F
+:1058100043FA3B206946087009A9684608F0C8F8B1
+:105820000028CCD1761CF6B2E068017BB142E9D801
+:105830001B20694608700120887009A9684608F095
+:10584000B7F80028BBD108A840791B282BD1002D20
+:105850000AD0012D04D0022D08D0032D18D105E067
+:105860000320FEF723FB26E003200FE0FE4800683C
+:10587000C030807903000FF09DFC0916061616183B
+:1058800016081A1C1600022000E00920FEF70EFB85
+:10589000608A00280FD000228300114610460CF0C9
+:1058A000A4F9002807D003206CE40520EEE70A20C5
+:1058B000ECE70B20EAE7002064E470B586B00C004A
+:1058C00006460BD0E94884424AD301208004E849C7
+:1058D000201A884244D3E748844241D2E24D2868E6
+:1058E000C030C179022902D0407A400702D5112088
+:1058F00006B016E5002C04D02046FEF798FB0028E1
+:10590000F6D13046FEF75EFB012803D0022823D0F3
+:10591000D948EDE721001BD1082069468882286814
+:1059200001ABC08805AA002103F019F90028DFD1D6
+:105930006846808A082801D00320D9E76846818814
+:105940008181C188C181018901824189418203A984
+:10595000304601F074FCCBE7002C01D00620C7E7ED
+:105960001020C5E770B50C460546FEF72BFB012855
+:1059700003D0022801D0C048D3E421462846FEF7D0
+:105980001FFCCEE400B50146143095B0192801D2B1
+:10599000880707D008461E3004D00A3002D00720FE
+:1059A00015B000BDFFF7A1FC002801D01120F7E7DA
+:1059B000AD4831220068417068460270817009A9C3
+:1059C00007F0F6FFECE701B582B0022069460880D7
+:1059D000A54802AB00686A468088002102F02AFFD1
+:1059E00069460988022900D003200EBD38B502217E
+:1059F0006A4611800721490701224118920391420A
+:105A000001D3102038BD9849034609686A468C883E
+:105A10000021204603F0A3F8694609880229F1D045
+:105A2000032038BD3EB504460820694608808F48EB
+:105A3000844208D3012080048D49201A884202D371
+:105A40008C48844201D310203EBD2046FEF7EFFA79
+:105A50000028F9D12088694688806088C880A0889D
+:105A60000881E0884881804801AB00686A46C088A8
+:105A7000002102F0DFFE694609880829E4D00320EE
+:105A80003EBD1FB504460820694688817748844298
+:105A900008D3012080047649201A884202D3754831
+:105AA000844202D3102004B010BD6F486B460068DA
+:105AB00003AAC088002103F052F80028F3D16946F8
+:105AC0008989082901D00320EDE7694609882180EA
+:105AD00069464988618069468988A1806946C98884
+:105AE000E180E0E7FEB50546604817460E46814274
+:105AF00008D3012189045E4A731A934202D35D4B95
+:105B00009E4201D31020FEBD1F2F01D90C20FEBDE7
+:105B1000554C85422AD3681A904227D39D4225D2FC
+:105B2000206801A9408802F037FE0028EFD12878CC
+:105B300069464871206801A9408802F010FE0028DB
+:105B4000E5D169460090087802210843694608704B
+:105B50004979090703D0082108436946087020687D
+:105B60006946408802F0A5FD0028D0D169460F8122
+:105B700020683346408802AA002102F05BFE694695
+:105B80000989B942C3D00320FEBD38B50C460721B0
+:105B9000012249079203002802D04318934202D2FF
+:105BA0006118914201D3102038BD21886A461180C6
+:105BB000002801D000290BD02B49034609684D88E5
+:105BC0000021284602F0CBFF69460988218038BDB4
+:105BD0000C2038BD30B50C46244987B08C4208D320
+:105BE00001218904224A611A914202D321498C423F
+:105BF00002D3102007B030BD1B4D2968C0310A7A8E
+:105C0000520708D48979491F0B000FF0D3FA050415
+:105C10000604040604000820ECE7FEF7D3F9012887
+:105C200003D0022839D01448E4E720881E2801D286
+:105C30000720DFE72868C030807906282BD00A20AB
+:105C4000FEF734F90520694608700879A1788008C4
+:105C5000C9078000C90F084369460871FB21084045
+:105C6000A1788907C90F09E05400002000600100F5
+:105C70000000FC1F004000200230000089000843A3
+:105C8000694608712088C880684609F09EFE002891
+:105C9000B0D00320AEE70720D2E70620AAE7F0B590
+:105CA00087B014460D46FEF78DF9012804D002286E
+:105CB00002D0FE4807B0F0BDFD4B18680146C03168
+:105CC0000A7AD20707D08A79042A04D0052A02D09A
+:105CD000002D02D052E00820ECE7F64A944208D3A7
+:105CE00001229204F44BA21A9A4202D3F34A94423C
+:105CF00001D31020DEE7A278D206520F042A0CD876
+:105D0000E378072B09D3102B07D822799A4204D3C2
+:105D1000102A02D822881E2A01D00720CAE702468C
+:105D20008032966BF727F372966B23793373966BF9
+:105D3000737A3B40A778BF06FF0FFF003B437372A7
+:105D4000966B2388F381966BA778B37AFF079B083D
+:105D50009B00FF0F3B43B372FB273B40A778966B3A
+:105D6000BF07FF0FBF003B43B372926BA478537A17
+:105D7000E406DB08DB00640F234353720B226B46FF
+:105D80001A70852D22D008DC002D17D0812D17D058
+:105D9000822D17D0832D08D116E0862D18D0882D9E
+:105DA00018D0892D18D08A2D18D00B221A71B6223E
+:105DB000125CBF4C002A13D0A83012E00022F5E795
+:105DC0000122F3E70222F1E70322EFE70522EDE7E4
+:105DD0000622EBE70822E9E70922E7E70A22E5E7DE
+:105DE00000200290887907280BD0082809D00920C4
+:105DF000FEF75CF8684609F0E8FD002803D00320B0
+:105E000058E70620F4E720680422C030017A4908E8
+:105E100049001143017200204CE770B5A44E0D46B5
+:105E2000316886B0C031097A1446090701D40820C8
+:105E30005EE5FEF7C7F8012803D0022801D09B4891
+:105E400056E5002D12D09B48844208D301208004DF
+:105E50009949201A884202D39848844201D31020DD
+:105E600046E5012D0BD0022D02D106E0002C01D019
+:105E700007203DE50020029005E0022000E001201F
+:105E8000694608710294032069460870684609F063
+:105E90009CFD002801D003202AE53068F722C0309D
+:105EA000017A11400172002022E570B594B01446C9
+:105EB0000E46FEF787F8012804D0022802D07B485E
+:105EC00014B059E57A4D2868C030007A800701D4B3
+:105ED0000820F5E7002C01D00720F1E7FFF705FACD
+:105EE000002801D01120EBE7002E1DD02D2168469F
+:105EF00001702C68BC20015B684641801022B11CF7
+:105F000001A80EF0C9FE207EFB210840B17CC90724
+:105F1000490F08432076B07CFF214008A075608AB5
+:105F200082310843608207E02E21684601702868AC
+:105F3000A030818B6846418009A9684607F038FD8A
+:105F40002968FD23C0310A7A1A400A72B8E710B5F1
+:105F50000C46FEF737F8012803D0022801D0534839
+:105F600010BD5448844208D3012080045249201AAD
+:105F7000884202D35148844201D3102010BD2046EC
+:105F8000FEF72FF8002010BD10B594B00446FEF7C0
+:105F900019F8012804D0022802D0444814B010BDDA
+:105FA00043480068C0308179042910D005290ED0FB
+:105FB0003820694608704C8001200871487109A991
+:105FC000684607F0F5FC0028E8D00B20E6E7002043
+:105FD000E4E710B594B00446FDF7F4FF012803D0C0
+:105FE000022801D03148D9E731480068C0308179B2
+:105FF00004290DD005290BD03820694608704C8043
+:1060000000200871487109A9684607F0D1FCC5E76E
+:106010000020C3E726480068C0308079062801D3F5
+:10602000012070470020704708B51346002806D0AD
+:1060300023A00068009048796A468009105C1870B7
+:106040000622581C0EF028FE08BD10B50446FDF7C8
+:106050007AF9A22101700ECC08300EC0FDF78FF93D
+:1060600010BD70B5124C054601682068002913D098
+:10607000104A914208D3012292040F4B8A1A9A4285
+:1060800002D30E4A914201D3102075E410227730DA
+:106090000EF002FE206801218030806B01722068C2
+:1060A000A9880182C17B012919D10BE002300000CF
+:1060B00054000020006001000000FC1F0040002090
+:1060C0000302FF01807B800901280AD00120FEF72E
+:1060D000E4F8002803D01A491A480EF07AFF00208D
+:1060E0004AE40120FEF7A8F8F3E770B5054600681A
+:1060F000154C00281ED007214907401801218903AB
+:10610000884201D3102037E42068B8210958097A61
+:10611000012909D00146773129300AF08EFF206825
+:1061200001218030806B017221681022286877314C
+:106130000EF0B2FD2068008AA88000201CE4000058
+:106140001C420000FD02000054000020FFB581B099
+:1061500001980E46C078174610360E37022809D02F
+:10616000032840D005287DD0F2A1F7480EF031FF7A
+:1061700005B0F0BDCC890A2060430E301880312371
+:106180000A98002A0380F3D0486800889080002095
+:10619000D0801081097B9481891FCDB21AE03088AC
+:1061A0007168388048780A7800021043F880C8780F
+:1061B0008A78000210433881BA1C091D28460BF06A
+:1061C0008AF8002D01D0002802D000203871788094
+:1061D00008360A372046641EA4B20028DFD1019990
+:1061E0000020C870C4E7CC890A2060430E301880B4
+:1061F00032230A98002A0380BAD048680025008814
+:106200009080D5801581087B401FC0B2009094819A
+:1062100042E0716832880878FA803A79C3075208F8
+:106220005200DB0F1A43FD231A408307DB0F5B008C
+:106230001A43FB231A404307DB0F9B001A43F72343
+:106240001A400307DB0FDB001A43EF231A40C30693
+:10625000DB0F1B011A43DF231A408306DB0F5B01B0
+:106260001A4300E020E0BF231A404306DB0F9B01E6
+:106270001A433A71C00978718A784B781002184332
+:1062800038813A46C91C00980BF025F8002801D047
+:10629000BD703D8008360A372046641EA4B200282F
+:1062A000B7D10198C57063E7087BCC89801E85B2A1
+:1062B0002846083060431030188034230A98002A9A
+:1062C00003808FD048681746008890800020D080D7
+:1062D000108194811037E000D581C0190CE030881E
+:1062E0003880009878602A46716800980EF0D4FCD7
+:1062F000009808360837401900902046641EA4B262
+:106300000028ECD16BE7FFB50546C07881B00C469C
+:106310000A9E03000EF04EFF0BA3071733414F6D8B
+:106320008F9D9D9DA300207B1746082806D003283B
+:1063300004D085487FA154300EF04BFE04990E2006
+:10634000088030200CE0207B1746042804D07E48CB
+:1063500078A171300EF03DFE04990E2008803120A6
+:106360003080002F44D060680088B880607AFF30A9
+:106370000130F880E08938810020B88137E0207B47
+:106380001746042804D070486AA18D300EF021FE13
+:1063900004990E2008803220E2E7207B174602286D
+:1063A00004D0694863A1A9300EF013FE04990E20B1
+:1063B00008803320D4E7207B1746042804D06248A5
+:1063C0005CA1C4300EF005FE049810210180342039
+:1063D0003080002F0CD060680088B880607AFF3071
+:1063E0000130F880E08938810020B881F881E870B8
+:1063F000BEE6207B1746052806D0062804D0524862
+:106400004CA1E1300EF0E5FD049812210180352009
+:106410003080002FECD060680088B880607AFF3050
+:106420000130F880E0893881E089B8810020388225
+:10643000A988F981DBE7207B1746072804D042486A
+:106440003CA1F8300EF0C5FD04990E2008803620DE
+:1064500086E700962846049B00F02DFD88E635A1CE
+:106460003A480EF0B6FD83E670B5054600780C4656
+:10647000082603000EF09EFE124C3434241C380A09
+:106480000A0A0A0A0A0A0A0A0A0A0A4C687800284A
+:1064900004D02E4827A12C300EF09BFD002C03D1F8
+:1064A0001F2024A1400108E060783043607020E0A4
+:1064B000002CF9D17D201FA1C0000EF08AFDF3E76A
+:1064C000002904D03F201BA100010EF082FDFCF743
+:1064D0003AFF0446407830436070FCF750FF08E014
+:1064E0001A4814A1473002E0184812A14C300EF0AF
+:1064F00070FD002C0AD06078000707D5932020702B
+:106500002046582229460830FAF75EFE002070BD6A
+:106510000E4808A15030EAE710B500200C4C0D4998
+:106520000346C2008C525218401C0006D370000E65
+:10653000F7D010BD7372635C67617474635F636FDF
+:1065400072652E63000000005A020000B3030000D1
+:10655000FFFF000058000020FE49088001208870DD
+:1065600000207047FB4900208870704710B500215B
+:10657000F848C94301800021C17007F053FAD8E7F9
+:10658000F7B584B0054600276846078187806868AC
+:106590000C46008800F0ECFB0646287A032805D05C
+:1065A000002E03D1EC49ED480EF013FD297A204668
+:1065B000C91E123000900B000EF0FCFD0FF2F1F03E
+:1065C0003D09AA465C6D34B3CDF38B8BF000F078B7
+:1065D000012803D0E049AD200EF0FBFCA8896946F4
+:1065E000C0000E30888030200881002C22D06868DE
+:1065F0000188A180E7802781A989A18100200DE081
+:10660000C100B27909190A74B288CA81820052198C
+:10661000D3894B82128A401C8A8280B2A18981422E
+:10662000EED8D7E002A8009001AB224629463046BA
+:1066300000F0CCFBF1E002A8009001AB2246294615
+:10664000304600F005FCE8E0F07806281AD0FF207C
+:10665000C149223014E068680188A180E780278161
+:10666000A989A181B188E181E9892182EA89296921
+:1066700000982BE0F078062804D0FF20B6493C3083
+:106680000EF0A7FCE8896946123088803520088121
+:10669000002CE0D1C1E0F078072804D0FF20AE49FB
+:1066A00056300EF096FCA88969460E308880362058
+:1066B0000881002CBED068680188A180E78027810E
+:1066C000A989A1812046AA890E3029690EF0E4FA31
+:1066D00080E0E8896946123080B2382288800A81D9
+:1066E000002C79D068680188A180E7802781A9897A
+:1066F000A181287A102809D00221A173E989218279
+:10670000EA89296900980EF0C7FA86E00121F4E7CA
+:1067100002A8009001AB224629463046FFF716FD3D
+:106720007BE0F078082803D08B498D480EF051FCAF
+:1067300014206946888037200881002C6DD0686855
+:106740000188A180E7802781A989A18167822782AA
+:106750000120A0733EE0F078092804D080487E49EB
+:1067600018300EF036FC288A6946143088803720AD
+:106770000881002C51D068680188A180E78004213D
+:106780002781A173A989A181E9892182298A61824E
+:1067900020462A8A1430696998E702E038E01CE054
+:1067A00024E0F0780A2804D06D486B4933300EF0AD
+:1067B00010FC14206946888037200881002C2CD0DA
+:1067C00068680188A180E78027810521A173A781DE
+:1067D00027826782F77020E017E002A8009001ABE3
+:1067E000224629463046FFF78EFD16E00D20694609
+:1067F000392288800A81002C07D00120E08055488A
+:106800000188A1802781277307E00699088010E09E
+:106810008F205149C0000EF0DCFB68460699808845
+:106820000880002C05D06846008920806846808852
+:106830006080002007B0F0BDF7B594B015460F4654
+:10684000149800F0A0FA04000AD0032000F088FB9E
+:10685000022802D2E078002804D0112017B0F0BD41
+:106860004048FBE71720694601260883002D0FD01A
+:106870000321684601711021018210A8024605908B
+:1068800004A928460AF04DFD00280DD00720E5E7B1
+:1068900008216846017100210781C9434181052112
+:1068A0008673C90281810CE0A878A0712888A08035
+:1068B000684605218673C902818100210781C94389
+:1068C000418109AA023206A901A807F0E4F80028CC
+:1068D00002D000F06BFAC1E707A800906846038B6E
+:1068E00004220321149800F051FB0028B6D1E67071
+:1068F000B4E770B592B00D0006460ED000F043FA32
+:1069000004000CD0032000F02BFB022802D2E07818
+:10691000002806D0112012B070BD1020FBE71148EE
+:10692000F9E7172168468180042101722988818155
+:106930006988C181012181740B4901820AAA02324E
+:1069400001A902A807F0A7F800280FD000F02EFA3E
+:10695000E1E7000058000020346500003C0400001E
+:1069600063020000023000000228000008A8009026
+:106970006846838804220321304600F007FB002884
+:10698000C9D10221E170C6E770B592B00D0006468C
+:106990000DD000F0F8F904000BD0032000F0E0FA6D
+:1069A000022802D2E078002805D01120B3E7102099
+:1069B000B1E7FA48AFE717216846818004210172E8
+:1069C000298881816988C18101218174F44901820A
+:1069D0000AAA023201A902A807F05DF8002802D035
+:1069E00000F0E4F997E708A800906846838804223D
+:1069F0000321304600F0CAFA00288CD10321E1704F
+:106A000089E770B592B00D0006460DD000F0BBF9D5
+:106A100004000BD0032000F0A3FA022802D2E07891
+:106A2000002805D0112076E7102074E7DB4872E7D4
+:106A3000022168460172298881816988C1811721F4
+:106A400081800AAA023201A902A807F024F80028CE
+:106A500002D000F0ABF95EE708A800906846838892
+:106A600004220321304600F091FA0028DBD10421F2
+:106A7000E17050E7F0B591B015000E4607460ED014
+:106A800000F081F904000CD0032000F069FA02281C
+:106A900002D2E078002806D0112011B0F0BD1020FD
+:106AA000FBE7BE48F9E7172168468180042101729F
+:106AB000298881816988C181B17881743188018296
+:106AC0000AAA023201A902A806F0E5FF002802D0B6
+:106AD00000F06CF9E1E708A800906846838804227A
+:106AE0000321384600F052FA0028D6D10521E17082
+:106AF000D3E7F7B592B015460E46129800F043F969
+:106B000004000AD0032000F02BFA022802D2E07819
+:106B1000002804D0112015B0F0BDA048FBE70627DF
+:106B2000002D12D0684607728681C581A580172086
+:106B3000694688800AAA023201A902A806F0ABFFC2
+:106B4000002807D000F032F9E5E705216846017218
+:106B50008681EBE708A80090684683880422032119
+:106B6000129800F013FA0028D5D1E770D3E7F7B5F3
+:106B700092B016460D000ED0129800F004F90400F1
+:106B80000BD0032000F0ECF9022802D2E0780028B4
+:106B900005D01120BFE71020BDE78048BBE70727DD
+:106BA0006846077286811721049581800AAA0232FD
+:106BB00001A902A806F06FFF002802D000F0F6F845
+:106BC000A9E708A800906846838804220321129848
+:106BD00000F0DCF900289ED1E7709CE7F3B51720A0
+:106BE00091B00C46002915D021780B000EF0E2FA86
+:106BF000062B05051A041C2B1520C01EE28880B246
+:106C0000002A02D0A368002B04D0824204D90C20B1
+:106C100013B0F0BD1020FBE7042905D0A0880028A0
+:106C200011D101E00620F3E7119800F0ACF805005F
+:106C30000BD02078092701281AD0022807D0042871
+:106C400024D0052835D00720E2E75448E0E768461D
+:106C5000077161880181E1884181A068082603905D
+:106C6000304600F07DF9072829D34C48801CCFE737
+:106C70000C216846017161880181E1884181A06829
+:106C800003900EE0E878002811D118E00D21684645
+:106C9000017161880181A1884181E1888181A068B9
+:106CA00004900326304600F05BF90228EAD3112055
+:106CB000AEE70E2168460171217B0172F1E71721D1
+:106CC0006846018309AA023206A901A806F0E3FE7C
+:106CD000002802D000F06AF89AE707A800906846FA
+:106CE000038B04223146119800F050F900288FD10F
+:106CF0002178012907D002298AD0042905D0052945
+:106D000005D0032084E7082102E0EF7080E70A2124
+:106D1000E9707DE730B591B00C46054600F033F8D8
+:106D2000002808D0032000F01BF9022805D31B48D7
+:106D3000801C11B030BD1948FBE70F216846017176
+:106D400004811721018309AA023206A901A806F0CD
+:106D5000A2FE002802D000F029F8EAE707A8009078
+:106D60006846038B04220321284600F00FF9E0E770
+:106D70000C49884205D00C490988814201D10A4852
+:106D800070470020704710B5FFF7F2FF002802D0CF
+:106D90008178C90700D1002010BD0000023000003A
+:106DA00003280000FFFF000058000020002806D044
+:106DB000012805D0052805D0062805D003207047F6
+:106DC00011207047082070475C487047FFB583B0BA
+:106DD00003980C9EC0781D4614460F46012803D028
+:106DE0005749D2200EF0F5F8F889C0000E302880FF
+:106DF00030203080387B001FC0B20190002C26D09C
+:106E000078680088A0800020E0802081F889A08137
+:106E1000002616E0F0000519C01900902A464169C5
+:106E20000E3201980AF057FA002802D00020287488
+:106E3000E8810098761C008A68820098B6B2408A81
+:106E4000A882A089B042E5D803990020C870F1E477
+:106E5000F8B50646C0781F4614460D46042804D0EF
+:106E6000FF20374903300EF0B4F8A88906214843C3
+:106E70000E30388033210698002C01801AD06868C3
+:106E80000088A0800020E0802081A989A18103469C
+:106E90000CE01946062251434A190919D789CF81B6
+:106EA000977C8F74128A5B1C0A829BB2A1899942DB
+:106EB000EFD8F070F8BD70B514460546142204985A
+:106EC0001A8037220280002C18D0486800260088DB
+:106ED000A080487AFF300130E080C8892081C889CD
+:106EE000A0816682E878082809D0092811D00A28EC
+:106EF00019D0134913480EF06CF8EE7070BD087B82
+:106F00000C2804D00F480E490C380EF062F801200E
+:106F100012E0087B0D2804D00A48094908380EF011
+:106F200058F8042008E0087B0E2804D005480449DE
+:106F3000001F0EF04EF80520A073DEE703300000BE
+:106F4000346500008203000001460020FA4A02E096
+:106F5000401C082803D24300D35A8B42F8D1704713
+:106F600030B50446F44A0020163A117953790AE004
+:106F70005518AD79A54201D1401CC0B2491CC9B217
+:106F8000102900D100218B42F2D130BDFFB5EA4873
+:106F900081B0163841790A9C491CCDB21E46102D8D
+:106FA00000D10025E44816380079A84202D1042017
+:106FB00005B0F0BD0820FFF7D3FF0746072804D926
+:106FC000FF20DEA1A5300EF004F80298082801D1B8
+:106FD000072F17D001982080301D6080002060713D
+:106FE0002071E68003982081204606F005FD0028E8
+:106FF0000AD0D148029916384379821D99544571B7
+:107000000020D5E7D248D3E7FF20CCA1B7300DF060
+:10701000E0FF0320CCE7F0B58DB0044600256846BC
+:10702000057116468C460620FFF79AFF00281CD1F2
+:1070300021780127C807002801D0132917D96846ED
+:1070400087766178C17602218183C58304A8009088
+:1070500070680C23008805220621FFF797FF00289F
+:1070600003D0B6A185200DF0B4FF0DB0F0BDB2483D
+:1070700016380278002AF8D0427863789A42F4D120
+:10708000012918D0132919D16146062916D1057096
+:10709000002101200AF04EFE6846077170680188E1
+:1070A0006846C1800021C9430181607922790102CB
+:1070B000114368461AE06146062908D068460079FF
+:1070C0000028D2D0314601A8FDF7AFFECDE705700C
+:1070D000002101200AF02EFE6846077160792279AE
+:1070E00001021143684601810021C9434181E9E75A
+:1070F000914810B50021163801704A1E4280417037
+:107100000171417101200AF015FE10BD10B5FFF7A5
+:10711000EFFF0020884902464300401CCA5208285D
+:10712000FAD310BD84491639488000207047DFE744
+:1071300070470EB501216846017086498180C18083
+:107140000021FDF772FE0EBDF7B505460078002759
+:1071500000090C463E46012804D0FF2077A1683084
+:107160000DF037FF287A02280CD0FF2073A17E3063
+:107170000DF02FFF0298002C068001D0278066803A
+:107180000020FEBDEA89702710460A3086B2002C26
+:107190000BD068680088A080A8892081E280204602
+:1071A0000A3029690DF078FDE4E702980680E7E7E8
+:1071B000F0B543680246D9799C79090221435C7A8B
+:1071C0001E7A25025C88981D3543241F87B0A14292
+:1071D0001DD11B79022B1AD1042D1AD0052D2AD0CE
+:1071E000062D1AD0402D12D3061D0F4614462846F0
+:1071F000FFF7AAFE08280AD0112020700220207272
+:10720000A581E7812661607808210843607007B096
+:10721000F0BD001D00F0E1F8F9E7041D0D46FEF792
+:10722000F9FE0028F3D0062168460170019405722A
+:1072300008F0CBFBEBE7001DFFF7EDFEE7E710B52D
+:107240003D4C8AB0163C2278012A26D012236A4689
+:10725000937363789B1CD373082313820B88538228
+:107260004B8893828B88D382C988118301A90091AE
+:107270000C2305220721FFF789FE00280BD10022ED
+:10728000F023114601200AF0B0FC01202070607844
+:10729000801C607000200AB010BD1120FBE7F0B523
+:1072A000254C0027163C87B00646A51D1FE06079D7
+:1072B0002179884204D1112020A140010DF089FEDE
+:1072C0002079405D042804D0082808D17F1CFFB233
+:1072D00005E0072069460870684608F076FB2079CB
+:1072E000401CC0B22071102801D10020207130460E
+:1072F000761EF6B20028DAD1384688E710B5044683
+:10730000402801D2072010BDFFF71EFE082802D03A
+:107310003120000210BD0021074802E0491C082965
+:1073200003D24A00825A002AF8D1082914D0490011
+:107330004452002010BD0000DA1300207372635C19
+:107340006C326361705F636F72652E6300000000D2
+:1073500004300000FFFF00000420EBE700B54028E8
+:1073600001D2072000BDFFF7EFFD082805D000215E
+:107370003B4A40001152084600BD052000BDF0B553
+:107380008BB016460C00074607D0002E05D061884A
+:10739000402904D207200BB0F0BD1020FBE7208865
+:1073A000002801D0172801D90C20F4E70846FFF780
+:1073B000CBFD08280FD0258803A82A463146023085
+:1073C0000DF06AFC01A8009062882B46082138461F
+:1073D000FFF7DCFDDFE70520DDE7F0B50E460746E9
+:1073E00001468BB014460125304606F0D1FC082832
+:1073F0001DD10020694608850120FFF7B1FD002856
+:1074000002D117206946088503AB02330AAA394620
+:107410003046009407F0CFF800280AD0022819D08F
+:10742000032804D0FF200F4902300DF0D2FD28467A
+:10743000B1E76846038D002BF9D001A80090606881
+:10744000042200880121FFF7A1FD0028EFD00549A3
+:10745000EC20EAE760780025102108436070E6E739
+:10746000DA1300203C730000002803D08178012942
+:1074700039D101E0102070470188FA4A881A9142F8
+:1074800033D01BDCF84A881A91422ED00BDC00293D
+:107490002BD00320C002081A27D0012825D00121B3
+:1074A0000903401A07E001281FD002281DD0FF2839
+:1074B0001BD0FF380138002815D116E0FF22013219
+:1074C000811A904211D008DC01280ED002280CD07D
+:1074D000FE280AD0FF2806D107E0012905D002299D
+:1074E00003D0032901D0002070470F20704700B55A
+:1074F0000A2821D008DC03000DF05CFE0A1C2024C1
+:10750000241A24282224261A102819D008DC0B2833
+:1075100016D00C2814D00D281AD00F2808D111E04D
+:1075200011280FD0822807D084280DD085280DD0AF
+:10753000032000BD002000BD052000BDCB4800BDDC
+:10754000072000BD0F2000BD042000BD062000BDA7
+:107550000C2000BD70B500290BD0CB1FFA3B812455
+:107560001E46CDB2112B1BD2012805D0022806D011
+:1075700009E0002010701DE0FF20043001E0FF2032
+:107580000330814218D033000DF014FE111613138E
+:1075900016131616131616161313131316131600B6
+:1075A0000846FF3881381F2803D9FF39FE390229E0
+:1075B00002D81570002070BD1470072070BD00B592
+:1075C00003000DF0F7FD060406040C080A0C002069
+:1075D00000BD112000BD072000BD082000BD032014
+:1075E00000BD00780207120F04D0012A05D0022A3C
+:1075F0000AD10EE0000907D108E00009012805D0F2
+:10760000022803D0032801D007207047087000200B
+:10761000704706207047002807D0012807D00228AD
+:1076200007D0032807D007207047002004E011206E
+:1076300002E0212000E0312008700020704738B5BA
+:107640000C4605004FD06946FFF7CBFF002822D13A
+:107650002088032189028843694609788907090D32
+:10766000084320806946681CFFF7BBFF002812D141
+:107670002188032000038143684600788007800C3E
+:1076800001432180A8784007820F2020012A03D0DF
+:10769000022A03D0072038BD814300E00143218046
+:1076A00088B20105890F08D0012189038843A97890
+:1076B0000907C90F89030843208080B28104890F1C
+:1076C0000AD0A9784004C906C90F400CC903084371
+:1076D00020808004800F02D12088400403D52088B8
+:1076E000402108432080002038BD70B504460020AA
+:1076F000088015466068FFF7A2FF002815D1218990
+:10770000A089814210D86168594E8978C90707D08D
+:10771000711E884208D831460DF038FB298009E0F7
+:10772000FF21FF31884201D90C2070BDFF30FF30AE
+:107730000330288060688078C007A08903D0314674
+:107740000DF024FB03E0FF30FF30033081B22980CD
+:1077500020688178474801732068464900882039AD
+:107760004885002070BD10B5137804785B08E407E5
+:107770005B00E40F23431370FD2423400478A40727
+:10778000E40F640023431370FB2423400478640750
+:10779000E40FA40023431370F72423400478240744
+:1077A000E40FE40023431370EF2423400478E4063D
+:1077B000E40F240123431370DF2423400478A4063C
+:1077C000E40F6401234313700078BF244006C00F08
+:1077D0002340800103431370002906D00878C107B5
+:1077E00001D1800701D5012000E00020C001590629
+:1077F000490E0843107010BD30B50A8803239B0260
+:1078000004889A4323059D0F02D1A3049C0F01D045
+:107810009B0F00E001239B021A4303230A801B03F2
+:107820009A4303889804840F02D11805830F01D06E
+:10783000800F00E00120000302430A8030BDF3B551
+:1078400091B00D0018D01198002818D012212846A8
+:107850000DF07FFA01A9012007F0A9FE00242646B9
+:10786000374677E0022900000128000003300000BD
+:10787000010200000C140020102013B0F0BD0720FE
+:10788000FBE76846007C01280BD16846C1890520CA
+:10789000C002081A0AD001280AD002280CD00328F6
+:1078A0000CD0042C0ED0052C0FD10DE0012400E0EB
+:1078B00002246846868908E0032406E0684604241A
+:1078C000878902E0052400E0062468468189119832
+:1078D00081423FD12C74002E3AD00BA800900CAB03
+:1078E00010220021304607F0F4FE002820D168461F
+:1078F000808D2A46C0B20CA909F0EDFC002817D1F2
+:10790000AE81002F24D00BA8009006AB13220021DB
+:10791000384607F0DEFE00280AD16846808D06A9A9
+:10792000C01E0331C0B22A1D09F0D5FC002801D0C9
+:107930000320A2E76846817E427E08021043E88168
+:10794000062C05D16846007CA8726846C08928814B
+:10795000002092E701A807F032FE002891D0FFF73F
+:10796000C6FD8AE7002804D0012903D0022904D0EB
+:1079700003207047F949C98D02E0F8494031C988B0
+:10798000814201D1002070470720704730B5F34C89
+:107990000025608B91B0C00B2ED1216900292BD01E
+:1079A000207B800728D401226846027102720022DF
+:1079B0004272228B8281A28A8282049117210183E2
+:1079C00009AA0023023206A901A807F0A7F9002896
+:1079D00003D0FFF7F4FD11B030BD207B0221084336
+:1079E000207307A8009069460B8B20880422012190
+:1079F000FFF7CCFA05460BE0FBF7A5FC84210170EC
+:107A00000921017218341ECC0C301EC0FBF7B7FCE4
+:107A10002846E0E710B5D14C034621690020002933
+:107A200009D02146012210311846FBF76BFE0020D9
+:107A30002061A0820120217BF9221140217310BD19
+:107A400070B50C4605461C2120460DF082F9002039
+:107A50002080002D08D0012D04D0C1A1C5480DF013
+:107A6000B8FA70BD062000E00520A07070BD10B50A
+:107A700007F07CFB10BDFEB50546007800260C46DD
+:107A8000374603000DF096FB0C91070C1D962F4610
+:107A90002F46486C899168680A38FBF793FD89E0A6
+:107AA000002904D0B348AEA11B300DF092FAFBF7C9
+:107AB0004AFC04464078082108436070FBF75FFCED
+:107AC00078E0002C04D1BB20A5A180000DF081FA44
+:107AD000284601F0B1FA00286CD0607808210843EC
+:107AE0006070022666E0E888694608800190002CF4
+:107AF00004D1A0489AA12F300DF06BFA28780728FE
+:107B00001CD10198C00B19D0944800218171A9881B
+:107B1000818012E003264DE0002C04D1C52090A105
+:107B200080000DF056FA8D48017B89070BD500695E
+:107B3000002802D0E888C00B3CD0022660780821DB
+:107B40000843607036E0291D8EC918308EC0283871
+:107B50000188022601222046FBF7B6FD0127EDE74A
+:107B6000002C04D183487EA164300DF032FA7B48AA
+:107B70000821007B4007C00F460060780843607012
+:107B8000002E17D12879012802D16879002811D058
+:107B90002046FFF73FFF07460CE0002CCED10D201A
+:107BA0006FA180010DF015FAC8E772486CA17A3018
+:107BB0000DF00FFA002C0CD06078000709D5002FCB
+:107BC00007D1842020702046582229460830F9F732
+:107BD000FBFA3046FEBDF7B5027A88B00C46054682
+:107BE00020460C300490069216300027921E029018
+:107BF0003E460A31594813000DF0DCFA0ADF06E66A
+:107C00002AE62AE66A98C6E64288002A02D0522767
+:107C10000726DDE051271E26002C7DD06A684F48DC
+:107C20001288A2800122A2718079C0004019C08907
+:107C3000FFF705FE002877D148488179C900491926
+:107C4000C98921818079C0004019408AA083BFE0A2
+:107C5000688A00900698072817D1E889C00B14D0CD
+:107C600000985127223086B2002C55D0A88904995B
+:107C7000FFF7E5FD002857D168680088A080022042
+:107C8000A071A8892081012041E000985027203070
+:107C900086B2002C40D0A889FFF7D1FD002843D13F
+:107CA00068680088A080A889E080287A07280AD020
+:107CB00002202072288AA0830098E0832046696908
+:107CC0002030009A01E00120F3E70CF0E5FF7FE0AF
+:107CD000698A00910169002902D0E989C90B22D083
+:107CE0000099512722318EB200218171A9898180AA
+:107CF000002C5FD00088A080A8890499FFF79FFD21
+:107D0000002811D10220A071A88920810420A0722E
+:107D1000288AE083009801E04CE005E0208469694E
+:107D2000009A0298D1E703200BB0F0BD007B40071A
+:107D300002D55127222601E050272026002C39D0D9
+:107D40006868502F0088A08016D00220A0712146BC
+:107D5000287B0831FFF774FE3AE00000EC130020A6
+:107D60007372635C67617474735F636F72652E63B3
+:107D700000000000CB020000287BA11DFFF760FE81
+:107D80000020FFF747FE23E0A9890089884207D138
+:107D900054270626002C0DD068680088A08017E0C4
+:107DA00053270826002C05D068680088A080A88981
+:107DB000E0800DE00A98068010E055270726002C89
+:107DC000F8D00020A07103E0FD49FE480DF001F954
+:107DD0000A98002C068001D0278066800020A3E747
+:107DE000F94800210172203801814181418081716F
+:107DF0008180027BF923520852001A40027301610C
+:107E00008182704770B5F04C86B0203C2080002005
+:107E10006080A071A0806946012007F0C8FB102691
+:107E200008E00199088802461207D20FB0431201F8
+:107E300010430880684607F0C2FB0500F1D02069B6
+:107E4000002804D0DF48DE4933300DF0C2F8207B33
+:107E5000800704D5DB48DA4934300DF0BAF8822DBA
+:107E600004D02846FFF743FB06B070BD0020FBE7B7
+:107E7000D54810B52038017B012211430173002140
+:107E800041808171818006F045FB10BD10B5CE4C5C
+:107E90000020C043203C20800020FFF7BBFD207B5A
+:107EA00040084000207310BD70B5C74D0446203D0A
+:107EB000287B800704D5C348C1494B300DF089F8B1
+:107EC000287BC00706D12888C049884202D028698B
+:107ED000002801D0082070BD002C08D0A0881628EA
+:107EE00001D2092070BD20682861A088A882FFF710
+:107EF0004DFD70BD10B50C4607F02DFB002804D0D9
+:107F0000C520AF49C0000DF064F82046FFF7EFFA36
+:107F100010BDF0B5AC4D0446203591B0002008905E
+:107F200068820E462882E8812946E8804039088622
+:107F3000694608830885088688838882A2480E904F
+:107F4000007A1746012808D0022806D0032804D05A
+:107F5000042802D0082011B0F0BD9D48844269D3A6
+:107F600001239B049B49E21A8A4263D39A4A9442B2
+:107F700060D286425ED31001331A0846834259D339
+:107F80001046864256D26068002815D09049884233
+:107F900050D31101421A8F498A424BD38E498842ED
+:107FA00048D260892189884203D801225202914235
+:107FB00001D90C20CFE7089010AA0CA93046FFF792
+:107FC00094FB0028C7D106A92069FFF738FB0028D9
+:107FD000C1D1206900280CD060788007002868464D
+:107FE000008B03DA8004800F75D002E08004800FDC
+:107FF00071D16846008B81061ED58004800F6068B1
+:1080000009D0002818D00721490740180121890309
+:1080100088420FD201E000280ED06D496068884286
+:1080200008D301218904421A6A498A4202D36A4963
+:10803000884201D310208EE705A96069FFF7FFFA97
+:10804000002888D16069002808D06846808A010528
+:10805000890F01293FD18004800F3CD007A9A06976
+:10806000FFF7EDFA0028A5D16846808A800632D451
+:108070006846808B81062ED4A169002906D00105AF
+:10808000890F012927D18004800F24D0E0680028BF
+:1080900004D0007800281ED01C281CD24A4A611C3B
+:1080A000123220460992FFF75EFB0321002089026D
+:1080B000884301218902411868460D9101850121FB
+:1080C000817446490182404A0FA91532306809F08F
+:1080D00028F9002801D007203DE708A8007F3A4989
+:1080E000C01CC2B26A7100201031FF3200900190B2
+:1080F000FF3203460291039003320AA904A807F055
+:10810000C5F9002827D130482038008E0B902E4822
+:108110003389383032690146123902910093019255
+:10812000039010A90A8873890CA9306807F0AEF98A
+:1081300001007CD12448E98811308170090AC1709E
+:108140000026009631386A79008E3146099B07F087
+:108150001CF9002802D0FFF7CAF9FCE60E98807CD3
+:10816000C00928D068460D99018501218174292113
+:1081700009020182AE81287B61784008C90740006E
+:10818000C90F08432873FD2108406178022289073E
+:10819000C90F4900084328730B4900922A31881CF3
+:1081A00002910190002303960D4A0AA904A807F042
+:1081B0006DF901003BD1606800283DD0206911E0D5
+:1081C000607D0000220400000C140020FFFF00006E
+:1081D000006001000000FC1F004000200328000098
+:1081E0000302000000280DD106A90CA8FFF704FB2C
+:1081F0006078800706D46946088B03210903884309
+:1082000069460883012069468874FD4808822089F0
+:10821000FC490CF0BBFD6268089BFB48019200938F
+:1082200002900A460396002306A904A800E081E014
+:1082300007F02CF901007DD12078C10601D4800619
+:108240002ED568460684606900280DD105A90CA8C2
+:10825000FFF7D2FA6846818A032080028143012019
+:1082600080020918684681826946888A4821084345
+:108270006946888201208874E14808AA401C088267
+:10828000E1490192891C0220DE4A029100900023FC
+:108290000396921C05A904A807F0F8F8010063D121
+:1082A0002078C0072ED068460684A06900280DD12A
+:1082B00007A90CA8FFF7A0FA6846818B032080026B
+:1082C0008143012080020918684681836846818BBA
+:1082D000402001436846818301218174C84908AA6E
+:1082E000891C0182C8480192001D0221C54A0091E3
+:1082F000029000230396921C07A904A807F0C6F871
+:10830000010031D1E068002832D068460D9901851E
+:1083100001218174BA49C91C0182E16808A80A7860
+:10832000027049784170E068418868464184E0689D
+:10833000017900E018E008A80171E0680722C1880F
+:1083400008A84171090A8171AF4808A9801D0092EF
+:1083500001910290412200230396D2000AA904A8A9
+:1083600007F094F8010003D00B98FFF7C3FDF2E586
+:1083700003210E98002F017207D0E8883880E88921
+:108380007880288AB880688AF8800020E3E5F0B514
+:1083900001248BB016460F46012802D002281BD1BB
+:1083A00004E0684605218474C90202E068469749E2
+:1083B00084740182002F11D0032100208902884398
+:1083C0000121890241186846018506AA05A9384697
+:1083D00008F0A7FF002803D00720A5E41020A3E49D
+:1083E000894DB8782E3D287338882F46203F7885F0
+:1083F0006A46127D0020294606AB00920E31019399
+:10840000FF32029103900346FF3203320AA904A807
+:1084100007F03CF8002802D0FFF769F884E4002E4A
+:1084200001D0F88D30802C7200207DE470B592B0C0
+:108430000446012508A8857075496846018406F040
+:108440009CFF002208A90120FFF7A1FF064606F0C5
+:1084500098FF30003AD120780024C00700283FD090
+:108460001C2168460CF077FC684601782020014307
+:108470006846017008A885706649684601841194B1
+:108480000794817FF9200140891C6846817700208C
+:10849000014668460177002001466846417704217D
+:1084A0008185C485018607A80A9011A80D9008A8A7
+:1084B000099006F062FF0EAA09A96846FFF729FD98
+:1084C000054606F05EFF002D02D0284612B070BDB2
+:1084D0004D486946098F4E3801816946898F41812F
+:1084E00049482E3804720020F0E7F7B5464E9CB09C
+:1084F00000212E3E0091317A012904D0022902D0B8
+:1085000008201FB0F0BD40494E39CA8D824201D0CB
+:108510000620F6E71D98824201D10720F1E73B488B
+:10852000012110AA9176401C1083002003239B0296
+:1085300002469A438B02D31810AA93846A46918408
+:108540003549D18410AA9077908317AA0A926A4677
+:1085500091850C9009A807F051F80024254627467C
+:1085600004A909A807F04DF8002810D082287BD173
+:10857000002C7CD0002D7AD010A8048145810024E5
+:10858000047518A8807812AD012872D07AE0684688
+:10859000807D002F1FD0012862D16846818A1B4848
+:1085A000401C814219D114A800906846408A0EAB45
+:1085B0001022002107F08DF8002877D110A8008A3A
+:1085C000042801D006285BD16846018F1D9881429E
+:1085D00046D10F2095E7012842D16846808A0521BF
+:1085E000C902884202D0491C884239D106484E3817
+:1085F000C18D6846408A814210D101270FE00000FA
+:1086000001290000010200003A14002001280000A6
+:1086100001180000052A0000FFFF00000027002CC1
+:1086200001D0002D0DD01D99884219D114A90091B7
+:1086300004460EAB1022002107F04BF8002835D17C
+:1086400001E0009D0CE010A8008A022801D010284B
+:1086500016D1C0B218AA0EA908F03DFE00280FD10D
+:108660006846408A00907BE720E000E001E00520BA
+:1086700047E72A1D15A918A808F053FE002801D0C5
+:1086800003203EE710A8007D0023001DC2B210A801
+:1086900002751E98029019A901950394009216A8DC
+:1086A00006F0F4FE002801D102213172FEF71FFF0F
+:1086B00027E73EB50B46401E84B201AA00211846AA
+:1086C000FFF751F806F059FE02A8009001AB012215
+:1086D0000021204606F059FE044606F052FE684688
+:1086E0000089012803D0FE49FE480CF072FC2046A8
+:1086F000FEF7FDFE3EBDF0B5FB4E0446307A89B074
+:108700000F46032804D0042802D0082009B0F0BD89
+:1087100004AA06A92046FEF7E8FF0500F6D1F248B4
+:108720002389383022690146103902910093019261
+:10873000039069460A8A638906A9206806F0A6FEA6
+:10874000002802D0FEF7D3FEE0E7002F03D0E64872
+:10875000203000893880042030722846D6E738B5AA
+:108760000C00054608D00022694607F00CF80028E6
+:1087700004D0FEF7BCFE38BD102038BD6946204647
+:10878000FEF75DFF0028F8D1A0786946C207D20F36
+:10879000284607F013F8ECE73EB50C0008D002AA13
+:1087A000694606F0F0FF002804D0FEF7A0FE3EBDAB
+:1087B00010203EBD032120460CF0CBFA684600880D
+:1087C00001A90005800FFEF726FF00280BD168469F
+:1087D000007920706846008801A98004800FFEF7A8
+:1087E0001AFF002801D003203EBD68460079607062
+:1087F000A278EF20024068460088C10B09010A43B5
+:10880000F7210A404104C90FC9000A43A270F921A7
+:108810000A40800601D5012000E0022040006946A0
+:108820000243097A50084000C907C90F0843A070E5
+:1088300000203EBDFEB51D4614460E46074606F016
+:108840009CFD01A8009022882B463146384606F050
+:108850009CFD054668468088208006F092FD2846EB
+:10886000FEF745FEFEBDF0B50C46002199B0074667
+:10887000684681850D46002C11D0E068002806D09E
+:10888000A06800280BD002886B469A850180A078EA
+:10889000012806D0022804D0072019B0F0BD10200E
+:1088A000FBE72088002807D0401E80B201A906F00F
+:1088B0007EFE002842D136E08C48EEE769468A8980
+:1088C00021888A420BD26846007C002501282CD1E1
+:1088D0006846C0898649884227D1012525E08A4219
+:1088E00003D1002D2FD06D1C01E0022D02D0032DED
+:1088F0001BD31FE06946097C012916D169467C4BD0
+:10890000CA895B1ED11A9A421DD005DC7948101A1B
+:1089100019D0012809D116E0012914D0FF390139F5
+:1089200003D1032506E00D26B60201A806F047FE96
+:108930000028C3D0822804D0002806D0FEF7D7FD37
+:10894000ABE7022DFAD13046A7E7E068002813D044
+:1089500006F013FD0BA800906A46A1882088928D2E
+:10896000E36806F012FD054606F00BFD002D19D157
+:108970006846A168808D088002980078C00601D5FD
+:108980005D488AE706F0F9FC0EA8009068468089E9
+:108990000CAB0222002106F09CFE054606F0F1FC1D
+:1089A000002D01D02846C9E76846008F022801D073
+:1089B000032072E7A078012808A8007C03D0800774
+:1089C0000ED4082069E7C007FBD00820FEF7C8FADC
+:1089D000072802D34548401C5FE70825022001E034
+:1089E000022503206946087621886846818317217D
+:1089F000818611AA002302320DA906A806F08EF97D
+:108A0000002802D0FEF7DBFD47E70FA8009068467C
+:108A1000838E042229463846FEF7B8FA3DE770B542
+:108A2000064615460C460846FEF71EFD00280AD1EC
+:108A300006F0A3FC2A4621463046FFF7A8FC044670
+:108A400006F09FFC204670BD70B514460D460646E4
+:108A500006F093FC224629463046FFF746FD0446C1
+:108A600006F08FFC204670BD70B51E4614460D0002
+:108A70001AD0002C18D06168002915D00121FEF70A
+:108A800071FF00280FD12068FEF7EEFC00280AD104
+:108A900006F073FC324621462846FFF73AFA0446B0
+:108AA00006F06FFC204670BD102070BD70B51546F5
+:108AB0000C0023D00221FEF755FF00280ED12068BC
+:108AC000FEF7D2FC002809D106F057FC29462046C3
+:108AD000FFF711FE044606F054FC204670BD00006E
+:108AE000607D00003E0600000C14002003300000F2
+:108AF0000328000000280000013400001020EDE7EA
+:108B0000FEB507460E4607201546400701211218FC
+:108B100089031C468A4219D2002C02D020188842B0
+:108B200014D2384600F045FA00280AD1002C0FD1A3
+:108B300001AA6946384606F026FE002802D0FEF754
+:108B4000D6FCFEBD68460088800601D41020FEBD1C
+:108B500023462A4631463846FFF76CFEFEBDFFB578
+:108B600085B01E4614000F4609D003AA02A9059835
+:108B700006F009FE002804D0FEF7B9FCC6E5102077
+:108B8000C4E568460089C00601D5FB48BEE506F08D
+:108B9000F4FB01A800900023F84A3946059806F036
+:108BA00098FD054606F0EDFB002D11D1002E0CD0EE
+:108BB00006F0E3FB002000902288334639460598F2
+:108BC00006F087FD054606F0DCFB684680882080BD
+:108BD0002846D1E7002906D0E94B0A885B899A42EA
+:108BE00001D8E84870473EE610B586B004236C46CD
+:108BF000A382E34B1C89002C07D05B898B4201D2F6
+:108C0000914204D9DF4806B010BD0620FBE76B4651
+:108C100019825A820021009101911C8002219970D1
+:108C200005A9029104A903916946FFF71CFEEAE732
+:108C3000F0B591B00D4681206946087105F09CFCA5
+:108C40000646002D08D02878CD4C012806D00228F1
+:108C500028D0072011B0F0BD1020FBE7A98801AA99
+:108C6000FEF778FC0028F5D1B00734D568460079C6
+:108C7000002820D1A879C0071DD006F07EFB002077
+:108C800000906A892989A088EB6806F07EFB694616
+:108C9000087106F076FB6946087900280BD0FEF7CC
+:108CA00026FCD7E7A98801AAFEF754FC0028D1D1F9
+:108CB000342006420FD00121684601720173017908
+:108CC0004173F00609D5A18868460182A18A018313
+:108CD0002069059004E00820BCE7A0886946088266
+:108CE000FAF731FB05461720694688830AAA2B4606
+:108CF000023207A902A806F011F8074668780007B3
+:108D000001D5FAF73CFB002F03D03846FEF757FC9D
+:108D1000A0E7F00603D5207B062108432073B006A8
+:108D200002D50020FEF776FE08A8009069468B8BDE
+:108D3000208804220121FEF729F98BE7F0B50026EF
+:108D400095B014460D4600290FD0022C4FD3A71E14
+:108D5000BAB28A480AF052FE29191039CA7B8B7BB5
+:108D600011021943884242D1BCB201A9012006F088
+:108D70001EFC7AE0029F3888010776D5002D41D08D
+:108D8000A9190691CA788B78361D1102B6B219431B
+:108D90008919A1422BD869468A8906994B780978A6
+:108DA0001B020B439A4222D1C00623D506F0E5FAF6
+:108DB00007A800900698AB19C17880780A02069936
+:108DC00002434878097800020843002106F0DDFAE2
+:108DD000009006F0D6FA009800283ED10698C17897
+:108DE000827808026946898B1043884202D00B20A2
+:108DF00015B0F0BD0698C17882780802104380193A
+:108E000086B22EE0C0062CD5002007AA01461154D8
+:108E1000401C80B21028FAD306F0AFFA06A80090E2
+:108E20006846002380891022194606F052FC009003
+:108E3000002803D006F0A5FA00980EE00BA86946BA
+:108E4000009088890A8B07AB002106F09EFA0090FB
+:108E500006F097FA0098002803D0FEF748FBC7E712
+:108E600003E0388810218843388001A806F0A7FB6A
+:108E7000002800D17EE7424D6988002921D00122D7
+:108E800068460276027700244477018417218185A1
+:108E90000EAA234602320BA906A805F03FFF0028C0
+:108EA00002D0FEF78CFBA3E70CA8009069468B8DDF
+:108EB000288804220121FEF769F8002898D16C80E7
+:108EC00096E7002094E7F0B5002487B015460E46DB
+:108ED000002A04D002A9012006F069FB41E010201D
+:108EE00007B0F0BD0398007800073AD506F045FAC0
+:108EF00001A8009068460023008A204A194606F01F
+:108F0000E8FB074606F03DFA002F23D1002E23D0C0
+:108F100068468088298820183719001D814239D376
+:108F20006946098A3970090A797069468988B97071
+:108F3000090AF97006F021FA01A869460090088A2A
+:108F40008A883B1D002106F0C4FB074606F019FA8B
+:108F5000002F01D00320C3E7684680882018001D39
+:108F600084B202A806F02BFB0028BBD082280BD0CD
+:108F7000FEF7BDFAB4E7000001340000FFFF000077
+:108F8000EC13002003300000002E0ED02988A01C16
+:108F9000814201D20C20A3E72246314639480AF02B
+:108FA0002DFD31190870000A4870A41C2C80002087
+:108FB00096E700B585B06946FEF741FC00280AD166
+:108FC0006846007C03000CF0F5F808052F2F2F2FC2
+:108FD00008080531032005B000BD684680780128E7
+:108FE00007D1684600880321C902401A1CD0012815
+:108FF0001AD068468079012806D1684680881521F4
+:109000004902401A05280FD96846807A012811D1F3
+:109010006846018929200002081A05D0022803D0D9
+:10902000032801D0042805D10F20D4E7164917489A
+:109030000BF0CFFF0020CEE738B5154A0021518054
+:1090400003791AE0CC002418A46800946C462488A4
+:10905000250707D5E50605D5D90008182038C08BA7
+:10906000508006E0640406D59171C9000818C088D4
+:109070009080012038BD491CC9B28B42E2D8002043
+:1090800038BD0000FFFF0000607D000033020000DB
+:10909000EC1300200120F8494006C861704770B504
+:1090A000F54D0024AC7028466C7020304470047478
+:1090B0006C61AC72AC6209F01AFFA86128463430CA
+:1090C0000AF0B4FD002804D0FF20ECA13A300BF0E8
+:1090D00080FFEE48C46301204006E86170BD70B5B2
+:1090E0000125EB4902260E60E849CD63E949C96ACA
+:1090F00009070ED4E7494031CB6AE74A53620B6B4C
+:1091000093624B6BD3628B6B1363C96BD3051943AB
+:109110005163D949E14CC96900282BD001282DD0D1
+:10912000FF20D6A169300BF054FFDD48A063FF207B
+:10913000043060632563DB49032008602061D74960
+:10914000962040314860D948D7494163D549FC3918
+:109150000163D549091FC163D249F03981630320F6
+:10916000D249000340394860D14910204860D148B5
+:10917000066070BDD0486061D04804E0CF48E03060
+:109180006061CE48801F0143A161CEE7BA4901204A
+:1091900008707047B84900200870704770477047E2
+:1091A000BE4940310028086802D00122104301E086
+:1091B000400840000860704770B50C46AE4D01464F
+:1091C0000622E81C0BF068FD6C7270BDAA482030C6
+:1091D00040787047A84A91705070704770B50D463E
+:1091E0000446082904D9FF20A4A1C6300BF0F1FEE3
+:1091F0000022B34809E09100635809180B6053003E
+:109200001B191B8C0B62521CD2B2AA42F3D3206BE7
+:10921000AB494031086070BD0B23DB4310B5C21A67
+:109220009E4998421FD008DC1C3222D00A2A20D046
+:10923000142A1CD0182A08D117E0083011D00428AD
+:109240000DD0082809D00C2805D0FF208BA1F230C2
+:109250000BF0BFFE10BD04200CE000200AE0FC2053
+:1092600008E0F82006E0F42004E0F02002E0EC2022
+:1092700000E0D820C86010BD7F482030007B7047D8
+:1092800010B5864CC17861620BF067FD0002E061A9
+:1092900010BD252808D0262808D0272808D041004E
+:1092A0000A2807D8091D06E0022105E01A2103E07B
+:1092B000502101E0891DC9B2784A91607749403157
+:1092C000486170476C494861704770B56A4CA0723C
+:1092D00000F01FFBA07AC00740D0724D28688007BD
+:1092E00003D466A177480BF074FEA07A01061DD561
+:1092F000800707D5734861A1801C0BF06AFEA07A35
+:10930000000613D52078694E012816D0002804D015
+:109310006C485AA111300BF05CFE6B487061A0697B
+:109320003061FF206149013040394860A07A8007F0
+:1093300014D52868C00708D102E06348001FEDE794
+:1093400060484EA11A300BF044FEA07A400728680E
+:1093500001D5042100E008210843286070BD70B5E4
+:109360000124454D002807D0012818D002281AD022
+:10937000232042A100010BE000F0CBFA52482978EB
+:10938000001F012907D0002907D04E483BA15738BC
+:109390000BF01FFE70BD046070BD446070BD812085
+:1093A000FFF793FF70BD00F0B4FA6869002804D19C
+:1093B000444832A14F380BF00CFE6969A86A401886
+:1093C0004249C86039484249403001603E490C3149
+:1093D00041600814354940394860274820300474FA
+:1093E00070BDF8B50C2069460870314C6068C00645
+:1093F000C50F1026A66034480021FC300161324BB5
+:1094000001221B1F1A610BE000BF00BF00BF00BF9D
+:1094100000BF00BF00BF00BF6B461A78521E1A7013
+:109420006A461278002A02D00269002AECD0016153
+:1094300068460078002804D1912010A180000BF02C
+:10944000C8FD002D00D06660F8BD0B490020C86142
+:10945000704710B50BF081FC00021049000AC86388
+:1094600010BD0B49022008607047094902200860BE
+:109470001049086070470000481400207372635C54
+:1094800068616C5F7263732E63000000C01F004050
+:1094900080E100E08000001000170040001500404F
+:1094A0005B060000001200404480004040F501408F
+:1094B0000013004080E200E00601020025000300E6
+:1094C0000016004075020000041000404085004076
+:1094D0004C810040F74902200860CBE7F64908704C
+:1094E000C8E710B5F5480AF0A9FB002803D0F449F5
+:1094F000F4480BF06EFD10BD10B5F0480AF0B6FB55
+:1095000010BDF1494860B5E7EC4910B53439EF4B6F
+:109510000022C8605A60896A0818ED49486000F066
+:10952000FFF910BDE54810B5C2213438C160E74AE3
+:1095300000215160806AE649C230486000F0F0F9CD
+:1095400010BD0120E34940028860DC490020343925
+:10955000C860DF4948608DE7D84900203439886207
+:1095600088E7D648DA493438806AFE30886081E777
+:10957000D749002088607DE7D748016810229143D1
+:109580000160D6490120886174E7D5490020C8618F
+:10959000D14801681022114301606BE700B5FFF765
+:1095A000EBFFC64900203439087400BD00B5FFF751
+:1095B000ECFFC24901203439087400BDC849CA69AA
+:1095C000012A01D0002055E7BF4A40329268520676
+:1095D000520E524202700020C86101204AE7F8B5DD
+:1095E000BF4C2069012806D00021B44834380078E7
+:1095F000012802D004E04021F7E7E268012A04D004
+:1096000000220A43012802D004E02022F9E7616821
+:10961000012905D000211143B24A002802D007E0F9
+:109620001021F8E71368012B02D1E368012B04D065
+:1096300000230B43002802D007E00823F9E7116854
+:10964000002902D1E168012905D000221A439F4E6A
+:10965000002802D004E00422F8E77168012904D050
+:1096600000211143002802D004E00221F9E76068DC
+:10967000012829D000259C480D4301680906090EE0
+:1096800002D06169012900D000218C4F143F397349
+:1096900000680006000E02D0A069012800D000205A
+:1096A00078738B488068002803D000F03DFA0128C9
+:1096B00000D00020B8730021E16021616160616128
+:1096C000A16171602846F8BD0125D4E77B480121DE
+:1096D0001438C173CEE6F8B5784E0127143E307CBD
+:1096E0000025002825D07C4C206800902560FFF7DD
+:1096F00078FE009820607A48C56005614560456144
+:1097000085617449001488603046203801787348B8
+:1097100001290AD000290AD0D920694980000BF01C
+:1097200058FCF9F775FC3574F8BD0760F9E7476038
+:10973000F7E7FFF754FF04460020F07364484268DF
+:109740005E4D343D6A620068A8622978002909D11B
+:10975000A978002906D05C4B5B681B780B406978C0
+:10976000994309D000213170E10707D0104602F07B
+:1097700029FD0121A86A08E03770F5E7A10601D5A7
+:10978000022102E0A10702D5002102F02AFD4E4F7E
+:10979000796806220931E81C0BF051FA002807D13C
+:1097A000687A79680978C909884201D1012000E006
+:1097B00000207070204600F0BDF83F48C2270078B6
+:1097C000002815D0012828D002283BD003285AD0E1
+:1097D0003B4946480BF0FDFB287C002804D0287844
+:1097E000002865D0FFF7C8FE2878002861D089E0FE
+:1097F000A00701D501F0CCFB200703D50120EF60C5
+:1098000001F0FEFB600703D50020EF6001F0F8FBDC
+:10981000A006E1D501F068FBDEE7A00701D503F063
+:1098200026FF200703D50120EF6003F09FFE6007AD
+:1098300003D50020EF6003F099FEA006CCD503F01D
+:1098400020FEC9E7A00703D5BF200440F9F7D2FBEB
+:10985000200705D5BF2004400120EF60F9F7C9FBC0
+:10986000600705D5BF2004400020EF60F9F7C1FB79
+:10987000A00603D5BF200440F9F7BAFB6006ABD5BC
+:10988000F9F7B9FBA8E7A00701D5F9F7B7FB20075F
+:1098900003D50120EF60F9F7B0FB600703D5002086
+:1098A000EF60F9F7AAFBA00696D5F9F7A5FB93E7B9
+:1098B0001EE020E000E100E0600000207C140020B9
+:1098C0007C940000AB020000001500404081004085
+:1098D0004085004000F501400012004000100040AB
+:1098E00000110040001400404016004094040000A5
+:1098F000FFF74BFE78E7E868002803D0A96A09184B
+:1099000028484160F07B002800D10DE7F9F780FB83
+:10991000F8BD254903200860881524498860A9E519
+:10992000224823494030C161224981611F494015C5
+:1099300048609FE570B50546FFF7EBFF1E4CA17A26
+:10994000080701D568071CD41C4AC80605D5507BFA
+:10995000002802D0907B002813D0880602D510780A
+:1099600000280ED1480602D55078002809D00020E2
+:109970008A070026002A07DA4A0704D50122227046
+:1099800002E00120F4E72670CA0709D0AA0705D42F
+:10999000890705D5002803D0A80601D4FFF721FDCB
+:1099A000A67270BD408500400012004000F50140E5
+:1099B000101000404481004048140020681400202A
+:1099C0002E48002101704170704770B5064614465C
+:1099D0000D460120F7F780FE28490120284B08702A
+:1099E0009E60DC601D6170BDF8B504460120F7F78C
+:1099F00073FE22490120087021494C60214900264C
+:109A00004E600321204D8902A960204F002C0AD00E
+:109A1000012C03D01EA140200BF0DBFA3E60032096
+:109A200080026860F8BD386001208002F9E710B557
+:109A30001248017800290ED00321134A890291604F
+:109A400010494A680021002A03D0154A1268427062
+:109A500000E0417001700020F7F73EFE10BD07489E
+:109A60000178002907D007484068002802D00C4838
+:109A70000068C0B270474078704700006100002065
+:109A800000F5004000F1004000F5014000F2004008
+:109A90007372635C68616C5F63636D2E63000000CA
+:109AA00000F400403648002101704170102181709F
+:109AB000704770B5064614460D460220F7F70CFEB7
+:109AC00001202F492F4A0870E41E146196605560EA
+:109AD00070BD10B50220F7F7FFFD2949012008707D
+:109AE000294800210160416081602849C014486014
+:109AF00010BD10B5224C2078002811D00120234938
+:109B0000C002886000F02EF80021002804D0012057
+:109B100060701F48006801E061701020A070217023
+:109B20000020F7F7D9FD10BD10B5154801780029C0
+:109B300005D000F017F8002800D0012010BD4078B3
+:109B400010BD10B50E480178002909D000F00AF8C0
+:109B5000002803D00E480068C0B210BD102010BD10
+:109B6000807810BD08480168002905D041680029A7
+:109B700002D08068002801D0002070470120704783
+:109B80006300002000F5004000F1004000F50140B6
+:109B900000F4004010B528210BF0DBF810BD407830
+:109BA0008006800E704740788006800EC01C70478B
+:109BB0002820704770B5054600780A0700090001A3
+:109BC000120F104328700B000BF0F4FA070507057D
+:109BD000070509050B00062408E00C2406E02224F2
+:109BE00004E00024FEA158200BF0F3F96878800906
+:109BF00080012043687070BD00780007000F704737
+:109C000010B50622C01C0BF047F810BD0B4610B56E
+:109C1000C11C062218460BF03FF810BD10B50622F5
+:109C200009300BF039F810BD0B46014610B506227D
+:109C3000093118460BF030F810BD0278BF23C90770
+:109C40001A40490E0A430270704700784006C00F60
+:109C5000704702785206520EC9010A4302707047DB
+:109C60000078C009704770B50C460546C11C2046F7
+:109C7000062209300BF010F820784006400E2070C4
+:109C800029784906C90FC9010843207070BD70B515
+:109C900015460E4604461F2A03D9D1A1A9200BF070
+:109CA00098F920462A46314609300AF0F5FF6078D7
+:109CB000AD1D80098001A906890E0843607070BD42
+:109CC00070B5054640780E468406A40E062C03D2D5
+:109CD000C3A1B9200BF07DF9A41FE4B21F2C00D959
+:109CE0001F2429462246093130460AF0D5FF204676
+:109CF00070BD70B515460E4604461F2A03D9B8A19B
+:109D0000CD200BF066F920462A46314609300AF08C
+:109D1000C3FF6078AD1D80098001A906890E084344
+:109D2000607070BD70B5044640780E468506AD0E75
+:109D3000062D03D2AAA1DE200BF04BF9AD1FEDB228
+:109D40001F2D03D9A6A1E2200BF043F921462A4694
+:109D5000093130460AF0A0FF284670BD10B5042234
+:109D60000F300AF099FF10BD0B46014610B50422D2
+:109D70000F3118460AF090FF10BD10B503221330C2
+:109D80000AF08AFF10BD0B46014610B503221331BD
+:109D900018460AF081FF10BD4176090A81767047A6
+:109DA000817E427E080210437047C176090A01771E
+:109DB0007047017FC27E0802104370474177090A4D
+:109DC00081777047817F427F080210437047C175D9
+:109DD000090A01767047017EC27D08021043704770
+:109DE00081757047807D704720300279C90652091D
+:109DF0005201C90E0A430271704720300079C00633
+:109E0000C00E704720300279D206D20E49010A43B3
+:109E100002717047203000794009704710B5052263
+:109E20001F300AF039FF10BD0B46014610B5052260
+:109E30001F3118460AF030FF10BD30B5411C837E3B
+:109E40000A461902D37D447E927D1B0221431343AF
+:109E5000674D827D8C1FAC4210D8002A0ED0082A94
+:109E60000CD88A420AD28B4208D8817F427F0802EE
+:109E70001043A91D884201D8012030BD002030BD0B
+:109E800000210A464254491C2229FBDB70474078D6
+:109E9000C006C00E70474078C006C00EC01C704798
+:109EA0002220704710B502788B07920892009B0F12
+:109EB0001A4302704278520952014270012908D0B7
+:109EC000022906D0032905D0FF2045A1A3300BF0BD
+:109ED00080F810BD01210A43427010BD10B5027810
+:109EE0008B07920892009B0F1A4302704278520926
+:109EF00052014270012908D0022906D0032905D059
+:109F0000FF2037A1BD300BF064F810BD01210A43DA
+:109F1000427010BD00788007800F70470278FB23E5
+:109F2000C9071A40490F0A4302707047007840077A
+:109F3000C00F70470278F723C9071A40090F0A4378
+:109F40000270704700780007C00F70470278EF2357
+:109F5000C9071A40C90E0A43027070470078C0064C
+:109F6000C00F704770B50546C1700B000BF022F9A9
+:109F70000E080A0C0E1012120C14141212160C18E1
+:109F80000C2413E0082411E002240FE017240DE054
+:109F90000D240BE0012409E0092407E0062405E074
+:109FA000452000240EA1C0000BF013F8687840098A
+:109FB00040012043687070BDC078704770B504469A
+:109FC00040780E46C506ED0E1B2D03D904A10948A5
+:109FD0000AF0FFFF6019C01C042231460CE00000AB
+:109FE0007372635C756C5F7064752E6300000000B3
+:109FF0007A0C00003A0200000AF04EFE70BD70B507
+:10A00000044640780E46C506ED0E1B2D03D9A04927
+:10A01000A0480AF0DEFF6119C91C042230460AF08C
+:10A020003BFE70BDC171090A01727047017AC279A5
+:10A030000802104370474172090A81727047817AA1
+:10A04000427A080210437047C172090A01737047CF
+:10A05000017BC27A0802104370474171090A81717D
+:10A060007047817942790802104370470171704747
+:10A07000007970474173090A81737047817B427B85
+:10A0800008021043704730B5411C037A0A46C47970
+:10A0900019022143537914791B0223437E4D007921
+:10A0A0008C1FAC4210D800280ED008280CD888424B
+:10A0B0000AD28B4208D8D07A917A00020843A91DAF
+:10A0C000884201D8012030BD002030BD10B50522E6
+:10A0D000001D0AF0E1FD10BD0B4610B5011D052263
+:10A0E00018460AF0D9FD10BD4172090A8172704705
+:10A0F000817A427A080210437047017170470079F3
+:10A10000704710B50822001D0AF0C6FD10BD0B46B1
+:10A1100010B5011D082218460AF0BEFD10BD0A78D0
+:10A120000273497841737047027B0A70407B487024
+:10A13000704710B508220E300AF0AEFD10BD0B4678
+:10A14000014610B508220E3118460AF0A5FD10BDD3
+:10A1500010B5042216300AF09FFD10BD0B460146D3
+:10A1600010B50422163118460AF096FD10BD10B540
+:10A170000822001D0AF090FD10BD0B4610B5011D10
+:10A18000082218460AF088FD10BD10B504220C30D4
+:10A190000AF082FD10BD0B46014610B504220C31B9
+:10A1A00018460AF079FD10BD017170474171090A26
+:10A1B00081717047C171090A017270470079704757
+:10A1C00081794279080210437047017AC279080206
+:10A1D00010437047017170470079704701717047F3
+:10A1E0000079704710B50822001D0AF055FD10BD1A
+:10A1F0000B4610B5011D082218460AF04DFD10BD92
+:10A2000010B50822001D0AF047FD10BD0B4610B521
+:10A21000011D082218460AF03FFD10BD70B5154615
+:10A220000E4604461B2A04D93720194900010AF0BA
+:10A23000D0FE2A463146E01C0AF02EFD6078E90681
+:10A2400040094001C90E0843607070BD70B50546F5
+:10A2500040780E46C406E40E1B2C04D9DF200C49BE
+:10A2600080000AF0B6FE2246E91C30460AF014FDD2
+:10A27000204670BD4078C006C00E1B2801D80120C2
+:10A2800070470020704710B522220AF005FD10BD6E
+:10A29000E09F0000430200007A0C0000FEB50F466C
+:10A2A00004460146064620302546C031603640351A
+:10A2B0000190032F04D0002F2DD0012F2BD04BE085
+:10A2C00000206080A080E08020816081A082E08505
+:10A2D000E0826874A074E074A076E076A073E07306
+:10A2E00020746074019B987401232B74A8822883C6
+:10A2F0000876E883B0706883A873E8732077607786
+:10A30000019988720199087430727072B072327457
+:10A31000B074A883FEBD0020A8822883012F52D0EC
+:10A32000E08B0090608C0290C00000990AF02EFD36
+:10A33000401C80B2E8820099192241439202914266
+:10A3400001DD401EE8827D20000200990AF01EFD1A
+:10A35000401C3080002F01D0022FDBD10198007A01
+:10A36000C1060198C90E01720020687322182421C9
+:10A370008B5C4032D9075B08DE07C90FF60F7118F6
+:10A380005B08DE07F60F71185B08DE07F60F711821
+:10A390005B08DE07F60F71185B08DE07F60F711811
+:10A3A0005B08DE07F60F76185908891911726A7B67
+:10A3B000401C5118C0B269730528D7D3002FA9D10A
+:10A3C0000020A874FEBD4A7F2046E030022A12D049
+:10A3D000097F022913D050A173200AF0FAFD012051
+:10A3E00000900290E08BA98B484300990AF0DCFCB6
+:10A3F000A883029898E7818800910089F1E7018A93
+:10A400000091808AEDE770B504464034667B0546CE
+:10A41000002E68D0252E66D8002964D03E20405DED
+:10A42000A27B4843101825210AF0B0FC0846A1730E
+:10A430004207C908520F3C4B691820319A5C0979D0
+:10A440008A4367D031460AF0A1FC491CCAB20020F9
+:10A4500006E0002804D029184031C979511ACAB23F
+:10A46000291848235B5C93423AD320310979C943C8
+:10A47000CB07DB17D21A521E1206120E34D08B07EE
+:10A48000DB17D21A521E1206120E2FD04B07DB1703
+:10A49000D21A521E1206120E2BD00B07DB17D21A3D
+:10A4A000521E1206120E27D0CB06DB17D21A521EEE
+:10A4B0001206120E23D08B06DB17D21A521E12067A
+:10A4C000120E1FD04B06DB17D21A521E1206120EA6
+:10A4D0001BD00906C917511A491E0A06120E17D0B9
+:10A4E000401C0528B5DB70BDC00013E0C000401C57
+:10A4F00010E0C000801C0DE0C000C01C0AE0C000DD
+:10A50000001D07E0C000401D04E0C000801D01E008
+:10A51000C000C01DE07370BD7372635C6C6C5F75CE
+:10A5200074696C2E63000000EC51010010B5FF4807
+:10A530000021017041708170C17041718171C171E0
+:10A54000083009F073FB002804D0FF20F8A1843004
+:10A550000AF03FFD10BD10B5F44900204872081DF7
+:10A5600009F064FB002804D0FF20F1A1C3300AF0F9
+:10A5700030FDFFF7DBFFF148FFF782FC0021EF48D9
+:10A58000FFF7E4FC0121ED48FFF78CFC10BDE2E78A
+:10A590001B207047E5494A7A002A01D00020704705
+:10A5A000488101204872704710B5E0494A7A002A74
+:10A5B00002D04989814201D0002010BDDB48001D36
+:10A5C00009F03CFB002804D0FF20D9A1B4300AF0E8
+:10A5D00000FDD648001D09F049FBFFF7A7FF012049
+:10A5E00010BD70B5D14C0025627A002A02D0628974
+:10A5F000824201D00D700DE0227863789A4203D335
+:10A6000022786378D21A04E062782378D21A102371
+:10A610009A1A0A70FFF7C8FF002801D0657201205E
+:10A6200070BDC2494A7A002A04D04989814201D1C9
+:10A630000120704700207047BC490A784B78521CB3
+:10A640001207120F9A4207D0097822225143BC4ABE
+:10A65000891801600120704700207047B3480178D5
+:10A660004278491C0907090F914206D00178491C1C
+:10A670000907090F01700120704700207047AB499E
+:10A680004A7A002A04D04989814201D101207047C9
+:10A6900000207047A5490A784B789A4207D049783C
+:10A6A00022225143A64A89180160012070470020E8
+:10A6B000704710B59D4C20786178884216D060783C
+:10A6C000401C0007000F6070201D09F0B7FA002839
+:10A6D00004D0E078401CE070012010BDA078401C40
+:10A6E000A0709248001D09F0C1FAF5E7002010BDE6
+:10A6F0008E4801784078814201D1012070470020C6
+:10A7000070478A4801784278914202D301784078B4
+:10A7100003E041780078081A1021081AC0B2704787
+:10A720000F20704770B5814C0D46617A002916D014
+:10A730006189814213D100262E70201D09F07EFA16
+:10A74000002805D1A0782870A670201D09F08EFA87
+:10A750002878E17840182870E670012070BD00204C
+:10A7600070BD76490160704770494A7A002A04D06A
+:10A770004989814201D101207047002070476B490F
+:10A780004979002901D0002070476E4901600120FD
+:10A79000704766484179002901D0002070470121A7
+:10A7A00041710846704761494A7A002A04D04989B4
+:10A7B000814201D101207047002070475B494979EF
+:10A7C000012901D0002070475E49016001207047D7
+:10A7D00056484179012901D000207047002141717C
+:10A7E0000120704751484079012801D0012070476D
+:10A7F000002070474D494A7A002A04D04989814295
+:10A8000001D1012070470020704770B5474C0546C4
+:10A81000A0790721401C0AF0B9FAE079814208D0FA
+:10A82000A07922214843474922314018286001205D
+:10A8300070BD002070BD10B53C4C0721A079401CB4
+:10A840000AF0A4FAE079814207D0A0790721401CE0
+:10A850000AF09CFAA171012010BD002010BD334800
+:10A860008179C079814201D1012070470020704771
+:10A870002E494A7A002A04D04989814201D1012017
+:10A8800070470020704710B504462848083009F08A
+:10A89000D5F9002815D125498879CA7990420CD07C
+:10A8A000C8792221484327492231401820601F4897
+:10A8B000083009F0DBF9012010BD1C48083009F010
+:10A8C000D5F9002010BD10B504461848083009F02D
+:10A8D000B5F9002815D115498879CA7990420CD06C
+:10A8E000C8792221484317492231401820600F4877
+:10A8F000083009F0BBF9012010BD0C48083009F000
+:10A90000B5F9002010BD094810B5083009F096F9D6
+:10A91000002822D1054CA079E17988421AD0E0794B
+:10A920000721401C0AF032FAE1710DE066000020B8
+:10A930007372635C646D5F712E630000B01700205A
+:10A9400080140020A01600202046083009F08EF95F
+:10A95000012010BD0C4809F089F9002010BD0A48FB
+:10A9600008388179C079814201D1012070470020E7
+:10A970007047054808388179C079814201D10120AA
+:10A9800070470020704700006E000020704770473D
+:10A99000FF207047704770470020704700207047C5
+:10A9A000002070470020704700207047002070474B
+:10A9B000002070470020704700207047012070473A
+:10A9C000002070470020704700207047002070472B
+:10A9D000F8B5FF4D0446A87F002600280CD00029BA
+:10A9E00023D1667010202070E87FA07028462030A8
+:10A9F0000078E070AE7718E0287A012801D00020B6
+:10AA0000F8BD002911D16670F149687A01270A3131
+:10AA1000002801D0132000E0052020701422A01C83
+:10AA20000AF03AF9A7716E722E720120F8BDF8B5DE
+:10AA3000E8480078002802D00C273846F8BD0027E7
+:10AA4000E34D3C46203DAF74EF746F75AF752F75C5
+:10AA500028466F732038DE4E47737771E87D0028F3
+:10AA600004D0FEF785FDFFF744F8EC75347274727C
+:10AA7000B477D7482430FFF78DF8D5484C30FFF72E
+:10AA800089F8DAE710B5D34C00232370D04C203C72
+:10AA9000E375CF4B01241C71603B583307C3FFF7AC
+:10AAA000C6FF002804D0FF20CBA102300AF091FAA3
+:10AAB00010BDC7482038807C7047F8B5C44D0646A5
+:10AAC000407B203DE873C24837791346AF73B27BB1
+:10AAD00082710446603C217006221946601C0AF00F
+:10AAE000DBF8B07960730622F11DE01D0AF0D4F89E
+:10AAF000687B0126002800D0EE74B5484038407BC2
+:10AB0000002800D02E75002F09D0012F09D0022F68
+:10AB100024D0032F46D0FF20AFA14D3013E00021F9
+:10AB20001DE0AB4801212430FFF744F8A848E11D9F
+:10AB30002430FFF773F8607B002807D0012807D086
+:10AB4000FF20A5A143300AF044FA0CE0002100E008
+:10AB500001219F482430FFF77CF804E006219C483F
+:10AB60002430FFF727F800206875A8759848611C05
+:10AB70002430FFF745F8964821782430FFF75DF838
+:10AB8000934804214C30FFF715F89148611C4C3074
+:10AB9000FFF736F88E4821784C30FFF74EF8AE7448
+:10ABA0000020F8BD0221DAE770B5894C0125203C70
+:10ABB0000246A5758648007A002801D03A2070BD6B
+:10ABC000834860380378934206D1002262750622DA
+:10ABD000401C0AF061F86575002070BD70B5044630
+:10ABE0007B4D0020203D28752846224632380AF049
+:10ABF00053F82846203844730120287570BD7449E5
+:10AC00000871704710B5724C0022203CE2746073EA
+:10AC10000246204612380AF03FF80120E07410BDC9
+:10AC2000F8B500F04CFB6A4C0025203CE07D002884
+:10AC300004D0FEF79DFCFEF75CFFE575654E3570B0
+:10AC4000FEF75AFCA07B012804D00021084601F041
+:10AC500082FAF8BD0021022001F07DFA5C4C207AD6
+:10AC60000127002809D0A07F0028F2D10520E07735
+:10AC7000204620300570A777F8BD70780028FBD0FB
+:10AC8000534906226039487BE073C91D0846693084
+:10AC90000AF002F83C20A07227727570F8BD10B55A
+:10ACA0004B4C203CE17B207CCA0701D0C2070BD073
+:10ACB0008A070FD582070DD42620FEF7EAFA207CFA
+:10ACC00002210843207410BD2520FEF7E2FA207C03
+:10ACD0000121F6E74907F6D54007F4D42720FEF70F
+:10ACE000D8FA207C0421ECE770B53A4D287800288A
+:10ACF0007CD1374C203CA07C00287CD0FEF7F1FBB7
+:10AD00000026267466746E703046FEF7E7FB00205E
+:10AD1000FEF7E5F93448FEF7B3FA2546403D296EC3
+:10AD20008857FEF779FA3048C01EFEF792FBFEF70F
+:10AD300008FCFFF7B4FFFEF729FAFEF7CBFB012072
+:10AD4000FEF70DFB0F210520FEF744FA2978681C59
+:10AD5000FEF732FAA07B01280AD0E07C002807D059
+:10AD6000214612390846627B5630FEF790FFE674A2
+:10AD7000207D002808D0164840380146427B123911
+:10AD80008C30FEF7B6FF2675607D00280BD010488A
+:10AD9000691C2430FEF734FF0D48691C4C30FEF767
+:10ADA0002FFF6675A675E86D0178002903D001783C
+:10ADB000001DFEF713FAA86D0178002907D001786D
+:10ADC000034A401C7732FEF774FE0120E0750EE066
+:10ADD00034180020740000207372635C6C6C5F6137
+:10ADE00064762E6300000000F751010003E0FEF7D7
+:10ADF00083FB002070BD0C2070BDFB49486070478C
+:10AE000070B50546FEF79DFB002D06D00020FEF72D
+:10AE10005CFAFEF7BBF9FFF742FFF44C607C0028B8
+:10AE200009D0A07B012803D1F149F2480AF0D1F8FA
+:10AE3000FFF7F6FE70BD0126002D05D00220FEF7BB
+:10AE40008EFAEA4820304671E8484430FEF759FB54
+:10AE5000012008F0A8FDFEF7A1F9A07B00280FD083
+:10AE600001280DD002280BD003280BD0E148E0497F
+:10AE70001E300AF0AEF8E07B217C884306D009E062
+:10AE8000032000E00120FEF720FAF4E7A07B012870
+:10AE900003D06674D448067070BD00202074F9E7B2
+:10AEA00010B5FEF71EFBD048007800280ED1CF4821
+:10AEB000807C00280AD00020FFF7A2FFF6F781FA75
+:10AEC000CA4820300079012806D007E000F0F7F9E1
+:10AED000FEF712FB0C2010BDF8F79AF8002010BD09
+:10AEE000C14901204870704770B500F0DAFF0028B2
+:10AEF0001BD0FF202D30FEF7E5F9BB4E3078BB4C60
+:10AF00002034012814D0022801D003282ED0A520F7
+:10AF1000B74980000AF05DF83078002807D0F6F7CE
+:10AF200050FA207901282BD02FE0FFF779FE70BD71
+:10AF3000AE4DA87B032819D0FEF7F4FAE87D00286F
+:10AF400003D0FEF7C6FDFEF70CFBA8489430FEF7D1
+:10AF5000D8FA012008F028FDA87B01280BD0A179A0
+:10AF60006F20012906D0032904D004E00120FFF757
+:10AF700047FFD1E77F20FEF7A8F902203070CBE72A
+:10AF80006079002801D1FEF7A1FB0020607170BD3F
+:10AF900070B5964CE07D002803D0FEF7E9FAFEF785
+:10AFA000A8FD00F07EFF00281CD08F4D28780228D5
+:10AFB00003D08F4990480AF00CF8A07B012814D0E8
+:10AFC000FF202D30FEF77EF90120FFF719FF2878CA
+:10AFD000002809D0F6F7F5F9844C203420790128AF
+:10AFE00006D00AE0FFF71CFE70BD99208000E9E75B
+:10AFF0006079002801D1FEF769FB0020607170BD07
+:10B00000F8B50446FEF738F90746FEF78DFD01282E
+:10B0100027D0002674480078022804D07648744966
+:10B020003C3009F0D6FF714DE87D002803D0FEF7D3
+:10B030009FFAFEF75EFDFEF784FA6C489430FEF747
+:10B04000DBFD21006D4C009064D0FEF7BFF80028B6
+:10B0500060D0009803000AF0ADF8065D5D5D065D06
+:10B060001E5D0126D6E7A87B012853D0374304D1C3
+:10B07000A079002801D002284CD160484C30FEF75E
+:10B0800040FA012008F08FFC0120FEF71EF9564817
+:10B090000321017045E059487430C178D438C27931
+:10B0A00091421DD10146D4310A79037A9A4217D1CF
+:10B0B0004A79437A9A4213D18A79837A9A420FD194
+:10B0C000CA79C37A9A420BD10A7A037B9A4207D192
+:10B0D0000978407B4906C90F814201D1012100E076
+:10B0E0000021A87B012802D0002803D012E000290B
+:10B0F00007D10FE0374304D1A079002801D00128FF
+:10B1000008D13E487430FEF798FE002802D0A87D92
+:10B11000002810D0FF202D30FEF7D4F80120FFF7D3
+:10B120006FFE3148007800286AD0F6F74AF9207996
+:10B1300001286ED0C0E02C4F30497868042283315A
+:10B14000343009F0A9FD2D484021743000784006C4
+:10B15000C20F78680A54294906227731413009F034
+:10B160009BFD2649786803228731383009F094FD29
+:10B1700022483B217430827D78680A541F4974311B
+:10B180000A7ECB7D12021A4382878A7E4B7E120290
+:10B190001A43C2830A7FCB7E1102194301841749E7
+:10B1A00074318A7F4B7F1102194341841349052270
+:10B1B0009331243009F070FD10497F68943108798B
+:10B1C000C20638462030D20E0090827709794909AC
+:10B1D000C177207A00281DD0A07F00285BD1607A3B
+:10B1E00000280ED013200DE0740000201418002059
+:10B1F000D8AD0000F9030000BF02000034180020A1
+:10B200005CE00520E0773449002008700120A07739
+:10B2100041E04CE03048E97D1038002924D000217D
+:10B22000A172B989A1814021C95DE1733946062225
+:10B23000413109F031FDF88BE082388C2083788C25
+:10B2400060830098C07F2077607F400840003043D3
+:10B250006077FEF776FC617F4000C907C90F0143A4
+:10B2600061770120607215E00021A172B989A18186
+:10B270004021C95DE17339460622413109F00CFDD8
+:10B28000F88BE082388C2083788C60830098C07FB4
+:10B29000207701202072114D0020287000F00FF857
+:10B2A000FEF72AF90120696800F055FF39E7607957
+:10B2B000002801D1FEF70AFA00206071F8BD10B530
+:10B2C000FEF74AF9FEF73DF9FEF78BF80020FDF78F
+:10B2D000FCFFFEF7CAF810BD5418002074000020CF
+:10B2E0008107C90E002808DA0007000F0838800817
+:10B2F000FD4A80008018C06904E08008FB4A800095
+:10B3000080180068C8400006800F704710B500F034
+:10B310007BFF10BD70B5F64C0546A26800290DD024
+:10B32000002A04D0FF20F3A14C3009F052FEA560A2
+:10B33000F6F748F80220F6F73FF870BD002A04D16E
+:10B34000FF20ECA1543009F044FE0020A060F6F785
+:10B350003AF80120F6F738F870BDE5481030C07EA5
+:10B36000002801D00020704701207047E0481030CD
+:10B37000C07E7047DE483430C07E70470021C17601
+:10B38000817601600162DA481030C07E002807D162
+:10B39000D7483430C07E002802D1D549012008703A
+:10B3A000704710B50B46C17E847EA14204D0114681
+:10B3B000184607F0B4FB10BDFFF7E0FF10BD38B52D
+:10B3C000CB4C606801684978012924D00121684686
+:10B3D00006F05EF968460078CA49000209F0D6FC1A
+:10B3E00060680268C0685268511807F0B5F9616872
+:10B3F000C860BF49606834310022884215D0018B93
+:10B40000002912D04272032101720271021D017FD4
+:10B41000FFF7C7FF38BD7D21C068C90007F09CF960
+:10B420006168C860B8480861E3E7018B491C018383
+:10B4300002214172E7E7FFB5AD4F02461037386A87
+:10B440003C68056889B060680790A948C1680291A6
+:10B450006B880B98C01A80B208900C98002804D012
+:10B46000264638362046483002E03E1D28466430E5
+:10B47000059003203071002A15D0012A7ED0022ABF
+:10B4800052D0032A7BD09BA1A04809F0A2FD0C98C2
+:10B490000028307974D0032804D09C4895A1093045
+:10B4A00009F097FD40E1002904D1984891A169383D
+:10B4B00009F08FFD9549A88FA839484340180A998B
+:10B4C00000F0A8FEA0619149E88BA83948430A9989
+:10B4D00000F0A0FEE06186488C4AC068A98FA83AB7
+:10B4E000514384464118A069894A091A8A183B21A8
+:10B4F000A262864B495DA83B594341180818FF30AA
+:10B500001630206260626046101AFF38ED2135382F
+:10B51000C9008842BBD27F49884204D27B4875A1CA
+:10B520005C3809F056FDBAE0784AA88FA83AE1687D
+:10B53000504308180A9900F06DFEA0617349E88B2A
+:10B54000A83948430A9900F065FEE0616848C06880
+:10B55000002804D16D4867A1543809F03AFD5820FD
+:10B56000405B6D4A0028A88FE16822D0504308183C
+:10B57000A169401AA0622169A06802E022E051E0BE
+:10B58000CDE04843A169644A40183B21495D5143DD
+:10B5900041180818FF3014302062E88BE1695043ED
+:10B5A000411A0F208001081A60625148A16AC068E0
+:10B5B0006DE050430818A169401A3968D3384968CA
+:10B5C0004018D7E7284640300290008B002801D071
+:10B5D000002904D14D4847A13C3809F0FAFCE88B1A
+:10B5E0004D494843E169401AA062029A138B2269CF
+:10B5F0009B1A9C46A3685343A2699A186346594311
+:10B6000051183B22525D444B5A438A185118FF315E
+:10B61000143121620F218901411A61623449C968DC
+:10B62000401A35E00C98002803D03420005D002833
+:10B6300074D1E88B38494843E169401A0899484376
+:10B64000A062284640300690008B0028079829D039
+:10B65000002804D02D4827A1163809F0BAFC069816
+:10B660002D4A018B08980818E16948434000FF30D3
+:10B6700014302062E88B5043411A0F208001081AD1
+:10B68000606200F0C1FD00281CD0A16A0298081A6F
+:10B69000FF38ED212338C900884200D3F7E60220A5
+:10B6A0003071F4E6002802D00298002804D117482F
+:10B6B00010A11D3809F08DFC0798A16AD33808182D
+:10B6C000A062CCE706F0B1FD7A690146104607F0AA
+:10B6D000D5FFA16A081AFF38ED211E38C90088423B
+:10B6E000DCD201200DB0F0BD00ED00E000E400E090
+:10B6F000D01800207372635C6C6C5F6C6D2E7330BD
+:10B700002E63000010270000B78913008A0500008F
+:10B7100036040000A3020000E20400002AE003282F
+:10B7200002D1FD4807210170A16A786907F014F879
+:10B73000B060616A206A884202D90598016001E020
+:10B74000059908600598F54900680818F060A9880F
+:10B750000B98081A00B2002801DD022000E000204A
+:10B7600070710C9830700C98002805D03420005D62
+:10B77000002801D00220B5E70C9801214840203470
+:10B780006075397F32463846FFF70BFE0020A9E787
+:10B7900010B5E14900284A68116A096807D01268A3
+:10B7A000C98BDF4BD2695943891A09F0EFFA10BDF2
+:10B7B000F8B5D94F35227868016A0C680168525C87
+:10B7C000002A0AD0498E6288914206D1407A002828
+:10B7D00003D1D449D44809F0FCFB06F026FD01460C
+:10B7E0007868406907F04AFFFFF7D2FF79686588FB
+:10B7F0000B682E185A8EB24202DB521C5A8602E0A7
+:10B80000401C2818588608683622125C002A05D188
+:10B81000428E23899A4201D1521C4286088B03280A
+:10B8200002D2401C088302E00868408EA0802046B7
+:10B830004030C18A808A081A6188401E401885B24B
+:10B84000203416E0096AE67F097976004B00B74993
+:10B85000007DCB5A895BC91889B20023FFF7EBFD45
+:10B86000002811D0012810D0AF48AE493A3009F075
+:10B87000B0FB79680868428EAB1A1BB2002BE1DA84
+:10B880000820E07400F00BFEF8BD78680068418E77
+:10B89000491C4186EDE770B51F209F4D002128709F
+:10B8A000E960A868C27E130009F084FC04545403C4
+:10B8B0004654026A14680268117002685160006898
+:10B8C0002030407D002808D106F0AFFCA968096847
+:10B8D000096C07F0D3FE002815DCA86801684A8EC1
+:10B8E00061888A4204D12289511A6181628004E010
+:10B8F000511A61810168498E61800268C1681164D2
+:10B90000C16841610FE0A8680168098E6288891AE0
+:10B9100061810168098E618001680A6CC2600A6CED
+:10B920004261886C6066204601F06DFC00280ED0F4
+:10B930007B487C49BD3808E0C1684161FFF7D4F914
+:10B94000002804D076487749B73809F042FBF5F76C
+:10B9500038FD70BD72487349B038F6E710B56E4ACD
+:10B960000B00526809F026FC0906090F1E0C2D2D4C
+:10B97000082A2D00FFF78FFF10BD00F059FC10BD05
+:10B98000FDF7A9FE10BDD07E022805D0D07E032889
+:10B9900005D0644966480EE0FFF70AFF10BDFFF7C7
+:10B9A0000EFD10BDD07E0228F6D0D07E0328F6D042
+:10B9B0005F485C490B3009F00CFBF0E706F01BFC1C
+:10B9C00010BD23205749000109F003FB10BDF3B55A
+:10B9D00081B0514C029825460026012710350300FE
+:10B9E00009F0E8FB0906313C3C3143433C3C430051
+:10B9F000494801211030FFF78DFC02990198FFF7AB
+:10BA0000ADFFE87E022828D1A0680468006A0668B5
+:10BA100006F0EAFBF18B424A5143E269891AD339B5
+:10BA2000FF223232E162904202D24248081802E01C
+:10BA3000081A41494018E0624048E16A814200D852
+:10BA40000846E06206E001460198FFF787FFE87EBE
+:10BA5000022802D1286820300775FEBD01466560C6
+:10BA60000198FFF77BFF6660FEBDFF202D49C130C6
+:10BA700009F0AFFAFEBDF8B5064627480D4600248A
+:10BA80003430254F0B0009F095FB09060C10100C03
+:10BA9000161610101600204801213430FFF73AFC2A
+:10BAA00029463046FFF75AFFF8BD78603046FFF769
+:10BAB00055FF7C60F8BDFF201A49F53009F089FA7E
+:10BAC000F8BDF0B5144C0020616885B003268E7671
+:10BAD000CA7E0746032A03D0C97E00293FD03FE033
+:10BAE000087F002804D112480E49D93009F071FAB4
+:10BAF0006068057F684606710221417106F095FB7A
+:10BB00000290FF20F53003900121684601706946DC
+:10BB1000284607F004F814E0D0180020EF160000C3
+:10BB2000E2040000F4B6000074060000FC510100BD
+:10BB30001602000084F8FFFFB5F9FFFF161200009F
+:10BB400020BF6068007F07F025FE0028F8D06068FD
+:10BB5000007F06F050FB60680777FFF70FFC0120BD
+:10BB600061688F7605B0BEE5FD494A68907600E0D1
+:10BB700020BF4A68D07E002803D0D07E937E9842B2
+:10BB8000F6D0D07E002803D00020002191767047A7
+:10BB90000120FAE770B5F24900241031CA7EF04D59
+:10BBA000032A03D02431CA7E032A17D169600028F2
+:10BBB00010D001280AD0EB49EB4809F00AFA00201E
+:10BBC0006968002C0860686008D070BD0320FFF72A
+:10BBD000CBFF01E0FFF775FF0446F0E70C2070BDD6
+:10BBE000F8B5DF4F04461F25E67E330009F0E2FA80
+:10BBF000042A20031B20DA481030844203D0D9499C
+:10BC0000DA4809F0E6F902207C60FFF7ADFF002872
+:10BC100005D07968002008600862786012E00C2581
+:10BC2000002078600BE00120FFF7B4FF054604E038
+:10BC3000CE48CC490C3009F0CCF9002D02D0E07E82
+:10BC4000B042D1D1E07E002804D0C848C5491230A6
+:10BC500009F0BFF9F8BDC24810B51030FFF7C0FFBA
+:10BC6000BF483430FFF7BCFFBD490020583108758C
+:10BC7000BF494870BA49103148610A4624325061C0
+:10BC800088769076012210390A708860486010BD6D
+:10BC900070B504460120FFF723FBC5B20B20FFF768
+:10BCA0001FFBC0B2854204D0B048AE49343809F019
+:10BCB00090F90120FFF714FBC5B21820FFF710FB25
+:10BCC000C0B2854204D0A948A649333809F081F9A9
+:10BCD0000420C043FFF704FBC5B21920FFF700FBA7
+:10BCE000C0B2854204D0A1489E49323809F071F9AA
+:10BCF0009F489B490C38047000201031C876887624
+:10BD00000A462432D0769076994B0124083B1C7168
+:10BD100018600862106208601060FFF79CFF70BD39
+:10BD20008F48007870479249083908717047F3B519
+:10BD30000D468B4983B01031CA7E08462430884CAA
+:10BD4000002A02D1C27E002A03D0C97E022903D074
+:10BD500005E08848616006E0C17E002901D00C2022
+:10BD600000E76060844806F0F2F96168087760686F
+:10BD70007F490160007F002804D17B4879496238FF
+:10BD800009F027F906F030FA7C49884200D20846CB
+:10BD9000FF30C83086B260680321C1760027012DCC
+:10BDA0002FD0724A0399121D5143026851600068F6
+:10BDB00001210170684605F06BFC68460078704907
+:10BDC000000208F0E3FF019106F02FFA01997118C3
+:10BDD00006F0C2FC6168032DC86021D06948086183
+:10BDE000606803210172022141720771021D017F07
+:10BDF000FFF7D7FA6068078307202070002067608C
+:10BE0000B0E606F012FA314606F0A6FC6168C8609A
+:10BE10005D48086108680770096801204870DFE71D
+:10BE20005A48DCE77047F8B54D4E1036F17E0029D0
+:10BE300004D131462431C97E002901D00C20F8BD3F
+:10BE40000221F176464C4A4F5834083F376234603D
+:10BE5000002538602575397920304A004C49C07F6B
+:10BE60008A5A4000085A2B46101881B22A462846A2
+:10BE7000FFF7E1FA002804D03B483A49323009F094
+:10BE8000A8F825610120A5602075658625863448BF
+:10BE90007830857539684888401E48803583002091
+:10BEA000F8BD10B52E4901248868827E032A0CD083
+:10BEB00000684078002806D0C8683649884202D910
+:10BEC0000024FFF70DF8204610BD0024FBE72448AE
+:10BED000826813681978491C1970C1681068C26AB1
+:10BEE000914204D8007D012801D001207047002034
+:10BEF000704700207047F8B51948194C1030606041
+:10BF0000016A00260D68006834212F460E54403720
+:10BF1000B97C002963D1007D032860D106F085F942
+:10BF200001466068406907F0A9FB002857DDFFF76C
+:10BF30002FFC6988401C41186068026811860068FF
+:10BF40002989028E91424AD9012120308175F88ACF
+:10BF5000B98A401A6988401E401887B238E000004C
+:10BF6000D0180020F4B600008D0300006D02000020
+:10BF700088000020CFB9000077BA0000F605000065
+:10BF800010270000CB120000B7891300B70800008B
+:10BF9000FC5101002E841300096A09794A00CD4939
+:10BFA0008B5A028E007D94463F22525D5200895A80
+:10BFB000C91889B201236246FFF73DFA00280ED066
+:10BFC00001280ED002280AD0C349C44809F001F85C
+:10BFD00061680868028EBA1A12B2002ADCDA66605A
+:10BFE000F8BD60680068018E491C0186F0E7F8B56D
+:10BFF000BB4D0026AA680128116A0C6810D00720E2
+:10C00000287006F05DF8B7480078F6F7AFFDA8682D
+:10C010000683026861885186006820308675F8BD05
+:10C02000087913684100AB481F7D415A032F18D08F
+:10C030001A7D022A22D01A7D012AE2D13F231B5DFC
+:10C0400022895B00C05A0023401881B20120FFF70B
+:10C05000F2F90028D5D0A1489F49B53008F0B9FFC2
+:10C06000CFE71E6112683F2396601B5D22895B004B
+:10C07000C05A0023401881B20320E8E75822125B1F
+:10C080001A613F231B5D22895B00C05A00234018C0
+:10C0900081B20220FFF7CFF9AA6801211268117559
+:10C0A000D7E738B58E4C0021A0680D46006842786D
+:10C0B000002A01D045701FE00078002809D0012136
+:10C0C000684605F0E5FA684600788749000208F0FE
+:10C0D0005DFEA0680268C0685268511806F03CFB1B
+:10C0E0000146A068C160057102214172021D017FF5
+:10C0F000FFF757F9A068058305F0E2FF794800785B
+:10C10000F6F734FD38BD10B50146754A0B0090684E
+:10C1100009F050F8060D150408190C1C012100F057
+:10C12000A6F807E00021506800F0A1F810BD01203A
+:10C13000FFF75DFF00210846FFF7ECF810BD00682F
+:10C140000321017510BD00F0A5F810BD62496748D4
+:10C1500008F03FFF10BD70B5614C002809D00128E0
+:10C1600016D0022821D061485B49243008F031FF05
+:10C1700070BDFFF796FF00210846FFF7CBF8A068D7
+:10C18000807E002801D01F2000E00720207070BDB5
+:10C19000A068002501684D70FFF7F0F80320F6F75E
+:10C1A00023FC05F08DFFA56070BDFFF77AFFA06846
+:10C1B000FFF7E4F800210846FFF7ACF80420F6F793
+:10C1C00013FC70BD46498968CA7E022A08D10A68F4
+:10C1D0001378002B04D150600968CA6A1018C8622D
+:10C1E000704710B53E4A00290CD0012907D002291A
+:10C1F00007D03E483849443008F0EBFE10BD401EE1
+:10C2000000E0401FD06010BD35488068002800D095
+:10C210000120704710B504460020002907D034489B
+:10C2200008F0B4FD0146204608F0B0FD401C10BDEA
+:10C2300010B52B488068C07E030008F0BBFF0414D3
+:10C2400014030A1401F0F2F800280BD022492948FF
+:10C2500006E0FEF725FE002804D026481E49001DF2
+:10C2600008F0B7FE10BD23481B490B30F8E710B5A6
+:10C270000446002903D00020FFF7B9FE03E0194867
+:10C280000078F6F773FC2046FFF778F80020F6F701
+:10C29000ABFB10BD10B512488268106A11680068C7
+:10C2A000CB698B60134BC18B9B3359431368D960A7
+:10C2B0000146E0314B8883870C783B231C548B88E4
+:10C2C000C383CB88038409894184116802200875DF
+:10C2D00010BD0000FC510100F4B600005A06000039
+:10C2E000D01800207C00002010270000B2070000BA
+:10C2F00040420F0047040000F8B5FEF702FA064678
+:10C30000FEF770FAF94D07466879F94C002809D014
+:10C31000012823D0022826D003282ED0FF20F5A103
+:10C32000C63033E0F2481830FEF748FA002801D052
+:10C3300003200FE0EE481830FEF7ACF9002804D0D7
+:10C3400060696030007A002806D0E9481830FEF7AE
+:10C3500008FA012068711BE00220FBE7E44818306E
+:10C36000FEF7FFF914E0E2481830FEF793F90028D1
+:10C370000ED1FF20DFA1B83008E0DD481830FEF70D
+:10C380001DFA002804D1FF20DAA1C03008F021FEF8
+:10C39000A169F722087810400870AA79D207120F15
+:10C3A0001043FB2210400870EA79D207520F104365
+:10C3B00008706B79EF22022B04D0012B07D0032BDE
+:10C3C00007D00CE0012E06D8002F04D007E07F1E16
+:10C3D0003E43002E03D010401022104300E01040D6
+:10C3E0000870287C002811D0687901280ED0BF4839
+:10C3F0005438FDF786F8BD49606954397830A26930
+:10C40000FDF7E3FA0020FDF7EFFA04E00846FDF738
+:10C4100078F8FDF70CFBA0690078C00606D4E06947
+:10C420000078C00602D4E079002802D0A079002864
+:10C4300001D0012000E00320FCF747FF032020701B
+:10C4400001202071F8BDAA4810B51C30FEF7DDF9B7
+:10C45000A74C002802D00020607004E0012060702A
+:10C46000A2485438E061A148407C002802D060789E
+:10C47000002805D0E069FDF744F8FDF7D8FA10BDB3
+:10C480009A485438FDF73DF8984A6069543AA0300C
+:10C49000E169FDF79AFA0120FDF7A6FA10BD10B583
+:10C4A00093490022486932238276C27601221A54C7
+:10C4B0004030807C002803D00A700021022001E077
+:10C4C00000210320FFF71FFE10BD70B5884C607976
+:10C4D000C2062046416908464030002A01DA00229F
+:10C4E00002E0028B4B89D2180B460283C0331A7EBE
+:10C4F000002A03D0828B4D8952198283627A002AE6
+:10C5000003D03D2001F0C9F852E08A7E032A4FD0C3
+:10C51000227A002A13D0500701D4D00601D51E205C
+:10C5200036E0100701D53D2032E0D00705D1900755
+:10C5300003D470A1734808F04CFD2A2028E0603134
+:10C540008A78002A05D0C28B551CC5830D88AA4263
+:10C550000FD25A7F062A02D01A7F062A05D1428BB3
+:10C56000531C438309888A4203D2828BC18A8A4240
+:10C5700001D322200CE0027C808A002A0FD00628FA
+:10C580000FD35A48C07B012801D03E2000E008208C
+:10C5900001F083F86069807E032809D001E08842B9
+:10C5A000F5D20120207000210846FFF7ACFD70BDD8
+:10C5B000FFF775FF70BD10B54C494D48CA7B002A86
+:10C5C0002BD0012A29D0022A27D0032A04D049A13E
+:10C5D0004D4808F0FEFC10BD897B02290FD00729C9
+:10C5E0001BD0406901464031CA8A898A511A891E86
+:10C5F00089B2032900D30321028951180BE0406955
+:10C60000014640318A8A032A01D2018903E0428827
+:10C61000C98A5118491C818010BD4069F5E700B5F1
+:10C62000030008F0C7FD0604070B0F1212170029BC
+:10C630000ED00FE0491E02290AD90BE0491F01293B
+:10C6400006D907E0072903D004E00A390C2901D8EC
+:10C65000012000BD002000BDFEB50546244818306D
+:10C66000FEF78DF8002804D1274822A1CF3808F022
+:10C67000B0FC1F4CA069FDF703FC0321A069FDF786
+:10C680002DFCA069EF220178114001702946FDF7C9
+:10C6900069FC002601272B0008F08CFD0E5D5D086B
+:10C6A0005D1D6161155D4D5D613D385D60697121A4
+:10C6B000095C002901D0062101E0C030417EA0695B
+:10C6C000FDF71BFD4BE0E069FDF776FC0146A06934
+:10C6D000FDF784FD43E06169A069D031FDF747FDB6
+:10C6E0006169A0699531FDF750FD38E0C819002057
+:10C6F000900000207372635C6C6C5F736C61766594
+:10C700002E6300006B020000780800000621A0697B
+:10C71000FDF760FD23E020690178A069FDF744FD85
+:10C7200020698188A069FDF741FD20694188A069E1
+:10C73000FDF740FD13E00096019660696030007CD3
+:10C74000002803D069460878384308706946A06914
+:10C75000FDF756FD03E0FE49FE4808F03AFCFEF7FF
+:10C7600018F8002804D1FB48F949801D08F031FC75
+:10C770000C2D07D0072D04D060695E210E52603069
+:10C780008770FEBD606940304683FEBDF0B5F24C57
+:10C79000DC2061698DB0405C042809D0052834D1C3
+:10C7A0006031487A002829D001204874022026E010
+:10C7B0001022EA31684600F0A8FF61691022C831F2
+:10C7C00004A800F0A2FF684605F0BBF8616908AA5A
+:10C7D0006CCA0F46CB6778378A670846FE608030A0
+:10C7E000BD60074620376CC7002303634363012005
+:10C7F000A0310876D9494874052000E00D20FFF7E4
+:10C800002BFF61690020C03108770DB0F0BDF8B58D
+:10C81000D1481830FDF7B3FF002842D0CE4C207A23
+:10C8200000283ED160690025C030007ECB4E002834
+:10C830000BD0B17B0120FFF7F2FE002805D1B17BC0
+:10C840000420FFF7ECFE002806D060690127C03005
+:10C85000407F062807D00CE060695C210D526030F3
+:10C86000457402202FE0B17B0420FFF7D8FE00289A
+:10C8700010D0B07B030008F09DFC173F3F3F3F1EE8
+:10C880003F3F3F3D3F203F3F3F292C3F3F3F3F3F02
+:10C890003F2F3F0060696A21095CC90702D0C030A0
+:10C8A0004577F8BD0C20FFF7D7FE60696030817ACC
+:10C8B00039438172F8BD072005E0FDF7D0FF00285D
+:10C8C000F8D075740B20FFF7C7FEF8BD00F02CFF01
+:10C8D000F8BDFFF75BFFF8BD606900218030816023
+:10C8E000C160057437740620FFF7B6FE60696030DA
+:10C8F0008570F8BD0920E6E700F0D8FEF8BD70B5F8
+:10C90000964DA87B072834D1934CDE22606941887C
+:10C91000125A491C91422CD1217A002929D1014671
+:10C92000E0318B88C28B934207D1CA88068CB24211
+:10C9300003D10A89468CB2420DD0884A8689303AA2
+:10C9400056819381CB88D3810989118201462E318A
+:10C9500051600121117001221146FDF79FFC002159
+:10C960000420FFF7D0FB61690020C0314877A8732D
+:10C97000E87370BD70B5794CA07B162803D074495C
+:10C98000774808F026FB74480021426973486032FA
+:10C99000117291703038067E0B250123002E06D0CF
+:10C9A000027D002A12D14575817503750EE0567A15
+:10C9B000002E06D051722288828381760C22027664
+:10C9C00004E022888283817683770576A17370BD27
+:10C9D000F8B5614DA879800723D5287A002820D1A1
+:10C9E0005E4C0120A17BFFF71AFE002819D1A8692F
+:10C9F0000127C0780026030008F0DCFB0E62620805
+:10CA0000622E3B4F0A62146220524562022021E0EE
+:10CA1000A07B042804D052484D49333808F0D9FA95
+:10CA2000A673F8BDA07B082804D04D4848492D388E
+:10CA300008F0CFFA686960308670F1E7A07B0A28B9
+:10CA400004D047484249263808F0C3FA6869603084
+:10CA500007720B20A073F8BDA07B0E2804D0AB207A
+:10CA60003B49C00008F0B5FA6869603007720F20D2
+:10CA7000F0E7A07B0F2804D039483549183808F072
+:10CA8000A8FA1120E6E7A07B0F2804D034483049EB
+:10CA9000123808F09EFA1320DCE7FFF76BFFF8BDB1
+:10CAA00069690846C0310A7F062A04D16030807A5D
+:10CAB000800700D50E77487F0628F0D14E77F8BD65
+:10CAC000274823496E3008F084FAF8BD10B5234C8E
+:10CAD0000020A17BFFF7A3FD002804D11E480122FE
+:10CAE000017A114301720420A07310BD10B51A4CD5
+:10CAF00060690146C0314A7F002A06D0097F0629B5
+:10CB000003D0217A0122114321726030807A80079C
+:10CB100015D4E069FDF752FB61696031C872E069C4
+:10CB2000FDF74EFB616960318881E069FDF74DFBDF
+:10CB3000616902226031C881887A10438872606915
+:10CB400000220146C0310B7F062B00D10A7709E095
+:10CB5000F4C60000ED07000090000020C819002076
+:10CB6000770500006A231B5CDB0703D106234B77A4
+:10CB70004030428310BDF8B5FE48817B0020FFF7AE
+:10CB80004EFDFD4C0126002807D160696030407AD7
+:10CB9000002802D1207A30432072616900255E208E
+:10CBA000455262204654C831E069FDF7C8FA616910
+:10CBB000E0699131FDF7D2FA6169042208469131AA
+:10CBC000B93008F069F8EB483038017E08270029B1
+:10CBD00006D0017D002912D14775857506750EE0D6
+:10CBE0006169054689894183E249E0691439FDF7A5
+:10CBF0008EFAE049E0690C39FDF796FA2F76DD48A8
+:10CC00000E218173F8BD70B5DA4D0020A97BFFF7C6
+:10CC100006FDD94C002803D1207A01210843207257
+:10CC2000E069FDF730FA00280ED0E069FDF726FA3A
+:10CC30006169DE225052498800F0C1FD002806D00B
+:10CC4000282000F02AFD70BDFFF740FF70BDE069AD
+:10CC5000FDF70EFA6169E0310870E069FDF701FA4D
+:10CC60006169E0314880E069FDF7E0F96169E03130
+:10CC70008880E069FDF7E3F96169E031C880E06927
+:10CC8000FDF7E6F96169E03108810720A87370BDFE
+:10CC9000F8B5B94CA079C0076FD0207A00286CD1C4
+:10CCA000B44D0120A97BFFF7BAFC002853D1E069FD
+:10CCB0000027C178022201260B0008F07BFA0D162E
+:10CCC0001308354A4A384C474A1929444A00FDF7A7
+:10CCD00016FA6169DA225054AE735E204752603111
+:10CCE0008E7038E000F076FD35E0FFF78CFF32E023
+:10CCF000A97B0020FFF793FC002802D1207A304363
+:10CD0000207260695E210F52603086700A2018E040
+:10CD1000A87B0B2802D0207A104320722F74606900
+:10CD2000603046720C200CE0FFF725FF13E0A87B73
+:10CD3000112802D0207A1043207260696030877019
+:10CD40001620A87307E0FFF7D1FE04E000F00FFD06
+:10CD500001E0FFF7BBFEFDF76EFD002804D14F2078
+:10CD60008649000108F035F9606900238030016BC5
+:10CD7000426B491C5A4142630163F8BDF8B57D4FCF
+:10CD8000012814D1787C002802D1387C002801D0F9
+:10CD9000FCF74DFEFCF7E0FBFCF7D3FB0020FCF7B3
+:10CDA00094FAFCF71EFBFCF760FBFCF7A5FBF87B95
+:10CDB00001260025704C00280FD16079C10705D0ED
+:10CDC0000220F87360694030057402E0800717D5CF
+:10CDD000FE7300210120FFF796F9F87B012802D0AD
+:10CDE000022808D00CE06079C00709D00220F8734F
+:10CDF0006069403005746079000701D50320F8733D
+:10CE000000F018FDFFF703FD2079002801D03D81D7
+:10CE100002E03889401C38816079C007606904D01D
+:10CE200072210D544030858203E04030818A491CD4
+:10CE30008182E079002806D061696031887C02280F
+:10CE400006D8401C887460696030807C022804D950
+:10CE50003D817D81606960308574B97B0020FFF77A
+:10CE6000DEFB002802D1B87B06284BD16069014661
+:10CE7000C0310A7F062A45D0497F062942D03D4964
+:10CE8000C97B03293ED16030807C00283AD1FDF770
+:10CE90002FFC002836D0FDF7A5FC002832D06169B0
+:10CEA000C88801282ED90A4640325674D08A978AFB
+:10CEB000831E9F4201DB012002E0C01B401E80B2A6
+:10CEC0002C4B1F89A3899F4201D3012302E0DB1B66
+:10CED0005B1C9BB2984200D91846012800D15574BA
+:10CEE0002A22525C002A11D0224A898D52898A4214
+:10CEF00001D3012102E0891A491C89B2884205D96F
+:10CF0000084603E06169012040314D7461694A8837
+:10CF100010180881FFF74FFB6069122215490C3089
+:10CF200007F0BAFEFFF7D1FAFEF7E3FF00280AD0B8
+:10CF3000104810388179002905D161690246898934
+:10CF4000203A118586710C481C30FDF7BCFC002886
+:10CF50000FD0E06900788007800F012809D00228EF
+:10CF600007D0FDF7D0FC002803D10449044808F09D
+:10CF700030F807E0C819002090000020F4C6000037
+:10CF80007F030000606940308574F8BD70B5FE4CC9
+:10CF9000607900283CD0FD4D022810D1FDF789FBB7
+:10CFA000002803D1FA49FB4808F013F86A69002306
+:10CFB00080329068D168401C5941D1609060002651
+:10CFC00066712079012804D12671A87910210843BF
+:10CFD000A871E078012816D1E670A87908210843E5
+:10CFE000A871FDF7F5FB002804D1EA48E84918309C
+:10CFF00007F0EFFF6969002380318A68C868521C16
+:10D0000058418A60C860A079012802D00120A0712F
+:10D0100070BDA67170BDF8B5DC4CDB4DE269002730
+:10D020001078042183079B0FE8790126012B11D08A
+:10D03000022B0FD0032B01D0207A30E06178002939
+:10D0400005D1AE70A1793143A17123E0EF71F8BD34
+:10D05000EE71F8BD5278D3061CD060780028F8D164
+:10D06000D006C00E1B2818D8607908436071FDF700
+:10D07000E2FB002804D1C748C5494B3007F0A9FF9F
+:10D08000606900238030026B416B521C594102637E
+:10D090004163E8790128DBD1D8E7207A10210843E1
+:10D0A0002072F8BDF8B5B84D0446303D287D002704
+:10D0B00000280AD0002978D1677010202070687D80
+:10D0C000A070A87DE0702F756FE02878002814D03C
+:10D0D00000296AD1072067702E462070083607E0C5
+:10D0E000686807802F700A223146A01C07F0D4FD23
+:10D0F00028780028F4D1A77057E0287EA24E143E6D
+:10D10000002837D0002950D1297EA0480B0008F014
+:10D1100051F80D2C2C2C2C2C2C2C2C112C2C2008C8
+:10D120002C0067700C212170A97EA1704069808954
+:10D13000A08018E008216770217040690A46808944
+:10D14000914960801439201D07F0A6FD3089A08127
+:10D1500009E067700B212170A97EA1704069808968
+:10D16000A080A87FA0712F761FE089498A4807F028
+:10D1700030FF1AE0844810388279002A08D000294C
+:10D1800013D1677011212170B189618087710CE022
+:10D19000827A002A0BD0002907D1677012212170F2
+:10D1A000318A6180718AA18087720120F8BD0020D8
+:10D1B000F8BD76480078012801D00C2070477249EC
+:10D1C0000020303908700875087620318871704762
+:10D1D00070B56E4C064620780D46002804D093208A
+:10D1E0006B49000107F0F5FE01202661E07225621F
+:10D1F0002070FFF7DEFF002804D0674864494930FB
+:10D2000007F0E7FE70BDF8B5604C2178012902D126
+:10D210002178012901D00C20F8BD01460546606146
+:10D2200012220C31584807F037FD01274035AF7402
+:10D23000554D2888FDF723FA002827D02888FDF7C8
+:10D24000D9FA002822D02888FDF78EFA00281DD0B0
+:10D250002888FDF7A8FA002818D0FCF742F9606981
+:10D260000026C088002825D048481830FDF787FAE6
+:10D2700000281FD06069C030007E00281AD0A97B2A
+:10D280000120FFF7CCF9002802D013E01220F8BDEE
+:10D29000A97B0420FFF7C3F900280BD16069014680
+:10D2A0004030868360314E740220FFF7D5F9606903
+:10D2B00040304674344830380078002806D1606920
+:10D2C000C18D008C814201D9A18102E06069008C8E
+:10D2D000A08160694189491E8AB2298989182981FA
+:10D2E000297B002902D06E812E7302E0698989189A
+:10D2F0006981014640318B8A9B188B82C388012B40
+:10D3000001D85B1CC380002A01D060308674A87BE2
+:10D31000032816D0487C002815D02889A189884286
+:10D3200011D2FDF7E5F900280DD060692A21095CCA
+:10D3300000290BD06989808D814207D3A670E770E0
+:10D340000CE0A7700AE0A670E67007E0688900218B
+:10D35000401C6881A7700520FEF7D5FE6069512149
+:10D360000E54A97B052901D0062920D1DE2142884F
+:10D37000095A511A09B2002919DB01460522E03188
+:10D380002430F3F721FF09E0C819002090000020A5
+:10D39000F4C6000039070000F10800000122022154
+:10D3A0006069FCF77BFF6069C0304677AE736069E7
+:10D3B0004189FDF728F8A07800282AD1606920303B
+:10D3C000807A002800D06E810120FBF788FE60691A
+:10D3D0003830FCF73EF860693430FBF751FF216AC2
+:10D3E00000200856FBF718FF0120FCF777F8FBF741
+:10D3F000D1FEFCF76FF80120FBF7B1FF6069406ECA
+:10D40000FCF782F8FFF71FF860694030C07BFBF73C
+:10D4100040FF6671E671A6712672A6726672267169
+:10D4200002202070FCF768F80020F8BD10B5F74C1A
+:10D430002078022801D00C2010BDA078002803D04D
+:10D440000020FFF79BFC17E0FCF74BF800F01DF9FC
+:10D4500060692030007C012809D0FCF79FF8FBF7B9
+:10D460009EFEF3F7AEFFE07A012803D004E0FCF75C
+:10D470009DF8F4E7F5F7CCFD002010BDE349C87234
+:10D48000704710B5E14C2078032803D0E049E1480B
+:10D4900007F09FFDE04801218278002A06D0002293
+:10D4A00082700171A27904231A43A271A2691378D0
+:10D4B000DB439B0707D1C378002B04D1C170A0794F
+:10D4C00002210843A0711078C00606D4E0690078F4
+:10D4D000C00602D4E07900280CD06078002809D179
+:10D4E000A079002806D1FEF7F2FC002802D0207AAD
+:10D4F000002803D00120FFF741FC03E0FEF7A3FF63
+:10D5000000F0C3F82078012806D0F3F75AFFE07A3C
+:10D51000012801D1FCF7DAF810BD38B5BB4C6069C1
+:10D520002030007C012820D1A07A00281DD1684637
+:10D53000FCF744F8002818D061693120405C0128CC
+:10D5400010D1B54A0D236D460020D356285683428C
+:10D5500008D050738989303A9185114620318873FB
+:10D5600001208872A07A401CA07238BD70B5A74C0B
+:10D5700006462078042804D0A648A549553007F06F
+:10D5800028FD607910210843A34D6071002E47D01B
+:10D59000FCF765FA61780126084300280ED1687C03
+:10D5A00000280BD0E0694178C90607D00078E979F6
+:10D5B0000007C00F884201D1667247E0E07800287A
+:10D5C00009D0E0694178C90605D10078C00602D4C7
+:10D5D000FFF7A3FF3AE0FFF7A0FFE069A979007821
+:10D5E0004007C00F884205D0FFF7D0FC60790821C2
+:10D5F00008436071E069E97900780007C00F88424C
+:10D6000001D1FFF708FD6079304360710020E071BF
+:10D61000A079000702D5A87B022817D0207A13E052
+:10D62000022108436071E079401CC0B2E07101281A
+:10D630000CD8687C00280DD0774854384078C10653
+:10D64000C90E052906D2C006002803D00120FFF725
+:10D6500095FB01E0FEF750FE2078012806D0F3F795
+:10D66000B0FEE07A012801D1FCF730F870BD10B5AA
+:10D6700066480078042804D066486549B73007F04A
+:10D68000A8FC0120FFF77AFB10BD10B50720FBF7BF
+:10D690001CFE5E490420087010BD5C4933224969B4
+:10D6A00050545D4A032090738876704710B5574CEC
+:10D6B0006069C030007F00281CD0062806D056487C
+:10D6C000817B0020FEF7ABFF002813D06069014684
+:10D6D000C0310A7F130007F06DFD070D0D0D0D0D14
+:10D6E0000D050D006030807AC20704D0C04380076A
+:10D6F00000D1087710BD0C20FEF7AEFF6069012253
+:10D700006030817A1143817210BD10B5002A0AD0B1
+:10D71000002306E0D41A6418203CE47FC4545B1C48
+:10D72000DBB29342F6D310BD10B503F0B0FF0C2866
+:10D730001CD3364C08216069D03003F0A9FF0028C3
+:10D7400006D060690421953003F0A2FF002803D1C0
+:10D750002F49324807F03DFC6169042208469531A3
+:10D76000BD3007F099FA0420FEF776FF10BD7CB5B6
+:10D77000294E0020B17BFEF752FF0125234C0028E3
+:10D7800002D1207A284320726946E069FCF73EFD09
+:10D79000684600780021C207D20F684602706069AF
+:10D7A000002A02D06030057401E0603001746069C5
+:10D7B0005E221152603085700820B0737CBD401A23
+:10D7C000174900B2884201DC002801DC01207047C3
+:10D7D0000020704770B5104D0020A97BFEF71FFF99
+:10D7E0000A4C002803D1207A012108432072E06905
+:10D7F000FCF77EFC6169DE2250524988FFF7DFFFAB
+:10D8000000280FD02820FFF748FF70BD90000020AF
+:10D81000F4C60000330A0000C819002062060000A8
+:10D82000FE7F00006169E069E031FCF755FC0520EE
+:10D83000A873EAE770B500F047F8384C384D6079C6
+:10D84000400709D5A97B0520FEF7E9FE002803D093
+:10D85000207A082108432072FFF71AFA00F012F824
+:10D86000FFF7B6F8A079C00609D5A87B030007F03A
+:10D87000A1FC06060606060604060620A873FFF7A6
+:10D880003EF8C2E710B525488179490714D5017AD9
+:10D89000002911D12249897B0B0007F08BFC080D70
+:10D8A000050D0D0D0E0D100D4069002262210A5468
+:10D8B000C030807EFFF7F1FE10BD012100E00221A3
+:10D8C0004069C030417710BD10B51448817909070F
+:10D8D0001DD5017A00291AD1114A947B230007F043
+:10D8E00069FC1416160B16161616161616161616AC
+:10D8F0001616161616161716406960308170407C91
+:10D90000002801D0062000E01620FFF7C6FE10BD5B
+:10D910004069603001728170917310BD90000020E9
+:10D92000C819002010B5031D03600020521E04E03A
+:10D930005C181C60401C2346C0B29042F8DB0020FB
+:10D94000186010BD01460A680020002A02D0104667
+:10D9500012680A60704702680A6001607047000040
+:10D9600000B51A2822D00ADC030007F023FC0D11B1
+:10D970001F131F1F191915171F1F1F1B1F002A28F0
+:10D9800014DD3A38030007F015FC030F11091100EC
+:10D99000002000BD1E4800BD042000BD0D2000BDBC
+:10D9A0000F2000BD082000BD112000BD032000BDD8
+:10D9B00010B50C46F4F784FF00281AD02046F4F77F
+:10D9C00084F9002812D020780E280BD00F2809D017
+:10D9D000022807D0032805D00EA1772007F0F9FA16
+:10D9E000002010BDA078FFF7BBFF10BD09A17D206E
+:10D9F000F4E708A18320F1E710B5F4F7EDF810BDC6
+:10DA000010B5F4F762F910BD10B5F4F744F910BD84
+:10DA1000023000007372635C686F73745F686369DF
+:10DA20002E630000F0B597B00021032004F082F9C6
+:10DA30000025FE4E022775807574347C12E0F06874
+:10DA4000E1004018818800290CD0858069460F705C
+:10DA50004D7001680291808869468880002168467F
+:10DA6000F8F702FD2046641EE4B20028E7D117B0A3
+:10DA7000F0BDEE4BD86019741A80D3E7EB49EC4B3C
+:10DA80004A8800201A4200D00120497C002901D098
+:10DA9000082108437047F7B504460E460078012177
+:10DAA000E34A8140521C114098B0E04A00915188ED
+:10DAB000E04B994205D0009B002B05D0DC4B19426E
+:10DAC00002D001201BB0F0BD009BD84A1943518001
+:10DAD0001A9D002D11D00020287022781A98002756
+:10DAE000401C130007F066FB10EF0D152137555D44
+:10DAF0006A39AFAB85B3EEEDECEF0B28EDD0042027
+:10DB0000E0E702212970A1880170090A4170032011
+:10DB100093E004212970A1880170090A4170E1880D
+:10DB20008170090AC170052087E006212970A1884B
+:10DB30000170090A4170E1888170090AC170218968
+:10DB40000171090A4171A289E81D216907F0A4F851
+:10DB5000A089C01D71E0082129702178082901D110
+:10DB600010212970A1880170090A4170E188817033
+:10DB7000090AC1700520308020466A1D01A90830BD
+:10DB800003F0CFFB00287DD1694630880979401821
+:10DB900053E00A212970A1880170090A417003200D
+:10DBA0000AE00C212970A1880170090A4170E188FE
+:10DBB0008170090AC170052030809DE0A0888446EC
+:10DBC0004000401C81B2308888425BD3052959D37C
+:10DBD0000E202870002008E0A36842009B5A5219CA
+:10DBE00053701B0A401C937080B26045F4D331809F
+:10DBF000B6E08E49487C002873D0401E4874C8683F
+:10DC000021790822C9004518A988286840180838D1
+:10DC1000A16807F041F802216846017100214171B5
+:10DC200028680390A98868460181002101A8F8F7B7
+:10DC30001BFC0020A880002E00D0308090E02978C6
+:10DC400080221143297029784022114329702978B4
+:10DC50008909890112312970A1880170090A41706E
+:10DC6000E288E81CA16807F017F8E088C01C308043
+:10DC70002878410640D5C00972D00121684601715B
+:10DC8000002100E02BE041713188ED1C091D01816C
+:10DC90001A980390E08840190490001D634D059088
+:10DCA000297C68460176002101A8F8F7DDFB0746CC
+:10DCB00030880C303080022F06D0002F50D060E02A
+:10DCC0003CE032E01CE059E06946097EE868CA00A1
+:10DCD00080182A7C914202D28188002902D0042730
+:10DCE0004FE02EE0697C491C69741A990160318803
+:10DCF00081800020308044E04C48A188C1802FE022
+:10DD000029788909890116312970A1880170090AC9
+:10DD10004170E1888170090AC1702289681DE1683B
+:10DD200006F0BAFF2089401D46E728788009800167
+:10DD3000183028702079687002207EE73B480A047A
+:10DD400001D405271DE00289A3889A4201D0062745
+:10DD500017E01E222A70012249043280490C4180BA
+:10DD6000009800280DD0314D0022288811468300EC
+:10DD7000032003F03AFF2078287107E0002030806C
+:10DD800003272A48009942888A434280384699E608
+:10DD9000F7B59AB002000C4606D0172A04D82348DB
+:10DDA000244B4088984202D107201DB0F0BD237853
+:10DDB0005D0601D4DB0901D00820F6E700236D469B
+:10DDC0002B706B701D462378611C9F06931E189361
+:10DDD000531E19939BB2169302AB1793134BBF0EAE
+:10DDE000DE883B0007F0E6F9208511F15EF16BF16A
+:10DDF000A3F1C6F1F2F1FBF1EEF1EDF1ECF1F1F18D
+:10DE0000EBF1EAF1E9F1E8F185F1052A71D104229B
+:10DE100069460A7005490A7969460A71E178A3786A
+:10DE20000A021A436946CA80227905E0DC190020FB
+:10DE3000FE710000FFFF00004A7061788906890EBC
+:10DE40000C2923D009DC891E0B0007F0B3F9091354
+:10DE500052155219521B521D520012291CD004DCBB
+:10DE60000E2915D01029D1D114E0162916D0182961
+:10DE7000CCD115E0800700E04007002839DA2AE11C
+:10DE80000007FAE7C006F8E78006F6E74006F4E781
+:10DE90000006F2E7C005F0E7C004EEE78004ECE717
+:10DEA0004004EAE7800724D5032AAFD105206A465B
+:10DEB0001070487809780002084390800BE1400711
+:10DEC000F1D5062A15D31898617880B2012902D0BD
+:10DED00002299BD101E0022700E0102706226946B3
+:10DEE0000A7000228A8001AEA11C0236BA1C179269
+:10DEF00018E0B6E04A780B7812021A433280801E8E
+:10DF0000891C1890B21C1691384603F0E4F9169952
+:10DF100018986B469A88C919C01BB61D521C9A8066
+:10DF2000179A80B28242E5D900289CD1D3E000073D
+:10DF3000B9D51998694682B20720087000208880F8
+:10DF4000601C891D11E0437806781B0233430B8067
+:10DF5000C37886781B0233434B806E46121FB3880A
+:10DF6000001D091D5B1C92B2B380042AEBD2002A6B
+:10DF700077D1B0E0C00674D5022A72D31898082170
+:10DF800082B2684601700021C18063780371A01CD1
+:10DF900017990EE04678077836023E430E80861CBD
+:10DFA0004E606F46D21AFE88C0180831761C92B2B5
+:10DFB000FE809342EED9DAE76FE076E065E051E06B
+:10DFC00046E01EE014E00AE000E0A0E0800648D54C
+:10DFD00009206A46107096801698D0800FE040069F
+:10DFE0003FD50A22684602708680169AC28006E0F3
+:10DFF000000636D50B206A46107016989080029164
+:10E0000069E0C0052DD5022A7FD318980C2182B271
+:10E01000684601700021C18063780371A01C1799C4
+:10E0200013E04678077836023E430E80C67887783C
+:10E0300036023E434E80061D4E606F46D21AFE8861
+:10E04000C0180831761C92B2FE809342E9D98EE75F
+:10E05000C0045AD5012A58D10D2168460170868026
+:10E0600039E052E0800450D5052A4ED30E2368468D
+:10E0700003708680C8788B78010219436846C18096
+:10E08000521F0281601D039025E040043DD5012A06
+:10E090003BD10F20694608701DE0030435D44B784E
+:10E0A0000E781B023343244E3381032A2DD31B2FBA
+:10E0B00027D011236E46337001261F4BF6033043E1
+:10E0C000588048780B780102194368468180D21E37
+:10E0D000C280E01C029020788006800E1B280AD0A7
+:10E0E0001D2808D00021032003F024FE1248418897
+:10E0F000C90BC903418068461C99F8F7B5F9284651
+:10E1000053E610206B461870DBE70725F7E7082574
+:10E11000F5E700B50022D243074997B04A800328AB
+:10E1200007D1032268460270097901710021F8F7CE
+:10E130009BF917B000BD0000DC190020FFB589B0C5
+:10E140000020019009981027FE4C1E46154608280D
+:10E1500006D0E06901F05EF8002809D03770BEE013
+:10E16000288809213843108013980227017016E08F
+:10E17000E169012088710521E269C9029180E169A4
+:10E180008872E169F0480881E16900208873288875
+:10E190002021084328801121139804270170139827
+:10E1A0000225801C0290307806900A203070E548E5
+:10E1B0001830049001F022FA0020059020462C30FF
+:10E1C00003906DE00998102808D1022D06D001991E
+:10E1D0000298A28D401A8270110AC170E08D0A99CE
+:10E1E000884202D901F0CDF806E0884204D10698B1
+:10E1F000002801D030701CE00298E18D0170090AFE
+:10E20000417012980088401BC01B82B2FF20C01BC7
+:10E21000904200D2024607A8009002980021C3193C
+:10E22000E08D01F056FA3070002805D0C0B2832886
+:10E2300058D0E08D20833EE00598002804D0206C63
+:10E2400000790A282CD336E06846808BC119C9B200
+:10E250000191022D0DD01399019A4978914202D172
+:10E26000228F824208D00191206C0178032908D0C6
+:10E2700023E0084613994870206C0178042906D0E1
+:10E2800007E000790A2818D20120059008E0E18D06
+:10E29000818002990198081802900198281885B287
+:10E2A0000399049801F0ADF9002804D11298008870
+:10E2B000401BB84286DA022D0DD00998102806D1ED
+:10E2C00002990198A28D081A8270110AC1701298E1
+:10E2D000058000203070206C0078032802D00020D8
+:10E2E0000DB0F0BD0220FBE7F8B5964A0026126D8E
+:10E2F000002A2ED0401F934D84B24035E88A234631
+:10E300000833AF8AC318BB4222D88B784F781B02E0
+:10E3100010183B4303701B0A43700B79CF781A0225
+:10E320003A438270120AC2700471220A4271224674
+:10E33000491D801D06F0B0FCE88AA41D001980B2BA
+:10E340008049E882096D002208180270427000E0DE
+:10E3500009263046F8BD30B57A4B028840339B8A97
+:10E36000934213D9774B1C6DA3185C781D78240257
+:10E370002C430BD05C791D7924022C436404640C7B
+:10E38000A41D1219028000200B6030BD822030BD18
+:10E39000F0B585B0074600266846068155E001982D
+:10E3A000417802780D021543417902790802104341
+:10E3B00000044AD43D8003A80023012200905202A9
+:10E3C0001946284601F085F9040044D168460189C0
+:10E3D0000182019841790279090211434378027858
+:10E3E0001C021443AC421CD10A041AD44A04012171
+:10E3F000520C89030A430096C178807809020143D0
+:10E400000023204600F0C1FF040010D10199487993
+:10E410000A79000210430122D20310430871000A56
+:10E42000487101A904A8FFF796FF0400D1D0019913
+:10E4300000964878097800020843694600238A89D3
+:10E44000194600F0A2FF822C05D101A902A8FFF70E
+:10E4500082FF0400A3D06846068109E0019948794B
+:10E460000A79000210434004400C0871000A487108
+:10E4700001A902A8FFF76FFF0028EFD0822C02D07D
+:10E48000204605B0F0BD0020FBE7F7B584B0144688
+:10E490000646002700F071FF2A480025006D00287D
+:10E4A0002FD0059801282CD12046FFF771FF0700D7
+:10E4B00027D1002E29D06846058118E001994878B7
+:10E4C0000978000208432080019B0095587919794A
+:10E4D0000202D8780A4301029F78587839431F789E
+:10E4E00000029B1D384300F050FF002805D101A910
+:10E4F00002A8FFF730FF0028E0D0822800D10020DA
+:10E500000746002E01D00F48056500F03AFF384657
+:10E5100007B0F0BDF0B597B00021042003F00AFC6D
+:10E52000084F00243D467C8040356C73AC73287BDB
+:10E53000B96CC00008380E18B08800280DD0012032
+:10E54000694603E0F01900200128000008703068D7
+:10E55000019000216846F9F78EFAB4803C65AC82E0
+:10E56000EC8217B0F0BDFE4B986418464030017342
+:10E570001A803838D861CDE7F949002049880A0760
+:10E5800000D501200A06120F01D002221043CA054D
+:10E5900001D5042210438A0501D5102210434905F4
+:10E5A00001D520210843EE494031497B002901D0A3
+:10E5B000082108437047FFB5A7B004002898164605
+:10E5C0001B9022D00178E6484D06428822920246EE
+:10E5D00040320092002D14DB8A06920E1E2A0ED0C5
+:10E5E000229A5205520E10D13288172A0DD3009A62
+:10E5F000927B002A09D1DB4D229AAA4205D0CA0992
+:10E6000006D08A06920E122A02D003202BB0F0BD4B
+:10E61000D348826C0098007B2590C0000838101801
+:10E620001F9048060CD40098407B002808D0009921
+:10E6300088731F99289808601F9884800220E5E756
+:10E64000002718A90F7069460F72C54902AA0A640B
+:10E65000309A4A6410A90F850F861B981D460078D2
+:10E6600020908106BE4B601F24901A462C322192C6
+:10E670002898DA691833890E1E93401C0B0006F0A7
+:10E6800099FD1FFDFD11FD1AFD90FDFCFDFBFDFA3E
+:10E69000FDF9FDFCFDF8FDFDFDF7FDF6FDFDFDFDC1
+:10E6A000FDF5FD00032C7BD10320287017226A7032
+:10E6B0000022AA70E0E2052CF5D141780278090227
+:10E6C0001143A74B10AA19831185C27880781202D2
+:10E6D00002435A8300297DD091427BD800211846FD
+:10E6E00081720181491E01841E9800F087FF052078
+:10E6F0002870A81C1D900220009021991E9800F0FF
+:10E7000080FF002803D047E018A90870F0E2944881
+:10E710002030807C012803D002206870102002E0A5
+:10E7200001206870022022908D4830302390002212
+:10E7300020A9239802F0F5FD00282AD120A800780E
+:10E740002299814225D132880099801C511A814238
+:10E750001FDB83481D99C08D0870000A48701D9802
+:10E7600020A9801C1D9000981D9A801C0090239861
+:10E7700002F0D7FD20A909781D9840181D90009837
+:10E78000401880B2009021991E9800F03AFF0028AE
+:10E79000CDD0009802288DD10A2018A908706CE20B
+:10E7A0006DE0072C6BD341780378090219436C4B59
+:10E7B0008446198310AB1985C37880781B021843EF
+:10E7C000674B0029588305D0814203D801211846A0
+:10E7D000817200E0A4E061464B7909791B020B438A
+:10E7E000038100218173104600F014FD00280FD131
+:10E7F0005B480121C26991710522C369D2029A80E6
+:10E80000C2699172C26958491181C069002181733E
+:10E810005349E01F08841B98C01D48621E9800F0F1
+:10E82000EDFE07202870681C009001201D904C48C8
+:10E830000021C18530E01D98012815D04848C169E4
+:10E84000897901292FD000981038C17B807B09027B
+:10E85000014300980170090A41700098801C0090E3
+:10E860001D98801C80B21D903D4809E013E2BEE176
+:10E870007AE1D8E00DE2A0E080E03BE01EE2B6E005
+:10E88000C18D00980170090A41700098801C0090A9
+:10E890001D98801C80B21D9021991E9800F0B1FE39
+:10E8A000002802D006E0818DD3E731881D98081A30
+:10E8B0000428C0DA1D98012800D16DE72848C169F5
+:10E8C0008979012903D0828D26498A4205D1818D1B
+:10E8D00000980170090A417009E000981038C17B66
+:10E8E000827B0802009910430870000A48701D9846
+:10E8F000801CC1E1072C01D0152C78D14178037818
+:10E9000009021943164B198310AB1985C378807817
+:10E910001B02034312480029438301D0994201D9C5
+:10E920000120F1E60E4801218172002101818173ED
+:10E93000052C07D024981B99C0B2491D02F0CBFCCE
+:10E940000028BAD100200649C04308841B980096CD
+:10E950000195007818AB8006800E1CAA002105E006
+:10E96000F0190020FFFF000001280000FFF7E6FB80
+:10E970000746FE4810A9008B08857EE1032CBCD118
+:10E98000402210A90A86417802780802F74910430C
+:10E99000088310A9088520A9009131886B1C491EA5
+:10E9A0008AB2002100F095FE18A90870002830D125
+:10E9B0000B20287020A8008833E0052C9DD18021F1
+:10E9C00010AB1986014640780B780202E7481A43DB
+:10E9D0000283CB7889781B021943E44B10461984D3
+:10E9E00010AB1A85E24A914202D307208CE697E0E9
+:10E9F0003F23DE4A9B021943118421AA00923288E8
+:10EA00006B1C521E92B200F064FE18A90870002818
+:10EA100003D08328B1D102272FE10D20287020A830
+:10EA20008088401C28E120990C22C9095143C91C47
+:10EA30001E91A14204D92098400671D500201BE107
+:10EA4000417800780902014310A801851B980078DD
+:10EA500042062898C01C1D90002A62DA05206A46EA
+:10EA600010721B980078C00944D0082268460272D0
+:10EA70008181A01A87B268468782289806901E98DE
+:10EA8000201A81B26846C1811D980490401806F092
+:10EA900064F9079006982599C0190890491E08A89E
+:10EAA000017102A83099F8F7E6FF07460021684691
+:10EAB0000172002F1BD0022F18D1009808A9007BEB
+:10EAC0000979401E884210DDA848289A836CC90045
+:10EAD0005A50816C08A80079C000001D0C520098A3
+:10EAE0000099407B401C4873C7E00527EAE00620F8
+:10EAF00069460872002000901E980021201A20907C
+:10EB000082B21B9B10A8DB1C008D00F03EFC01466E
+:10EB100018A80170002268460272832903D003E01E
+:10EB200093E00720E4E702271B98007840060ED503
+:10EB30008E484188C90506D510AA018B128D9142D5
+:10EB400001D100214162002018A9087094E0FF2142
+:10EB5000013110A80186018D844801832099018428
+:10EB60001D994162132085E0052C6ED3417803780E
+:10EB70000A021A4310A90A859446092269460A72B4
+:10EB80000021009101222499D20311438AB2C17855
+:10EB9000807809021B9B01435B1D604600F0F5FB7A
+:10EBA00018A90870002269460A720122520210A9AF
+:10EBB0000A86832802D0002805D099E06B48098D89
+:10EBC000018302277EE06948006D002807D02046B7
+:10EBD0001B99FFF789FB18A9087000284DD12B4617
+:10EBE000324620461B9900F024FB074645E01B985F
+:10EBF000022C4078009064D1002801D0012860D117
+:10EC00000A2168460172009901731AAA002000992E
+:10EC1000FFF73BFC0146684641730021817302A85F
+:10EC20003099F8F728FF0746002168460172012154
+:10EC3000890210A80186022F08D04C48006C807908
+:10EC4000002807D018A9087020E04BE04749009839
+:10EC5000088337E0002F03D0812018A9087031E025
+:10EC60001AAA01200099FFF710FC18A908700028C3
+:10EC700003D119202870012030806846007A0028CE
+:10EC800004D002A83099F8F7F6FE0746002F2BD0E3
+:10EC900018E0062038E522993448090711D5012CDF
+:10ECA0000FD10B2269460A72C08888810021042096
+:10ECB00003F040F8082010A90886BFE62098400617
+:10ECC00010D50327294810AA4188128E114341808C
+:10ECD0005005400E04D01F99289808601F98848022
+:10ECE000384693E404200FE518A8007800280ED0D9
+:10ECF000012028701B980078687010A8008DA870FB
+:10ED0000000AE87018A8007828710520308017489C
+:10ED100010AA4188128E91434180E1E7FFB5064673
+:10ED20009FB000201B903178012088401149124A81
+:10ED3000084010A908860D494988914203D000284F
+:10ED400004D0080702D5012023B0F0BD219D002783
+:10ED50002F7020983C46018810A8018418A80771DC
+:10ED600000F00BFB6846077202A907E0F0190020CB
+:10ED70000102000009F80000FFFF0000FA480164EA
+:10ED800001464031826C1A91097BC9000839571835
+:10ED900022994164307801282AD0022809D003281A
+:10EDA00079D12878800980011D302870EE48B1881B
+:10EDB000C1803078022804D12878800980011B3076
+:10EDC000287001A8009010A8008CEB1CC01E82B215
+:10EDD000B088002100F07DFC0028E1D1B188697085
+:10EDE000090AA9706946888810A9C01C08842DE109
+:10EDF000717918A801713079012802D00228CFD189
+:10EE0000E6E0D9487F2340881B010246184010AB3A
+:10EE10001886802840D006DC102810D020280ED07C
+:10EE200040280AD120E0FF38013859D0FF38013896
+:10EE30006AD0FF38FF3802387ED0052491E0D00632
+:10EE400001D5082000E010201B90042069460872BC
+:10EE50000020888118A800900195318919AB1CAA5F
+:10EE60001B98FFF76BF977E0BF4B3289188B824212
+:10EE70004FD10A221B92002973D101A9009110A938
+:10EE8000098C6B1C491E8AB2002100F022FC18A9D3
+:10EE900008710B2017E0F6E0B34B3289188B8242E1
+:10EEA00037D10C221B9200295BD101A9009110A936
+:10EEB000098C491E8AB21946098C6B1C00F009FCAA
+:10EEC00018A908710D2028706946888810A9401C6F
+:10EED0000884042069460872A348008B888140E0BA
+:10EEE000A14A3389108B834213D112231B9300292B
+:10EEF00037D1536A002B05D00091128C00F045FAEF
+:10EF000018A9087113205EE097483289038B9A4252
+:10EF100001D00424E7E016221B92026D002A09D1D9
+:10EF2000F268002A06D002651A98328A82821A9AFA
+:10EF30000020D082002900E02FE012D1B888396883
+:10EF4000FFF7D2F918A9087100280AD1B8882B4612
+:10EF500018AA396800F06DF90446022818D0042C6C
+:10EF600016D0B88800280FD06846007A002804D050
+:10EF700002A82299F8F77FFD04460120694608722D
+:10EF8000386803900020B880002C5FD0052C7BD01F
+:10EF90006846007A032873D0A5E018201B9000294A
+:10EFA00005D071483189018300210165D9E76E4898
+:10EFB0000246017E18320120FFF767FA18A908718E
+:10EFC0000028CED119202870012010A90884C8E794
+:10EFD0001A98407B002856D0307AC0001358001D84
+:10EFE0000193105A1D9000291AD100F0CAF9062089
+:10EFF00069460872002000901D980F3882B201986F
+:10F000008178437808021843019B0021DB1C00F043
+:10F01000BCF918A90871002269460A72832830D009
+:10F02000002118A8017110A801840121684601720D
+:10F03000019803901A981A99407B401E48731A98B9
+:10F04000807B002802D01A99401E887310A8008E79
+:10F050007F21090102468A431DD0434800220088CF
+:10F0600011468300042002F0C0FD3F483178017151
+:10F0700010A94088098E08433B4948800FE003E00F
+:10F080002BE002242FE00524374810AA4188128E75
+:10F090009143418027E034494A8882434A80684648
+:10F0A000007A002805D03048416C02A8F8F7E3FC4C
+:10F0B000044618A80079002815D01B986870012014
+:10F0C00028702948008BA870000AE87018A80079F9
+:10F0D0002871052110A8018405E02348416C02A88D
+:10F0E000F8F7C9FC044600F04CF91F484088400579
+:10F0F000400E20D11A98807B00281CD1B8880028A7
+:10F1000019D0209910AA0988118422990091396890
+:10F1100018AA219BFFF74FFA044602280BD00120C2
+:10F12000694608723868039002A82299F8F7A3FC90
+:10F1300004460020B88010A8018C20980180204649
+:10F1400002E600B50022D243074997B04A8004285E
+:10F1500007D1022268460270097901710021F8F78F
+:10F160008AFC17B000BD0000F019002010B5394C22
+:10F1700003780022216C012B02D0022B44D126E01F
+:10F180000B78002B01D0042B03D10A71226C0321D0
+:10F190001170216C83880A79D200921D8B52216CE8
+:10F1A0000A79D20008328918C2880A80216C038942
+:10F1B0000A79D2000A328B524289206C0179C90047
+:10F1C0000C314252216C0879401C087120E00A740D
+:10F1D000226C81889180216CC288CA80226C01894E
+:10F1E0001181226C41895181216CC068C860616CB9
+:10F1F000206CF8F740FC0146022807D0206C007C08
+:10F20000002802D1002903D0812010BD832010BD29
+:10F21000002010BD8178012909D100880521C9028B
+:10F22000884202D0491C884201D100207047052045
+:10F23000704710B51488844201D2052010BD1724F0
+:10F240001C701080421E491C581C05F025FD002032
+:10F2500010BD0000F019002010B58B78002B11D0E4
+:10F2600082789A4207D10B88002B0BD003E0091D4E
+:10F270008B78002B08D08B789A42F8D103880C88C1
+:10F28000A342F4D1002010BD812010BD10B500298B
+:10F2900002D001290DD102E00088000501E00088BC
+:10F2A0008004800F07D001281CD0022809D0032831
+:10F2B00010D0812010BD002901D0032010BD0220F4
+:10F2C00010BDF5F7EEFD03280CD004280AD0002865
+:10F2D00006D009E0F5F7E5FD042803D0022803D0A5
+:10F2E000052010BD002010BD0F2010BDF3B5C81CB7
+:10F2F00080080E46800081B0B04201D08620FEBD5D
+:10F30000FE4C354626600198A08000202081E080D8
+:10F3100014E0B807A978800D0843F94905F036FDD7
+:10F32000E088401CE080B80607D42089401880B2ED
+:10F3300020810199081A8019A8600C352F88780758
+:10F34000E7D40020A072FEBDEC480C22C1880089E1
+:10F350005143081880B2704770B51346E74A451804
+:10F360009488AC4201D2842070BD126810180A46FD
+:10F37000194605F091FC002070BDE049012088721B
+:10F380007047DE49002088727047FFB589B0970446
+:10F390000E460546BF0C029200F034FA040021D05C
+:10F3A000002069460873D548807A012812D00121CF
+:10F3B0002046FFF76BFF002815D12078400609D5BD
+:10F3C0000221684601730582218841828682C782B4
+:10F3D0000C9806900298000407D500273E460125A8
+:10F3E00001970CE001200DB0F0BD2078A1788007D6
+:10F3F000800D0843C249019005F0C8FC0D460298F3
+:10F4000040040AD50198A84207D12088E1788005F8
+:10F41000800F00020843B04201D3AE4201D9072059
+:10F42000E1E7B81980B20290A84201D90D20DAE7CD
+:10F430006846007B002804D003A8F8F718FB0028D2
+:10F44000D1D10198A8420BD1208803210902884319
+:10F4500002998905890F0902084320800298E0700B
+:10F460001298002800D007800C9800280CD0207833
+:10F47000000609D4A0683A4680190C9905F00CFCE6
+:10F4800020881021884320800020ACE7FFB59B4DE9
+:10F4900081B00E46E8882F680C21009048433C1844
+:10F4A0009749039805F072FC0A462889E11B8446B7
+:10F4B0000C314018318880B28B0601D5002300E062
+:10F4C00013461818AB8880B2834202D8842005B056
+:10F4D000F0BD0098894D401C80B2E88021800D99D4
+:10F4E000002900D00C600399A170E2702188039D6F
+:10F4F0008908AD058900AD0F294303252D02A943D5
+:10F500009505AD0F2D0229430425294321800C992F
+:10F51000002900D0088001998978A1710199098892
+:10F52000A1803178890601D50B9905E073496244C1
+:10F5300092B20A81991AC919A16000212173327807
+:10F54000920601D50020C2E700910B9B0A9A04990C
+:10F55000FFF71BFFBBE7FEB5044600F053F90700B9
+:10F5600008D0664D641EE8880190A6B2286834462B
+:10F57000009015E00120FEBD0C2000996043095A5F
+:10F580008A060BD489078A0D0099801C085C5C49A7
+:10F59000104305F0FBFB2889401A2881641CA4B2A3
+:10F5A0000198A042E8D8EE8000203870FEBD002807
+:10F5B00003D0401E0880002070470120704710B51E
+:10F5C0004E490288CB889A4201D3822010BD0B6835
+:10F5D0000C21514359180B88CC789B059B0F1B02BB
+:10F5E000234341608C7904738C884481C38189688A
+:10F5F000521C016102800281002010BD01210182A4
+:10F600007047FEB505460020C043088068680F4675
+:10F6100081786846817068680188684601800021A9
+:10F620008171288A2C88A04200D304462C8234E0C1
+:10F63000288A401C2882301D6968FFF70DFE0028CB
+:10F6400029D139882F48814201D1601E38806888CD
+:10F65000A04227D33088F1788005800F000208434C
+:10F6600002906946301DFFF7F7FD002813D1298964
+:10F67000244881421AD000213046FFF707FE0028B7
+:10F6800009D12A890298824205D1E968B06805F05B
+:10F69000D6FA00280AD0641CA4B2204600F0B2F8C2
+:10F6A0000600C5D1641E2C828220FEBD7C80B0790C
+:10F6B000B871B088B8803088388130788007810D83
+:10F6C000B078014379810298B881B0683861002030
+:10F6D000FEBDFFB585B014460F46059800F092F8C0
+:10F6E000050037D00548BE05807AB60D01281CD02C
+:10F6F00000212846FFF7CAFD002805E0481A00202F
+:10F7000001020000FFFF000022D1287840060CD53E
+:10F71000012168460170059981802988C180068190
+:10F720004481F8F7A4F9002812D12888AA78810723
+:10F73000890D11438005800FEA7800021043BE4214
+:10F740000AD0374A914207D3611E814204DD0B2063
+:10F7500009B0F0BD0120FBE7864201D90720F7E799
+:10F76000801B82B2A24200D922460E98002800D007
+:10F7700002800898002804D0A8688119089805F02C
+:10F780008BFA0020E4E770B514460D4600F03AF815
+:10F7900000280DD001882980002C0DD001788078B8
+:10F7A0008907890D01431E48814203D2012002E0EE
+:10F7B000012070BD00202070002070BD70B516467D
+:10F7C0000D4600F01FF804000DD02D882580FF2E77
+:10F7D00016D0A807A178800D0843114905F0D6FA84
+:10F7E000002E06D101E0012070BDFF31FF31033151
+:10F7F00089B2A170A80880008905890F084320807C
+:10F80000002070BD0749CA88824207D3002805D06E
+:10F810000C22096850430C380818704700207047C4
+:10F8200001020000481A0020F0B585B00E460546DA
+:10F830000020694608707078FE49C00003900C589B
+:10F84000FD4F002D0ED0022D73D0002C72D02078E9
+:10F85000801E030005F0AEFC09837F7F7F83797FE4
+:10F8600077727F00002C03D1F4A16B2005F0B1FB6F
+:10F870002078801E030005F09DFC09065E5E5E197F
+:10F88000365E50545E003078062803D0EBA1762017
+:10F8900005F09FFBB8687168806C032205F0FCF9E5
+:10F8A000012069460870002835D1CEE730780C2851
+:10F8B00003D0E2A1812005F08CFBE06800780028ED
+:10F8C00006D0B8687168806B102205F0E5F928E071
+:10F8D000B8681021006B05F03CFAB868816A006BCB
+:10F8E0000A787168F1E730780D2803D0D3A194200D
+:10F8F00005F06FFB04206946087071684878097844
+:10F9000000020843B9684A6A517812780902114323
+:10F91000484069468880084608E0C8A1AF2005F045
+:10F9200058FB6846007800288FD06846F5F7BEFA85
+:10F930008BE727E01CE0C1A1B420F0E7B86861695B
+:10F94000006CFEF708F8A16900E0E168B868006C97
+:10F95000FEF701F803E0B9A1E32005F03AFBB8682F
+:10F960002146006CFDF7F7FFB24A03990020505082
+:10F97000022D07D0002D05D0012D03D0AFA1EF201F
+:10F9800005F027FB05B0F0BD10B501780124012971
+:10F9900002D0022910D112E04268A74800218260FB
+:10F9A0000170A4486C38C166016741678167D289DC
+:10F9B00002214C3001F0E1F90024204610BDFF2067
+:10F9C0009EA1163005F005FBF7E7F0B505469EA1B0
+:10F9D00003C997B014911390002008A908759549A0
+:10F9E0002A781031944C0491217805910126914F89
+:10F9F000A168130005F0DEFB0CEF07309AF0EDEC88
+:10FA0000EBEAE9E9E8EF20700124FF264F360546CE
+:10FA100010A80570457001F0C1F90746012803D010
+:10FA200086A1304605F0D5FA10A93846FFF7FCFE4E
+:10FA30002046641EE4B20028EAD10A206946087014
+:10FA40006846029501F088FA002803D0FF207BA1C8
+:10FA5000583068E0002646E3C86A0078C0072FD017
+:10FA6000012069460870684601F076FA002804D043
+:10FA7000FF2072A16B3005F0ACFAA068006CFDF7B6
+:10FA800061FF050004D1FF206CA16E3005F0A1FAE2
+:10FA900008984078C0003D5006202870A068016892
+:10FAA00069600069A8606448C01CE860284601F0ED
+:10FAB00053FA022804D0FF2060A1783005F089FABB
+:10FAC000A068C06A00784007C4D501206946087064
+:10FAD000684601F041FA002804D0FF2057A1803089
+:10FAE00005F077FAA068006CFDF72CFF050004D143
+:10FAF000FF2052A1833005F06CFA08984078C000CE
+:10FB00003D5006202870A068016869600069A860FF
+:10FB10004948401DE860284601F01EFA022899D0A5
+:10FB2000FF2046A18D3005F054FA93E7A96800291B
+:10FB300033D0694608712979012932D0022904D0CD
+:10FB4000FF203EA1A73005F044FA3A4810221030B9
+:10FB5000A96805F0A1F837481030364920314860CF
+:10FB60002078C1062CD5EF2108402070032069467B
+:10FB70000870304810300290684601F00FF90446D2
+:10FB8000022808D0002C06D0012C04D0FF202BA185
+:10FB9000B83005F01EFA69466FE101216A4611711D
+:10FBA000DBE7244A04996C3AD06748608860C860F3
+:10FBB0000621A86803F0FCFE1E4910310860CAE760
+:10FBC00020210843207045E7A1E15AE119E1E6E070
+:10FBD00086E056E000E081E2886C407980090128E7
+:10FBE00004D0FF2015A1CC3005F0F3F9A068017A0C
+:10FBF000002906D1416B406801F01FFAA16801207D
+:10FC00000872012069460870684601F0A5F90028CD
+:10FC100004D0FF2009A1D73005F0DBF9A068006C03
+:10FC2000FDF790FE050004D1FF2004A1DA3005F0B5
+:10FC3000D0F90DE0C01A0020B40000207372635C9C
+:10FC4000736D2E630000000004411A8800A4800038
+:10FC500008984078C0003D5002202870A068416B91
+:10FC60006960806CC01CA860284601F075F904002A
+:10FC700004D0FF20FD49E23005F0ABF929462831D8
+:10FC8000FBE0172268460272012202708078820827
+:10FC9000287992008007800F024368468270FB201B
+:10FCA000024028794007C00F8000024368468270F6
+:10FCB000EA8882804A6C02A901F090F9002804D0F9
+:10FCC000FF20EA49F73005F084F9052108A80175FD
+:10FCD0006846017A0187A0680026406C0F9006E212
+:10FCE000012069460870684601F036F9002803D003
+:10FCF000DE49DF4805F06DF9A068006CFDF722FED3
+:10FD0000060004D18320D949800005F062F9A0687B
+:10FD1000006CFDF717FE1290002804D1D448D34997
+:10FD2000801D05F056F9D3488068006CFDF70AFE87
+:10FD3000040004D1CE48CD49093005F04AF90898AD
+:10FD40004078C0003E500A203070287A30716868D0
+:10FD5000C84DB060A868406C3061172030731298AD
+:10FD6000B4617061304601F0F7F80446022808D00B
+:10FD7000002C06D0012C04D01120BC49400105F014
+:10FD800028F92046316AFFF74FFD28780521014008
+:10FD9000042900D05EE6FB21084028702AE005987F
+:10FDA00040084000207082071CD5FD2210402070C2
+:10FDB0000F206A46107017201071486C0290684638
+:10FDC00000F0ECFF0546022808D0002D06D0012DDA
+:10FDD00004D0A748A5493A3005F0FBF86946284603
+:10FDE000FFF722FD2078052101400429D2D1FB2113
+:10FDF00008402070072008A908759E48807808767A
+:10FE000028E6012069460870684601F0A5F8002838
+:10FE100004D097489549543005F0DBF8A068006C91
+:10FE2000FDF790FD060004D113209049400105F034
+:10FE3000D0F890488068006CFDF784FD040004D180
+:10FE40008B488A495A3005F0C4F808984078C000B9
+:10FE50003E5007203070874880684068706068684E
+:10FE6000F460B060304601F077F8040004D08048B8
+:10FE70007E49653005F0ADF8316A2046FFF7D4FCC5
+:10FE8000E8E5012069460870684601F065F8002839
+:10FE900004D0774875497A3005F09BF80898407887
+:10FEA0001190A068006CFDF74DFD060004D15120B3
+:10FEB0006E49C00005F08DF8A068006CFDF742FDAA
+:10FEC000040004D16A486949823005F082F811982B
+:10FED000C0003E50C019296941600920307068682F
+:10FEE0007060A868B060A889B08163483061103044
+:10FEF000B4617061304601F02FF8022804D05C48EC
+:10FF00005A49903005F065F811982875A2E55A4ACB
+:10FF100000208C32107002206B46187001922879F4
+:10FF2000002801D0107098E0524803230C3040683C
+:10FF3000FB2703708378504A9B089B003B408370EB
+:10FF40004B7A00271B07DB0F43708C3257600B7B0B
+:10FF5000C370CB7A1372537A0C7D5B08E4075B00A5
+:10FF6000E40F23430C461534D460FD242340CC7E9B
+:10FF7000E407A40F234353720B461C3313614771EC
+:10FF800007718B7A3B4A9C070C32A40F1268012C34
+:10FF900004D19478A407A40F012C1DD09B089B00CA
+:10FFA0008B7293785B0702D48B7A5B0728D54B7AE8
+:10FFB00013AF5B075B0FDC005B00E3181478640091
+:10FFC0001B19DBB2DC083C5D5F077F0F0623DB1BE0
+:10FFD000DC40A3079B0F14E04C7A53796406640F4E
+:10FFE00023404371147906273C400471E4001C430C
+:10FFF000204B5C7083789B089B005B1C8370D0E770
+:020000040001F9
+:1000000000238478FB273C408F7A7F07FF0FBF00D7
+:100010003C4384704C7A6407640F04705078012864
+:1000200007D1487A000704D5032008A908750220E3
+:100030002DE0022B27D0012B2BD00F4B0020049A50
+:10004000D86750609060D06018467C30024610320D
+:100050005060887AFB2210408872684600F09EFE4D
+:10006000040035D0012C34D0004907E03CFC0000EE
+:1000700009020000B4000020541A00206520C000CE
+:1000800004F0A7FF25E0032008A9087501200876E1
+:10009000E3E77E4C0D21E01C04F05BFE20461030AF
+:1000A0004460022008A908750E94A868002807D0AB
+:1000B0000068206005997648202211430170CCE742
+:1000C00005980007C9D57349734804F082FFC4E757
+:1000D000002669462046FFF7A7FB04E06E486D49FD
+:1000E000203004F076FF08A8007D002802D00DA87B
+:1000F000F4F7DCFE304617B0F0BDF0B597B00C4613
+:10010000054600206946087061482F785F4E0178E7
+:10011000583E82683B0005F04DF80BAA8407263B49
+:100120004C6B79798F9CAA002B20694608730CA927
+:1001300003A8FDF73DFC002804D05748554941303D
+:1001400004F047FF55490D9804F020FE4F48016028
+:100150004F4869680C300160AA684260019108202C
+:10016000694608708CE08A0610D5DF2211400170C4
+:1001700003202070454810304168A1604068002885
+:1001800002D00020207177E00120FBE7102256E02A
+:100190002B20694608733D4903A85C39FDF708FC2C
+:1001A000002804D03C483B496A3004F012FF042088
+:1001B0001BE02A206946087303A8102202306968F0
+:1001C00004F06AFD07A810220230A96804F064FD5B
+:1001D0002E4903A85C39FDF7EBFB002804D0392039
+:1001E0002C49000104F0F5FE05202070666043E014
+:1001F0002A79002A02D001221143017005206946A4
+:10020000087028798880A868029039E0D06A402375
+:10021000018819430180D06B6968102204F03CFD0D
+:100220002AE0FB2211400170062069460870A96887
+:1002300068680291019023E0CB0703D002221143AA
+:10024000017058E70F20207017202071506CA060BB
+:1002500012E0937A9B0706D0D26A44781388FF3461
+:1002600001342343138004221143017004E00A483F
+:100270000849BD3004F0ADFE684600780028E0D0A3
+:100280006846F4F713FE36E701207047D01A0020C5
+:10029000B40000203CFC00001503000040420F00A9
+:1002A00070B504780D460646230004F083FF0B1C4E
+:1002B000181C1C1C1C07181C1C181C0000210520E5
+:1002C00001F038FDB068007805280CD0FA4800220B
+:1002D000008811468300052001F087FC03E000211F
+:1002E000052001F027FD002D0ED0002028702946A2
+:1002F0003046FFF702FFF1482978005D884201D1BE
+:10030000032070BD022070BD00213046FFF7F5FECE
+:10031000002070BD30B5E8494B68497A0A011146A2
+:100320000C315C5C032C0CD0044600252034257174
+:1003300025725C5CA500AA18641C5C5498500320CC
+:1003400030BD062030BDF0B50446264620360D46A9
+:100350003279012008218FB0002A0CD0012A21D047
+:10036000022A2BD0032A04D12A78052A01D1297028
+:1003700000200FB0F0BD01203071606800280AD065
+:10038000A069017061684160216981606169C16033
+:10039000FFF7C0FFEDE707202870206968606069FB
+:1003A000A86009E029780729E3D1022030710520EF
+:1003B0002870C248203868600320DAE729780529C8
+:1003C000D7D1A08910280AD9103880B2A081A1689D
+:1003D0001023091803A86A6800F054FE2DE01028C5
+:1003E00004D0C1B20BAA1020A76809E0102322692B
+:1003F000A16817E0491EC9B2401EC0B27B5C13540D
+:100400000029F7D100280AD0401EC0B28021115423
+:10041000002102E0401EC0B211540028FAD16269E6
+:1004200010230BA907A800F02DFE102307A903A88D
+:100430006A6800F027FE032030716068019003A80D
+:10044000029005206946087029466846FFF728FF94
+:100450008FE7F0B5044626460D4620363179012057
+:100460008DB000290BD0012938D0022905D1297877
+:10047000052902D10920287000200DB0F0BD217D92
+:100480006846CA07D20F02738807C10F6846017415
+:10049000012203A905A800F0EDFD04A9012205AF82
+:1004A000481D00F0E7FD0722B81CE16800F0E2FDFE
+:1004B00007A807220130216900F0DCFD6068019087
+:1004C00009A80290102305AAA16800F0DBFD012015
+:1004D0003071052168460170294621E029780529F7
+:1004E000CBD1062203A8E16900F0C4FD04A80622CE
+:1004F0000230A16900F0BEFD042106A800F0B2FDA3
+:100500006068019007A80290102303AA696800F0B0
+:10051000B9FD0220307105206946087029466846F9
+:10052000FFF7BEFEA9E7F0B5074685B00D460020EF
+:10053000694608703E466248203632798179133820
+:1005400001240078130004F035FE180DFEFDFCFBBD
+:10055000FAF9F8F7F6F5F4F3F2F1F0EFEEEDECEB73
+:10056000EAE9E8E7B968039100291BD0012269464E
+:100570000A7003220A710A224A7139690291397993
+:1005800000297DD0039A1278002A7AD00C2A78D2DA
+:10059000130004F00FFE0BEF09EF354D8498B0F116
+:1005A000EDECEF000020C8E30021062001F0C2FBC3
+:1005B0003879072866D1424C133C2078022802D0B3
+:1005C00000287FD101E00020207003980079C11F2E
+:1005D0000A2901D30A2598E1607039480722C01F13
+:1005E000039900F047FD0120307120700220694618
+:1005F00008703348801F01903869401C029037E230
+:1006000011293DD12E4C133C0228DAD16068617863
+:10061000007A884201D9062577E1039926481022FD
+:10062000491C303800F026FD03202070022045E1EF
+:100630001129E6D1224C133C0428C2D10520207098
+:1006400003991D481022491C203800F013FD062094
+:100650003071786903210170626851684160164900
+:100660002039816021460C31C160C91D0161017DC5
+:10067000537A49084900DB07DB0F1943017502E093
+:1006800070E354E384E1D3688361FD231940537A16
+:100690009B07DB0F5B0019430175116976E10229A5
+:1006A000AFD1002867D005206946087103984078CB
+:1006B00048713869029051E3241B00203452010034
+:1006C000DB00002082E011299BD1F74C06287DD168
+:1006D000A0680399806B1022491C00F0CBFC062116
+:1006E0006846017038690290002168460171FFF781
+:1006F000D7FD072057E00B299BD1EB4C07287ED173
+:10070000A0680399006B0222491C00F0B3FCA068AA
+:100710000822406B039917E00EE116E3FDE2DDE2EB
+:10072000C7E2BCE29EE267E248E241E21FE2F5E195
+:10073000DFE1C8E1BEE1B1E1A5E16AE147E128E11D
+:10074000DAE0BEE0AFE075E0C91C00F093FC0621E2
+:100750006846017038690290002168460171FFF710
+:100760009FFD204613304179490849003EE041E0B1
+:100770001BE001E05CE0EFE2112991D1CA4C0828AE
+:100780003DD1A0680399C06B1022491C00F072FC97
+:10079000062168460170386902900021684601719F
+:1007A000FFF77EFD09202070C9E208298CD1BE49DF
+:1007B000092824D1039842788868016C0A7003994B
+:1007C000406C0622891C00F055FC00E017E0062171
+:1007D0006846017038690290002168460171FFF790
+:1007E0005FFDB14813304179FD221FE041715EE2A7
+:1007F0003071F2E11129C0D1AB490A2801D0082596
+:1008000083E088680399806C1022491C00F032FC58
+:10081000062168460170386902900021684601711E
+:10082000FFF73EFDA04813304179FB221140DDE780
+:1008300007256AE0297802297ED19B490128FBD14E
+:100840006A684A6015780846002D5CD106216A4620
+:1008500011703969029107211171029902240C70FB
+:10086000CA785207520FCA704B795B075B0F4B7106
+:100870008B795B075B0F8B71D20701D18A714A714B
+:1008800005460A794078824200D26A70864807227B
+:10089000133000F0EFFB00202C70307101466846E9
+:1008A000FFF7FEFC4BE229780429C5D103286FD15C
+:1008B00008227E48696800F0DDFB032030710420C7
+:1008C000F2E129780429B7D1774F0328B4D17748CA
+:1008D00008220830696800F0CDFB04203071786888
+:1008E0004168002906D00321297000212971406840
+:1008F000A86072E10320D7E1287803289CD12879E9
+:1009000000281AD00546002D16D006216846017031
+:100910003869029002216846017102980521017030
+:10092000457000216846FFF7BBFC01216846017055
+:1009300004210171457115E293E15B49A86849689A
+:100940000028486001D15A48486005203071786914
+:10095000032202704A684260544A8260524A0C3252
+:10096000C260D21D0261027D4B7A5208DB07520041
+:10097000DB0F1A430275CB688361FD231A404B7A63
+:100980009B07DB0F5B001A4302750969C16130E107
+:100990000DE12978092988D14349032885D104200C
+:1009A00008700620694608703869029011200871A5
+:1009B000029803210170401C1022696800F05AFB64
+:1009C00000216846FFF76CFC00203071B7E1297800
+:1009D000092993D1052891D134496A68203910201A
+:1009E000401EC0B20B5C145CA34203D0002004255F
+:1009F00030718AE70028F3D107203071786904212B
+:100A00000170294949684968416028498160103965
+:100A1000EEE028780A28BED10620694608703869B9
+:100A2000029011200871029804210170401C1022CC
+:100A30001E4900F01FFB00216846FFF731FC1A48F1
+:100A4000102140786A68091AC9B2101800F00AFB30
+:100A50006868019014481330C178C9070BD08179B8
+:100A6000002902D14079002805D0082030711BE10F
+:100A700029466846EFE0072069460870002168466D
+:100A8000FFF70EFC5FE128780E2884D106486968DC
+:100A900081608969407808700920A9E6C80701D0FB
+:100AA0000A20FFE00F20A3E6C8000020141B00204E
+:100AB0001452010028780F2879D1A8683861287964
+:100AC00038730B20FAE628780428F5D1FC4C6968C5
+:100AD000A0680822006A00F0CDFA0C203071786915
+:100AE0000722B9690270A268D3684360126A826003
+:100AF0007EE028780D28DFD1F14C6968A0680223D8
+:100B00000269C06900F0BEFA0D20307178690621D3
+:100B10000170A1688A684260096966E028780C283B
+:100B2000CAD1E74C6968A0686278406A00F0A2FA0E
+:100B30006078A2681021091A526AC9B2101800F030
+:100B400091FA0621684601703869029011226846C0
+:100B50000271029810220170A168401C496A00F0DD
+:100B600089FA00216846FFF79BFB0E206EE028788B
+:100B70000F2876D1062168460170386902900B2152
+:100B800068460171029C0720CD4D2070A8680222A2
+:100B9000C169601C00F06EFAA8680822016AE01CB6
+:100BA00000F068FA00216846FFF77AFB7AE7C8E0B0
+:100BB000880701D5102075E0132019E628780F2842
+:100BC0004FD1A86838612879387311203071BC483A
+:100BD000816848690078002801D00324CAE0786958
+:100BE00006220270C9684160B6498160B549091D95
+:100BF000C160FFF78FFB30E0B14880684169097838
+:100C000000290CD129780C292BD1AD4C6968806A58
+:100C1000102200F02FFAA16801204969087006210E
+:100C20006846017038690290112168460171029886
+:100C300008210170A249401C89681022896A00F0CD
+:100C400019FA00216846FFF72BFB122030710921A9
+:100C5000684601702946FFF723FB044601287DD032
+:100C600088E06FE028780F286CD10620694608706C
+:100C70003869029008200871029809210170904992
+:100C800089680A78D207D20F427049680622801C10
+:100C900000F0F0F900216846FFF702FB8CE74807F7
+:100CA00005D514203071092069460870E0E6162049
+:100CB0009EE528780F2851D1A868386128793873C3
+:100CC000152030717869062101707D4989688A682C
+:100CD0004260096981607B49891D89E728780C2871
+:100CE00045D1774C6968A0681022C06A00F0C2F94B
+:100CF0000620694608703869029011200871029830
+:100D00000A210170A168401CC96A102200F0B2F9E2
+:100D100000216846FFF7C4FAC9E7694813304079F3
+:100D2000002810D0C10703D065480621017006E0F5
+:100D3000800701D5082000E00A20614908700024DE
+:100D400018E00BE013E0172052E55D49002805D0BC
+:100D50000020307108700A206946087068460078E3
+:100D6000002804D000216846FFF79AFA002454486E
+:100D700000210170204605B0F0BD10B5524BFF2494
+:100D80005C72586019721A80002204E0491EC9B2D0
+:100D90000B010C33C2540029F8D110BDF0B54A4EF6
+:100DA0000546717A01208DB0FF2971D00127727A32
+:100DB000736811015C180C31595C8900091F645873
+:100DC0006A7021780B0004F0F5F90B960709272CBF
+:100DD00059888D4A4F5492002F707CE02146203173
+:100DE0000A9109790120002902D0012967D10EE07A
+:100DF0006068019005A802900D21C01C00F032F936
+:100E0000032205A8A16800F035F90A984EE0297878
+:100E1000052974D106215DE029462046FFF719FB1C
+:100E200069E021462031069109790120002902D08C
+:100E3000012964D10EE06068019007A802900822A1
+:100E4000E16800F017F9082209A8A16800F012F97A
+:100E500006982BE02978052951D10A213AE0294644
+:100E6000204600F01AF946E029462046FFF76BFAC3
+:100E700041E029462046FFF756FB3CE02146203161
+:100E8000059109790120002903D0012937D11DE0FE
+:100E900056E06068019007A802900822A16800F05F
+:100EA000E9F8082109A800F0DDF8059869460771FE
+:100EB0000520087029466846FFF7F2F91BE00BE0B1
+:100EC000C80000200C520100241B002029780529AD
+:100ED00015D10B212970002011E02946204600F091
+:100EE00023F908E02946204600F04EF903E02946A0
+:100EF0002046FFF7C9F9002801D001280CD125624E
+:100F0000717A736809010C315A5C521E1206120E76
+:100F10005A5401D003204AE70328FCD0737A726840
+:100F200019011D010D312C46515C7172FF270D34E2
+:100F300017550C35545D002C02D0FF2903D1737274
+:100F40000DB0F0BD21460C010D34145DFF2CF9D11C
+:100F500009010D315354F3E770B5AD4C0546607A85
+:100F6000214603464A6811E0010108460C30105C36
+:100F700008E0401EC0B286008E199659AE4201D1DB
+:100F8000042070BD0028F4D10D31505CFF28EBD156
+:100F90009F480021007A01E0491CC9B2884204D967
+:100FA0000E010C36965D002EF6D1884201D8052040
+:100FB00070BD08010D30135461722846FFF7AAF97D
+:100FC000032806D0617A626809010D31515C6172B3
+:100FD00070BD28462830FFF7E1FE70BD10B50478DB
+:100FE0000123012C14D10C78022C11D30B23137084
+:100FF00083785B075B0F537002220A708088002899
+:1010000005D0830000221146062000F0EEFD0023EB
+:10101000184610BD0EB50022012105280AD0062869
+:1010200007D1684601700221017142710021FFF76A
+:1010300064F80EBD68460170F6E710B58EB00C4638
+:1010400006216A461170019072480290001D0390BB
+:101050006846FFF781FF102220460B9900F00AF83E
+:101060000EB010BD002202E0491EC9B24254002950
+:10107000FAD1704703E0521ED2B28B5C8354002A2F
+:10108000F9D1704730B505E05B1EDBB2CC5CD55CB6
+:101090006C40C454002BF7D130BD3EB5044620301F
+:1010A0000D4602790121002A02D0012A3AD10FE02F
+:1010B00061680191574908310291012101710520B0
+:1010C0006946087029466846FFF7EAF8014629E0B4
+:1010D0002878052826D169681022A06800F087F8D2
+:1010E0006868C07B000606D54A4AA06810231832FB
+:1010F0000146FFF7C7FF1022A168E06800F077F80B
+:10110000A068C07B000606D5424AE068102318326A
+:101110000146FFF7B7FF07202870A0686860E06805
+:101120000021A86008463EBDF0B5044626460F469D
+:1011300020363179012089B0002909D0012905D153
+:101140003978052902D10C203870002009B0F0BD93
+:10115000606803AD01900295022203A8A168FFF721
+:1011600089FF0222A81CE168FFF784FF0C21281DDB
+:10117000FFF778FF01203071052069460870394675
+:101180006846FFF78DF8E1E710B5034620331C7978
+:101190000122002C04D0012C10D0022C25D11EE0FD
+:1011A00001211971C16806220A7040684860194817
+:1011B000801C8860801CC86008460CE00C780C2CF1
+:1011C00013D102221A71C268052313704968516055
+:1011D000806890601046FFF79DF8024605E00878A9
+:1011E0000B2802D10D2008700022104610BD10B54A
+:1011F000002409E00B78521E5B0023430370401C5F
+:101200000B78491CD2B2DC09002AF3D110BD0000D2
+:10121000241B00200C52010070B50D46040012D0B2
+:10122000002D10D02101284603F093FD10225449CF
+:10123000284603F031FD52480121083801804480DE
+:101240004560002070BD012070BD70B54C4E00247B
+:101250000546083E11E0716820014018817BAA7B99
+:10126000914209D1C17BEA7B914205D10C222946EA
+:1012700003F0E5FC002806D0641C30888442EADBD9
+:101280000020C04370BD204670BD70B50D460600FD
+:101290000AD0002D08D03A4C083C20886188401CB8
+:1012A000884203D9042070BD102070BD3046FFF77E
+:1012B000CCFF002801DB401C0AE0208861680001A7
+:1012C00040181022314603F0E7FC2088401C2080A3
+:1012D0002870002070BD70B514460D001FD0002C82
+:1012E0001DD00021A170022802D0102817D108E0DB
+:1012F000687829780002084311D00121A17010807C
+:101300000BE02846FFF7A1FF002808DB401CA07077
+:10131000687B297B000208432080002070BD0120EB
+:1013200070BD70B5054614460E000AD0002030701E
+:10133000A878012807D004D9114908390A889042B1
+:101340000BD9012070BD002C04D02878207028888B
+:10135000000A50700220087010E0002C0CD0496880
+:101360000001411810391022204603F095FC28781E
+:1013700020732888000A607310203070002070BD30
+:10138000EC00002073490968016000207047714932
+:1013900008600020704701216F4A704B002803D07D
+:1013A000012805D06E48704791630020187001E055
+:1013B000D1631970002070476A49012008606848AD
+:1013C000801C70470422684B6649002805D05A608B
+:1013D000086901221043086108E0086940084000DC
+:1013E00008619A605C490020C03188600020704725
+:1013F0005C490622002808D0012809D002280DD017
+:1014000003280FD05648401C70470869904302E0FB
+:1014100008699043801C0861002070470869904368
+:10142000001DF8E708691043F5E74E494A6A024390
+:101430004A62002070474B494A6A82434A62002050
+:1014400070474849496A0160002070474549CA69A8
+:101450000243CA61002070474249CA698243CA6197
+:10146000002070473F49C96901600020704730B5CE
+:101470000546002072B601463A4A384C4032002DEB
+:1014800011D00123012D0CD0022D02D0072062B60D
+:1014900030BDA3706478002C01D09363F7E79163AB
+:1014A000F5E7A170F9E7A170F9E72F4904208860FA
+:1014B00029490020C03188602849012008702B4943
+:1014C0000A688023120A12021A430A602849086037
+:1014D000704722480078704770B5EFF31080C50759
+:1014E000ED0F72B61D4C6078401C0006000E607057
+:1014F00003D120A1CC2003F06CFD6078012806D137
+:10150000A078002803D01749012040318863002DBE
+:1015100000D162B670BD70B5EFF31080C507ED0F56
+:1015200072B60E4C6078002803D112A1DC2003F0C3
+:1015300050FD6078401E0006000E607006D1A07855
+:10154000002803D00749002040318863002D00D1D6
+:1015500062B670BD0004004040000040FC00002066
+:1015600004200000000500400003004000E400E00B
+:1015700000E100E07372635C736F635F706F7765A7
+:10158000722E63008107C90E002808DA0007000FD9
+:1015900008388008B94A80008018C06904E08008D3
+:1015A000B74A800080180068C8400006800F704766
+:1015B000B44948788978884201D3401A02E0212250
+:1015C000511A0818C0B27047AE492331487889785B
+:1015D000884201D3401A02E02122511A0818C0B2F1
+:1015E0007047A849463148788978884201D3401A23
+:1015F00002E02122511A0818C0B27047A04810B565
+:101600000C300168FF22120291430122D2031143E0
+:1016100001609C490020233148708870233948704C
+:101620008870463148708870974802F0FFFA9648F3
+:10163000401C02F0FBFAF2F7A9F900F015F910BD11
+:1016400020207047B4E770B50C4605460026FFF72A
+:10165000AFFF8C49A04214D30A46203A002320460B
+:10166000641EE4B200280BD08878105C287088785B
+:101670006D1C401CC0B288702128F0D18B70EEE741
+:10168000012600F0F1F8304670BD202070479BE73E
+:1016900070B50C4605460026FFF796FF79492331C1
+:1016A000A04214D30A46203A00232046641EE4B226
+:1016B00000280BD08878105C287088786D1C401C3E
+:1016C000C0B288702128F0D18B70EEE7012600F0BF
+:1016D000CBF8304670BD202101700020704710B556
+:1016E0000446FFF77EFF2070002010BD70B50C4649
+:1016F0000546FFF776FF63494631A04215D30A46F7
+:10170000203A00232046641EE4B200280BD08878DB
+:10171000105C287088786D1C401CC0B2887021282D
+:10172000F0D18B70EEE7002400E0584C00F09CF8FC
+:10173000204670BD70B50C460546212904D9FF200E
+:1017400053A1473003F045FC4C484068103840B284
+:10175000FFF718FFC6B20D20FFF714FFC0B2864294
+:1017600007D2FF204AA14D3003F033FC01E0F2F72D
+:101770004DF921462846FFF766FF0028F7D070BDD7
+:10178000F8B5404E07462336B1787078212200F034
+:1017900060F8354623353B4C00280ED0A1786078A0
+:1017A000212200F056F8002814D0A9786878212268
+:1017B00000F04FF800281AD025E032497078C91C93
+:1017C0000F547078401CC0B2707021281BD10020CB
+:1017D000707018E02B49607820390F546078401CF5
+:1017E000C0B2607021280ED1002060700BE0254946
+:1017F000687826310F546878401CC0B26870212880
+:1018000001D100206870B1787078212200F021F8B1
+:1018100000281DD0A1786078212200F01AF8002855
+:1018200016D0A9786878212200F013F800280FD08C
+:10183000F2F7CEF8144802F001FA01214903884278
+:1018400003D013A1C12003F0C4FB0F4802F00EFA2D
+:10185000F8BD401C884205D0904201D1002901D03A
+:10186000002070470120704710B5074802F0E6F9E4
+:10187000002801D1F2F79BF810BD000000ED00E058
+:1018800000E400E0501B0020FF00002007200000C3
+:101890007372635C736F635F72616E642E630000CA
+:1018A00010B5284802F0C2F9002803D026A11D2057
+:1018B00003F08FFB2348401C02F0B8F9002803D046
+:1018C00021A1212003F085FB10BDF1B5224D6F68E9
+:1018D00001261C4802F0B2F91A4C002803D1002658
+:1018E000601C02F0C3F91D4A1D490120506000BF71
+:1018F00000BF00BF00BF00BF00230B604B60009B18
+:101900006B60106000BF00BF00BF00BF00BF086871
+:10191000002802D148680028F9D048680028E4D19E
+:10192000002E04D06F60601C02F088F907E0601C94
+:1019300002F084F90028D3D1024802F097F9002080
+:10194000F8BDC2E7010100207372635C736F635FCF
+:101950006563622E6300000000E5004000E0004087
+:1019600000E1004030B5EFF31081CC07E40F72B610
+:101970001D4A116910230D461D431561002C00D12D
+:1019800062B61A4DC406E40E0120A0402C68044241
+:101990000DD0C8060AD4EFF31080C007C00F72B68E
+:1019A000116999431161002800D162B630BD20BF92
+:1019B00040BF20BFEAE70E4908784A78401CC0B211
+:1019C000904200D008707047084A094820BF40BFC5
+:1019D00020BF4178037843701368002B02D103784D
+:1019E0008B42F3D00020704700ED00E000E200E001
+:1019F00003010020FEB5F64C07466068FF213E015A
+:101A000081552178FF2913D0090108314158324608
+:101A1000491E083209020192090A805800F0CEF9E5
+:101A2000002802D02478254615E061682078885582
+:101A30002770FEBDE64842680198115828010090C1
+:101A40000830105800F0BAF9002806D1E0482C46BA
+:101A5000416800980D5CFF2DECD1DD482101406804
+:101A600085554754FEBD70B5D94A04460020157A05
+:101A700053680AE00201561C9E5DA64203D10C3257
+:101A80009A588A4204D0401CC0B28542F2D8FF2046
+:101A900070BDF8B5CE4F3E7801F01AFE0146FF2E1C
+:101AA00071D03401254678680835405900F086F930
+:101AB00002280CD97868405901F0FDFD01F008FEBC
+:101AC00001467868405900F079F902285BD8C0498E
+:101AD0004868025D0A70A11C425C002A0CD0521EAC
+:101AE000425441590122D20589180902090A41517B
+:101AF0003046FFF77FFF30E0631CC25C0092221D7E
+:101B000094468258002A10D001239B029A420FD992
+:101B10009205920D43595703DB191B021B0A4351CF
+:101B20006346C3589A1A920A09E0FF21C1540AE099
+:101B3000435952039A181202120A42510022425487
+:101B40003046FFF757FFA2480C344168C26800983E
+:101B5000095980001258009890479D4C2078FF2822
+:101B600011D0000161680830085801F0A4FD01F0AF
+:101B7000AFFD01462078626800010830105800F07F
+:101B80001DF9022886D3F8BDF8B51C4615460E4649
+:101B90000746FF2B03D38FA1D42003F01AFA8C48F9
+:101BA000FF21C76045600472067401700022427014
+:101BB000104604E00201521C401CA954C0B2A042CD
+:101BC000F8D3F8BD70B5824C06466578207C854216
+:101BD00003D380A1E72003F0FCF9E068A900465098
+:101BE0006078401C6070284670BDFFB581B01D460E
+:101BF000FF2401F06DFD764F064679780198814209
+:101C000003D874A1F52003F0E4F971480021037AA8
+:101C1000406810E00A019446521C825CFF2A25D0DD
+:101C2000019FBA4205D162460C328758029A974208
+:101C30001ED0491CC9B28B42ECD8FF2C18D0210110
+:101C40004A1C019B83540B460C33029AC250039BDF
+:101C50005F4F0022012B0ED00B1DC25001239B02AF
+:101C60009D4216D9AA05920D08D008E00C46E0E77F
+:101C7000FF2005B0F0BD0B1DC550EFE71A4653031A
+:101C80009B190E461B0208361B0AAA1A8351920A98
+:101C900009E0002D00D101256B039B191D022D0ABF
+:101CA0000B460833C550891C42543D463E782046B9
+:101CB000FFF7A0FE2878B04214D000016968083010
+:101CC000085801F0F8FC01F003FD29786A68090161
+:101CD000083152580146104600F070F8022801D22F
+:101CE000FFF7D7FE0198C4E770B50C46054601F032
+:101CF000EFFC064621462846FFF7B5FEFF2817D021
+:101D0000334D04012046696808300858314600F018
+:101D100055F80121090340186968A41C095D400BAE
+:101D2000002901D089020818002800D1012070BDC7
+:101D3000002070BDF3B581B00F460198FFF793FE08
+:101D4000FF282AD0224E3578726829460C4604E0D6
+:101D5000844205D025462301D45CFF2CF8D11CE039
+:101D6000FF2C1AD0A5421CD10801105C3070FF284E
+:101D700015D000010830105801F09DFC01F0A8FCBE
+:101D800001463078726800010830105800F016F8EB
+:101D9000022806D2FFF77DFE03E00020FEBD01F021
+:101DA00092FC39460198FFF79FFF22017168FF23DB
+:101DB000541C0B558A5C2B01CA54FEBD401A00020C
+:101DC0000121000AC905884200D90020704700009F
+:101DD0009C1B00207372635C736F635F74696D6535
+:101DE000722E6300F0B500241C4A01211C4B08032D
+:101DF000546018601B4B1C601B4C20601B4804691E
+:101E0000E443E406E6170469761C10252C430461BC
+:101E1000174C6160174D296000E020BF1F68002F3C
+:101E2000FBD0002E03D107691026B74307619068E5
+:101E30008005906801D5104A10436960A1600021B7
+:101E400019600121084A09031160F0BD10B504466C
+:101E5000FFF7C8FF2060002010BD000000C5004053
+:101E600080E100E000C1004080E200E000ED00E021
+:101E700000C3004000C0004000FCFFFF70B51F49D8
+:101E80000A68002A17D000231D4601244A68521C04
+:101E90004A60092A00D34D600E792246B2400E688E
+:101EA00016420AD072B60B6893430B6062B649685B
+:101EB0000160002070BD052070BD5B1C092BE5D3BF
+:101EC0000FA1362003F085F8F5E7012010498005C1
+:101ED00008607047EFF31081CA07D20F72B6012174
+:101EE00081400648036819430160002A00D162B6A8
+:101EF000EBE70248002101604160704708010020C3
+:101F00007372635C736F635F6576742E63000000A9
+:101F100000E200E00120810708607047012081078E
+:101F2000486070471048C068C00700D00120704763
+:101F30000D488068C00700D0012070470A484069FA
+:101F4000C00700D0012070470748C06970470649A4
+:101F50008A69D20306D589698907890F814201D12F
+:101F6000012070470020704700040040F8B5FE4C87
+:101F7000207BE17A88421AD00126FC4D0027E07AC6
+:101F8000215C14200A4642435019037C052B0FD0D4
+:101F9000062B1BD0072B28D0437C012B33D0F4A178
+:101FA000F64803F016F8207BE17A8842E7D1F8BDC5
+:101FB0000674E07A0A2807D0E07A401CE072491CD7
+:101FC000C8B2AA5802210CE00020F7E70674E07AB4
+:101FD0000A2808D0E07A401CE072491CC8B2AA580E
+:101FE00003219047DFE70020F6E70674E07A0A282D
+:101FF00007D0E07A401CE072491CC8B2AA580821F8
+:10200000EFE70020F7E74774E07A0A2807D0E07A84
+:10201000401CE072491CC8B2AA580721E1E7002021
+:10202000F7E770B5D64D06206872D648002444778D
+:10203000047738300473C472D34801F0F7FDD348F5
+:102040000475EC72D249601E88606C71AC70EC70E3
+:102050002C716C70CF48022104704470CE4804701B
+:10206000047528300470491EFAD10120F1F750FDA3
+:102070000020F1F74DFD0120A871F0F741FDC748A0
+:10208000F0F750FDC64C2070C648F0F74BFD60706D
+:10209000F1F7E2FC70BD10B5F1F709FDC04C2078F6
+:1020A000F0F75EFD6078F0F75BFDB54C207A002814
+:1020B00005D0FFF730FAF0F7E2FD0020207210BDE6
+:1020C00070B5AF4CA079002804D0A9A1B64802F0A1
+:1020D00080FF70BDE07A002804D11320A4A1400144
+:1020E00002F077FF0126A6710025E572607A0421CF
+:1020F000142250439D4A80180174A5488168491CE8
+:1021000004D0691E81600120F1F702FD0020F1F783
+:10211000FFFCF1F7E3FC01F023FEF1F7E8FDA34833
+:10212000056005600120A249C0030860F0F74AFF7E
+:1021300098480078022804D0032804D1E0780028C9
+:1021400001D0A67000E0A570F1F7BDFD70BD03469B
+:1021500086490520142242435218203A127F002A51
+:1021600004D0401E0006000EF4D1704714224243F2
+:1021700051180A46403AD362012220390A77704743
+:10218000012805D0032805D1002903D1002070477C
+:102190000029FBD010B47A4C002363707D4A0028DC
+:1021A00090700CD002280AD007291AD20B007B4469
+:1021B0001B79DB189F441505070D0F111300D37011
+:1021C00003E01B2000E03A20D0700120607010BCBA
+:1021D00070475820F8E77720F6E79620F4E7B52017
+:1021E000F2E710BC0020704710B56A484078F1F75C
+:1021F00085FD80B210BD411E1422504310B55B4ACC
+:102200008418203C042902D8207F002803D158A13B
+:10221000684802F0DEFE207F012803D054A1664802
+:1022200002F0D7FE0020207710BD70B5554C607FBE
+:10223000217F884201D1012500E00025F1F7F7FC5C
+:10224000F1F75CFD617F227F914201D1012100E025
+:102250000021A942EBD170BDF7B50646481E844661
+:102260008EB0C0B2142204905043404A85182846CC
+:102270000595007C2D1D07282AD13B4C0027E07ACC
+:10228000227B824221D0235C049A934201D1012710
+:1022900001E0002F04D00A2811D0421CA25C225475
+:1022A0000A280ED0401C227BC0B28242EBD1002F04
+:1022B0000BD0207B002806D0207B401E04E00022AB
+:1022C000ECE70020EFE70A202073059A0120107444
+:1022D00060462B4C04280FD814204143234808188B
+:1022E0002038007F002807D00598007C012807D0FF
+:1022F0001098807A012807D01DA1304802F069FEAD
+:102300001098807A012871D10598184B007C02281A
+:102310001AD0154C207B0A2874D0207BE17A401C0F
+:10232000884204D1C92012A1800002F052FE059912
+:1023300001204874217B04986054207B0A2865D0D2
+:10234000207B401C20731CE1607A049A0146904275
+:1023500006D0014614277843C018807C9042F8D1FB
+:10236000627A824235D12BE0A81C0020B81C0020E4
+:102370007372635C72656D2E63000000D50500000A
+:102380003C1D0020701C0020481D0020901C0020D7
+:102390001C1D002012010020C81C0020931A0100FF
+:1023A000100100206D1F01007F02000000F50040B9
+:1023B00080E200E0CD020000CE0200001703000022
+:1023C000617A14225143C918897C61720121A1727A
+:1023D00007E014224243D21814277943927CC9188B
+:1023E0008A74142206215043C01881741098007A10
+:1023F000062819D203007B441B79DB189F4408127E
+:10240000100E0C0AE07A00288CD090E7002099E7A3
+:1024100000210FE0B4210DE073210BE0322109E02F
+:102420000A2107E0062105E0FF20FE49E23002F024
+:10243000D0FD0021109802910068401A2860109980
+:10244000097A002912D00221401A0102090A2960E2
+:1024500010980268406810180002000A686010981E
+:10246000807A0228109803D0007B74E00421EBE707
+:10247000007A002813D0022202981018844610987F
+:102480004268604608301718E748029A4078904240
+:1024900002D9E278002A04D03846083005E0042248
+:1024A000EAE7029A801AC0190830627A062A1CD01C
+:1024B000627A14235A43DD4BD2185268914214D0E9
+:1024C000DB4B0793617A14225143D84A89184A6832
+:1024D0008968921B891B12020902120A090A90429A
+:1024E0003AD89A4238D8994236D83018C01B0002E0
+:1024F000000A286010996044CE4AC9680002000AA8
+:102500009446421A01239B0507929A4201D2104633
+:1025100014E00A1A09929A4201D207980EE0079A2B
+:102520006346624503D9591A0818401C06E0099A07
+:10253000624506D9181A4018401C404200285FDC4A
+:1025400003E0B849BC4802F044FD2868C019000205
+:10255000000A6860002028726868082708300002B6
+:10256000000A68601098407AA8721098007A687221
+:1025700003280ED200280CD0FFF7D4FC002803D08B
+:1025800007E0002011B0F0BD02983A210F1A322066
+:102590000290A5480178012901D0032909D1417889
+:1025A0000298814205D9E078002802D10298081AE1
+:1025B000C71928689E4A801B844601026868090A78
+:1025C000801B03021B0A8F421AD81746914217D864
+:1025D000BB4215D8617A062916D0677A6146062271
+:1025E000039200923A4614235A43904BD2189368B0
+:1025F0009B1B8B4216D80397977C062FF2D177E06E
+:10260000049801F059F9BCE7059802220499027474
+:10261000627A062A00D0627A827461720120A07206
+:1026200011B0F0BD062F63D0002239469446142223
+:102630007E4B4A43D21853689B1B834229D2917B1D
+:10264000AB7A99421FD805980521049C7B4D0174F3
+:10265000287B0A2811D0287BE97A401C884203D1C4
+:102660007049774802F0B5FC287B2C54287B0A2857
+:1026700007D0287B401C287383E7E87A0028EFD036
+:10268000F2E70020F7E701218C46917C0629CED1A4
+:1026900002E0604600282AD03D46009114202A46D8
+:1026A000424362480621161831741038007B0A280C
+:1026B000624816D0017BC07A491C814203D161A1D6
+:1026C000634802F086FC5D48017B4554017B0A2982
+:1026D0000BD0017B491C0173B57C0098A842DDD169
+:1026E00006E0C07A0028EAD0EDE70021F3E7009782
+:1026F0000599022008744D4D607AB84207D10599BA
+:1027000000988874049860720120A07221E00398F8
+:10271000062F0FD0062803D14AA14E4802F059FCDB
+:102720000398142250434019049981740599009824
+:1027300088740EE0062803D142A1474802F049FC04
+:102740000398142250434019049981740599062076
+:102750008874012011B0F0BD70B50D4606463F49A2
+:1027600000242046891BA04103D236A13C4802F038
+:1027700030FC3C490020491BA04103D231A13A481A
+:1027800002F027FC394A70190021821A8C4101D3CA
+:102790003749401870BDF8B5401EC0B214214843F7
+:1027A00022494518687B062813D203007B441B7915
+:1027B000DB189F44020C0A080604002066E0B420DF
+:1027C00010E073200EE032200CE00A200AE0062020
+:1027D00008E0FF201BA1E23002F0FBFB697B002038
+:1027E000002953D0022140186968002440180C21A8
+:1027F00000026956000A00294ADBF1F77FFA174AFE
+:1028000006460C27EF570021101AA14103D20DA153
+:10281000134802F0DEFB13490020C91BA0412CD253
+:1028200008A127E07023010012010020B81C00203D
+:10283000FFFF3F00FFFFFF0014070000A81C00205F
+:10284000090200007372635C72656D2E6300000004
+:10285000C7030000DF030000E5030000FF7F841EC4
+:10286000F50300000020A107F60300000080841E8D
+:1028700000807BE1FB4802F0ACFBFB4AF019002131
+:10288000821A8C4101D3F9494018F8BD0421AAE706
+:10289000F1F734FA0C21695600224018F449091A5C
+:1028A000A241F2D24042F8BDF0B5064683B0F148ED
+:1028B0000190457A029534687068001B0702EE4863
+:1028C0003F0A001B0090062D2DD0142029464143BD
+:1028D000EA480122081884464168E748920586467E
+:1028E000081B904210D3631A93420DD302467046E0
+:1028F000724503D900984018401C05E073450ED975
+:10290000411A0819401C404200280CDA6046029522
+:10291000857C0198C0790028D5D003B0F0BDD84996
+:10292000D84802F056FB0298854226D0142148432D
+:10293000D2490123401802908068CF499B058C46FC
+:10294000011B8646994210D3221A9A420DD3634640
+:10295000614503D900997144491C06E01946624556
+:102960002DD9091A0819401C4142002905DD029899
+:10297000B17A807B814200D37446062D15D0BF49C1
+:102980001420454368184268121B1202120ABA4208
+:102990000BD2B27A837B9A4200D38468857C0198FB
+:1029A000C0790028B9D1062DEAD13068A042B4D050
+:1029B000E0190002000A3460706003B0F0BDB04955
+:1029C000B04802F006FBD8E7F0B5AF4904464868C6
+:1029D00085B0C005C00D1CD0103840B200280CDAFC
+:1029E0000207120F083A920892005118C96980072D
+:1029F000C00EC1400806800F09E08108A34A890083
+:102A0000891809688007C00EC1400806800F002899
+:102A100008D000262078002806D0012804D0002005
+:102A200005B0F0BD0126F5E72079062813D2030092
+:102A30007B441B79DB189F44020C0A080604002023
+:102A400018E0B42010E073200EE032200CE00A20E1
+:102A50000AE0062008E0FF208949E23002F0B9FAD6
+:102A600021790020002905D002214718814D002E30
+:102A700002D003E00421F8E70020E87102AA6946C9
+:102A8000A068F1F745F9694608228A56E06801A96D
+:102A90008018C01C01221F2801DA019209E003AA54
+:102AA000F1F736F96846007B002802D00198401CF7
+:102AB000019000990198401808300002000A019026
+:102AC000C81B0002000A009060796946887200986D
+:102AD0000390F1F7ACF8009A019B121A181A6C498E
+:102AE00012020002120A000A8A4216D8884214D83A
+:102AF0006846FFF7D9FE00990398814205D0C819AE
+:102B00000002000AF1F7FAF8A0600120E979002933
+:102B100086D0002EB0D005B0F0BD0020F6E7F3B5AA
+:102B20008FB05C480C460B9001F088F85A4A0F9918
+:102B3000504E5518203D594F00280BD05848007D65
+:102B4000002803D057A15A4802F043FA2078012800
+:102B50007DD05FE1787F0A280CD0787F397F401CD8
+:102B6000884203D14FA1534802F033FA207801285C
+:102B700004D00CE0387F0028F4D0F7E7E87F002885
+:102B800003D048A14C4802F024FA0120E877787F6E
+:102B90000F991422494D504340190174207802289E
+:102BA00023D0787F14214843451920792872607911
+:102BB00068722A460C322946A068F1F7A9F80C2061
+:102BC00028560F2804DD1F3828732868401C286009
+:102BD0000C22AA56281DE16802908818C01C1F28E4
+:102BE0003FDA029901200860FDE027494868C005E6
+:102BF000C00D20D0103840B200280CDA0207120FA6
+:102C0000083A920892005118C9698007C00EC14065
+:102C10000806800F09E081081C4A890089180968A4
+:102C20008007C00EC1400806800F002803D11DA1F7
+:102C3000234802F0CEF9787F14214843451900213A
+:102C4000E0686A460591117303AA05A900E0D8E07F
+:102C5000F1F75EF86A460C2010560F2832DD01208D
+:102C600031E0B3E0F60300000080841E00807BE1C9
+:102C7000FF7F841E3C1D0020FFFFFF00B81C0020CA
+:102C8000442801001407000000ED00E000E400E02B
+:102C9000FFFF3F00481D002016010020701C00208F
+:102CA000901C00207372635C72656D2E63000000DF
+:102CB00017050000F5040000FA040000B01B002016
+:102CC0000605000000200599401808900220A8720F
+:102CD0002079287260796872A068291DC01C039150
+:102CE0001F2801DA01200AE006AAF1F711F8684668
+:102CF000007E002804D0039803990068401C0860F7
+:102D0000287A062813D203007B441B79DB189F44E2
+:102D1000020C0A08060400200FE0B4200DE0732026
+:102D20000BE0322009E00A2007E0062005E0FF2042
+:102D3000FD49E23002F04DF900202179002943D00D
+:102D400002214118069168680831401808990590D9
+:102D500008180699401A0C900020F071F0F767FFF0
+:102D600004462860089820180002000AE860707A7B
+:102D7000062825D0707A14214843EC494018406851
+:102D80000090059940180002000A0190687A69468F
+:102D900088726846FFF788FD0098019A001B121B95
+:102DA00000021202E24B000A120A0C99984207D85C
+:102DB0008A4205D80099069808180002000A28607F
+:102DC000F0790028C8D110E00421BAE704AA0299DA
+:102DD000F0F79EFF6846007C002804D00298029914
+:102DE0000068401C08602078A872787F0A2806D006
+:102DF000787F401C78770B9800F038FF47E0002080
+:102E0000F8E7E87F002803D0CAA1CD4802F0E1F836
+:102E10000120E877CB490F9808742078022803D165
+:102E2000C4A1C94802F0D5F8C64D2079287260794E
+:102E300068722A460C322946A068F0F769FF0C2018
+:102E400028560F2804DD1F3828732868401C286086
+:102E50000C22AA56281DE16802908818C01C1F2861
+:102E600003DA0299012008600CE003AA0299F0F746
+:102E70004FFF6846007B002804D002980299006842
+:102E8000401C08602078A872AE4901200875797F3F
+:102E9000387F814223D0747A062C22D0F0F7C7FE07
+:102EA00014214C43A1496218117C042917D003292D
+:102EB00015D0536892681B1A101A1B0200029C4915
+:102EC0001B0A000A082B0AD30A468B4207D89042F5
+:102ED00005D8787F397F884201D0F0F7F4FE11B031
+:102EE000F0BD787F397F8842F7D111B0F0BD10B5C1
+:102EF0000020F0F7FAFD10BD10B50120F0F7F5FD48
+:102F000010BDF1B5009802281FD0904C607A0628B9
+:102F100003D188A18E4802F05CF80026A671012535
+:102F2000E572607A03211422804F5043C019017466
+:102F3000F0F7CEFE009800280CD001282AD00328F4
+:102F40007CD0B5207BA1C00044E082480078EFF738
+:102F50000DFEF8BD8048007F002803D075A17F4892
+:102F600002F037F865717C4D00202E60F0F7D0FD3F
+:102F7000A968481C04D0012300221846F0F7FEFD82
+:102F8000607A617A401CC0B2142251437A58012100
+:102F90009047F8BD0120F0F7BBFD607900280DD007
+:102FA0006D488068401C09D0607A617A401CC0B2CC
+:102FB000142251437A5806219047F8BD6648007F95
+:102FC00001280AD0022812D0032824D0042836D0A1
+:102FD00058A1634801F0FDFFF8BD2079002803D017
+:102FE0002671F0F77AFEE5705B480677F8BD207A27
+:102FF000002804D1FEF770FAEFF718FE2572607A08
+:10300000617A401CC0B2142251437A580021904783
+:1030100051480677F8BD504F0123397B786800226C
+:10302000411A1846F0F7AAFD2079002803D026712E
+:10303000F0F753FEE57002203877F8BD1BE0464EEE
+:10304000217870680123411A00221846F0F796FD96
+:10305000207A002804D1FEF73FFAEFF7E7FD25724A
+:10306000607A617A401CC0B2142251437A58002120
+:1030700090473577F8BD607A617A401CC0B214225F
+:1030800051437A5805219047F8BD10B52F4C607A0E
+:10309000062803D127A1334801F09BFF607A617AAB
+:1030A000401CC0B214225143204A52580421904778
+:1030B00010BDF0B583B006200290F0F7B8FD234CA8
+:1030C0000090617A28480190062920D0617A142066
+:1030D000414316480918097C042918D0617A142242
+:1030E00051430818007C03287BD00198009A03689C
+:1030F00040689B1A801A1B0200020D491B0A000A35
+:10310000082B6ED30A468B426BD8904269D812487E
+:103110008068401C03D007A1144801F05AFF00202A
+:103120006071607A062823E0A42C0100B81C0020FE
+:10313000FFFF3F007372635C72656D2E63000000D9
+:103140001E050000901C0020240500003C1D0020EE
+:1031500055050000100100201C1D00206105000025
+:103160009C050000AF0500002C1D0020EB050000B1
+:1031700007D16078002804D0FE48C178417081787A
+:103180000170607A062815D0607A1421FA4A484303
+:103190008018007C04280DD1607A0290617A0120A9
+:1031A0001423594389180874617A59438918897C12
+:1031B0006172A072F14D687F297FF14F884233D050
+:1031C000F04E287F142148438019007CC05D0128FF
+:1031D000287F07D048438019007CC05D02282FD08B
+:1031E00044E001E2142148438019807A01280AD082
+:1031F000287F0221142250438019007CC155287F6A
+:103200000A2808D009E0297F002014225143891997
+:10321000097CC8552AE0002001E0287F401C28775F
+:10322000687F297F8842CCD1D74D287D00284CD09B
+:10323000287CC15D012928D0C05D022830D03AE049
+:10324000287F142148438019807A012803D0CFA118
+:10325000D14801F0BEFE297F002014225143891974
+:103260008872297F51438919097CC855287F142108
+:1032700048438219287F48438019017C0098FEF753
+:10328000EBFF287F0A28C8D1C5E7A97A012904D015
+:103290000221C155002028750DE00021C1550AE02A
+:1032A000A87A012803D0B9A1BC4801F092FE002001
+:1032B000A872297CC855287D002806D0297CB24AEE
+:1032C0000098FEF7C9FF00202875029806281ED036
+:1032D00014214843A8494018017C012917D107212E
+:1032E000AF4D0174287B0A283CD0287BE97A401C2A
+:1032F000884203D1A5A1AB4801F06BFE297B02985F
+:103300006854287B0A2831D0287B401C2873607AB7
+:1033100006287DD0A07A00287BD00020A072617A98
+:10332000142041439448A04B0A18566891681D46E2
+:10333000D2687C35DE67AA6069609C4D697E002991
+:1033400016D00226617A14228B4851430818407B1C
+:1033500006281BD203007B441B79DB189F440A1408
+:1033600012100E0CE87A0028C4D0C7E70020CDE781
+:103370000426E7E700200FE0B4200DE073200BE007
+:10338000322009E00A2007E0062005E0FF207FA1A7
+:10339000E23001F01EFE00202873697E022901D070
+:1033A000012910D12969009A09188A1A1202120AF1
+:1033B0003A2A08D90320687632390802000A2861BF
+:1033C000322028730AE0322808D2207A00280ED151
+:1033D000FEF782F8EFF72AFC012007E0207A0028A8
+:1033E00005D0FEF798F8EFF74AFC002020726149FB
+:1033F0000822487820700978012901D0032906D1D4
+:1034000001212171297B884201D9421A083201E049
+:1034100091E0A1E0A378002B00D0921C2179002933
+:1034200001D1002B5DD09446614A00990092019A27
+:10343000176852687F1A511A3F0209023F0A090AA7
+:10344000BC451BD85A4A974218D8009A914215D8C1
+:10345000297B884223D92B69421A9A1A1202120A2E
+:10346000101880190002000A2A616860002914D02F
+:10347000032028770006000E3ED14CE0002020718A
+:10348000A070297B002925D02869401880190002E6
+:10349000000A6860022028772EE00120E9E78142D7
+:1034A0000BD92A69511889190902090A696000288B
+:1034B00001D00420DDE70220DBE7002B03D133A19C
+:1034C0003C4801F086FD286980190002000A686006
+:1034D000002004E0296989190902090A696028772E
+:1034E00019E0287B00280FD02969081880190002EC
+:1034F000000A6860022028772869012381190022C8
+:103500001846F0F73BFB09E0286980190002000A21
+:103510006860002028770120F0F7FAFA607A142119
+:10352000484315490C22401882560123002069683F
+:10353000F0F724FB10E00120F0F7EAFA0020F0F7A2
+:10354000E7FAF0F7CBFA207A002805D0FDF7E3FF81
+:10355000EFF795FB00202072A078002804D0F0F748
+:10356000BCFB0020E070A0706078002827D00148E4
+:10357000C17821E012010020B81C0020701C00203E
+:1035800015010020B01B0020901C00207372635CAA
+:1035900072656D2E630000000D0600002906000014
+:1035A000A81C00203B060000B01C00201C1D0020B1
+:1035B000FFFF3F008D060000417081780170207987
+:1035C000002806D00020CE49E0700978002900D1FB
+:1035D0002071CC48017BC07A814203D0CA48407830
+:1035E000EFF7C4FA0120E07103B0F0BDF0B5C74CAD
+:1035F0000746607A83B0062804D16F20C4A1000179
+:1036000001F0E7FC607A1421C44E48438019007C25
+:10361000032803D0BEA1C24801F0DBFCC14DA8685D
+:10362000401C03D0BAA1C04801F0D3FC607A142139
+:10363000484381190C20085600216A4600911171F7
+:10364000C01901AA6946F0F763FB6A4604201056C8
+:103650000F2801DD012000E0002000994018696872
+:1036600040180102090AA9606079002804D00123EA
+:1036700000221846F0F782FA03B0F0BD70B5AC4CEA
+:10368000AA4A0B1AA34214D3451AA54211D3934256
+:1036900003D9101A43185B1C0BE0954204D9511A48
+:1036A0000818401C434204E099A1A24801F091FC93
+:1036B0000023184670BD10B50146012300220220E8
+:1036C000F0F75CFA10BD10B50220F0F721FA10BD3A
+:1036D00010B5F0F7ACFA10BDF0B58C4D0446E87AA1
+:1036E00083B0002803D18AA1934801F072FC642CB6
+:1036F0004DD3924A00210846121B884147D3904877
+:10370000417F007F814242D18E48007D00283ED11A
+:10371000687A1421814F4843824EC519306801AA46
+:1037200000196946F0F7F4FA6946042008560028A3
+:1037300002DD0098401C0090A96800986B680A1888
+:10374000D21A1202804B120A9A4220D8AA7C062A68
+:1037500008D014235A43D2195268511A0902090A8F
+:10376000814214D3B068401C05D00120F0F7D0F995
+:103770000020C043B060306800193060A86800992C
+:1037800040180002000A7061012003B0F0BD002063
+:1037900003B0F0BDF8B50646401EC4B214205F4920
+:1037A00060434518287C002804D1772058A10001E7
+:1037B00001F00FFC6248017F407F81420CD0634AD8
+:1037C00014234B439B181B7CB3420CD00A290CD00A
+:1037D000491CC9B28142F3D15A48017D002961D008
+:1037E000007CB0425ED10020F8BD0021F1E7052940
+:1037F00003D0062901D0072928D101212974C17AD3
+:103800000023027B8A4221D00246565CA64201D1A7
+:10381000012301E0002B04D00A2911D04E1C965D33
+:1038200056540A290ED0491C167BC9B28E42ECD1DF
+:10383000002B0BD0117B002906D0117B491E04E020
+:103840000026ECE70021EFE70A211173697C0029CB
+:103850002AD06F74C17A0023027B8A4224D0425C52
+:10386000A24201D1012301E0002B04D00A2912D089
+:103870004A1C825C42540A290FD0491C027BC9B2FF
+:103880008A42ECD1002B0FD0027B0146002A06D0E1
+:103890000A7B521E04E00022EBE70021EEE70A2239
+:1038A0000A7301E017480027297C01299FD16A7C0F
+:1038B000002A9CD10120F8BD70B505461420174A96
+:1038C0000521684380180F4C0174207B0A2811D011
+:1038D000207BE17A401C884203D10DA11C4801F0F5
+:1038E00078FB207B2554207B0A2807D0207B401CB6
+:1038F000207370BDE07A0028EFD0F2E70020F7E7F0
+:1039000012010020A81C0020100100203C1D0020F6
+:103910007372635C72656D2E63000000B81C00203A
+:10392000F10600001C1D0020F2060000FF7F841E2F
+:103930000020A1071407000033070000FF1FA107A4
+:10394000701C0020901C0020FFFF3F00B01B0020D7
+:103950000902000010B501462022094801F09CF937
+:1039600007490020C877084610BD06490120486174
+:103970000548064A0168914201D100210160704763
+:103980004C1D0020000500401C010020BEBAFECAEC
+:10399000064A10705170704704481C22017841712A
+:1039A00042700170704770477047704720010020D7
+:1039B00030B50346002002460DE09C5C2546303DB4
+:1039C0000A2D02D30020C04330BD0A256843303899
+:1039D0002018521CD2B28A42EFD330BD70B50D46CA
+:1039E000144608E00A2101F0D1F92A193031203AB1
+:1039F000641ED177E4B2002CF4D170BD10B5002361
+:103A000010E0040A00020443A0B2CC5C444020064B
+:103A1000000F60400407240C44402006C00C6040A6
+:103A20005B1C9BB29342ECD310BD10B520380C4602
+:103A3000030001F0BFFB33E0DBE41B1F23272C3125
+:103A4000373C41474D5054585C606D7165697478DE
+:103A50007C8084888C9094989C9FA2A6AAAEB2B8D1
+:103A6000BCC0C5CACFE9F0F3D3D7F800206800F096
+:103A7000DDF8D6E0206800F0E1F8D2E0206800F040
+:103A8000F5F8CEE0207840B200F092FAC9E0207854
+:103A900040B200F0B0FAC4E02078616840B200F0B3
+:103AA000C3FABEE0207840B200F0D3FAB9E0207843
+:103AB00040B200F0DEFAB4E02078217940B200F0A4
+:103AC000E9FAAEE02078616840B200F013FBA8E0AC
+:103AD00000F01FFBA5E0206800F023FBA1E02078A8
+:103AE00000F038FB9DE02068FDF7F5FD99E02068C7
+:103AF000FDF7F5FD95E021792068FDF7F7FD90E0F1
+:103B00002068FDF73FFC8CE02068FDF740FC88E072
+:103B10002078FDF740FC84E0FDF74EFC81E0207842
+:103B2000FDF750FC7DE02078FDF762FC79E020682D
+:103B3000FDF77BFC75E02068FDF77DFC71E02068F7
+:103B4000FDF77FFC6DE02068FDF780FC69E02068F0
+:103B5000FDF782FC65E02068FDF784FC61E02068E9
+:103B6000FDF785FC5DE00846EDF7F0FA59E0EFF768
+:103B700070F856E0EFF79DF853E02068EFF7A5F8EE
+:103B80004FE0206800F080F84BE0206800F082F8F9
+:103B900047E0206800F083F843E02078A26861687D
+:103BA00000F082F83DE0207800F089F839E02078D4
+:103BB00000F091F835E02078616800F098F830E086
+:103BC0002078616800F09FF82BE02179207800F0E0
+:103BD000D5FB26E02068FDF778FE22E02068FEF79E
+:103BE0004DF91EE02068FEF731F91AE0204607C8BB
+:103BF00000F0B9FC15E0206800F00CFD11E06168F0
+:103C0000206800F037FD0CE0206800F029FF08E094
+:103C100009E003E0FFE700F03BFF02E0206800F06E
+:103C200073FF206010BD0120086010BD00210170ED
+:103C3000084670470146002008707047EFF3108176
+:103C4000C907C90F72B60278012A01D0012200E02B
+:103C5000002201230370002900D162B6002A01D09E
+:103C600000207047012040037047E7E7EFF3108121
+:103C7000C907C90F72B600220270002900D162B6CE
+:103C800000207047F2E7000038490968C9B20160B6
+:103C9000002070473549C0B2486000207047334962
+:103CA000C0B2886000207047082801D330487047B0
+:103CB000C3002E4818180161426100207047022895
+:103CC00002D32B48401C70472A4A0121C0008018AB
+:103CD000016000207047022802D32548401C70472D
+:103CE000244A0121C000801841600020704702284A
+:103CF00002D31F48401C70471F4A8000C9B2801879
+:103D0000016000207047022802D31948401C704708
+:103D1000194A800080180068C0B20860002070470F
+:103D200010B5FF20114AC043906008200021C30055
+:103D30009B1819615961401C1028F8D300200E4AC5
+:103D400005E0022803D383009B18196004E0830078
+:103D50009B181C68E4B21C60401C0428F1D310BD01
+:103D6000FF200249C04388607047000000F5014011
+:103D70000820000000F0014000F8014010B572B6C4
+:103D800000F0DEF800280BD0EDF78AFAFEF783F991
+:103D900000F0BBFA6F490020C86288626E49086073
+:103DA00062B6002010BDF3B5002501200007C06AEF
+:103DB00081B0C0430006000E04D168480068401C72
+:103DC00000D1012572B600F0BBF8002801D062B620
+:103DD00087E0EDF7D1F9EDF767FA614C614A002110
+:103DE0002368CB40DB071FD00346CB40DB0718D14D
+:103DF0004BB2002B07DA1E07360F083EB608B60096
+:103E0000B618F66904E09E08574FB600F6193668F2
+:103E10009B07DB0EDE4033069B0F012B04D0032BE8
+:103E200002D062B65148FEBD491C2029D8D3019C5E
+:103E300001204F49230001F0BDF914222424242439
+:103E4000242424240B0D1012142016181A1C1E2FC3
+:103E5000002400E00124C86314E00224FBE70324EB
+:103E6000F9E70424F7E70824F5E70924F3E70A242F
+:103E7000F1E70B24EFE70C24EDE70524EBE707243B
+:103E800000E00624D06901210002000AC9070843A6
+:103E9000D061002D04D009E062B601200003FEBD10
+:103EA0002C4D3448E862EDF7FFF9A8622A49324800
+:103EB0000860324902980860EDF7F6F9214600F0F3
+:103EC0000BFAFEF7AEF800F00DFC00F087FA01984F
+:103ED000EDF7B4F9040062B603D0FFF74FFF2046B8
+:103EE000FEBD0020FEBD10B5044600F029F80028F4
+:103EF00000D001202070002010BD21490860002062
+:103F0000704710B50C46102808D011280BD0122885
+:103F10000CD013280ED00120086010BD6168206805
+:103F2000FFF741FF0AE0FFF729FF07E02068FFF7EE
+:103F3000DAFF03E01249206808600020206010BD0D
+:103F400005480D490068884201D1012070470020D2
+:103F500070470000000500401C0100200010001008
+:103F600000E100E000ED00E000E400E001100000EE
+:103F70004000004000200000BEBAFECA2801002018
+:103F8000040000208107C90E002808DA0007000F8E
+:103F900008388008814A80008018C06904E08008E1
+:103FA0007F4A800080180068C8400006800F704774
+:103FB00010B5044600F0DBF8002813D02046FFF7C8
+:103FC000E1FFC0B200F0E1F800280DD07549E2062B
+:103FD0000B78D20E01209040002B08D04A68104385
+:103FE000486006E0704810BD6F48401C10BD6F4926
+:103FF0000860002010BD10B5044600F0B8F8002895
+:104000000BD06849E2060B78D20E01209040002BBD
+:1040100005D04A6882434A6004E0634810BD6349A2
+:1040200080310860002010BD70B50D46044600F0D8
+:104030009EF800280BD05E480068E206D20E0121EF
+:104040009140084000D001202860002070BD5648F3
+:1040500070BD10B5044600F08AF8002807D0E106CC
+:10406000C90E0120884052490860002010BD4E480A
+:1040700010BD10B5044600F07AF8002808D0E1061B
+:10408000C90E012088404A4980310860002010BDD7
+:10409000454810BD70B50D46044600F068F800288C
+:1040A00019D0284600F071F8002816D0A007C20EDB
+:1040B000FF209040A907090E9140002C10DA22073A
+:1040C000120F083A9308354A9B009B18DA6982431D
+:1040D0000A43DA610CE0344870BD3348401C70BDBF
+:1040E000A3082F4A9B009B181A6882430A431A6050
+:1040F000002070BD70B50C46054600F038F8002869
+:1041000005D02846FFF73EFF2070002070BD2648EE
+:1041100070BDBFF34F8F21492648C860BFF34F8F52
+:10412000FEE770B51F4C05462178012000290ED10D
+:10413000207072B600F0F8F81C4E8036316881436A
+:10414000616000F0F1F8C043306062B60020287072
+:10415000002070BD13490A78002A06D0002804D137
+:10416000124A48681060002008700020704710B59F
+:104170000446202805DA00F0D7F80121A1400842C2
+:1041800001D0002010BD012010BD012803D003285C
+:1041900001D00020704701207047000000ED00E0D2
+:1041A00000E400E02C0100200120000000E100E01C
+:1041B00000E200E00400FA05F8B504468007002597
+:1041C0000126002804DA5A48C563C66302208443E6
+:1041D000E00404D55748C563C66380148443600077
+:1041E00003D55548456080058443E00504D5534810
+:1041F000C563C66380158443A00404D55048C563D5
+:10420000C6634014844360042704C00FF90F88423A
+:1042100003D04CA1612000F0DCFEB80F0AD04E495B
+:10422000CD634E48C563C563CE63C663C6630320D2
+:104230008003844320050AD5494FFD632F20ECF706
+:10424000B3FFFE632F20ECF7AFFFF8148443002C7C
+:1042500003DAFFF765FD640064084248044203D0B6
+:1042600038A1902000F0B5FEF8BDF0B500210A4657
+:10427000FF230446CC40E4072AD04CB2E606F60EF3
+:104280000125B540384E3560384E3560002C11DAC6
+:1042900025072D0F083DAE08354DB6007619F56996
+:1042A000A407E70E1C46BC40A5431446BC4025436A
+:1042B000F5610DE0A6082F4DB60076193568A40704
+:1042C000E70E1C46BC40A5431446BC402543356060
+:1042D000491C2029CDD3F0BD70B5274C0D46206078
+:1042E000FFF76AFF2068FFF7C0FF2846EEF77AFD68
+:1042F000FDF7D6FAFDF782F9FFF712FDFDF7D5F8C5
+:10430000EEF7FEFB00F06AF870BD10B51A4C20689D
+:10431000FFF752FF2068FFF7A8FFFFF701FDEEF758
+:10432000E6FD0020206010BD1348006870470000C3
+:10433000C01F0040C0CF004000E50140C08F0040DA
+:10434000C0DF00407372635C736F635F636F6E66A0
+:1043500069672E6300000000C0EF0040C0FF00400E
+:10436000C0BF0040FEFF0FFC80E100E080E200E003
+:1043700000ED00E000E400E03401002070B500240E
+:1043800002460D4620462146002A1ED0012A04D0AE
+:10439000022A04D0032A1ED103E0012002E00220F9
+:1043A00013E003202B0000F005FF07160507090B9B
+:1043B0000D0F1600012108E0022106E0032104E0B0
+:1043C000042102E0052100E00621FDF7D9FE0028C6
+:1043D00001D0204670BD0724FBE70000B148002152
+:1043E00001708170704770B5AF4D01236B60AF4BAA
+:1043F0001C68002CFCD0002407E00E6806601E68D4
+:10440000002EFCD0001D091D641C9442F5D3002031
+:10441000686018680028FCD070BD70B5A14C0D46CE
+:104420006178884203D0A2A16C2000F0D2FD2B005D
+:1044300000F0C0FE094F0625254F4F4F4F464F0055
+:104440002078022803D09AA1702000F0C2FD03203A
+:104450002070A078022802D0012804D008E0A068CB
+:1044600000F0CEFB04E02269E168A068FFF7BBFF23
+:104470000020A070FDF724FE0420207070BDFDF721
+:10448000D4FE01466068FFF7F9F805462078022857
+:1044900003D087A1842000F09CFD894A89498A487D
+:1044A000954206D8401BC86086496078FEF737FB06
+:1044B00070BD854202D802224A71F3E7032003E06F
+:1044C000A0780028FAD10220FDF704FD00F0E0F802
+:1044D00070BD77A1AD2000F07CFD70BD70B50546C4
+:1044E000FDF7A3FE6F4C60602078012803D070A117
+:1044F000B42000F06EFD73490220087000220A719A
+:104500008D6003224A71704ACA6020706078FEF79D
+:1045100006FB70BD10B5634CA078002802D120784E
+:10452000002801D0112010BD6848FDF710FE607012
+:104530006078002803D001202070002010BD0320E7
+:1045400010BD10B50124020B64040121604BA04290
+:1045500002D29140186802E0203A58689140084021
+:1045600000D0012010BDF8B50E46910005464F1948
+:1045700014463F1F009100F054FB009980028919F6
+:10458000091FB14201D2012200E00022002C03D019
+:10459000FF2101318C4201D90920F8BD4D498D42DE
+:1045A00019D3AF4217D3854205D2874203D228469A
+:1045B0003043800701D01020F8BD8E420BD3002A73
+:1045C00009D12846FFF7BDFF002804D13846FFF780
+:1045D000B8FF002801D00F20F8BD3F483F490068D0
+:1045E000884205D0224631462846FFF7FCFE0FE000
+:1045F000FFF790FF0028EFD12A480121C6608560AF
+:10460000046181702046312148431430FFF766FF72
+:104610000020F8BD10B504462E48800A84420BD312
+:1046200000F0FFFAA04201D8102010BDA0020446FD
+:10463000FFF787FF002801D00F2010BD264827492B
+:104640000068884203D0204600F0DAFA0AE0FFF75B
+:1046500061FF0028F1D11348022184608170204855
+:10466000FFF73CFF002010BD1A48010B01208840D5
+:10467000401E704700B50B460246FFF7F5FF10429B
+:1046800001D00F2000BD124802604360002000BD31
+:1046900010B5044C6078FDF7AEFD00202070A070CE
+:1046A00010BD00003801002000E5014000E4014099
+:1046B0007372635C736F635F666C6173682E630013
+:1046C000307500006C1D0020D0FB01001B44010070
+:1046D00000060040006001001C010020BEBAFECAB6
+:1046E00010540000F74805218170002101704170CD
+:1046F000C1708160704710B5F3490A78022A07D06B
+:10470000CA681018C860C8689638FEF76FFF10BDF9
+:104710008A68101888608868F6E70378EB49EC4AE5
+:10472000002B02D0012B10D014E00379002B01D014
+:10473000012B0FD14379002B01D0012B0AD18368C3
+:10474000643B8B4206D2C06810E00379002B03D093
+:10475000012B01D0002070474379002B01D0012BA1
+:10476000F8D1C368643B8B42F4D280689042F1D8A0
+:1047700001207047F8B504460226FEF7BDFB00682D
+:10478000002803D0D3A1BE2000F023FC0127CD4D8B
+:10479000002C08D02078002817D0012805D0022846
+:1047A00011D0032813D02F710DE06068C82808D3FA
+:1047B000FEF792FF002804D06068FFF79CFF0126F7
+:1047C00003E0002601E000F0F9F93046F8BD287852
+:1047D0000028F8D16068FFF7A0FF0028E3D06068E8
+:1047E0000078002826D0A878042803D0B9A1F820A2
+:1047F00000F0EFFBB44F00203870606800790128AA
+:1048000000D00020387160684079002837D003203C
+:10481000787160688168E868FDF79EFFB86060683D
+:10482000C0689630F8600320A870A749E878FEF7C2
+:1048300076F9C8E7A4480221017061680979012965
+:1048400019D00021017161684979002915D003212F
+:10485000417161688968963181606168C968C16029
+:10486000C068984C14346060FDF7DFFC20606F7006
+:104870000220A870A7E70321E4E70221E8E702206D
+:10488000C6E7F8B58F4C0D46E178884204D0FF208A
+:1048900090A11A3000F09DFB28468A4F0025012682
+:1048A0001437030000F086FC090612375A7C8D97F6
+:1048B000C4A0C400A078032807D0A078022804D0A0
+:1048C000FF2084A11E3000F084FBF8BDA0780328EF
+:1048D00007D0A078022804D0FF207EA1223000F06B
+:1048E00078FB0420A07025712078002810D1FFF7F4
+:1048F00002FFE078FDF74FFFE0607D49886A7D4A5E
+:10490000024022617B4AD24310408862002050E07E
+:1049100000F054F9F8BDA078032807D0A078022849
+:1049200004D0FF206BA1453000F053FB2078002815
+:1049300002D000F04FF9F8BDA07803281FD1042061
+:104940002AE0091A6048C1600146E078FEF7E7F8FE
+:10495000F8BD0420FDF7BEFAA570F8BDA0780328C5
+:1049600007D0A078022804D0FF205AA1663000F0BA
+:1049700030FB20780028DCD1A07803280BD0FDF78D
+:1049800054FC01463868FEF779FE0028E1DB7968BF
+:104990008142DEDBD5E70520FDF79CFAA670F8BD65
+:1049A000A078042804D0FF204AA1873000F011FB32
+:1049B0000220A1688847FFF7DDFEFF260546C036C6
+:1049C00042E0A078042804D0FF2042A18C3000F0FF
+:1049D00000FB0120EDE7A078042899D0FF203DA13D
+:1049E000913000F0F6FA93E7A07804280AD06078B6
+:1049F000002802D0A078022804D0FF2035A19630EC
+:104A000000F0E7FA2078002893D12079002804D01C
+:104A10000620FDF75FFA2571C0E76078002805D011
+:104A20002949E078FEF77BF86570F8BD0720B3E709
+:104A3000FF2028A1B13046E7002D0AD0012D06D075
+:104A400024A1304600F0C5FA022DF5D1F8BD0420AE
+:104A500000E00320A1688847FFF78CFE0546F3E7D6
+:104A600070B5050005D0174CA078052803D011209B
+:104A700070BD102070BD2048FDF769FBE070E07844
+:104A8000002803D0A5600020A07070BD032070BD79
+:104A900010B50C480178002901D0112010BD817893
+:104AA00005292BD0817801292AD08178002927D0A7
+:104AB000012101708178012922D0807800281FD03F
+:104AC00020E000004C0100207C1D00203D860100FC
+:104AD000FF1FA1077372635C736F635F7261646928
+:104AE0006F5F74696D65736C6F742E6300000000F6
+:104AF0000005004002810080834801000F2010BDA6
+:104B000000F068F8002010BDF8B5394E0446B078C2
+:104B1000002801D001280DD1002C0DD02046FFF730
+:104B2000FCFD00280AD02078324D002808D0B0784B
+:104B3000012823D00F20F8BD1020F8BD0720F8BDB4
+:104B400002272F702079012814D000202871607965
+:104B5000002811D003206871A0689630A860E06832
+:104B6000E860E868224C14346060FDF75EFB20606A
+:104B7000B77019E00320E9E70220ECE70020287075
+:104B80002079012816D0002028716079002813D0E0
+:104B900003206871A168F068FDF7DEFDA860E06899
+:104BA0009630E8600320B0701249F078FDF7B7FF47
+:104BB0000020F8BD0320E7E70220EAE710B50E4821
+:104BC000816A0E4A11400A4A126911438162FDF757
+:104BD00077FA10BD10B5064CE078FDF70CFB082005
+:104BE000FDF778F90520A07000202070607010BDDE
+:104BF0004C0100207C1D002000050040FD7EFF7F51
+:104C00000A4A022151600A490B68002BFCD09060CF
+:104C100008680028FCD00020506008680028FCD0FC
+:104C200070470120000740697047000000E501401F
+:104C300000E4014070477047704770477047034673
+:104C400010B50B439B070FD1042A0DD308C810C918
+:104C5000121FA342F8D018BA21BA884201D9012004
+:104C600010BD0020C04310BD002A03D0D30703D0DD
+:104C7000521C07E0002010BD03780C78401C491C32
+:104C80001B1B07D103780C78401C491C1B1B01D14E
+:104C9000921EF1D1184610BDF8B5042A2CD3830713
+:104CA00012D00B78491C0370401C521E83070BD096
+:104CB0000B78491C0370401C521E830704D00B78EC
+:104CC000491C0370401C521E8B079B0F05D0C91A4C
+:104CD000DF002023DE1B08C90AE0ECF775FAF8BDF7
+:104CE0001D4608C9FD401C46B4402C4310C0121F8D
+:104CF000042AF5D2F308C91A521EF0D40B78491CC5
+:104D00000370401C521EEAD40B78491C0370401CEF
+:104D1000521EE4D409780170F8BD01E004C0091FF7
+:104D20000429FBD28B0701D50280801CC90700D063
+:104D30000270704700290BD0C30702D00270401CDC
+:104D4000491E022904D3830702D50280801C891ED4
+:104D5000E3E70022EEE70022DFE70378C278194696
+:104D6000437812061B0219438378C0781B04194349
+:104D700011430902090A000608437047020A087035
+:104D80004A70020C8A70020ECA7070470022030932
+:104D90008B4273D3030A8B4258D3030B8B423CD311
+:104DA000030C8B4221D312E003460B437FD4002235
+:104DB00043088B4274D303098B425FD3030A8B42AF
+:104DC00044D3030B8B4228D3030C8B420DD3FF2219
+:104DD000090212BA030C8B4202D31212090265D0E7
+:104DE000030B8B4219D300E0090AC30B8B4201D39A
+:104DF000CB03C01A5241830B8B4201D38B03C01AE1
+:104E00005241430B8B4201D34B03C01A5241030B57
+:104E10008B4201D30B03C01A5241C30A8B4201D308
+:104E2000CB02C01A5241830A8B4201D38B02C01AB3
+:104E30005241430A8B4201D34B02C01A5241030A2A
+:104E40008B4201D30B02C01A5241CDD2C3098B420F
+:104E500001D3CB01C01A524183098B4201D38B018C
+:104E6000C01A524143098B4201D34B01C01A52412F
+:104E700003098B4201D30B01C01A5241C3088B4274
+:104E800001D3CB00C01A524183088B4201D38B005F
+:104E9000C01A524143088B4201D34B00C01A524101
+:104EA000411A00D201465241104670475DE0CA0FD8
+:104EB00000D04942031000D34042534000229C4698
+:104EC00003098B422DD3030A8B4212D3FC228901A2
+:104ED00012BA030A8B420CD3890192118B4208D378
+:104EE000890192118B4204D389013AD0921100E0DA
+:104EF0008909C3098B4201D3CB01C01A52418309EE
+:104F00008B4201D38B01C01A524143098B4201D31A
+:104F10004B01C01A524103098B4201D30B01C01A45
+:104F20005241C3088B4201D3CB00C01A52418308BF
+:104F30008B4201D38B00C01A5241D9D243088B4215
+:104F400001D34B00C01A5241411A00D201466346B8
+:104F500052415B10104601D34042002B00D549421C
+:104F6000704763465B1000D3404201B50020C04645
+:104F7000C04602BD704770477047704710B500F0DB
+:104F800059F810BD30B58C180278401C13071B0F60
+:104F900001D10378401C120906D10278401C03E0BD
+:104FA0000578401C0D70491C5B1EF9D101E00B70A7
+:104FB000491C521EFBD1A142E6D3002030BD0000A7
+:104FC00001231B68134B1860134B1960134B1A60B5
+:104FD0007047134A134B13607246053AF0E7114AC3
+:104FE0000F4B1B689A420ED10D4B002018600198A0
+:104FF0000D4B04B598470CBC9E460246029800999A
+:105000000A4B1B68184706980599094B1B68DB6813
+:105010001847000070010020740100207801002072
+:1050200068010020EFBEADDE5539010028010020E7
+:10503000040000201D481E497047FFF7FBFFECF7F6
+:105040007DF800BD01200007C06AC0B2FF2804D16E
+:10505000184819490968884202D01848184901605F
+:10506000184819490968884203D1184A13605B68D7
+:10507000184700BD20BFFDE7124813490968884260
+:105080000ED1134B18680B498842F3D080F308887F
+:105090001049884204DD1048026802210A43026078
+:1050A0000E4880470E4880470E480047901D00205C
+:1050B000901D0020FFFFFFFF001000102C05004096
+:1050C0000800000000100000000000200400002084
+:1050D0000060010000200020240500406B39010021
+:1050E00045500100C14F01001348704502D1EFF354
+:1050F000098101E0EFF308818869023800781028FF
+:1051000014DB202810DB23280BDB0C4A12680C4B25
+:105110009A4203D1602804DB0A4A10470220086043
+:105120007047094A10470000084A1047084A1268A9
+:105130002C32126810470000FDFFFFFF1C01002009
+:10514000BEBAFECAAD1200002B3A0100033F0100B7
+:10515000040000200D4B0E4908470E4B0C49084730
+:105160000D4B0B4908470D4B094908470C4B0849A3
+:1051700008470C4B064908470B4B054908470B4BA2
+:10518000034908470A4B024908470000052E000062
+:10519000E13D0000BD2F0000873C0000353C0000D1
+:1051A000E9390000B912000063170000493D000012
+:1051B000AB2B000030B47446641E2578641CAB42EF
+:1051C00000D21D46635D5B00E31830BC1847000049
+:1051D00002490020C861203908727047E0030020AE
+:1051E00000020207FFFFFFFF0000FFFF01020408AB
+:1051F00010204080555555D6BE898E00F401FA0026
+:10520000960064004B0032001E00140001000300F1
+:10521000000001000000000000000000000000008D
+:1052200000000000870000000000000000000000F7
+:105230000000000000000203040500000E0F000043
+:10524000705201000800002010000000041100004E
+:10525000805201001800002064010000844F01000A
+:10526000A45201007C010020141C00002011000049
+:105270000249022208681042FCD0704700E200E0B8
+:10528000E1078F56FF9900CD29022B01360100015D
+:1052900000EC3720FB349B5F8074800010027001AB
+:0452A000E4C54F0111
+:00000001FF
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TARGET_HRM1017/TARGET_NORDIC/TARGET_MCU_NRF51822/PeripheralNames.h	Fri Aug 15 15:28:31 2014 +0100
@@ -0,0 +1,58 @@
+/* mbed Microcontroller Library
+ * Copyright (c) 2013 Nordic Semiconductor
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+#ifndef MBED_PERIPHERALNAMES_H
+#define MBED_PERIPHERALNAMES_H
+
+#include "cmsis.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#define STDIO_UART_TX     TX_PIN_NUMBER
+#define STDIO_UART_RX     RX_PIN_NUMBER
+#define STDIO_UART        UART_0
+
+typedef enum {
+    UART_0 = (int)NRF_UART0_BASE
+} UARTName;
+
+
+typedef enum {
+    SPI_0 = (int)NRF_SPI0_BASE,
+    SPI_1 = (int)NRF_SPI1_BASE,
+    SPIS = (int)NRF_SPIS1_BASE
+} SPIName;
+
+typedef enum {
+    PWM_1 = 0,
+    PWM_2
+} PWMName;
+
+typedef enum {
+    I2C_0 = (int)NRF_TWI0_BASE,
+    I2C_1 = (int)NRF_TWI1_BASE
+} I2CName;
+
+typedef enum {
+    ADC0_0 = (int)NRF_ADC_BASE
+} ADCName;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TARGET_HRM1017/TARGET_NORDIC/TARGET_MCU_NRF51822/PortNames.h	Fri Aug 15 15:28:31 2014 +0100
@@ -0,0 +1,30 @@
+/* mbed Microcontroller Library
+ * Copyright (c) 2013 Nordic Semiconductor
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+#ifndef MBED_PORTNAMES_H
+#define MBED_PORTNAMES_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+typedef enum {
+    Port0 = 0 //GPIO pins 0-31
+} PortName;
+
+#ifdef __cplusplus
+}
+#endif
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TARGET_HRM1017/TARGET_NORDIC/TARGET_MCU_NRF51822/TARGET_HRM1017/PinNames.h	Fri Aug 15 15:28:31 2014 +0100
@@ -0,0 +1,153 @@
+/* mbed Microcontroller Library
+ * Copyright (c) 2013 Nordic Semiconductor
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+#ifndef MBED_PINNAMES_H
+#define MBED_PINNAMES_H
+
+#include "cmsis.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+typedef enum {
+    PIN_INPUT,
+    PIN_OUTPUT
+} PinDirection;
+
+#define PORT_SHIFT  3
+
+typedef enum {
+    p0  = 0,
+    p1  = 1,
+    p2  = 2,
+    p3  = 3,
+    p4  = 4,
+    p5  = 5,
+    p6  = 6,
+    p7  = 7,
+    p8  = 8,
+    p9  = 9,
+    p10 = 10,
+    p11 = 11,
+    p12 = 12,
+    p13 = 13,
+    p14 = 14,
+    p15 = 15,
+    p16 = 16,
+    p17 = 17,
+    p18 = 18,
+    p19 = 19,
+    p20 = 20,
+    p21 = 21,
+    p22 = 22,
+    p23 = 23,
+    p24 = 24,
+    p25 = 25,
+    p26 = 26,
+    p27 = 27,
+    p28 = 28,
+    p29 = 29,
+    p30 = 30,
+//    p31=31,    
+    
+    P0_0  = p0,
+    P0_1  = p1,
+    P0_2  = p2,
+    P0_3  = p3,
+    P0_4  = p4,
+    P0_5  = p5,
+    P0_6  = p6,
+    P0_7  = p7,
+    
+    P0_8  = p8,
+    P0_9  = p9,
+    P0_10 = p10,
+    P0_11 = p11,
+    P0_12 = p12,
+    P0_13 = p13,
+    P0_14 = p14,
+    P0_15 = p15,
+    
+    P0_16 = p16,
+    P0_17 = p17,
+    P0_18 = p18,
+    P0_19 = p19,
+    P0_20 = p20,
+    P0_21 = p21,
+    P0_22 = p22,
+    P0_23 = p23,
+    
+    P0_24 = p24,
+    P0_25 = p25,
+    P0_26 = p26,
+    P0_27 = p27,
+    P0_28 = p28,
+    P0_29 = p29,
+    P0_30 = p30,
+    
+    LED1    = p18,
+    LED2    = p19,
+    LED3    = p18,
+    LED4    = p19,
+    
+    BUTTON1 = p16,
+    BUTTON2 = p17,
+        
+    RX_PIN_NUMBER = p11,
+    TX_PIN_NUMBER = p9,
+    CTS_PIN_NUMBER = p10,
+    RTS_PIN_NUMBER = p8,
+
+    // mBed interface Pins
+    USBTX = TX_PIN_NUMBER,
+    USBRX = RX_PIN_NUMBER,
+        
+    SPI_PSELMOSI0 = p20,
+    SPI_PSELMISO0 = p22,
+    SPI_PSELSS0 = p24,
+    SPI_PSELSCK0 = p25,
+        
+    SPI_PSELMOSI1 = p12,
+    SPI_PSELMISO1 = p13,
+    SPI_PSELSS1 = p14,
+    SPI_PSELSCK1 = p15,
+    
+    SPIS_PSELMOSI = p12,
+    SPIS_PSELMISO = p13,
+    SPIS_PSELSS = p14,    
+    SPIS_PSELSCK = p15,
+
+    I2C_SDA0 = p22,
+    I2C_SCL0 = p20,
+
+    I2C_SDA1 = p13,
+    I2C_SCL1 = p15,
+    // Not connected
+    NC = (int)0xFFFFFFFF
+} PinName;
+
+typedef enum {
+    PullNone = 0,
+    PullDown = 1,
+    PullUp = 3,
+    PullDefault = PullUp
+} PinMode;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TARGET_HRM1017/TARGET_NORDIC/TARGET_MCU_NRF51822/TARGET_HRM1017/device.h	Fri Aug 15 15:28:31 2014 +0100
@@ -0,0 +1,57 @@
+/* mbed Microcontroller Library
+ * Copyright (c) 2006-2013 ARM Limited
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+#ifndef MBED_DEVICE_H
+#define MBED_DEVICE_H
+
+#define DEVICE_PORTIN           1
+#define DEVICE_PORTOUT          1
+#define DEVICE_PORTINOUT        1
+
+#define DEVICE_INTERRUPTIN      1
+
+#define DEVICE_ANALOGIN         1
+#define DEVICE_ANALOGOUT        0
+
+#define DEVICE_SERIAL           1
+
+#define DEVICE_I2C              1
+#define DEVICE_I2CSLAVE         0
+
+#define DEVICE_SPI              1
+#define DEVICE_SPISLAVE         1
+
+#define DEVICE_CAN              0
+
+#define DEVICE_RTC              0
+
+#define DEVICE_ETHERNET         0
+
+#define DEVICE_PWMOUT           1
+
+#define DEVICE_SEMIHOST         0
+#define DEVICE_LOCALFILESYSTEM  0
+
+#define DEVICE_SLEEP            1
+
+#define DEVICE_DEBUG_AWARENESS  0
+
+#define DEVICE_STDIO_MESSAGES   0
+
+#define DEVICE_ERROR_PATTERN    1
+
+#include "objects.h"
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TARGET_HRM1017/TARGET_NORDIC/TARGET_MCU_NRF51822/gpio_object.h	Fri Aug 15 15:28:31 2014 +0100
@@ -0,0 +1,52 @@
+/* mbed Microcontroller Library
+ * Copyright (c) 2006-2013 ARM Limited
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+#ifndef MBED_GPIO_OBJECT_H
+#define MBED_GPIO_OBJECT_H
+
+#include "mbed_assert.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+typedef struct {
+    PinName  pin;
+    uint32_t mask;
+
+    __IO uint32_t *reg_dir;
+    __IO uint32_t *reg_set;
+    __IO uint32_t *reg_clr;
+    __I  uint32_t *reg_in;
+} gpio_t;
+
+static inline void gpio_write(gpio_t *obj, int value) {
+    MBED_ASSERT(obj->pin != (PinName)NC);
+    if (value)
+        *obj->reg_set = obj->mask;
+    else
+        *obj->reg_clr = obj->mask;
+}
+
+static inline int gpio_read(gpio_t *obj) {
+    MBED_ASSERT(obj->pin != (PinName)NC);
+    return ((*obj->reg_in & obj->mask) ? 1 : 0);
+}
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TARGET_HRM1017/TARGET_NORDIC/TARGET_MCU_NRF51822/objects.h	Fri Aug 15 15:28:31 2014 +0100
@@ -0,0 +1,73 @@
+/* mbed Microcontroller Library
+ * Copyright (c) 2013 Nordic Semiconductor
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+#ifndef MBED_OBJECTS_H
+#define MBED_OBJECTS_H
+
+#include "cmsis.h"
+#include "PortNames.h"
+#include "PeripheralNames.h"
+#include "PinNames.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+struct serial_s {
+    NRF_UART_Type *uart;
+    int index;
+};
+
+struct spi_s {
+    NRF_SPI_Type *spi;
+    NRF_SPIS_Type *spis;
+};
+
+struct port_s {
+    __IO uint32_t *reg_cnf;
+    __IO uint32_t *reg_out;
+    __I  uint32_t *reg_in;
+    PortName port;
+    uint32_t mask;
+};
+
+struct pwmout_s {
+    PWMName pwm;
+    PinName pin;
+};
+
+struct i2c_s {
+    NRF_TWI_Type *i2c;
+    PinName sda;
+    PinName scl;
+    int freq;
+};
+
+struct analogin_s {
+    ADCName adc;
+    uint8_t adc_pin;
+};
+
+struct gpio_irq_s {
+    uint32_t ch;
+};
+
+#include "gpio_object.h"
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
--- a/TARGET_HRM1017/TARGET_NORDIC/TARGET_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/ble.h	Fri Jul 25 09:46:51 2014 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,385 +0,0 @@
-/* Copyright (c) 2011 Nordic Semiconductor. All Rights Reserved.
- *
- * The information contained herein is confidential property of Nordic Semiconductor. The use,
- * copying, transfer or disclosure of such information is prohibited except by express written
- * agreement with Nordic Semiconductor.
- *
- */
-/**
-  @addtogroup BLE_COMMON BLE SoftDevice Common
-  @{
-  @defgroup ble_api Events, type definitions and API calls
-  @{
-
-  @brief Module independent events, type definitions and API calls for the S110 SoftDevice.
-
- */
-
-#ifndef BLE_H__
-#define BLE_H__
-
-#include "ble_ranges.h"
-#include "ble_types.h"
-#include "ble_gap.h"
-#include "ble_l2cap.h"
-#include "ble_gatt.h"
-#include "ble_gattc.h"
-#include "ble_gatts.h"
-
-/** @addtogroup BLE_COMMON_ENUMERATIONS Enumerations
- * @{ */
-
-/**
- * @brief Common API SVC numbers.
- */
-enum BLE_COMMON_SVCS
-{
-  SD_BLE_ENABLE = BLE_SVC_BASE,         /**< Enable and initialize the BLE stack */
-  SD_BLE_EVT_GET,                       /**< Get an event from the pending events queue. */
-  SD_BLE_TX_BUFFER_COUNT_GET,           /**< Get the total number of available application transmission buffers from the stack. */
-  SD_BLE_UUID_VS_ADD,                   /**< Add a Vendor Specific UUID. */
-  SD_BLE_UUID_DECODE,                   /**< Decode UUID bytes. */
-  SD_BLE_UUID_ENCODE,                   /**< Encode UUID bytes. */
-  SD_BLE_VERSION_GET,                   /**< Get the local version information (company id, Link Layer Version, Link Layer Subversion). */
-  SD_BLE_USER_MEM_REPLY,                /**< User Memory Reply. */
-  SD_BLE_OPT_SET,                       /**< Set a BLE option. */
-  SD_BLE_OPT_GET,                       /**< Get a BLE option. */
-};
-
-/** @} */
-
-/** @addtogroup BLE_COMMON_DEFINES Defines
- * @{ */
-
-/** @brief  Required pointer alignment for BLE Events.
-*/
-#define BLE_EVTS_PTR_ALIGNMENT    4
-
-/** @defgroup BLE_USER_MEM_TYPES User Memory Types
- * @{ */
-#define BLE_USER_MEM_TYPE_INVALID               0x00  /**< Invalid User Memory Types. */
-#define BLE_USER_MEM_TYPE_GATTS_QUEUED_WRITES   0x01  /**< User Memory for GATTS queued writes. */
-/** @} */
-
-/** @brief  Maximum number of Vendor Specific UUIDs.
-*/
-#define BLE_UUID_VS_MAX_COUNT     10
-
-/** @} */
-
-/** @addtogroup BLE_COMMON_STRUCTURES Structures
- * @{ */
-
-/**
- * @brief BLE Module Independent Event IDs.
- */
-enum BLE_COMMON_EVTS
-{
-  BLE_EVT_TX_COMPLETE  = BLE_EVT_BASE,  /**< Transmission Complete. */
-  BLE_EVT_USER_MEM_REQUEST,             /**< User Memory request. */
-  BLE_EVT_USER_MEM_RELEASE              /**< User Memory release. */
-};
-
-/**@brief User Memory Block. */
-typedef struct
-{
-  uint8_t*          p_mem;      /**< Pointer to the start of the user memory block. */
-  uint16_t          len;        /**< Length in bytes of the user memory block. */
-} ble_user_mem_block_t;
-
-/**
- * @brief TX complete event.
- */
-typedef struct
-{
-  uint8_t count;                        /**< Number of packets transmitted. */
-} ble_evt_tx_complete_t;
-
-/**@brief Event structure for BLE_EVT_USER_MEM_REQUEST. */
-typedef struct
-{
-  uint8_t                     type;     /**< User memory type, see @ref BLE_USER_MEM_TYPES. */
-} ble_evt_user_mem_request_t;
-
-/**@brief Event structure for BLE_EVT_USER_MEM_RELEASE. */
-typedef struct
-{
-  uint8_t                     type;       /**< User memory type, see @ref BLE_USER_MEM_TYPES. */
-  ble_user_mem_block_t        mem_block;  /**< User memory block */
-} ble_evt_user_mem_release_t;
-
-
-/**@brief Event structure for events not associated with a specific function module. */
-typedef struct
-{
-  uint16_t conn_handle;                 /**< Connection Handle on which this event occured. */
-  union
-  {
-    ble_evt_tx_complete_t           tx_complete;        /**< Transmission Complete. */
-    ble_evt_user_mem_request_t      user_mem_request;   /**< User Memory Request Event Parameters. */
-    ble_evt_user_mem_release_t      user_mem_release;   /**< User Memory Release Event Parameters. */
-  } params;
-} ble_common_evt_t;
-
-/**@brief BLE Event header. */
-typedef struct
-{
-  uint16_t evt_id;                      /**< Value from a BLE_<module>_EVT series. */
-  uint16_t evt_len;                     /**< Length in octets excluding this header. */
-} ble_evt_hdr_t;
-
-/**@brief Common BLE Event type, wrapping the module specific event reports. */
-typedef struct
-{
-  ble_evt_hdr_t header;                 /**< Event header. */
-  union
-  {
-    ble_common_evt_t  common_evt;         /**< Common Event, evt_id in BLE_EVT_* series. */
-    ble_gap_evt_t     gap_evt;            /**< GAP originated event, evt_id in BLE_GAP_EVT_* series. */
-    ble_l2cap_evt_t   l2cap_evt;          /**< L2CAP originated event, evt_id in BLE_L2CAP_EVT* series. */
-    ble_gattc_evt_t   gattc_evt;          /**< GATT client originated event, evt_id in BLE_GATTC_EVT* series. */
-    ble_gatts_evt_t   gatts_evt;          /**< GATT server originated event, evt_id in BLE_GATTS_EVT* series. */
-  } evt;
-} ble_evt_t;
-
-
-/**
- * @brief Version Information.
- */
-typedef struct
-{
-  uint8_t   version_number;             /**< Link Layer Version number for BT 4.1 spec is 7 (https://www.bluetooth.org/en-us/specification/assigned-numbers/link-layer). */
-  uint16_t  company_id;                 /**< Company ID, Nordic Semiconductor's company ID is 89 (0x0059) (https://www.bluetooth.org/apps/content/Default.aspx?doc_id=49708). */
-  uint16_t  subversion_number;          /**< Link Layer Sub Version number, corresponds to the SoftDevice Config ID or Firmware ID (FWID). */
-} ble_version_t;
-
-/**@brief Common BLE Option type, wrapping the module specific options. */
-typedef union
-{
-  ble_gap_opt_t     gap;            /**< GAP option, opt_id in BLE_GAP_OPT_* series. */
-} ble_opt_t;
-
-/**
- * @brief BLE GATTS init options
- */
-typedef struct
-{
-  ble_gatts_enable_params_t  gatts_enable_params; /**< GATTS init options @ref ble_gatts_enable_params_t. */  
-} ble_enable_params_t;
-
-/** @} */
-
-/** @addtogroup BLE_COMMON_FUNCTIONS Functions
- * @{ */
-
-/**@brief Enable the bluetooth stack
- *
- * @param[in] p_ble_enable_params Pointer to ble_enable_params_t
- *
- * @details This call initializes the bluetooth stack, no other BLE related call can be called before this one has been executed.
- *
- * @return @ref NRF_SUCCESS BLE stack has been initialized successfully
- * @return @ref NRF_ERROR_INVALID_ADDR Invalid or not sufficiently aligned pointer supplied.
- */
-SVCALL(SD_BLE_ENABLE, uint32_t, sd_ble_enable(ble_enable_params_t * p_ble_enable_params));
-
-/**@brief Get an event from the pending events queue.
- *
- * @param[in] p_dest Pointer to buffer to be filled in with an event, or NULL to retrieve the event length. This buffer <b>must be 4-byte aligned in memory</b>.
- * @param[in, out] p_len Pointer the length of the buffer, on return it is filled with the event length.
- *
- * @details This call allows the application to pull a BLE event from the BLE stack. The application is signalled that an event is 
- * available from the BLE Stack by the triggering of the SD_EVT_IRQn interrupt (mapped to IRQ 22).
- * The application is free to choose whether to call this function from thread mode (main context) or directly from the Interrupt Service Routine
- * that maps to SD_EVT_IRQn. In any case however, and because the BLE stack runs at a higher priority than the application, this function should be called
- * in a loop (until @ref NRF_ERROR_NOT_FOUND is returned) every time SD_EVT_IRQn is raised to ensure that all available events are pulled from the stack. 
- * Failure to do so could potentially leave events in the internal queue without the application being aware of this fact.
- * Sizing the p_dest buffer is equally important, since the application needs to provide all the memory necessary for the event to be copied into
- * application memory. If the buffer provided is not large enough to fit the entire contents of the event, @ref NRF_ERROR_DATA_SIZE will be returned
- * and the application can then call again with a larger buffer size.
- * Please note that because of the variable length nature of some events, sizeof(ble_evt_t) will not always be large enough to fit certain events, 
- * and so it is the application's responsability to provide an amount of memory large enough so that the relevant event is copied in full.
- * The application may "peek" the event length by providing p_dest as a NULL pointer and inspecting the value of *p_len upon return.
- *
- * @note The pointer supplied must be aligned to the extend defined by @ref BLE_EVTS_PTR_ALIGNMENT
- *
- * @return @ref NRF_SUCCESS Event pulled and stored into the supplied buffer.
- * @return @ref NRF_ERROR_INVALID_ADDR Invalid or not sufficiently aligned pointer supplied.
- * @return @ref NRF_ERROR_NOT_FOUND No events ready to be pulled.
- * @return @ref NRF_ERROR_DATA_SIZE Event ready but could not fit into the supplied buffer.
- */
-SVCALL(SD_BLE_EVT_GET, uint32_t, sd_ble_evt_get(uint8_t* p_dest, uint16_t *p_len));
-
-
-/**@brief Get the total number of available application transmission buffers in the BLE stack.
- *
- * @details This call allows the application to obtain the total number of
- *          transmission buffers available for application data. Please note that
- *          this does not give the number of free buffers, but rather the total amount of them.
- *          The application has two options to handle its own application transmission buffers:
- *          - Use a simple arithmetic calculation: at boot time the application should use this function
- *          to find out the total amount of buffers available to it and store it in a variable.
- *          Every time a packet that consumes an application buffer is sent using any of the 
- *          exposed functions in this BLE API, the application should decrement that variable.
- *          Conversely, whenever a @ref BLE_EVT_TX_COMPLETE event is received by the application
- *          it should retrieve the count field in such event and add that number to the same
- *          variable storing the number of available packets.
- *          This mechanism allows the application to be aware at any time of the number of
- *          application packets available in the BLE stack's internal buffers, and therefore
- *          it can know with certainty whether it is possible to send more data or it has to
- *          wait for a @ref BLE_EVT_TX_COMPLETE event before it proceeds.
- *          - Choose to simply not keep track of available buffers at all, and instead handle the 
- *          @ref BLE_ERROR_NO_TX_BUFFERS error by queueing the packet to be transmitted and 
- *          try again as soon as a @ref BLE_EVT_TX_COMPLETE event arrives.
- *
- *          The API functions that <b>may</b> consume an application buffer depending on 
- *          the parameters supplied to them can be found below:
- *
- *          - @ref sd_ble_gattc_write (write witout response only)
- *          - @ref sd_ble_gatts_hvx (notifications only)
- *          - @ref sd_ble_l2cap_tx (all packets)
- *
- * @param[out] p_count Pointer to a uint8_t which will contain the number of application transmission buffers upon
- *                     successful return.
- *
- * @return @ref NRF_SUCCESS Number of application transmission buffers retrieved successfully.
- * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
- */
-SVCALL(SD_BLE_TX_BUFFER_COUNT_GET, uint32_t, sd_ble_tx_buffer_count_get(uint8_t* p_count));
-
-
-/**@brief Add a Vendor Specific UUID.
- *
- * @details This call enables the application to add a vendor specific UUID to the BLE stack's table,
- *          for later use all other modules and APIs. This then allows the application to use the shorter,
- *          24-bit @ref ble_uuid_t format when dealing with both 16-bit and 128-bit UUIDs without having to
- *          check for lengths and having split code paths. The way that this is accomplished is by extending the 
- *          grouping mechanism that the Bluetooth SIG standard base UUID uses for all other 128-bit UUIDs. The 
- *          type field in the @ref ble_uuid_t structure is an index (relative to @ref BLE_UUID_TYPE_VENDOR_BEGIN) 
- *          to the table populated by multiple calls to this function, and the uuid field in the same structure 
- *          contains the 2 bytes at indices 12 and 13. The number of possible 128-bit UUIDs available to the 
- *          application is therefore the number of Vendor Specific UUIDs added with the help of this function times 65536, 
- *          although restricted to modifying bytes 12 and 13 for each of the entries in the supplied array.
- *
- * @note Bytes 12 and 13 of the provided UUID will not be used internally, since those are always replaced by 
- * the 16-bit uuid field in @ref ble_uuid_t.
- *
- *
- * @param[in]  p_vs_uuid    Pointer to a 16-octet (128-bit) little endian Vendor Specific UUID disregarding
- *                          bytes 12 and 13.
- * @param[out] p_uuid_type  Pointer where the type field in @ref ble_uuid_t corresponding to this UUID will be stored.
- *
- * @return @ref NRF_SUCCESS Successfully added the Vendor Specific UUID.
- * @return @ref NRF_ERROR_INVALID_ADDR If p_vs_uuid or p_uuid_type is NULL or invalid.
- * @return @ref NRF_ERROR_NO_MEM If there are no more free slots for VS UUIDs.
- * @return @ref NRF_ERROR_FORBIDDEN If p_vs_uuid has already been added to the VS UUID table.
- */
-SVCALL(SD_BLE_UUID_VS_ADD, uint32_t, sd_ble_uuid_vs_add(ble_uuid128_t const * const p_vs_uuid, uint8_t * const p_uuid_type));
-
-
-/** @brief Decode little endian raw UUID bytes (16-bit or 128-bit) into a 24 bit @ref ble_uuid_t structure.
- * 
- * @details The raw UUID bytes excluding bytes 12 and 13 (i.e. bytes 0-11 and 14-15) of p_uuid_le are compared 
- * to the corresponding ones in each entry of the table of vendor specific UUIDs pouplated with @ref sd_ble_uuid_vs_add 
- * to look for a match. If there is such a match, bytes 12 and 13 are returned as p_uuid->uuid and the index 
- * relative to @ref BLE_UUID_TYPE_VENDOR_BEGIN as p_uuid->type. 
- *
- * @note If the UUID length supplied is 2, then the type set by this call will always be @ref BLE_UUID_TYPE_BLE.
- *
- * @param[in]      uuid_le_len Length in bytes of the buffer pointed to by p_uuid_le (must be 2 or 16 bytes).
- * @param[in]      p_uuid_le   Pointer pointing to little endian raw UUID bytes.
- * @param[in,out]  p_uuid      Pointer to a @ref ble_uuid_t structure to be filled in.
- *
- * @return @ref NRF_SUCCESS Successfully decoded into the @ref ble_uuid_t structure.
- * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
- * @return @ref NRF_ERROR_INVALID_LENGTH Invalid UUID length.
- * @return @ref NRF_ERROR_NOT_FOUND For a 128-bit UUID, no match in the populated table of UUIDs.
- */                                                 
-SVCALL(SD_BLE_UUID_DECODE, uint32_t, sd_ble_uuid_decode(uint8_t uuid_le_len, uint8_t const * const p_uuid_le, ble_uuid_t * const p_uuid));
-
-
-/** @brief Encode a @ref ble_uuid_t structure into little endian raw UUID bytes (16-bit or 128-bit).
- *
- * @note The pointer to the destination buffer p_uuid_le may be NULL, in which case only the validitiy and size of p_uuid is computed.
- *
- * @param[in]      p_uuid        Pointer to a @ref ble_uuid_t structure that will be encoded into bytes.
- * @param[out]     p_uuid_le_len Pointer to a uint8_t that will be filled with the encoded length (2 or 16 bytes).
- * @param[out]     p_uuid_le     Pointer to a buffer where the little endian raw UUID bytes (2 or 16) will be stored.
- *
- * @return @ref NRF_SUCCESS Successfully encoded into the buffer.
- * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
- * @return @ref NRF_ERROR_INVALID_PARAM Invalid UUID type.
- */
-SVCALL(SD_BLE_UUID_ENCODE, uint32_t, sd_ble_uuid_encode(ble_uuid_t const * const p_uuid, uint8_t * const  p_uuid_le_len, uint8_t * const p_uuid_le));
-
-
-/**@brief Get Version Information.
- *
- * @details This call allows the application to get the BLE stack version information.
- *
- * @param[in] p_version Pointer to ble_version_t structure to be filled in.
- *
- * @return @ref NRF_SUCCESS  Version information stored successfully.
- * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
- * @return @ref NRF_ERROR_BUSY The stack is busy (typically doing a locally-initiated disconnection procedure).
- */
-SVCALL(SD_BLE_VERSION_GET, uint32_t, sd_ble_version_get(ble_version_t * p_version));
-
-
-/**@brief Provide a user memory block.
- *
- * @note This call can only be used as a response to a @ref BLE_EVT_USER_MEM_REQUEST event issued to the application.
- *
- * @param[in] conn_handle                 Connection handle.
- * @param[in] p_block                     Pointer to a user memory block structure.
- *
- * @return @ref NRF_SUCCESS               Successfully queued a response to the peer.
- * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid Connection Handle.
- * @return @ref NRF_ERROR_INVALID_STATE   No execute write request pending.
- */
-SVCALL(SD_BLE_USER_MEM_REPLY, uint32_t, sd_ble_user_mem_reply(uint16_t conn_handle, ble_user_mem_block_t *p_block));
-
-
-/**@brief Set a BLE option.
- *
- * @details This call allows the application to set the value of an option.
- *
- * @param[in] opt_id Option ID.
- * @param[in] p_opt Pointer to a ble_opt_t structure containing the option value.
- *
- * @retval ::NRF_SUCCESS  Option set successfully.
- * @retval ::NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
- * @retval ::BLE_ERROR_INVALID_CONN_HANDLE Invalid Connection Handle.
- * @retval ::NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied, check parameter limits and constraints.
- * @retval ::NRF_ERROR_INVALID_STATE Unable to set the parameter at this time.
- * @retval ::NRF_ERROR_BUSY The stack is busy or the previous procedure has not completed.
- */
-SVCALL(SD_BLE_OPT_SET, uint32_t, sd_ble_opt_set(uint32_t opt_id, ble_opt_t const *p_opt));
-
-
-/**@brief Get a BLE option.
- *
- * @details This call allows the application to retrieve the value of an option.
- *
- * @param[in] opt_id Option ID.
- * @param[out] p_opt Pointer to a ble_opt_t structure to be filled in.
- *
- * @retval ::NRF_SUCCESS  Option retrieved successfully.
- * @retval ::NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
- * @retval ::BLE_ERROR_INVALID_CONN_HANDLE Invalid Connection Handle.
- * @retval ::NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied, check parameter limits and constraints.
- * @retval ::NRF_ERROR_INVALID_STATE Unable to retrieve the parameter at this time.
- * @retval ::NRF_ERROR_BUSY The stack is busy or the previous procedure has not completed.
- * @retval ::NRF_ERROR_NOT_SUPPORTED This option is not supported.
- *
- */
-SVCALL(SD_BLE_OPT_GET, uint32_t, sd_ble_opt_get(uint32_t opt_id, ble_opt_t *p_opt));
-
-/** @} */
-
-#endif /* BLE_H__ */
-
-/**
-  @}
-  @}
-*/
--- a/TARGET_HRM1017/TARGET_NORDIC/TARGET_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/ble_err.h	Fri Jul 25 09:46:51 2014 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,54 +0,0 @@
-/*
- * Copyright (c) 2012 Nordic Semiconductor. All Rights Reserved.
- *
- * The information contained herein is confidential property of Nordic Semiconductor. The use,
- * copying, transfer or disclosure of such information is prohibited except by express written
- * agreement with Nordic Semiconductor.
- *
- */
- /**
-  @addtogroup BLE_COMMON
-  @{
-  @addtogroup  nrf_error
-  @{
-    @ingroup BLE_COMMON
-  @}
-
-  @defgroup ble_err General error codes
-  @{
-
-  @brief General error code definitions for the BLE API.
-
-  @ingroup BLE_COMMON
-*/
-#ifndef NRF_BLE_ERR_H__
-#define NRF_BLE_ERR_H__
-
-#include "nrf_error.h"
-
-/* @defgroup BLE_ERRORS Error Codes
- * @{ */
-#define BLE_ERROR_NOT_ENABLED            (NRF_ERROR_STK_BASE_NUM+0x001) /**< @ref sd_ble_enable has not been called. */
-#define BLE_ERROR_INVALID_CONN_HANDLE    (NRF_ERROR_STK_BASE_NUM+0x002) /**< Invalid connection handle. */
-#define BLE_ERROR_INVALID_ATTR_HANDLE    (NRF_ERROR_STK_BASE_NUM+0x003) /**< Invalid attribute handle. */
-#define BLE_ERROR_NO_TX_BUFFERS          (NRF_ERROR_STK_BASE_NUM+0x004) /**< Buffer capacity exceeded. */
-/** @} */
-
-
-/** @defgroup BLE_ERROR_SUBRANGES Module specific error code subranges
- *  @brief Assignment of subranges for module specific error codes.
- *  @note For specific error codes, see ble_<module>.h or ble_error_<module>.h.
- * @{ */
-#define NRF_L2CAP_ERR_BASE             (NRF_ERROR_STK_BASE_NUM+0x100) /**< L2CAP specific errors. */
-#define NRF_GAP_ERR_BASE               (NRF_ERROR_STK_BASE_NUM+0x200) /**< GAP specific errors. */
-#define NRF_GATTC_ERR_BASE             (NRF_ERROR_STK_BASE_NUM+0x300) /**< GATT client specific errors. */
-#define NRF_GATTS_ERR_BASE             (NRF_ERROR_STK_BASE_NUM+0x400) /**< GATT server specific errors. */
-/** @} */
-
-#endif
-
-
-/**
-  @}
-  @}
-*/
--- a/TARGET_HRM1017/TARGET_NORDIC/TARGET_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/ble_gap.h	Fri Jul 25 09:46:51 2014 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1032 +0,0 @@
-/* Copyright (c) 2011 Nordic Semiconductor. All Rights Reserved.
- *
- * The information contained herein is confidential property of Nordic Semiconductor. The use,
- * copying, transfer or disclosure of such information is prohibited except by express written
- * agreement with Nordic Semiconductor.
- *
- */
-/**
-  @addtogroup BLE_GAP Generic Access Profile (GAP)
-  @{
-  @brief Definitions and prototypes for the GAP interface.
- */
-
-#ifndef BLE_GAP_H__
-#define BLE_GAP_H__
-
-#include "ble_types.h"
-#include "ble_ranges.h"
-#include "nrf_svc.h"
-
-
-/**@addtogroup BLE_GAP_ENUMERATIONS Enumerations 
- * @{ */
-
-/**@brief GAP API SVC numbers.
- */
-enum BLE_GAP_SVCS
-{
-  SD_BLE_GAP_ADDRESS_SET  = BLE_GAP_SVC_BASE,  /**< Set own Bluetooth Address. */
-  SD_BLE_GAP_ADDRESS_GET,                      /**< Get own Bluetooth Address. */
-  SD_BLE_GAP_ADV_DATA_SET,                     /**< Set Advertisement Data. */
-  SD_BLE_GAP_ADV_START,                        /**< Start Advertising. */
-  SD_BLE_GAP_ADV_STOP,                         /**< Stop Advertising. */
-  SD_BLE_GAP_CONN_PARAM_UPDATE,                /**< Connection Parameter Update. */
-  SD_BLE_GAP_DISCONNECT,                       /**< Disconnect. */
-  SD_BLE_GAP_TX_POWER_SET,                     /**< Set TX Power. */
-  SD_BLE_GAP_APPEARANCE_SET,                   /**< Set Appearance. */
-  SD_BLE_GAP_APPEARANCE_GET,                   /**< Get Appearance. */
-  SD_BLE_GAP_PPCP_SET,                         /**< Set PPCP. */
-  SD_BLE_GAP_PPCP_GET,                         /**< Get PPCP. */
-  SD_BLE_GAP_DEVICE_NAME_SET,                  /**< Set Device Name. */
-  SD_BLE_GAP_DEVICE_NAME_GET,                  /**< Get Device Name. */
-  SD_BLE_GAP_AUTHENTICATE,                     /**< Initiate Pairing/Bonding. */
-  SD_BLE_GAP_SEC_PARAMS_REPLY,                 /**< Reply with Security Parameters. */
-  SD_BLE_GAP_AUTH_KEY_REPLY,                   /**< Reply with an authentication key. */
-  SD_BLE_GAP_SEC_INFO_REPLY,                   /**< Reply with Security Information. */
-  SD_BLE_GAP_CONN_SEC_GET,                     /**< Obtain connection security level. */
-  SD_BLE_GAP_RSSI_START,                       /**< Start reporting of changes in RSSI. */ 
-  SD_BLE_GAP_RSSI_STOP,                        /**< Stop reporting of changes in RSSI. */ 
-};
-/**@} */
-
-/**@addtogroup BLE_GAP_DEFINES Defines
- * @{ */
-
-/**@defgroup BLE_ERRORS_GAP SVC return values specific to GAP
- * @{ */
-#define BLE_ERROR_GAP_UUID_LIST_MISMATCH            (NRF_GAP_ERR_BASE + 0x000)  /**< UUID list does not contain an integral number of UUIDs. */
-#define BLE_ERROR_GAP_DISCOVERABLE_WITH_WHITELIST   (NRF_GAP_ERR_BASE + 0x001)  /**< Use of Whitelist not permitted with discoverable advertising. */
-#define BLE_ERROR_GAP_INVALID_BLE_ADDR              (NRF_GAP_ERR_BASE + 0x002)  /**< The upper two bits of the address do not correspond to the specified address type. */
-/**@} */
-
-
-/**@defgroup BLE_GAP_ROLES GAP Roles
- * @note Not explicitly used in peripheral API, but will be relevant for central API.
- * @{ */
-#define BLE_GAP_ROLE_INVALID     0x0            /**< Invalid Role. */
-#define BLE_GAP_ROLE_PERIPH      0x1            /**< Peripheral Role. */
-#define BLE_GAP_ROLE_CENTRAL     0x2            /**< Central Role. */
-/**@} */
-
-
-/**@defgroup BLE_GAP_TIMEOUT_SOURCES GAP Timeout sources
- * @{ */
-#define BLE_GAP_TIMEOUT_SRC_ADVERTISEMENT              0x00 /**< Advertisement timeout. */
-#define BLE_GAP_TIMEOUT_SRC_SECURITY_REQUEST           0x01 /**< Security request timeout. */
-/**@} */
-
-
-/**@defgroup BLE_GAP_ADDR_TYPES GAP Address types
- * @{ */
-#define BLE_GAP_ADDR_TYPE_PUBLIC                        0x00 /**< Public address. */
-#define BLE_GAP_ADDR_TYPE_RANDOM_STATIC                 0x01 /**< Random Static address. */
-#define BLE_GAP_ADDR_TYPE_RANDOM_PRIVATE_RESOLVABLE     0x02 /**< Private Resolvable address. */
-#define BLE_GAP_ADDR_TYPE_RANDOM_PRIVATE_NON_RESOLVABLE 0x03 /**< Private Non-Resolvable address. */
-/**@} */
-
-/**@defgroup BLE_GAP_ADDR_CYCLE_MODES GAP Address cycle modes
- * @{ */
-#define BLE_GAP_ADDR_CYCLE_MODE_NONE      0x00 /**< Set addresses directly, no automatic address cycling. */
-#define BLE_GAP_ADDR_CYCLE_MODE_AUTO      0x01 /**< Automatically generate and update private addresses. */
-/** @} */
-
-/**@brief The default interval in seconds at which a private address is refreshed when address cycle mode is @ref BLE_GAP_ADDR_CYCLE_MODE_AUTO.  */
-#define BLE_GAP_DEFAULT_PRIVATE_ADDR_CYCLE_INTERVAL_S (60 * 15)
-
-/** @brief BLE address length. */
-#define BLE_GAP_ADDR_LEN            6
-
-
-/**@defgroup BLE_GAP_AD_TYPE_DEFINITIONS GAP Advertising and Scan Response Data format
- * @note Found at https://www.bluetooth.org/Technical/AssignedNumbers/generic_access_profile.htm
- * @{ */
-#define BLE_GAP_AD_TYPE_FLAGS                               0x01 /**< Flags for discoverability. */
-#define BLE_GAP_AD_TYPE_16BIT_SERVICE_UUID_MORE_AVAILABLE   0x02 /**< Partial list of 16 bit service UUIDs. */
-#define BLE_GAP_AD_TYPE_16BIT_SERVICE_UUID_COMPLETE         0x03 /**< Complete list of 16 bit service UUIDs. */
-#define BLE_GAP_AD_TYPE_32BIT_SERVICE_UUID_MORE_AVAILABLE   0x04 /**< Partial list of 32 bit service UUIDs. */
-#define BLE_GAP_AD_TYPE_32BIT_SERVICE_UUID_COMPLETE         0x05 /**< Complete list of 32 bit service UUIDs. */
-#define BLE_GAP_AD_TYPE_128BIT_SERVICE_UUID_MORE_AVAILABLE  0x06 /**< Partial list of 128 bit service UUIDs. */
-#define BLE_GAP_AD_TYPE_128BIT_SERVICE_UUID_COMPLETE        0x07 /**< Complete list of 128 bit service UUIDs. */
-#define BLE_GAP_AD_TYPE_SHORT_LOCAL_NAME                    0x08 /**< Short local device name. */
-#define BLE_GAP_AD_TYPE_COMPLETE_LOCAL_NAME                 0x09 /**< Complete local device name. */
-#define BLE_GAP_AD_TYPE_TX_POWER_LEVEL                      0x0A /**< Transmit power level. */
-#define BLE_GAP_AD_TYPE_CLASS_OF_DEVICE                     0x0D /**< Class of device. */
-#define BLE_GAP_AD_TYPE_SIMPLE_PAIRING_HASH_C               0x0E /**< Simple Pairing Hash C. */
-#define BLE_GAP_AD_TYPE_SIMPLE_PAIRING_RANDOMIZER_R         0x0F /**< Simple Pairing Randomizer R. */
-#define BLE_GAP_AD_TYPE_SECURITY_MANAGER_TK_VALUE           0x10 /**< Security Manager TK Value. */
-#define BLE_GAP_AD_TYPE_SECURITY_MANAGER_OOB_FLAGS          0x11 /**< Security Manager Out Of Band Flags. */
-#define BLE_GAP_AD_TYPE_SLAVE_CONNECTION_INTERVAL_RANGE     0x12 /**< Slave Connection Interval Range. */
-#define BLE_GAP_AD_TYPE_SOLICITED_SERVICE_UUIDS_16BIT       0x14 /**< List of 16-bit Service Solicitation UUIDs. */
-#define BLE_GAP_AD_TYPE_SOLICITED_SERVICE_UUIDS_128BIT      0x15 /**< List of 128-bit Service Solicitation UUIDs. */
-#define BLE_GAP_AD_TYPE_SERVICE_DATA                        0x16 /**< Service Data - 16-bit UUID. */
-#define BLE_GAP_AD_TYPE_PUBLIC_TARGET_ADDRESS               0x17 /**< Public Target Address. */
-#define BLE_GAP_AD_TYPE_RANDOM_TARGET_ADDRESS               0x18 /**< Random Target Address. */
-#define BLE_GAP_AD_TYPE_APPEARANCE                          0x19 /**< Appearance. */
-#define BLE_GAP_AD_TYPE_ADVERTISING_INTERVAL                0x1A /**< Advertising Interval. */ 
-#define BLE_GAP_AD_TYPE_LE_BLUETOOTH_DEVICE_ADDRESS         0x1B /**< LE Bluetooth Device Address. */
-#define BLE_GAP_AD_TYPE_LE_ROLE                             0x1C /**< LE Role. */
-#define BLE_GAP_AD_TYPE_SIMPLE_PAIRING_HASH_C256            0x1D /**< Simple Pairing Hash C-256. */
-#define BLE_GAP_AD_TYPE_SIMPLE_PAIRING_RANDOMIZER_R256      0x1E /**< Simple Pairing Randomizer R-256. */
-#define BLE_GAP_AD_TYPE_SERVICE_DATA_32BIT_UUID             0x20 /**< Service Data - 32-bit UUID. */
-#define BLE_GAP_AD_TYPE_SERVICE_DATA_128BIT_UUID            0x21 /**< Service Data - 128-bit UUID. */
-#define BLE_GAP_AD_TYPE_3D_INFORMATION_DATA                 0x3D /**< 3D Information Data. */
-#define BLE_GAP_AD_TYPE_MANUFACTURER_SPECIFIC_DATA          0xFF /**< Manufacturer Specific Data. */
-/**@} */
-
-
-/**@defgroup BLE_GAP_ADV_FLAGS GAP Advertisement Flags
- * @{ */
-#define BLE_GAP_ADV_FLAG_LE_LIMITED_DISC_MODE         (0x01)   /**< LE Limited Discoverable Mode. */
-#define BLE_GAP_ADV_FLAG_LE_GENERAL_DISC_MODE         (0x02)   /**< LE General Discoverable Mode. */
-#define BLE_GAP_ADV_FLAG_BR_EDR_NOT_SUPPORTED         (0x04)   /**< BR/EDR not supported. */
-#define BLE_GAP_ADV_FLAG_LE_BR_EDR_CONTROLLER         (0x08)   /**< Simultaneous LE and BR/EDR, Controller. */
-#define BLE_GAP_ADV_FLAG_LE_BR_EDR_HOST               (0x10)   /**< Simultaneous LE and BR/EDR, Host. */
-#define BLE_GAP_ADV_FLAGS_LE_ONLY_LIMITED_DISC_MODE   (BLE_GAP_ADV_FLAG_LE_LIMITED_DISC_MODE | BLE_GAP_ADV_FLAG_BR_EDR_NOT_SUPPORTED)   /**< LE Limited Discoverable Mode, BR/EDR not supported. */
-#define BLE_GAP_ADV_FLAGS_LE_ONLY_GENERAL_DISC_MODE   (BLE_GAP_ADV_FLAG_LE_GENERAL_DISC_MODE | BLE_GAP_ADV_FLAG_BR_EDR_NOT_SUPPORTED)   /**< LE General Discoverable Mode, BR/EDR not supported. */
-/**@} */
-
-
-/**@defgroup BLE_GAP_ADV_INTERVALS GAP Advertising interval max and min
- * @{ */
-#define BLE_GAP_ADV_INTERVAL_MIN        0x0020 /**< Minimum Advertising interval in 625 us units, i.e. 20 ms. */
-#define BLE_GAP_ADV_NONCON_INTERVAL_MIN 0x00A0 /**< Minimum Advertising interval in 625 us units for non connectable mode, i.e. 100 ms. */
-#define BLE_GAP_ADV_INTERVAL_MAX        0x4000 /**< Maximum Advertising interval in 625 us units, i.e. 10.24 s. */
- /**@}  */
-
-
-/**@brief Maximum size of advertising data in octets. */
-#define  BLE_GAP_ADV_MAX_SIZE       31
-
-
-/**@defgroup BLE_GAP_ADV_TYPES GAP Advertising types
- * @{ */
-#define BLE_GAP_ADV_TYPE_ADV_IND          0x00   /**< Connectable undirected. */
-#define BLE_GAP_ADV_TYPE_ADV_DIRECT_IND   0x01   /**< Connectable directed. */
-#define BLE_GAP_ADV_TYPE_ADV_SCAN_IND     0x02   /**< Scannable undirected. */
-#define BLE_GAP_ADV_TYPE_ADV_NONCONN_IND  0x03   /**< Non connectable undirected. */
-/**@} */
-
-
-/**@defgroup BLE_GAP_ADV_FILTER_POLICIES GAP Advertising filter policies
- * @{ */
-#define BLE_GAP_ADV_FP_ANY                0x00   /**< Allow scan requests and connect requests from any device. */
-#define BLE_GAP_ADV_FP_FILTER_SCANREQ     0x01   /**< Filter scan requests with whitelist. */
-#define BLE_GAP_ADV_FP_FILTER_CONNREQ     0x02   /**< Filter connect requests with whitelist. */
-#define BLE_GAP_ADV_FP_FILTER_BOTH        0x03   /**< Filter both scan and connect requests with whitelist. */
-/**@} */
-
-
-/**@defgroup BLE_GAP_ADV_TIMEOUT_VALUES GAP Advertising timeout values
- * @{ */
-#define BLE_GAP_ADV_TIMEOUT_LIMITED_MAX      180 /**< Maximum advertising time in limited discoverable mode (TGAP(lim_adv_timeout) = 180s in spec (Addendum 2)). */
-#define BLE_GAP_ADV_TIMEOUT_GENERAL_UNLIMITED  0 /**< Unlimited advertising in general discoverable mode. */
-/**@} */
-
-
-/**@defgroup BLE_GAP_DISC_MODES GAP Discovery modes
- * @{ */
-#define BLE_GAP_DISC_MODE_NOT_DISCOVERABLE  0x00   /**< Not discoverable discovery Mode. */
-#define BLE_GAP_DISC_MODE_LIMITED           0x01   /**< Limited Discovery Mode. */
-#define BLE_GAP_DISC_MODE_GENERAL           0x02   /**< General Discovery Mode. */
-/**@} */
-
-/**@defgroup BLE_GAP_IO_CAPS GAP IO Capabilities
- * @{ */
-#define BLE_GAP_IO_CAPS_DISPLAY_ONLY      0x00   /**< Display Only. */
-#define BLE_GAP_IO_CAPS_DISPLAY_YESNO     0x01   /**< Display and Yes/No entry. */
-#define BLE_GAP_IO_CAPS_KEYBOARD_ONLY     0x02   /**< Keyboard Only. */
-#define BLE_GAP_IO_CAPS_NONE              0x03   /**< No I/O capabilities. */
-#define BLE_GAP_IO_CAPS_KEYBOARD_DISPLAY  0x04   /**< Keyboard and Display. */
-/**@} */
-
-
-/**@defgroup BLE_GAP_AUTH_KEY_TYPES GAP Authentication Key Types
- * @{ */
-#define BLE_GAP_AUTH_KEY_TYPE_NONE        0x00   /**< No key (may be used to reject). */
-#define BLE_GAP_AUTH_KEY_TYPE_PASSKEY     0x01   /**< 6-digit Passkey. */
-#define BLE_GAP_AUTH_KEY_TYPE_OOB         0x02   /**< Out Of Band data. */
-/**@} */
-
-/**@defgroup BLE_GAP_SEC_STATUS GAP Security status
- * @{ */
-#define BLE_GAP_SEC_STATUS_SUCCESS                0x00  /**< Successful parameters. */
-#define BLE_GAP_SEC_STATUS_TIMEOUT                0x01  /**< Procedure timed out. */
-#define BLE_GAP_SEC_STATUS_PDU_INVALID            0x02  /**< Invalid PDU received. */
-#define BLE_GAP_SEC_STATUS_PASSKEY_ENTRY_FAILED   0x81  /**< Passkey entry failed (user cancelled or other). */
-#define BLE_GAP_SEC_STATUS_OOB_NOT_AVAILABLE      0x82  /**< Out of Band Key not available. */
-#define BLE_GAP_SEC_STATUS_AUTH_REQ               0x83  /**< Authentication requirements not met. */
-#define BLE_GAP_SEC_STATUS_CONFIRM_VALUE          0x84  /**< Confirm value failed. */
-#define BLE_GAP_SEC_STATUS_PAIRING_NOT_SUPP       0x85  /**< Pairing not supported.  */
-#define BLE_GAP_SEC_STATUS_ENC_KEY_SIZE           0x86  /**< Encryption key size. */
-#define BLE_GAP_SEC_STATUS_SMP_CMD_UNSUPPORTED    0x87  /**< Unsupported SMP command. */
-#define BLE_GAP_SEC_STATUS_UNSPECIFIED            0x88  /**< Unspecified reason. */
-#define BLE_GAP_SEC_STATUS_REPEATED_ATTEMPTS      0x89  /**< Too little time elapsed since last attempt. */
-#define BLE_GAP_SEC_STATUS_INVALID_PARAMS         0x8A  /**< Invalid parameters. */
-/**@} */
-
-/**@defgroup BLE_GAP_SEC_STATUS_SOURCES GAP Security status sources
- * @{ */
-#define BLE_GAP_SEC_STATUS_SOURCE_LOCAL           0x00  /**< Local failure. */
-#define BLE_GAP_SEC_STATUS_SOURCE_REMOTE          0x01  /**< Remote failure. */
-/**@} */
-
-/**@defgroup BLE_GAP_CP_LIMITS GAP Connection Parameters Limits
- * @{ */
-#define BLE_GAP_CP_MIN_CONN_INTVL_NONE           0xFFFF  /**< No new minimum connction interval specified in connect parameters. */
-#define BLE_GAP_CP_MIN_CONN_INTVL_MIN            0x0006  /**< Lowest mimimum connection interval permitted, in units of 1.25 ms, i.e. 7.5 ms. */
-#define BLE_GAP_CP_MIN_CONN_INTVL_MAX            0x0C80  /**< Highest minimum connection interval permitted, in units of 1.25 ms, i.e. 4 s. */
-#define BLE_GAP_CP_MAX_CONN_INTVL_NONE           0xFFFF  /**< No new maximum connction interval specified in connect parameters. */
-#define BLE_GAP_CP_MAX_CONN_INTVL_MIN            0x0006  /**< Lowest maximum connection interval permitted, in units of 1.25 ms, i.e. 7.5 ms. */
-#define BLE_GAP_CP_MAX_CONN_INTVL_MAX            0x0C80  /**< Highest maximum connection interval permitted, in units of 1.25 ms, i.e. 4 s. */
-#define BLE_GAP_CP_SLAVE_LATENCY_MAX             0x03E8  /**< Highest slave latency permitted, in connection events. */
-#define BLE_GAP_CP_CONN_SUP_TIMEOUT_NONE         0xFFFF  /**< No new supervision timeout specified in connect parameters. */
-#define BLE_GAP_CP_CONN_SUP_TIMEOUT_MIN          0x000A  /**< Lowest supervision timeout permitted, in units of 10 ms, i.e. 100 ms. */
-#define BLE_GAP_CP_CONN_SUP_TIMEOUT_MAX          0x0C80  /**< Highest supervision timeout permitted, in units of 10 ms, i.e. 32 s. */
-/**@} */
-
-
-/**@brief GAP device name maximum length. */
-#define BLE_GAP_DEVNAME_MAX_LEN           31
-
-
-/**@defgroup BLE_GAP_CONN_SEC_MODE_SET_MACROS GAP attribute security requirement setters
- *
- * See @ref ble_gap_conn_sec_mode_t.
- * @{ */
-/**@brief Set sec_mode pointed to by ptr to have no access rights.*/
-#define BLE_GAP_CONN_SEC_MODE_SET_NO_ACCESS(ptr)         do {(ptr)->sm = 0; (ptr)->lv = 0;} while(0)
-/**@brief Set sec_mode pointed to by ptr to require no protection, open link.*/
-#define BLE_GAP_CONN_SEC_MODE_SET_OPEN(ptr)              do {(ptr)->sm = 1; (ptr)->lv = 1;} while(0)
-/**@brief Set sec_mode pointed to by ptr to require encryption, but no MITM protection.*/
-#define BLE_GAP_CONN_SEC_MODE_SET_ENC_NO_MITM(ptr)       do {(ptr)->sm = 1; (ptr)->lv = 2;} while(0)
-/**@brief Set sec_mode pointed to by ptr to require encryption and MITM protection.*/
-#define BLE_GAP_CONN_SEC_MODE_SET_ENC_WITH_MITM(ptr)     do {(ptr)->sm = 1; (ptr)->lv = 3;} while(0)
-/**@brief Set sec_mode pointed to by ptr to require signing or encryption, no MITM protection needed.*/
-#define BLE_GAP_CONN_SEC_MODE_SET_SIGNED_NO_MITM(ptr)    do {(ptr)->sm = 2; (ptr)->lv = 1;} while(0)
-/**@brief Set sec_mode pointed to by ptr to require signing or encryption with MITM protection.*/
-#define BLE_GAP_CONN_SEC_MODE_SET_SIGNED_WITH_MITM(ptr)  do {(ptr)->sm = 2; (ptr)->lv = 2;} while(0)
-/**@} */
-
-
-/**@brief GAP Security Key Length. */
-#define BLE_GAP_SEC_KEY_LEN 16
-
-/**@brief GAP Passkey Length. */
-#define BLE_GAP_PASSKEY_LEN 6
-
-/**@brief Maximum amount of addresses in a whitelist. */
-#define BLE_GAP_WHITELIST_ADDR_MAX_COUNT (8)
-
-/**@brief Maximum amount of IRKs in a whitelist.
- * @note  The number of IRKs is limited to 8, even if the hardware supports more.
- */
-#define BLE_GAP_WHITELIST_IRK_MAX_COUNT (8)
-
-/**@defgroup GAP_SEC_MODES GAP Security Modes
- * @{ */
-#define BLE_GAP_SEC_MODE 0x00 /**< No key (may be used to reject). */
-/**@} */
-
-/**@} */
-
-/**@addtogroup BLE_GAP_STRUCTURES Structures
- * @{ */
-
-/**@brief Bluetooth Low Energy address. */
-typedef struct
-{
-  uint8_t addr_type;                    /**< See @ref BLE_GAP_ADDR_TYPES. */
-  uint8_t addr[BLE_GAP_ADDR_LEN];       /**< 48-bit address, LSB format. */
-} ble_gap_addr_t;
-
-
-/**@brief GAP connection parameters.
- *
- * @note  When ble_conn_params_t is received in an event, both min_conn_interval and
- *        max_conn_interval will be equal to the connection interval set by the central.
- */
-typedef struct
-{
-  uint16_t min_conn_interval;         /**< Minimum Connection Interval in 1.25 ms units, see @ref BLE_GAP_CP_LIMITS.*/
-  uint16_t max_conn_interval;         /**< Maximum Connection Interval in 1.25 ms units, see @ref BLE_GAP_CP_LIMITS.*/
-  uint16_t slave_latency;             /**< Slave Latency in number of connection events, see @ref BLE_GAP_CP_LIMITS.*/
-  uint16_t conn_sup_timeout;          /**< Connection Supervision Timeout in 10 ms units, see @ref BLE_GAP_CP_LIMITS.*/
-} ble_gap_conn_params_t;
-
-
-/**@brief GAP link requirements.
- *
- * See Bluetooth Core specification, Volume 3 Part C 10.2 for details.
- *
- * Security Mode 0 Level 0: No access permissions at all (this level is not defined by the Bluetooth Core specification).\n
- * Security Mode 1 Level 1: No security is needed (aka open link).\n
- * Security Mode 1 Level 2: Encrypted link required, MITM protection not necessary.\n
- * Security Mode 1 Level 3: MITM protected encrypted link required.\n
- * Security Mode 2 Level 1: Signing or encryption required, MITM protection not necessary.\n
- * Security Mode 2 Level 2: MITM protected signing required, unless link is MITM protected encrypted.\n
- */
-typedef struct
-{
-  uint8_t sm : 4;                     /**< Security Mode (1 or 2), 0 for no permissions at all. */
-  uint8_t lv : 4;                     /**< Level (1, 2 or 3), 0 for no permissions at all. */
-
-} ble_gap_conn_sec_mode_t;
-
-
-/**@brief GAP connection security status.*/
-typedef struct
-{
-  ble_gap_conn_sec_mode_t sec_mode;           /**< Currently active security mode for this connection.*/
-  uint8_t                 encr_key_size;      /**< Length of currently active encryption key, 7 to 16 octets (only applicable for bonding procedures). */
-} ble_gap_conn_sec_t;
-
-
-/**@brief Identity Resolving Key. */
-typedef struct
-{
-  uint8_t irk[BLE_GAP_SEC_KEY_LEN];   /**< Array containing IRK. */
-} ble_gap_irk_t;
-
-
-/**@brief Whitelist structure. */
-typedef struct
-{
-  ble_gap_addr_t   ** pp_addrs;        /**< Pointer to array of device address pointers, pointing to addresses to be used in whitelist. NULL if none are given. */
-  uint8_t             addr_count;      /**< Count of device addresses in array, up to @ref BLE_GAP_WHITELIST_ADDR_MAX_COUNT. */
-  ble_gap_irk_t    ** pp_irks;         /**< Pointer to array of Identity Resolving Key (IRK) pointers, each pointing to an IRK in the whitelist. NULL if none are given. */
-  uint8_t             irk_count;       /**< Count of IRKs in array, up to @ref BLE_GAP_WHITELIST_IRK_MAX_COUNT. */
-} ble_gap_whitelist_t;
-
-
-/**@brief GAP advertising parameters.*/
-typedef struct
-{
-  uint8_t               type;                 /**< See @ref BLE_GAP_ADV_TYPES. */
-  ble_gap_addr_t*       p_peer_addr;          /**< For BLE_GAP_CONN_MODE_DIRECTED mode only, known peer address. */
-  uint8_t               fp;                   /**< Filter Policy, see @ref BLE_GAP_ADV_FILTER_POLICIES. */
-  ble_gap_whitelist_t * p_whitelist;          /**< Pointer to whitelist, NULL if none is given. */
-  uint16_t              interval;             /**< Advertising interval between 0x0020 and 0x4000 in 0.625 ms units (20ms to 10.24s), see @ref BLE_GAP_ADV_INTERVALS. This parameter must be set to 0 if type equals @ref BLE_GAP_ADV_TYPE_ADV_DIRECT_IND. */
-  uint16_t              timeout;              /**< Advertising timeout between 0x0001 and 0x3FFF in seconds, 0x0000 disables timeout. See also @ref BLE_GAP_ADV_TIMEOUT_VALUES. This parameter must be set to 0 if type equals @ref BLE_GAP_ADV_TYPE_ADV_DIRECT_IND. */
-} ble_gap_adv_params_t;
-
-
-/**@brief GAP scanning parameters. */
-typedef struct
-{
-  uint8_t    filter;                    /**< Filter based on discovery mode, see @ref BLE_GAP_DISC_MODES. */
-  uint8_t    active    : 1;             /**< If 1, perform active scanning (scan requests). */
-  uint8_t    selective : 1;             /**< If 1, ignore unknown devices (non whitelisted). */
-  uint16_t   interval;                  /**< Scan interval between 0x0020 and 0x4000 in 0.625ms units (20ms to 10.24s). */
-  uint16_t   window;                    /**< Scan window between 0x0004 and 0x4000 in 0.625ms units (2.5ms to 10.24s). */
-  uint16_t   timeout;                   /**< Scan timeout between 0x0001 and 0x3FFF in seconds, 0x0000 disables timeout. */
-} ble_gap_scan_params_t;
-
-
-/**@brief GAP security parameters. */
-typedef struct
-{
-  uint16_t   timeout;                   /**< Timeout for SMP transactions or Security Request in seconds, see @ref sd_ble_gap_authenticate and @ref sd_ble_gap_sec_params_reply for more information. */
-  uint8_t    bond    : 1;               /**< Perform bonding. */
-  uint8_t    mitm    : 1;               /**< Man In The Middle protection required. */
-  uint8_t    io_caps : 3;               /**< IO capabilities, see @ref BLE_GAP_IO_CAPS. */
-  uint8_t    oob     : 1;               /**< Out Of Band data available. */
-  uint8_t    min_key_size;              /**< Minimum encryption key size in octets between 7 and 16. */
-  uint8_t    max_key_size;              /**< Maximum encryption key size in octets between min_key_size and 16. */
-} ble_gap_sec_params_t;
-
-
-/**@brief GAP Encryption Information. */
-typedef struct
-{
-  uint16_t  div;                        /**< Encryption Diversifier. */
-  uint8_t   ltk[BLE_GAP_SEC_KEY_LEN];   /**< Long Term Key. */
-  uint8_t   auth : 1;                   /**< Authenticated Key. */
-  uint8_t   ltk_len : 7;                /**< LTK length in octets. */
-} ble_gap_enc_info_t;
-
-
-/**@brief GAP Master Identification. */
-typedef struct
-{
-  uint16_t  ediv;                       /**< Encrypted Diversifier. */
-  uint8_t   rand[8];                    /**< Random Number. */
-} ble_gap_master_id_t;
-
-
-/**@brief GAP Identity Information. */
-typedef struct
-{
-  ble_gap_addr_t  addr;                       /**< Bluetooth address to which this key applies. */
-  uint8_t         irk[BLE_GAP_SEC_KEY_LEN];   /**< Identity Resolution Key. */
-} ble_gap_id_info_t;
-
-
-/**@brief GAP Signing Information. */
-typedef struct
-{
-  uint8_t   csrk[BLE_GAP_SEC_KEY_LEN]; /* Connection Signature Resolving Key. */
-} ble_gap_sign_info_t;
-
-
-/**@brief GAP Event IDs.
- * Those IDs uniquely identify an event coming from the stack to the application.
- */
-enum BLE_GAP_EVTS
-{
-  BLE_GAP_EVT_CONNECTED  = BLE_GAP_EVT_BASE,    /**< Connection established. */
-  BLE_GAP_EVT_DISCONNECTED,                     /**< Disconnected from peer. */
-  BLE_GAP_EVT_CONN_PARAM_UPDATE,                /**< Connection Parameters updated. */
-  BLE_GAP_EVT_SEC_PARAMS_REQUEST,               /**< Request to provide security parameters. */
-  BLE_GAP_EVT_SEC_INFO_REQUEST,                 /**< Request to provide security information. */
-  BLE_GAP_EVT_PASSKEY_DISPLAY,                  /**< Request to display a passkey to the user. */
-  BLE_GAP_EVT_AUTH_KEY_REQUEST,                 /**< Request to provide an authentication key. */
-  BLE_GAP_EVT_AUTH_STATUS,                      /**< Authentication procedure completed with status. */
-  BLE_GAP_EVT_CONN_SEC_UPDATE,                  /**< Connection security updated. */
-  BLE_GAP_EVT_TIMEOUT,                          /**< Timeout expired. */
-  BLE_GAP_EVT_RSSI_CHANGED,                     /**< Signal strength measurement report. */
-};
-
-
-/**
- * @brief GAP Option IDs.
- * IDs that uniquely identify a GAP option.
- */
-enum BLE_GAP_OPTS
-{
-  BLE_GAP_OPT_LOCAL_CONN_LATENCY  = BLE_GAP_OPT_BASE,    /**< Local connection latency. */
-  BLE_GAP_OPT_PASSKEY,                                   /**< Set passkey to be used during pairing. This option can be used to make the SoftDevice use an application provided passkey instead of generating a random passkey.*/
-  BLE_GAP_OPT_PRIVACY,                                   /**< Set or get custom IRK or custom private address cycle interval. */
-};
-/**@} */
-
-
-/**@brief Event data for connected event. */
-typedef struct
-{
-  ble_gap_addr_t        peer_addr;              /**< Bluetooth address of the peer device. */
-  uint8_t               irk_match :1;           /**< If 1, peer device's address resolved using an IRK. */
-  uint8_t               irk_match_idx  :7;      /**< Index in IRK list where the address was matched. */
-  ble_gap_conn_params_t conn_params;            /**< GAP Connection Parameters. */
-} ble_gap_evt_connected_t;
-
-
-/**@brief Event data for disconnected event. */
-typedef struct
-{
-  uint8_t reason;                               /**< HCI error code. */
-} ble_gap_evt_disconnected_t;
-
-
-/**@brief Event data for connection parameter update event. */
-typedef struct
-{
-  ble_gap_conn_params_t conn_params;            /**<  GAP Connection Parameters. */
-} ble_gap_evt_conn_param_update_t;
-
-
-/**@brief Event data for security parameters request event. */
-typedef struct
-{
-  ble_gap_sec_params_t peer_params;             /**< Initiator Security Parameters. */
-} ble_gap_evt_sec_params_request_t;
-
-
-/**@brief Event data for security info request event. */
-typedef struct
-{
-  ble_gap_addr_t peer_addr;                     /**< Bluetooth address of the peer device. */
-  uint16_t       div;                           /**< Encryption diversifier for LTK lookup. */
-  uint8_t        enc_info  : 1;                 /**< If 1, Encryption Information required. */
-  uint8_t        id_info   : 1;                 /**< If 1, Identity Information required. */
-  uint8_t        sign_info : 1;                 /**< If 1, Signing Information required. */
-} ble_gap_evt_sec_info_request_t;
-
-
-/**@brief Event data for passkey display event. */
-typedef struct
-{
-  uint8_t passkey[BLE_GAP_PASSKEY_LEN];         /**< 6-digit passkey in ASCII ('0'-'9' digits only). */
-} ble_gap_evt_passkey_display_t;
-
-
-/**@brief Event data for authentication key request event. */
-typedef struct
-{
-  uint8_t key_type;                             /**< See @ref BLE_GAP_AUTH_KEY_TYPES. */
-} ble_gap_evt_auth_key_request_t;
-
-
-/**@brief Security levels supported.
- * @note See Bluetooth Specification Version 4.1 Volume 3, Part C, Chapter 10.
-*/
-typedef struct
-{
-  uint8_t lv1 : 1;                              /**< If 1: Level 1 is supported. */
-  uint8_t lv2 : 1;                              /**< If 1: Level 2 is supported. */
-  uint8_t lv3 : 1;                              /**< If 1: Level 3 is supported. */
-} ble_gap_sec_levels_t;
-
-
-/**@brief Keys that have been exchanged. */
-typedef struct
-{
-  uint8_t ltk       : 1;                        /**< Long Term Key. */
-  uint8_t ediv_rand : 1;                        /**< Encrypted Diversifier and Random value. */
-  uint8_t irk       : 1;                        /**< Identity Resolving Key. */
-  uint8_t address   : 1;                        /**< Public or static random address. */
-  uint8_t csrk      : 1;                        /**< Connection Signature Resolving Key. */
-} ble_gap_sec_keys_t;
-
-
-/**@brief Event data for authentication status event. */
-typedef struct
-{
-  uint8_t               auth_status;            /**< Authentication status, see @ref BLE_GAP_SEC_STATUS. */
-  uint8_t               error_src;              /**< On error, source that caused the failure, see @ref BLE_GAP_SEC_STATUS_SOURCES. */
-  ble_gap_sec_levels_t  sm1_levels;             /**< Levels supported in Security Mode 1. */
-  ble_gap_sec_levels_t  sm2_levels;             /**< Levels supported in Security Mode 2. */
-  ble_gap_sec_keys_t    periph_kex;             /**< Bitmap stating which keys were exchanged (distributed) by the peripheral. */
-  ble_gap_sec_keys_t    central_kex;            /**< Bitmap stating which keys were exchanged (distributed) by the central. */
-  struct periph_keys_t
-  {
-    ble_gap_enc_info_t    enc_info;             /**< Peripheral's Encryption information. */
-  } periph_keys;                                /**< Actual keys distributed from the Peripheral to the Central. */ 
-  struct central_keys_t
-  {
-    ble_gap_irk_t         irk;                  /**< Central's IRK. */
-    ble_gap_addr_t        id_info;              /**< Central's Identity Info. */
-  } central_keys;                               /**< Actual keys distributed from the Central to the Peripheral. */
-} ble_gap_evt_auth_status_t;
-
-
-/**@brief Event data for connection security update event. */
-typedef struct
-{
-  ble_gap_conn_sec_t conn_sec;                  /**< Connection security level. */
-} ble_gap_evt_conn_sec_update_t;
-
-
-/**@brief Event data for timeout event. */
-typedef struct
-{
-  uint8_t src;                                  /**< Source of timeout event, see @ref BLE_GAP_TIMEOUT_SOURCES. */
-} ble_gap_evt_timeout_t;
-
-
-/**@brief Event data for advertisement report event. */
-typedef struct
-{
-  int8_t  rssi;                               /**< Received Signal Strength Indication in dBm. */
-} ble_gap_evt_rssi_changed_t;
-
-
-/**@brief GAP event callback event structure. */
-typedef struct
-{
-  uint16_t conn_handle;                                     /**< Connection Handle on which event occured. */
-  union                                                     /**< union alternative identified by evt_id in enclosing struct. */
-  {
-    ble_gap_evt_connected_t          connected;             /**< Connected Event Parameters. */
-    ble_gap_evt_disconnected_t       disconnected;          /**< Disconnected Event Parameters. */
-    ble_gap_evt_conn_param_update_t  conn_param_update;     /**< Connection Parameter Update Parameters. */
-    ble_gap_evt_sec_params_request_t sec_params_request;    /**< Security Parameters Request Event Parameters. */
-    ble_gap_evt_sec_info_request_t   sec_info_request;      /**< Security Information Request Event Parameters. */
-    ble_gap_evt_passkey_display_t    passkey_display;       /**< Passkey Display Event Parameters. */
-    ble_gap_evt_auth_key_request_t   auth_key_request;      /**< Authentication Key Request Event Parameters. */
-    ble_gap_evt_auth_status_t        auth_status;           /**< Authentication Status Event Parameters. */
-    ble_gap_evt_conn_sec_update_t    conn_sec_update;       /**< Connection Security Update Event Parameters. */
-    ble_gap_evt_timeout_t            timeout;               /**< Timeout Event Parameters. */
-    ble_gap_evt_rssi_changed_t       rssi_changed;          /**< RSSI Event parameters. */
-  } params;
-
-} ble_gap_evt_t;
-
-
-/**@brief Local connection latency option.
- *
- *         Local connection latency is a feature which enables the slave to improve
- *         current consumption by ignoring the slave latency set by the peer. The
- *         local connection latency can only be set to a multiple of the slave latency,
- *         and cannot be longer than half of the supervision timeout.
- *
- *         Used with @ref sd_ble_opt_set to set the local connection latency. The
- *         @ref sd_ble_opt_get is not supported for this option, but the actual 
- *         local connection latency (unless set to NULL) is set as a return parameter
- *         when setting the option.
- *
- *  @note  The latency set will be truncated down to the closest slave latency event
- *         multiple, or the nearest multiple before half of the supervision timeout.
- *
- *  @note  The local connection latency is default off, and needs to be set for new
- *         connections and whenever the connection is updated.
- *
- *  @retval ::NRF_SUCCESS Set successfully.
- *  @retval ::NRF_ERROR_NOT_SUPPORTED Get is not supported.
- *  @retval ::BLE_ERROR_INVALID_CONN_HANDLE Invalid connection handle parameter.
- */
-typedef struct
-{
-  uint16_t   conn_handle;                       /**< Connection Handle */
-  uint16_t   requested_latency;                 /**< Requested local connection latency. */
-  uint16_t * p_actual_latency;                  /**< Pointer to storage for the actual local connection latency (can be set to NULL to skip return value). */
-} ble_gap_opt_local_conn_latency_t;
-
-
-/**@brief Passkey Option.
- *
- *        Structure containing the passkey to be used during pairing. This can be used with @ref
- *        sd_ble_opt_set to make the SoftDevice use a pre-programmed passkey for authentication
- *        instead of generating a random one.
- *
- * @note  @ref sd_ble_opt_get is not supported for this option.
- *
- */
-typedef struct
-{
-  uint8_t * p_passkey;                          /**< Pointer to 6-digit ASCII string (digit 0..9 only, no NULL termination) passkey to be used during pairing. If this is NULL, the SoftDevice will generate a random passkey if required.*/
-} ble_gap_opt_passkey_t;
-
-
-/**@brief Custom Privacy Options.
- *
- * @note The specified address cycle interval is used when the address cycle mode is
- * @ref BLE_GAP_ADDR_CYCLE_MODE_AUTO. If 0 is given, the address will not be refreshed at any
- * interval, and not at start of advertising. A new address can be generated manually by calling
- * @ref sd_ble_gap_address_set with the same type again. The default interval is
- * @ref BLE_GAP_DEFAULT_PRIVATE_ADDR_CYCLE_INTERVAL_S.
- *
- * @note If cycle mode is @ref BLE_GAP_ADDR_CYCLE_MODE_AUTO, the address will immediately be
- * refreshed when this option is set.
- */
-typedef struct
-{
-  ble_gap_irk_t * p_irk;        /**< When input: Pointer to custom IRK, or NULL to use/reset to the device's default IRK. When output: Pointer to where the current IRK is to be stored, or NULL to not read out the IRK. */
-  uint16_t        interval_s;   /**< When input: Custom private address cycle interval in seconds. When output: The current private address cycle interval. */
-} ble_gap_opt_privacy_t;
-
-
-/**@brief Option structure for GAP options. */
-typedef union
-{
-  ble_gap_opt_local_conn_latency_t local_conn_latency;  /**< Local connection latency. */
-  ble_gap_opt_passkey_t            passkey;             /**< Passkey to be used for pairing.*/
-  ble_gap_opt_privacy_t            privacy;             /**< Custom privacy options. */
-} ble_gap_opt_t;
-/**@} */
-
-
-/**@addtogroup BLE_GAP_FUNCTIONS Functions
- * @{ */
-
-/**@brief Set local Bluetooth address.
- *
- * If the address cycle mode is @ref BLE_GAP_ADDR_CYCLE_MODE_AUTO, the address type is required to
- * be @ref BLE_GAP_ADDR_TYPE_RANDOM_PRIVATE_RESOLVABLE or
- * @ref BLE_GAP_ADDR_TYPE_RANDOM_PRIVATE_NON_RESOLVABLE. The given address is ignored and the
- * SoftDevice will generate a new private address automatically every time advertising is
- * (re)started, and every @ref BLE_GAP_DEFAULT_PRIVATE_ADDR_CYCLE_INTERVAL_S seconds. If this API
- * call is used again with the same parameters while advertising, the SoftDevice will immediately
- * generate a new private address to replace the current address.
- *
- * If the application wishes to use a @ref BLE_GAP_ADDR_TYPE_PUBLIC or
- * @ref BLE_GAP_ADDR_TYPE_RANDOM_STATIC address, the cycle mode must be
- * @ref BLE_GAP_ADDR_CYCLE_MODE_NONE.
- *
- * If this API function is called while advertising, the softdevice will immediately update the
- * advertising address without the need to stop advertising in the following cases:
- *   - If the previously set address is of type @ref BLE_GAP_ADDR_TYPE_PUBLIC and the new address
- *   is also of type @ref BLE_GAP_ADDR_TYPE_PUBLIC
- *   - If the previously set address is not @ref BLE_GAP_ADDR_TYPE_PUBLIC and the new address is
- *   also not @ref BLE_GAP_ADDR_TYPE_PUBLIC.
- *
- * If the address is changed from a @ref BLE_GAP_ADDR_TYPE_PUBLIC address to another type or from
- * another type to a @ref BLE_GAP_ADDR_TYPE_PUBLIC address, the change will take effect the next
- * time advertising is started.
- *
- * @note If the address cycle mode is @ref BLE_GAP_ADDR_CYCLE_MODE_NONE and the application is
- *       using privacy, the application must take care to generate and set new private addresses
- *       periodically to comply with the Privacy specification in Bluetooth Core Spec.
- *
- * @param[in] addr_cycle_mode Address cycle mode, see @ref BLE_GAP_ADDR_CYCLE_MODES.
- * @param[in] p_addr          Pointer to address structure.
- *
- * @return @ref NRF_SUCCESS Address successfully set.
- * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
- * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameters.
- * @return @ref BLE_ERROR_GAP_INVALID_BLE_ADDR Invalid address.
- * @return @ref NRF_ERROR_BUSY The stack is busy, process pending events and retry.
- */
-SVCALL(SD_BLE_GAP_ADDRESS_SET, uint32_t, sd_ble_gap_address_set(uint8_t addr_cycle_mode, ble_gap_addr_t const * const p_addr));
-
-
-/**@brief Get local Bluetooth address.
- *
- * @param[out] p_addr Pointer to address structure.
- *
- * @return @ref NRF_SUCCESS Address successfully retrieved.
- * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
- */
-SVCALL(SD_BLE_GAP_ADDRESS_GET, uint32_t, sd_ble_gap_address_get(ble_gap_addr_t * const p_addr));
-
-
-/**@brief Set, clear or update advertisement and scan response data.
- *
- * @note The format of the advertisement data will be checked by this call to ensure interoperability.
- *       Limitations imposed by this API call to the data provided include having a flags data type in the scan response data and
- *       duplicating the local name in the advertisement data and scan response data. 
- *
- * @note: To clear the advertisement data and set it to a 0-length packet, simply provide a valid pointer (p_data/p_sr_data) with its corresponding 
- *        length (dlen/srdlen) set to 0.
- *
- * @note: The call will fail if p_data and p_sr_data are both NULL since this would have no effect.
- *
- * @param[in] p_data    Raw data to be placed in advertisement packet. If NULL, no changes are made to the current advertisement packet data.
- * @param[in] dlen      Data length for p_data. Max size: @ref BLE_GAP_ADV_MAX_SIZE octets. Should be 0 if p_data is NULL, can be 0 if p_data is not NULL.
- * @param[in] p_sr_data Raw data to be placed in scan response packet. If NULL, no changes are made to the current scan response packet data.
- * @param[in] srdlen    Data length for p_sr_data. Max size: @ref BLE_GAP_ADV_MAX_SIZE octets. Should be 0 if p_sr_data is NULL, can be 0 if p_data is not NULL.
- *
- * @return @ref NRF_SUCCESS Advertisement data successfully updated or cleared.
- * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
- * @return @ref NRF_ERROR_INVALID_FLAGS Invalid combination of advertising flags supplied.
- * @return @ref NRF_ERROR_INVALID_DATA Invalid data type(s) supplied, check the advertising data format specification.
- * @return @ref NRF_ERROR_INVALID_LENGTH Invalid data length(s) supplied.
- * @return @ref BLE_ERROR_GAP_UUID_LIST_MISMATCH Invalid UUID list supplied.
- * @return @ref NRF_ERROR_BUSY The stack is busy, process pending events and retry.
- */
-SVCALL(SD_BLE_GAP_ADV_DATA_SET, uint32_t, sd_ble_gap_adv_data_set(uint8_t const * const p_data, uint8_t dlen, uint8_t const * const p_sr_data, uint8_t srdlen));
-
-
-/**@brief Start advertising (GAP Discoverable, Connectable modes, Broadcast Procedure).
- *
- * @param[in] p_adv_params Pointer to advertising parameters structure.
- *
- * @return @ref NRF_SUCCESS The BLE stack has started advertising.
- * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
- * @return @ref NRF_ERROR_INVALID_STATE Invalid state to perform operation.
- * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied, check the accepted ranges and limits.
- * @return @ref BLE_ERROR_GAP_INVALID_BLE_ADDR Invalid Bluetooth address supplied.
- * @return @ref BLE_ERROR_GAP_DISCOVERABLE_WITH_WHITELIST Discoverable mode and whitelist incompatible.
- */
-SVCALL(SD_BLE_GAP_ADV_START, uint32_t, sd_ble_gap_adv_start(ble_gap_adv_params_t const * const p_adv_params));
-
-
-/**@brief Stop advertising (GAP Discoverable, Connectable modes, Broadcast Procedure).
- *
- * @return @ref NRF_SUCCESS The BLE stack has stopped advertising.
- * @return @ref NRF_ERROR_INVALID_STATE Invalid state to perform operation (most probably not in advertising state).
- */
-SVCALL(SD_BLE_GAP_ADV_STOP, uint32_t, sd_ble_gap_adv_stop(void));
-
-
-/**@brief Update connection parameters.
- *
- * @details In the central role this will initiate a Link Layer connection parameter update procedure,
- *          otherwise in the peripheral role, this will send the corresponding L2CAP request and wait for
- *          the central to perform the procedure. In both cases, and regardless of success or failure, the application
- *          will be informed of the result with a @ref BLE_GAP_EVT_CONN_PARAM_UPDATE event.
- *
- * @note If both a connection supervision timeout and a maximum connection interval are specified, then the following constraint
- *       applies: (conn_sup_timeout * 8) >= (max_conn_interval * (slave_latency + 1))
- *
- * @param[in] conn_handle Connection handle.
- * @param[in] p_conn_params  Pointer to desired connection parameters. If NULL is provided on a peripheral role,
- *                           the parameters in the PPCP characteristic of the GAP service will be used instead.
- *
- * @return @ref NRF_SUCCESS The Connection Update procedure has been started successfully.
- * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
- * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied, check parameter limits and constraints.
- * @return @ref NRF_ERROR_BUSY Procedure already in progress or not allowed at this time, process pending events and retry.
- * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid connection handle supplied.
- * @return @ref NRF_ERROR_NO_MEM Not enough memory to complete operation.
- */
-SVCALL(SD_BLE_GAP_CONN_PARAM_UPDATE, uint32_t, sd_ble_gap_conn_param_update(uint16_t conn_handle, ble_gap_conn_params_t const * const p_conn_params));
-
-
-/**@brief Disconnect (GAP Link Termination).
- *
- * @details This call initiates the disconnection procedure, and its completion will be communicated to the application
- *          with a BLE_GAP_EVT_DISCONNECTED event.
- *
- * @param[in] conn_handle Connection handle.
- * @param[in] hci_status_code HCI status code, see @ref BLE_HCI_STATUS_CODES (accepted values are BTLE_REMOTE_USER_TERMINATED_CONNECTION and BTLE_CONN_INTERVAL_UNACCEPTABLE).
- *
- * @return @ref NRF_SUCCESS The disconnection procedure has been started successfully.
- * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied.
- * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid connection handle supplied.
- * @return @ref NRF_ERROR_INVALID_STATE Invalid state to perform operation (disconnection is already in progress or not connected at all).
- */
-SVCALL(SD_BLE_GAP_DISCONNECT, uint32_t, sd_ble_gap_disconnect(uint16_t conn_handle, uint8_t hci_status_code));
-
-
-/**@brief Set the radio's transmit power.
- *
- * @param[in] tx_power Radio transmit power in dBm (accepted values are -40, -30, -20, -16, -12, -8, -4, 0, and 4 dBm).
- *
- * @note -40 dBm will not actually give -40 dBm, but will instead be remapped to -30 dBm.
- *
- * @return @ref NRF_SUCCESS Successfully changed the transmit power.
- * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied.
- * @return @ref NRF_ERROR_BUSY The stack is busy, process pending events and retry.
- */
-SVCALL(SD_BLE_GAP_TX_POWER_SET, uint32_t, sd_ble_gap_tx_power_set(int8_t tx_power));
-
-
-/**@brief Set GAP Appearance value.
- *
- * @param[in] appearance Appearance (16-bit), see @ref BLE_APPEARANCES.
- *
- * @return @ref NRF_SUCCESS  Appearance value set successfully.
- * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied.
- */
-SVCALL(SD_BLE_GAP_APPEARANCE_SET, uint32_t, sd_ble_gap_appearance_set(uint16_t appearance));
-
-
-/**@brief Get GAP Appearance value.
- *
- * @param[out] p_appearance Appearance (16-bit), see @ref BLE_APPEARANCES.
- *
- * @return @ref NRF_SUCCESS Appearance value retrieved successfully.
- * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
- */
-SVCALL(SD_BLE_GAP_APPEARANCE_GET, uint32_t, sd_ble_gap_appearance_get(uint16_t * const p_appearance));
-
-
-/**@brief Set GAP Peripheral Preferred Connection Parameters.
- *
- * @param[in] p_conn_params Pointer to a @ref ble_gap_conn_params_t structure with the desired parameters.
- *
- * @return @ref NRF_SUCCESS Peripheral Preferred Connection Parameters set successfully.
- * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
- * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied.
- */
-SVCALL(SD_BLE_GAP_PPCP_SET, uint32_t, sd_ble_gap_ppcp_set(ble_gap_conn_params_t const * const p_conn_params));
-
-
-/**@brief Get GAP Peripheral Preferred Connection Parameters.
- *
- * @param[out] p_conn_params Pointer to a @ref ble_gap_conn_params_t structure where the parameters will be stored.
- *
- * @return @ref NRF_SUCCESS Peripheral Preferred Connection Parameters retrieved successfully.
- * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
- */
-SVCALL(SD_BLE_GAP_PPCP_GET, uint32_t, sd_ble_gap_ppcp_get(ble_gap_conn_params_t * const p_conn_params));
-
-
-/**@brief Set GAP device name.
- *
- * @param[in] p_write_perm Write permissions for the Device Name characteristic see @ref ble_gap_conn_sec_mode_t.
- * @param[in] p_dev_name Pointer to a UTF-8 encoded, <b>non NULL-terminated</b> string.
- * @param[in] len   Length of the UTF-8, <b>non NULL-terminated</b> string pointed to by p_dev_name in octets (must be smaller or equal than @ref BLE_GAP_DEVNAME_MAX_LEN).
- *
- * @return @ref NRF_SUCCESS GAP device name and permissions set successfully.
- * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
- * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied.
- * @return @ref NRF_ERROR_DATA_SIZE Invalid data size(s) supplied.
- */
-SVCALL(SD_BLE_GAP_DEVICE_NAME_SET, uint32_t, sd_ble_gap_device_name_set(ble_gap_conn_sec_mode_t const * const p_write_perm, uint8_t const * const p_dev_name, uint16_t len));
-
-
-/**@brief Get GAP device name.
- *
- * @param[in]     p_dev_name Pointer to an empty buffer where the UTF-8 <b>non NULL-terminated</b> string will be placed. Set to NULL to obtain the complete device name length.
- * @param[in,out] p_len      Length of the buffer pointed by p_dev_name, complete device name length on output.
- *
- * @note          If the device name is longer than the size of the supplied buffer,
- *                p_len will return the complete device name length,
- *                and not the number of bytes actually returned in p_dev_name.
- *                The application may use this information to allocate a suitable buffer size.
- *
- * @return @ref NRF_SUCCESS GAP device name retrieved successfully.
- * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
- * @return @ref NRF_ERROR_DATA_SIZE Invalid data size(s) supplied.
- */
-SVCALL(SD_BLE_GAP_DEVICE_NAME_GET, uint32_t, sd_ble_gap_device_name_get(uint8_t * const p_dev_name, uint16_t * const p_len));
-
-
-/**@brief Initiate GAP Authentication procedure.
- *
- * @param[in] conn_handle Connection handle.
- * @param[in] p_sec_params Pointer to the @ref ble_gap_sec_params_t structure with the security parameters to be used during the pairing procedure.
- *
- * @details In the central role, this function will send an SMP Pairing Request, otherwise in the peripheral role, an SMP Security Request will be sent.
- *          In the peripheral role, only the timeout, bond and mitm fields of @ref ble_gap_sec_params_t are used.
- *
- * @note    The GAP Authentication procedure may be triggered by the central without calling this function when accessing a secure service.
- * @note    Calling this function may result in the following events depending on the outcome and parameters: @ref BLE_GAP_EVT_SEC_PARAMS_REQUEST,
- *          @ref BLE_GAP_EVT_SEC_INFO_REQUEST, @ref BLE_GAP_EVT_AUTH_KEY_REQUEST, @ref BLE_GAP_EVT_AUTH_STATUS.
- * @note    The timeout parameter in @ref ble_gap_sec_params_t is interpreted here as the Security Request timeout
- *
- *
- * @return @ref NRF_SUCCESS Successfully initiated authentication procedure.
- * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
- * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied.
- * @return @ref NRF_ERROR_INVALID_STATE Invalid state to perform operation.
- * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid connection handle supplied.
- */
-SVCALL(SD_BLE_GAP_AUTHENTICATE, uint32_t, sd_ble_gap_authenticate(uint16_t conn_handle, ble_gap_sec_params_t const * const p_sec_params));
-
-
-/**@brief Reply with GAP security parameters.
- *
- * @param[in] conn_handle Connection handle.
- * @param[in] sec_status Security status, see @ref BLE_GAP_SEC_STATUS.
- * @param[in] p_sec_params Pointer to a @ref ble_gap_sec_params_t security parameters structure.
- *
- * @details This function is only used to reply to a @ref BLE_GAP_EVT_SEC_PARAMS_REQUEST, calling it at other times will result in an NRF_ERROR_INVALID_STATE.
- * @note    If the call returns an error code, the request is still pending, and the reply call may be repeated with corrected parameters.
- * @note    The timeout parameter in @ref ble_gap_sec_params_t is interpreted here as the SMP procedure timeout, and must be 30 seconds. The function will fail
- *          if the application supplies a different value.
- *
- * @return @ref NRF_SUCCESS Successfully accepted security parameter from the application.
- * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
- * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied.
- * @return @ref NRF_ERROR_INVALID_STATE Invalid state to perform operation.
- * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid connection handle supplied.
- */
-SVCALL(SD_BLE_GAP_SEC_PARAMS_REPLY, uint32_t, sd_ble_gap_sec_params_reply(uint16_t conn_handle, uint8_t sec_status, ble_gap_sec_params_t const * const p_sec_params));
-
-
-/**@brief Reply with an authentication key.
- *
- * @param[in] conn_handle Connection handle.
- * @param[in] key_type See @ref BLE_GAP_AUTH_KEY_TYPES.
- * @param[in] key If key type is BLE_GAP_AUTH_KEY_TYPE_NONE, then NULL.
- *                If key type is BLE_GAP_AUTH_KEY_TYPE_PASSKEY, then a 6-byte ASCII string (digit 0..9 only, no NULL termination).
- *                If key type is BLE_GAP_AUTH_KEY_TYPE_OOB, then a 16-byte OOB key value in Little Endian format.
- *
- * @details This function is only used to reply to a @ref BLE_GAP_EVT_AUTH_KEY_REQUEST, calling it at other times will result in an NRF_ERROR_INVALID_STATE.
- * @note    If the call returns an error code, the request is still pending, and the reply call may be repeated with corrected parameters.
- *
- * @return @ref NRF_SUCCESS Authentication key successfully set.
- * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
- * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied.
- * @return @ref NRF_ERROR_INVALID_STATE Invalid state to perform operation.
- * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid connection handle supplied.
- */
-SVCALL(SD_BLE_GAP_AUTH_KEY_REPLY, uint32_t, sd_ble_gap_auth_key_reply(uint16_t conn_handle, uint8_t key_type, uint8_t const * const key));
-
-
-/**@brief Reply with GAP security information.
- *
- * @param[in] conn_handle Connection handle.
- * @param[in] p_enc_info Pointer to a @ref ble_gap_enc_info_t encryption information structure. May be NULL to signal none is available.
- * @param[in] p_sign_info Pointer to a @ref ble_gap_sign_info_t signing information structure. May be NULL to signal none is available.
- *
- * @details This function is only used to reply to a @ref BLE_GAP_EVT_SEC_INFO_REQUEST, calling it at other times will result in NRF_ERROR_INVALID_STATE.
- * @note    If the call returns an error code, the request is still pending, and the reply call may be repeated with corrected parameters.
- * @note    Data signing is not implemented yet. p_sign_info must therefore be NULL.
- *
- * @return @ref NRF_SUCCESS Successfully accepted security information.
- * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied.
- * @return @ref NRF_ERROR_INVALID_STATE Invalid state to perform operation.
- * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid connection handle supplied.
- * @return @ref NRF_ERROR_BUSY The stack is busy, process pending events and retry.
- */
-SVCALL(SD_BLE_GAP_SEC_INFO_REPLY, uint32_t, sd_ble_gap_sec_info_reply(uint16_t conn_handle, ble_gap_enc_info_t const * const p_enc_info, ble_gap_sign_info_t const * const p_sign_info));
-
-
-/**@brief Get the current connection security.
- *
- * @param[in]  conn_handle Connection handle.
- * @param[out] p_conn_sec  Pointer to a @ref ble_gap_conn_sec_t structure to be filled in.
- *
- * @return @ref NRF_SUCCESS Current connection security successfully retrieved.
- * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
- * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid connection handle supplied.
- */
-SVCALL(SD_BLE_GAP_CONN_SEC_GET, uint32_t, sd_ble_gap_conn_sec_get(uint16_t conn_handle, ble_gap_conn_sec_t * const p_conn_sec));
-
-
-/**@brief Start reporting the received signal strength to the application. 
- *
- * A new event is reported whenever the RSSI value changes, until @ref sd_ble_gap_rssi_stop is called.
- *
- * @param[in] conn_handle Connection handle.
- *
- * @return @ref NRF_SUCCESS Successfully activated RSSI reporting.
- * @return @ref NRF_ERROR_INVALID_STATE Invalid state to perform operation.
- * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid connection handle supplied.
- */
-SVCALL(SD_BLE_GAP_RSSI_START, uint32_t, sd_ble_gap_rssi_start(uint16_t conn_handle));
-
-
-/**@brief Stop reporting the received singnal strength. 
- *
- * An RSSI change detected before the call but not yet received by the application 
- * may be reported after @ref sd_ble_gap_rssi_stop has been called.
- *
- * @param[in] conn_handle Connection handle.
- *
- * @return @ref NRF_SUCCESS Successfully deactivated RSSI reporting.
- * @return @ref NRF_ERROR_INVALID_STATE Invalid state to perform operation.
- * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid connection handle supplied.
- */
-SVCALL(SD_BLE_GAP_RSSI_STOP, uint32_t, sd_ble_gap_rssi_stop(uint16_t conn_handle));
-/**@} */
-
-#endif // BLE_GAP_H__
-
-/**
-  @}
-*/
--- a/TARGET_HRM1017/TARGET_NORDIC/TARGET_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/ble_gatt.h	Fri Jul 25 09:46:51 2014 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,171 +0,0 @@
-/* Copyright (c) 2012 Nordic Semiconductor. All Rights Reserved.
- *
- * The information contained herein is confidential property of Nordic Semiconductor. The use,
- * copying, transfer or disclosure of such information is prohibited except by express written
- * agreement with Nordic Semiconductor.
- *
- */
- /**
-  @addtogroup BLE_GATT Generic Attribute Profile (GATT) Common
-  @{
-  @brief  Common definitions and prototypes for the GATT interfaces.
- */
-
-#ifndef BLE_GATT_H__
-#define BLE_GATT_H__
-
-#include "ble_types.h"
-#include "ble_ranges.h"
-
-
-/** @addtogroup BLE_GATT_DEFINES Defines
- * @{ */
-
-/** @brief Default MTU size. */
-#define GATT_MTU_SIZE_DEFAULT 23
-
-/** @brief Only the default MTU size of 23 is currently supported. */
-#define GATT_RX_MTU 23
-
-
-/**@brief Invalid Attribute Handle. */
-#define BLE_GATT_HANDLE_INVALID            0x0000
-
-/** @defgroup BLE_GATT_TIMEOUT_SOURCES GATT Timeout sources
- * @{ */
-#define BLE_GATT_TIMEOUT_SRC_PROTOCOL                  0x00 /**< ATT Protocol timeout. */
-/** @} */
-
-/** @defgroup BLE_GATT_WRITE_OPS GATT Write operations
- * @{ */
-#define BLE_GATT_OP_INVALID                0x00  /**< Invalid Operation. */
-#define BLE_GATT_OP_WRITE_REQ              0x01  /**< Write Request. */
-#define BLE_GATT_OP_WRITE_CMD              0x02  /**< Write Command. */
-#define BLE_GATT_OP_SIGN_WRITE_CMD         0x03  /**< Signed Write Command. */
-#define BLE_GATT_OP_PREP_WRITE_REQ         0x04  /**< Prepare Write Request. */
-#define BLE_GATT_OP_EXEC_WRITE_REQ         0x05  /**< Execute Write Request. */
-/** @} */
-
-/** @defgroup BLE_GATT_EXEC_WRITE_FLAGS GATT Execute Write flags
- * @{ */
-#define BLE_GATT_EXEC_WRITE_FLAG_PREPARED_CANCEL 0x00
-#define BLE_GATT_EXEC_WRITE_FLAG_PREPARED_WRITE  0x01
-/** @} */
-
-/** @defgroup BLE_GATT_HVX_TYPES GATT Handle Value operations
- * @{ */
-#define BLE_GATT_HVX_INVALID               0x00  /**< Invalid Operation. */
-#define BLE_GATT_HVX_NOTIFICATION          0x01  /**< Handle Value Notification. */
-#define BLE_GATT_HVX_INDICATION            0x02  /**< Handle Value Indication. */
-/** @} */
-
-/** @defgroup BLE_GATT_STATUS_CODES GATT Status Codes
- * @{ */
-#define BLE_GATT_STATUS_SUCCESS                           0x0000  /**< Success. */
-#define BLE_GATT_STATUS_UNKNOWN                           0x0001  /**< Unknown or not applicable status. */
-#define BLE_GATT_STATUS_ATTERR_INVALID                    0x0100  /**< ATT Error: Invalid Error Code. */
-#define BLE_GATT_STATUS_ATTERR_INVALID_HANDLE             0x0101  /**< ATT Error: Invalid Attribute Handle. */
-#define BLE_GATT_STATUS_ATTERR_READ_NOT_PERMITTED         0x0102  /**< ATT Error: Read not permitted. */
-#define BLE_GATT_STATUS_ATTERR_WRITE_NOT_PERMITTED        0x0103  /**< ATT Error: Write not permitted. */
-#define BLE_GATT_STATUS_ATTERR_INVALID_PDU                0x0104  /**< ATT Error: Used in ATT as Invalid PDU. */
-#define BLE_GATT_STATUS_ATTERR_INSUF_AUTHENTICATION       0x0105  /**< ATT Error: Authenticated link required. */
-#define BLE_GATT_STATUS_ATTERR_REQUEST_NOT_SUPPORTED      0x0106  /**< ATT Error: Used in ATT as Request Not Supported. */
-#define BLE_GATT_STATUS_ATTERR_INVALID_OFFSET             0x0107  /**< ATT Error: Offset specified was past the end of the attribute. */
-#define BLE_GATT_STATUS_ATTERR_INSUF_AUTHORIZATION        0x0108  /**< ATT Error: Used in ATT as Insufficient Authorisation. */
-#define BLE_GATT_STATUS_ATTERR_PREPARE_QUEUE_FULL         0x0109  /**< ATT Error: Used in ATT as Prepare Queue Full. */
-#define BLE_GATT_STATUS_ATTERR_ATTRIBUTE_NOT_FOUND        0x010A  /**< ATT Error: Used in ATT as Attribute not found. */
-#define BLE_GATT_STATUS_ATTERR_ATTRIBUTE_NOT_LONG         0x010B  /**< ATT Error: Attribute cannot be read or written using read/write blob requests. */
-#define BLE_GATT_STATUS_ATTERR_INSUF_ENC_KEY_SIZE         0x010C  /**< ATT Error: Encryption key size used is insufficient. */
-#define BLE_GATT_STATUS_ATTERR_INVALID_ATT_VAL_LENGTH     0x010D  /**< ATT Error: Invalid value size. */
-#define BLE_GATT_STATUS_ATTERR_UNLIKELY_ERROR             0x010E  /**< ATT Error: Very unlikely error. */
-#define BLE_GATT_STATUS_ATTERR_INSUF_ENCRYPTION           0x010F  /**< ATT Error: Encrypted link required. */
-#define BLE_GATT_STATUS_ATTERR_UNSUPPORTED_GROUP_TYPE     0x0110  /**< ATT Error: Attribute type is not a supported grouping attribute. */
-#define BLE_GATT_STATUS_ATTERR_INSUF_RESOURCES            0x0111  /**< ATT Error: Encrypted link required. */
-#define BLE_GATT_STATUS_ATTERR_RFU_RANGE1_BEGIN           0x0112  /**< ATT Error: Reserved for Future Use range #1 begin. */
-#define BLE_GATT_STATUS_ATTERR_RFU_RANGE1_END             0x017F  /**< ATT Error: Reserved for Future Use range #1 end. */
-#define BLE_GATT_STATUS_ATTERR_APP_BEGIN                  0x0180  /**< ATT Error: Application range begin. */
-#define BLE_GATT_STATUS_ATTERR_APP_END                    0x019F  /**< ATT Error: Application range end. */
-#define BLE_GATT_STATUS_ATTERR_RFU_RANGE2_BEGIN           0x01A0  /**< ATT Error: Reserved for Future Use range #2 begin. */
-#define BLE_GATT_STATUS_ATTERR_RFU_RANGE2_END             0x01DF  /**< ATT Error: Reserved for Future Use range #2 end. */
-#define BLE_GATT_STATUS_ATTERR_RFU_RANGE3_BEGIN           0x01E0  /**< ATT Error: Reserved for Future Use range #3 begin. */
-#define BLE_GATT_STATUS_ATTERR_RFU_RANGE3_END             0x01FC  /**< ATT Error: Reserved for Future Use range #3 end. */
-#define BLE_GATT_STATUS_ATTERR_CPS_CCCD_CONFIG_ERROR      0x01FD  /**< ATT Common Profile and Service Error: Client Characteristic Configuration Descriptor improperly configured. */
-#define BLE_GATT_STATUS_ATTERR_CPS_PROC_ALR_IN_PROG       0x01FE  /**< ATT Common Profile and Service Error: Procedure Already in Progress. */
-#define BLE_GATT_STATUS_ATTERR_CPS_OUT_OF_RANGE           0x01FF  /**< ATT Common Profile and Service Error: Out Of Range. */
-/** @} */
-
-
-/** @defgroup BLE_GATT_CPF_FORMATS Characteristic Presentation Formats
- *  @note Found at http://developer.bluetooth.org/gatt/descriptors/Pages/DescriptorViewer.aspx?u=org.bluetooth.descriptor.gatt.characteristic_presentation_format.xml
- * @{ */
-#define BLE_GATT_CPF_FORMAT_RFU                 0x00 /**< Reserved For Future Use. */
-#define BLE_GATT_CPF_FORMAT_BOOLEAN             0x01 /**< Boolean. */
-#define BLE_GATT_CPF_FORMAT_2BIT                0x02 /**< Unsigned 2-bit integer. */
-#define BLE_GATT_CPF_FORMAT_NIBBLE              0x03 /**< Unsigned 4-bit integer. */
-#define BLE_GATT_CPF_FORMAT_UINT8               0x04 /**< Unsigned 8-bit integer. */
-#define BLE_GATT_CPF_FORMAT_UINT12              0x05 /**< Unsigned 12-bit integer. */
-#define BLE_GATT_CPF_FORMAT_UINT16              0x06 /**< Unsigned 16-bit integer. */
-#define BLE_GATT_CPF_FORMAT_UINT24              0x07 /**< Unsigned 24-bit integer. */
-#define BLE_GATT_CPF_FORMAT_UINT32              0x08 /**< Unsigned 32-bit integer. */
-#define BLE_GATT_CPF_FORMAT_UINT48              0x09 /**< Unsigned 48-bit integer. */
-#define BLE_GATT_CPF_FORMAT_UINT64              0x0A /**< Unsigned 64-bit integer. */
-#define BLE_GATT_CPF_FORMAT_UINT128             0x0B /**< Unsigned 128-bit integer. */
-#define BLE_GATT_CPF_FORMAT_SINT8               0x0C /**< Signed 2-bit integer. */
-#define BLE_GATT_CPF_FORMAT_SINT12              0x0D /**< Signed 12-bit integer. */
-#define BLE_GATT_CPF_FORMAT_SINT16              0x0E /**< Signed 16-bit integer. */
-#define BLE_GATT_CPF_FORMAT_SINT24              0x0F /**< Signed 24-bit integer. */
-#define BLE_GATT_CPF_FORMAT_SINT32              0x10 /**< Signed 32-bit integer. */
-#define BLE_GATT_CPF_FORMAT_SINT48              0x11 /**< Signed 48-bit integer. */
-#define BLE_GATT_CPF_FORMAT_SINT64              0x12 /**< Signed 64-bit integer. */
-#define BLE_GATT_CPF_FORMAT_SINT128             0x13 /**< Signed 128-bit integer. */
-#define BLE_GATT_CPF_FORMAT_FLOAT32             0x14 /**< IEEE-754 32-bit floating point. */
-#define BLE_GATT_CPF_FORMAT_FLOAT64             0x15 /**< IEEE-754 64-bit floating point. */
-#define BLE_GATT_CPF_FORMAT_SFLOAT              0x16 /**< IEEE-11073 16-bit SFLOAT. */
-#define BLE_GATT_CPF_FORMAT_FLOAT               0x17 /**< IEEE-11073 32-bit FLOAT. */
-#define BLE_GATT_CPF_FORMAT_DUINT16             0x18 /**< IEEE-20601 format. */
-#define BLE_GATT_CPF_FORMAT_UTF8S               0x19 /**< UTF-8 string. */
-#define BLE_GATT_CPF_FORMAT_UTF16S              0x1A /**< UTF-16 string. */
-#define BLE_GATT_CPF_FORMAT_STRUCT              0x1B /**< Opaque Structure. */
-/** @} */
-
-/** @defgroup BLE_GATT_CPF_NAMESPACES GATT Bluetooth Namespaces
- * @{
- */
-#define BLE_GATT_CPF_NAMESPACE_BTSIG            0x01
-#define BLE_GATT_CPF_NAMESPACE_DESCRIPTION_UNKNOWN 0x0000
-/** @} */
-
-/** @} */
-
-/** @addtogroup BLE_GATT_STRUCTURES Structures
- * @{ */
-
-/**@brief GATT Characteristic Properties. */
-typedef struct
-{
-  /* Standard properties */
-  uint8_t broadcast       :1; /**< Broadcasting of value permitted. */
-  uint8_t read            :1; /**< Reading value permitted. */
-  uint8_t write_wo_resp   :1; /**< Writing value with Write Command permitted. */
-  uint8_t write           :1; /**< Writing value with Write Request permitted. */
-  uint8_t notify          :1; /**< Notications of value permitted. */
-  uint8_t indicate        :1; /**< Indications of value permitted. */
-  uint8_t auth_signed_wr  :1; /**< Writing value with Signed Write Command permitted. */
-} ble_gatt_char_props_t;
-
-/**@brief GATT Characteristic Extended Properties. */
-typedef struct
-{
-  /* Extended properties */
-  uint8_t reliable_wr     :1; /**< Writing value with Queued Write Request permitted. */
-  uint8_t wr_aux          :1; /**< Writing the Characteristic User Description permitted. */
-} ble_gatt_char_ext_props_t;
-
-#endif // BLE_GATT_H__
-
-/** @} */
-
-/**
-  @}
-  @}
-*/
--- a/TARGET_HRM1017/TARGET_NORDIC/TARGET_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/ble_gattc.h	Fri Jul 25 09:46:51 2014 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,406 +0,0 @@
-/* Copyright (c) 2012 Nordic Semiconductor. All Rights Reserved.
- *
- * The information contained herein is confidential property of Nordic Semiconductor. The use,
- * copying, transfer or disclosure of such information is prohibited except by express written
- * agreement with Nordic Semiconductor.
- *
- */
-/**
-  @addtogroup BLE_GATTC Generic Attribute Profile (GATT) Client
-  @{
-  @brief  Definitions and prototypes for the GATT Client interface.
- */
-
-#ifndef BLE_GATTC_H__
-#define BLE_GATTC_H__
-
-#include "ble_gatt.h"
-#include "ble_types.h"
-#include "ble_ranges.h"
-#include "nrf_svc.h"
-
-/** @addtogroup BLE_GATTC_ENUMERATIONS Enumerations
- * @{ */
-
-/**@brief GATTC API SVC numbers. */
-enum BLE_GATTC_SVCS
-{
-  SD_BLE_GATTC_PRIMARY_SERVICES_DISCOVER = BLE_GATTC_SVC_BASE, /**< Primary Service Discovery. */
-  SD_BLE_GATTC_RELATIONSHIPS_DISCOVER,                         /**< Relationship Discovery. */
-  SD_BLE_GATTC_CHARACTERISTICS_DISCOVER,                       /**< Characteristic Discovery. */
-  SD_BLE_GATTC_DESCRIPTORS_DISCOVER,                           /**< Characteristic Descriptor Discovery. */
-  SD_BLE_GATTC_CHAR_VALUE_BY_UUID_READ,                        /**< Read Characteristic Value by UUID. */
-  SD_BLE_GATTC_READ,                                           /**< Generic read. */
-  SD_BLE_GATTC_CHAR_VALUES_READ,                               /**< Read multiple Characteristic Values. */
-  SD_BLE_GATTC_WRITE,                                          /**< Generic write. */
-  SD_BLE_GATTC_HV_CONFIRM                                      /**< Handle Value Confirmation. */
-};
-
-/** @} */
-
-/** @addtogroup BLE_GATTC_DEFINES Defines
- * @{ */
-
-/** @defgroup BLE_ERRORS_GATTC SVC return values specific to GATTC
- * @{ */
-#define BLE_ERROR_GATTC_PROC_NOT_PERMITTED    (NRF_GATTC_ERR_BASE + 0x000)
-/** @} */
-
-/**@brief Last Attribute Handle. */
-#define BLE_GATTC_HANDLE_END                0xFFFF
-
-/** @} */
-
-/** @addtogroup BLE_GATTC_STRUCTURES Structures
- * @{ */
-
-/**@brief Operation Handle Range. */
-typedef struct
-{
-  uint16_t          start_handle; /**< Start Handle. */
-  uint16_t          end_handle;   /**< End Handle. */
-} ble_gattc_handle_range_t;
-
-
-/**@brief GATT service. */
-typedef struct
-{
-  ble_uuid_t               uuid;          /**< Service UUID. */
-  ble_gattc_handle_range_t handle_range;  /**< Service Handle Range. */
-} ble_gattc_service_t;
-
-
-/**@brief  GATT include. */
-typedef struct
-{
-  uint16_t            handle;           /**< Include Handle. */
-  ble_gattc_service_t included_srvc;    /**< Handle of the included service. */
-} ble_gattc_include_t;
-
-
-/**@brief GATT characteristic. */
-typedef struct
-{
-  ble_uuid_t              uuid;                 /**< Characteristic UUID. */
-  ble_gatt_char_props_t   char_props;           /**< Characteristic Properties. */
-  uint8_t                 char_ext_props : 1;   /**< Extended properties present. */
-  uint16_t                handle_decl;          /**< Handle of the Characteristic Declaration. */
-  uint16_t                handle_value;         /**< Handle of the Characteristic Value. */
-} ble_gattc_char_t;
-
-
-/**@brief GATT descriptor. */
-typedef struct
-{
-  uint16_t          handle;         /**< Descriptor Handle. */
-  ble_uuid_t        uuid;           /**< Descriptor UUID. */
-} ble_gattc_desc_t;
-
-
-/**@brief Write Parameters. */
-typedef struct
-{
-  uint8_t    write_op;                 /**< Write Operation to be performed, see @ref BLE_GATT_WRITE_OPS. */
-  uint16_t   handle;                   /**< Handle to the attribute to be written. */
-  uint16_t   offset;                   /**< Offset in bytes. @note For WRITE_CMD and WRITE_REQ, offset must be 0. */
-  uint16_t   len;                      /**< Length of data in bytes. */
-  uint8_t*   p_value;                  /**< Pointer to the value data. */
-  uint8_t    flags;                    /**< Flags, see @ref BLE_GATT_EXEC_WRITE_FLAGS. */
-} ble_gattc_write_params_t;
-
-
-/**
- * @brief GATT Client Event IDs.
- */
-enum BLE_GATTC_EVTS
-{
-  BLE_GATTC_EVT_PRIM_SRVC_DISC_RSP = BLE_GATTC_EVT_BASE,  /**< Primary Service Discovery Response event.  */
-  BLE_GATTC_EVT_REL_DISC_RSP,                             /**< Relationship Discovery Response event. */
-  BLE_GATTC_EVT_CHAR_DISC_RSP,                            /**< Characteristic Discovery Response event. */
-  BLE_GATTC_EVT_DESC_DISC_RSP,                            /**< Descriptor Discovery Response event. */
-  BLE_GATTC_EVT_CHAR_VAL_BY_UUID_READ_RSP,                /**< Read By UUID Response event. */
-  BLE_GATTC_EVT_READ_RSP,                                 /**< Read Response event. */
-  BLE_GATTC_EVT_CHAR_VALS_READ_RSP,                       /**< Read multiple Response event. */
-  BLE_GATTC_EVT_WRITE_RSP,                                /**< Write Response event. */
-  BLE_GATTC_EVT_HVX,                                      /**< Handle Value Notification or Indication event. */
-  BLE_GATTC_EVT_TIMEOUT                                   /**< Timeout event. */
-};
-
-/**@brief Event structure for BLE_GATTC_EVT_PRIM_SRVC_DISC_RSP. */
-typedef struct
-{
-  uint16_t             count;           /**< Service count. */
-  ble_gattc_service_t services[1];      /**< Service data, variable length. */
-} ble_gattc_evt_prim_srvc_disc_rsp_t;
-
-/**@brief Event structure for BLE_GATTC_EVT_REL_DISC_RSP. */
-typedef struct
-{
-  uint16_t             count;           /**< Include count. */
-  ble_gattc_include_t includes[1];      /**< Include data, variable length. */
-} ble_gattc_evt_rel_disc_rsp_t;
-
-/**@brief Event structure for BLE_GATTC_EVT_CHAR_DISC_RSP. */
-typedef struct
-{
-  uint16_t            count;          /**< Characteristic count. */
-  ble_gattc_char_t    chars[1];       /**< Characteristic data, variable length. */
-} ble_gattc_evt_char_disc_rsp_t;
-
-/**@brief Event structure for BLE_GATTC_EVT_DESC_DISC_RSP. */
-typedef struct
-{
-  uint16_t            count;          /**< Descriptor count. */
-  ble_gattc_desc_t    descs[1];       /**< Descriptor data, variable length. */
-} ble_gattc_evt_desc_disc_rsp_t;
-
-/**@brief GATT read by UUID handle value pair. */
-typedef struct 
-{
-  uint16_t            handle;          /**< Attribute Handle. */
-  uint8_t             *p_value;        /**< Pointer to value, variable length (length available as value_len in ble_gattc_evt_read_by_uuid_rsp_t). 
-                                            Please note that this pointer is absolute to the memory provided by the user when retrieving the event,
-                                            so it will effectively point to a location inside the handle_value array. */
-} ble_gattc_handle_value_t;
-
-/**@brief Event structure for BLE_GATTC_EVT_CHAR_VAL_BY_UUID_READ_RSP. */
-typedef struct
-{
-  uint16_t                  count;            /**< Handle-Value Pair Count. */
-  uint16_t                  value_len;        /**< Length of the value in Handle-Value(s) list. */
-  ble_gattc_handle_value_t  handle_value[1];  /**< Handle-Value(s) list, variable length. */
-} ble_gattc_evt_char_val_by_uuid_read_rsp_t;
-
-/**@brief Event structure for BLE_GATTC_EVT_READ_RSP. */
-typedef struct
-{
-  uint16_t            handle;         /**< Attribute Handle. */
-  uint16_t            offset;         /**< Offset of the attribute data. */
-  uint16_t            len;            /**< Attribute data length. */
-  uint8_t             data[1];        /**< Attribute data, variable length. */
-} ble_gattc_evt_read_rsp_t;
-
-/**@brief Event structure for BLE_GATTC_EVT_CHAR_VALS_READ_RSP. */
-typedef struct
-{
-  uint16_t            len;            /**< Concatenated Attribute values length. */
-  uint8_t             values[1];      /**< Attribute values, variable length. */
-} ble_gattc_evt_char_vals_read_rsp_t;
-
-/**@brief Event structure for BLE_GATTC_EVT_WRITE_RSP. */
-typedef struct
-{
-  uint16_t            handle;           /**< Attribute Handle. */
-  uint8_t             write_op;         /**< Type of write operation, see @ref BLE_GATT_WRITE_OPS. */
-  uint16_t            offset;           /**< Data Offset. */
-  uint16_t            len;              /**< Data length. */
-  uint8_t             data[1];          /**< Data, variable length. */
-} ble_gattc_evt_write_rsp_t;
-
-/**@brief Event structure for BLE_GATTC_EVT_HVX. */
-typedef struct
-{
-  uint16_t            handle;         /**< Handle to which the HVx operation applies. */
-  uint8_t             type;           /**< Indication or Notification, see @ref BLE_GATT_HVX_TYPES. */
-  uint16_t            len;            /**< Attribute data length. */
-  uint8_t             data[1];        /**< Attribute data, variable length. */
-} ble_gattc_evt_hvx_t;
-
-/**@brief Event structure for BLE_GATTC_EVT_TIMEOUT. */
-typedef struct
-{
-  uint8_t          src;                       /**< Timeout source, see @ref BLE_GATT_TIMEOUT_SOURCES. */
-} ble_gattc_evt_timeout_t;
-
-/**@brief GATTC event type. */
-typedef struct
-{
-  uint16_t            conn_handle;                /**< Connection Handle on which event occured. */
-  uint16_t            gatt_status;                /**< GATT status code for the operation, see @ref BLE_GATT_STATUS_CODES. */
-  uint16_t            error_handle;               /**< In case of error: The handle causing the error. In all other cases BLE_GATT_HANDLE_INVALID. */
-  union
-  {
-    ble_gattc_evt_prim_srvc_disc_rsp_t          prim_srvc_disc_rsp;         /**< Primary Service Discovery Response Event Parameters. */
-    ble_gattc_evt_rel_disc_rsp_t                rel_disc_rsp;               /**< Relationship Discovery Response Event Parameters. */
-    ble_gattc_evt_char_disc_rsp_t               char_disc_rsp;              /**< Characteristic Discovery Response Event Parameters. */
-    ble_gattc_evt_desc_disc_rsp_t               desc_disc_rsp;              /**< Descriptor Discovery Response Event Parameters. */
-    ble_gattc_evt_char_val_by_uuid_read_rsp_t   char_val_by_uuid_read_rsp;  /**< Characteristic Value Read by UUID Response Event Parameters. */
-    ble_gattc_evt_read_rsp_t                    read_rsp;                   /**< Read Response Event Parameters. */
-    ble_gattc_evt_char_vals_read_rsp_t          char_vals_read_rsp;         /**< Characteristic Values Read Response Event Parameters. */
-    ble_gattc_evt_write_rsp_t                   write_rsp;                  /**< Write Response Event Parameters. */
-    ble_gattc_evt_hvx_t                         hvx;                        /**< Handle Value Notification/Indication Event Parameters. */
-    ble_gattc_evt_timeout_t                     timeout;                    /**< Timeout Event Parameters. */
-  } params;                                                                 /**< Event Parameters. @note Only valid if @ref gatt_status == BLE_GATT_STATUS_SUCCESS. */
-} ble_gattc_evt_t;
-/** @} */
-
-/** @addtogroup BLE_GATTC_FUNCTIONS Functions
- * @{ */
-
-/**@brief Initiate or continue a GATT Primary Service Discovery procedure.
- *
- * @details This function initiates a Primary Service discovery, starting from the supplied handle. 
- *          If the last service has not been reached, this must be called again with an updated start handle value to continue the search.
- *
- * @note If any of the discovered services have 128-bit UUIDs which are not present in the table provided to ble_vs_uuids_assign, a UUID structure with
- *       type BLE_UUID_TYPE_UNKNOWN will be received in the corresponding event.
- *
- * @param[in] conn_handle The connection handle identifying the connection to perform this procedure on.
- * @param[in] start_handle Handle to start searching from.
- * @param[in] p_srvc_uuid Pointer to the service UUID to be found. If it is NULL, all primary services will be returned.
- *
- * @return @ref NRF_SUCCESS Successfully started or resumed the Primary Service Discovery procedure.
- * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid Connection Handle.
- * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied.
- * @return @ref NRF_ERROR_BUSY Client procedure already in progress.
- */
-SVCALL(SD_BLE_GATTC_PRIMARY_SERVICES_DISCOVER, uint32_t, sd_ble_gattc_primary_services_discover(uint16_t conn_handle, uint16_t start_handle, ble_uuid_t const * const p_srvc_uuid));
-
-
-/**@brief Initiate or continue a GATT Relationship Discovery procedure.
- *
- * @details This function initiates the Find Included Services sub-procedure. If the last included service has not been reached,
- *          this must be called again with an updated handle range to continue the search.
- *
- * @param[in] conn_handle The connection handle identifying the connection to perform this procedure on.
- * @param[in] p_handle_range A pointer to the range of handles of the Service to perform this procedure on.
- *
- * @return @ref NRF_SUCCESS Successfully started or resumed the Relationship Discovery procedure.
- * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid Connection Handle.
- * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
- * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied.
- * @return @ref NRF_ERROR_BUSY Client procedure already in progress.
- */
-SVCALL(SD_BLE_GATTC_RELATIONSHIPS_DISCOVER, uint32_t, sd_ble_gattc_relationships_discover(uint16_t conn_handle, ble_gattc_handle_range_t const * const p_handle_range));
-
-
-/**@brief Initiate or continue a GATT Characteristic Discovery procedure.
- *
- * @details This function initiates a Characteristic discovery procedure. If the last Characteristic has not been reached,
- *          this must be called again with an updated handle range to continue the discovery.
- *
- * @note If any of the discovered characteristics have 128-bit UUIDs which are not present in the table provided to ble_vs_uuids_assign, a UUID structure with
- *       type BLE_UUID_TYPE_UNKNOWN will be received in the corresponding event.
- *
- * @param[in] conn_handle The connection handle identifying the connection to perform this procedure on.
- * @param[in] p_handle_range A pointer to the range of handles of the Service to perform this procedure on.
- *
- * @return @ref NRF_SUCCESS Successfully started or resumed the Characteristic Discovery procedure.
- * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid Connection Handle.
- * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
- * @return @ref NRF_ERROR_BUSY Client procedure already in progress.
- */
-SVCALL(SD_BLE_GATTC_CHARACTERISTICS_DISCOVER, uint32_t, sd_ble_gattc_characteristics_discover(uint16_t conn_handle, ble_gattc_handle_range_t const * const p_handle_range));
-
-
-/**@brief Initiate or continue a GATT Characteristic Descriptor Discovery procedure.
- *
- * @details This function initiates the Characteristic Descriptor discovery procedure. If the last Descriptor has not been reached,
- *          this must be called again with an updated handle range to continue the discovery.
- *
- * @param[in] conn_handle The connection handle identifying the connection to perform this procedure on.
- * @param[in] p_handle_range A pointer to the range of handles of the Characteristic to perform this procedure on.
- *
- * @return @ref NRF_SUCCESS Successfully started or resumed the Descriptor Discovery procedure.
- * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid Connection Handle.
- * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
- * @return @ref NRF_ERROR_BUSY Client procedure already in progress.
- */
-SVCALL(SD_BLE_GATTC_DESCRIPTORS_DISCOVER, uint32_t, sd_ble_gattc_descriptors_discover(uint16_t conn_handle, ble_gattc_handle_range_t const * const p_handle_range));
-
-
-/**@brief Initiate or continue a GATT Read using Characteristic UUID procedure.
- *
- * @details This function initiates the Read using Characteristic UUID procedure. If the last Characteristic has not been reached,
- *          this must be called again with an updated handle range to continue the discovery.
- *
- * @param[in] conn_handle The connection handle identifying the connection to perform this procedure on.
- * @param[in] p_uuid Pointer to a Characteristic value UUID to read.
- * @param[in] p_handle_range A pointer to the range of handles to perform this procedure on.
- *
- * @return @ref NRF_SUCCESS Successfully started or resumed the Read using Characteristic UUID procedure.
- * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid Connection Handle.
- * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
- * @return @ref NRF_ERROR_BUSY Client procedure already in progress.
- */
-SVCALL(SD_BLE_GATTC_CHAR_VALUE_BY_UUID_READ, uint32_t, sd_ble_gattc_char_value_by_uuid_read(uint16_t conn_handle, ble_uuid_t const * const p_uuid, ble_gattc_handle_range_t const * const p_handle_range));
-
-
-/**@brief Initiate or continue a GATT Read (Long) Characteristic or Descriptor procedure.
- *
- * @details This function initiates a GATT Read (Long) Characteristic or Descriptor procedure. If the Characteristic or Descriptor
- *          to be read is longer than GATT_MTU - 1, this function must be called multiple times with appropriate offset to read the 
- *          complete value.
- *
- * @param[in] conn_handle The connection handle identifying the connection to perform this procedure on.
- * @param[in] handle The handle of the attribute to be read.
- * @param[in] offset Offset into the attribute value to be read.
- *
- * @return @ref NRF_SUCCESS Successfully started or resumed the Read (Long) procedure.
- * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid Connection Handle.
- * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
- * @return @ref NRF_ERROR_BUSY Client procedure already in progress.
- */
-SVCALL(SD_BLE_GATTC_READ, uint32_t, sd_ble_gattc_read(uint16_t conn_handle, uint16_t handle, uint16_t offset));
-
-
-/**@brief Initiate a GATT Read Multiple Characteristic Values procedure.
- *
- * @details This function initiates a GATT Read Multiple Characteristic Values procedure. 
- *
- * @param[in] conn_handle The connection handle identifying the connection to perform this procedure on.
- * @param[in] p_handles A pointer to the handle(s) of the attribute(s) to be read.
- * @param[in] handle_count The number of handles in p_handles.
- *
- * @return @ref NRF_SUCCESS Successfully started the Read Multiple Characteristic Values procedure.
- * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid Connection Handle.
- * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
- * @return @ref NRF_ERROR_BUSY Client procedure already in progress.
- */
-SVCALL(SD_BLE_GATTC_CHAR_VALUES_READ, uint32_t, sd_ble_gattc_char_values_read(uint16_t conn_handle, uint16_t const * const p_handles, uint16_t handle_count));
-
-
-/**@brief Perform a Write (Characteristic Value or Descriptor, with or without response, signed or not, long or reliable) procedure.
- *
- * @details This function can perform all write procedures described in GATT. 
- *
- * @note    It is important to note that a write without response will <b>consume an application buffer</b>, and will therefore 
- *          generate a @ref BLE_EVT_TX_COMPLETE event when the packet has been transmitted. A write on the other hand will use the 
- *          standard client internal buffer and thus will only generate a @ref BLE_GATTC_EVT_WRITE_RSP event as soon as the write response 
- *          has been received from the peer. Please see the documentation of @ref sd_ble_tx_buffer_count_get for more details.
- *
- * @param[in] conn_handle The connection handle identifying the connection to perform this procedure on.
- * @param[in] p_write_params A pointer to a write parameters structure.
- *
- * @return @ref NRF_SUCCESS Successfully started the Write procedure.
- * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid Connection Handle.
- * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
- * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied.
- * @return @ref NRF_ERROR_DATA_SIZE Invalid data size(s) supplied.
- * @return @ref NRF_ERROR_BUSY Procedure already in progress.
- * @return @ref BLE_ERROR_NO_TX_BUFFERS There are no available buffers left.
- */
-SVCALL(SD_BLE_GATTC_WRITE, uint32_t, sd_ble_gattc_write(uint16_t conn_handle, ble_gattc_write_params_t const * const p_write_params));
-
-
-/**@brief Send a Handle Value Confirmation to the GATT Server.
- *
- * @param[in] conn_handle The connection handle identifying the connection to perform this procedure on.
- * @param[in] handle The handle of the attribute in the indication.
- *
- * @return @ref NRF_SUCCESS Successfully queued the Handle Value Confirmation for transmission.
- * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid Connection Handle.
- * @return @ref NRF_ERROR_INVALID_STATE No Indication pending to be confirmed.
- * @return @ref BLE_ERROR_INVALID_ATTR_HANDLE Invalid attribute handle.
- * @return @ref BLE_ERROR_NO_TX_BUFFERS There are no available buffers left.
- */
-SVCALL(SD_BLE_GATTC_HV_CONFIRM, uint32_t, sd_ble_gattc_hv_confirm(uint16_t conn_handle, uint16_t handle));
-
-/** @} */
-
-#endif /* BLE_GATTC_H__ */
-
-/**
-  @}
-  @}
-*/
--- a/TARGET_HRM1017/TARGET_NORDIC/TARGET_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/ble_gatts.h	Fri Jul 25 09:46:51 2014 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,566 +0,0 @@
-/* Copyright (c) 2011 Nordic Semiconductor. All Rights Reserved.
- *
- * The information contained herein is confidential property of Nordic Semiconductor. The use,
- * copying, transfer or disclosure of such information is prohibited except by express written
- * agreement with Nordic Semiconductor.
- *
- */
-/**
-  @addtogroup BLE_GATTS Generic Attribute Profile (GATT) Server
-  @{
-  @brief  Definitions and prototypes for the GATTS interface.
- */
-
-#ifndef BLE_GATTS_H__
-#define BLE_GATTS_H__
-
-#include "ble_types.h"
-#include "ble_ranges.h"
-#include "ble_l2cap.h"
-#include "ble_gap.h"
-#include "ble_gatt.h"
-#include "nrf_svc.h"
-
-/** @addtogroup BLE_GATTS_ENUMERATIONS Enumerations
- * @{ */
-
-/**
- * @brief GATTS API SVC numbers.
- */
-enum BLE_GATTS_SVCS
-{
-  SD_BLE_GATTS_SERVICE_ADD = BLE_GATTS_SVC_BASE, /**< Add a service. */
-  SD_BLE_GATTS_INCLUDE_ADD,                      /**< Add an included service. */
-  SD_BLE_GATTS_CHARACTERISTIC_ADD,               /**< Add a characteristic. */
-  SD_BLE_GATTS_DESCRIPTOR_ADD,                   /**< Add a generic attribute. */
-  SD_BLE_GATTS_VALUE_SET,                        /**< Set an attribute value. */
-  SD_BLE_GATTS_VALUE_GET,                        /**< Get an attribute value. */
-  SD_BLE_GATTS_HVX,                              /**< Handle Value Notification or Indication. */
-  SD_BLE_GATTS_SERVICE_CHANGED,                  /**< Perform a Service Changed Indication to one or more peers. */
-  SD_BLE_GATTS_RW_AUTHORIZE_REPLY,               /**< Reply to an authorization request for a read or write operation on one or more attributes. */ 
-  SD_BLE_GATTS_SYS_ATTR_SET,                     /**< Set the persistent system attributes for a connection. */  
-  SD_BLE_GATTS_SYS_ATTR_GET,                     /**< Get updated persistent system attributes after terminating a connection. */
-};
-
-/** @} */
-
-/** @addtogroup BLE_GATTS_DEFINES Defines
- * @{ */
-
-/** @brief Only the default MTU size of 23 is currently supported. */
-#define GATT_RX_MTU 23
-
-/** @defgroup BLE_ERRORS_GATTS SVC return values specific to GATTS
- * @{ */
-#define BLE_ERROR_GATTS_INVALID_ATTR_TYPE   (NRF_GATTS_ERR_BASE + 0x000) /**< Invalid attribute type. */
-#define BLE_ERROR_GATTS_SYS_ATTR_MISSING    (NRF_GATTS_ERR_BASE + 0x001) /**< System Attributes missing. */
-/** @} */
-
-/** @defgroup BLE_GATTS_ATTR_LENS_MAX Maximum attribute lengths
- * @{ */
-#define BLE_GATTS_FIX_ATTR_LEN_MAX (510)  /**< Maximum length for fixed length Attribute Values. */
-#define BLE_GATTS_VAR_ATTR_LEN_MAX (512)  /**< Maximum length for variable length Attribute Values. */ 
-/** @} */
-
-/** @defgroup BLE_GATTS_SRVC_TYPES GATT Server Service Types
- * @{ */
-#define BLE_GATTS_SRVC_TYPE_INVALID          0x00  /**< Invalid Service Type. */
-#define BLE_GATTS_SRVC_TYPE_PRIMARY          0x01  /**< Primary Service. */
-#define BLE_GATTS_SRVC_TYPE_SECONDARY        0x02  /**< Secondary Type. */
-/** @} */
-
-
-/** @defgroup BLE_GATTS_ATTR_TYPES GATT Server Attribute Types
- * @{ */
-#define BLE_GATTS_ATTR_TYPE_INVALID         0x00  /**< Invalid Attribute Type. */
-#define BLE_GATTS_ATTR_TYPE_PRIM_SRVC_DECL  0x01  /**< Primary Service Declaration. */
-#define BLE_GATTS_ATTR_TYPE_SEC_SRVC_DECL   0x02  /**< Secondary Service Declaration. */
-#define BLE_GATTS_ATTR_TYPE_INC_DECL        0x03  /**< Include Declaration. */
-#define BLE_GATTS_ATTR_TYPE_CHAR_DECL       0x04  /**< Characteristic Declaration. */
-#define BLE_GATTS_ATTR_TYPE_CHAR_VAL        0x05  /**< Characteristic Value. */
-#define BLE_GATTS_ATTR_TYPE_DESC            0x06  /**< Descriptor. */
-#define BLE_GATTS_ATTR_TYPE_OTHER           0x07  /**< Other, non-GATT specific type. */
-/** @} */
-
-
-/** @defgroup BLE_GATTS_OPS GATT Server Operations
- * @{ */
-#define BLE_GATTS_OP_INVALID                0x00  /**< Invalid Operation. */
-#define BLE_GATTS_OP_WRITE_REQ              0x01  /**< Write Request. */
-#define BLE_GATTS_OP_WRITE_CMD              0x02  /**< Write Command. */
-#define BLE_GATTS_OP_SIGN_WRITE_CMD         0x03  /**< Signed Write Command. */
-#define BLE_GATTS_OP_PREP_WRITE_REQ         0x04  /**< Prepare Write Request. */
-#define BLE_GATTS_OP_EXEC_WRITE_REQ_CANCEL  0x05  /**< Execute Write Request: Cancel all prepared writes. */
-#define BLE_GATTS_OP_EXEC_WRITE_REQ_NOW     0x06  /**< Execute Write Request: Immediately execute all prepared writes. */
-/** @} */
-
-/** @defgroup BLE_GATTS_VLOCS GATT Value Locations
- * @{ */
-#define BLE_GATTS_VLOC_INVALID       0x00  /**< Invalid Location. */
-#define BLE_GATTS_VLOC_STACK         0x01  /**< Attribute Value is located in stack memory, no user memory is required. */
-#define BLE_GATTS_VLOC_USER          0x02  /**< Attribute Value is located in user memory. This requires the user to maintain a valid buffer through the lifetime of the attribute, since the stack
-                                                will read and write directly to the memory using the pointer provided in the APIs. There are no alignment requirements for the buffer. */
-/** @} */
-
-/** @defgroup BLE_GATTS_AUTHORIZE_TYPES GATT Server Authorization Types
- * @{ */
-#define BLE_GATTS_AUTHORIZE_TYPE_INVALID    0x00  /**< Invalid Type. */
-#define BLE_GATTS_AUTHORIZE_TYPE_READ       0x01  /**< Authorize a Read Operation. */
-#define BLE_GATTS_AUTHORIZE_TYPE_WRITE      0x02  /**< Authorize a Write Request Operation. */
-/** @} */
-
-
-/** @} */
-
-/** @addtogroup BLE_GATTS_STRUCTURES Structures
- * @{ */
-
-/**
- * @brief BLE GATTS init options
- */
-typedef struct
-{
-  uint8_t   service_changed:1;             /**< Include the Service Changed characteristic in the local attributes. */
-} ble_gatts_enable_params_t;
-
-/**@brief Attribute metadata. */
-typedef struct
-{
-  ble_gap_conn_sec_mode_t read_perm;       /**< Read permissions. */
-  ble_gap_conn_sec_mode_t write_perm;      /**< Write permissions. */
-  uint8_t                 vlen       :1;   /**< Variable length attribute. */
-  uint8_t                 vloc       :2;   /**< Value location, see @ref BLE_GATTS_VLOCS.*/
-  uint8_t                 rd_auth    :1;   /**< Read Authorization and value will be requested from the application on every read operation. */ 
-  uint8_t                 wr_auth    :1;   /**< Write Authorization will be requested from the application on every Write Request operation (but not Write Command). */
-} ble_gatts_attr_md_t;
-
-
-/**@brief GATT Attribute. */
-typedef struct
-{
-  ble_uuid_t*          p_uuid;          /**< Pointer to the attribute UUID. */
-  ble_gatts_attr_md_t* p_attr_md;       /**< Pointer to the attribute metadata structure. */
-  uint16_t             init_len;        /**< Initial attribute value length in bytes. */
-  uint16_t             init_offs;       /**< Initial attribute value offset in bytes. If different from zero, the first init_offs bytes of the attribute value will be left uninitialized. */
-  uint16_t             max_len;         /**< Maximum attribute value length in bytes, see @ref BLE_GATTS_ATTR_LENS_MAX for maximum values. */
-  uint8_t*             p_value;         /**< Pointer to the attribute data. Please note that if the @ref BLE_GATTS_VLOC_USER value location is selected in the attribute metadata, this will have to point to a buffer
-                                             that remains valid through the lifetime of the attribute. This excludes usage of automatic variables that may go out of scope or any other temporary location. 
-                                             The stack may access that memory directly without the application's knowledge. */
-} ble_gatts_attr_t;
-
-
-/**@brief GATT Attribute Context. */
-typedef struct
-{
-  ble_uuid_t           srvc_uuid;       /**< Service UUID. */
-  ble_uuid_t           char_uuid;       /**< Characteristic UUID if applicable (BLE_UUID_TYPE_UNKNOWN if N/A). */
-  ble_uuid_t           desc_uuid;       /**< Descriptor UUID if applicable (BLE_UUID_TYPE_UNKNOWN if N/A). */
-  uint16_t             srvc_handle;     /**< Service Handle. */
-  uint16_t             value_handle;    /**< Characteristic Handle if applicable (BLE_GATT_HANDLE_INVALID if N/A). */
-  uint8_t              type;            /**< Attribute Type, see @ref BLE_GATTS_ATTR_TYPES. */
-} ble_gatts_attr_context_t;
-
-
-/**@brief GATT Characteristic Presentation Format. */
-typedef struct
-{
-  uint8_t          format;      /**< Format of the value, see @ref BLE_GATT_CPF_FORMATS. */
-  int8_t           exponent;    /**< Exponent for integer data types. */
-  uint16_t         unit;        /**< UUID from Bluetooth Assigned Numbers. */
-  uint8_t          name_space;  /**< Namespace from Bluetooth Assigned Numbers, see @ref BLE_GATT_CPF_NAMESPACES. */
-  uint16_t         desc;        /**< Namespace description from Bluetooth Assigned Numbers, see @ref BLE_GATT_CPF_NAMESPACES. */
-} ble_gatts_char_pf_t;
-
-
-/**@brief GATT Characteristic metadata. */
-typedef struct
-{
-  ble_gatt_char_props_t       char_props;               /**< Characteristic Properties. */
-  ble_gatt_char_ext_props_t   char_ext_props;           /**< Characteristic Extended Properties. */
-  uint8_t*                    p_char_user_desc;         /**< Pointer to a UTF-8, NULL if the descriptor is not required. */
-  uint16_t                    char_user_desc_max_size;  /**< The maximum size in bytes of the user description descriptor. */
-  uint16_t                    char_user_desc_size;      /**< The size of the user description, must be smaller or equal to char_user_desc_max_size. */ 
-  ble_gatts_char_pf_t*        p_char_pf;                /**< Pointer to a presentation format structure or NULL if the descriptor is not required. */
-  ble_gatts_attr_md_t*        p_user_desc_md;           /**< Attribute metadata for the User Description descriptor, or NULL for default values. */
-  ble_gatts_attr_md_t*        p_cccd_md;                /**< Attribute metadata for the Client Characteristic Configuration Descriptor, or NULL for default values. */
-  ble_gatts_attr_md_t*        p_sccd_md;                /**< Attribute metadata for the Server Characteristic Configuration Descriptor, or NULL for default values. */
-} ble_gatts_char_md_t;
-
-
-/**@brief GATT Characteristic Definition Handles. */
-typedef struct
-{
-  uint16_t          value_handle;       /**< Handle to the characteristic value. */
-  uint16_t          user_desc_handle;   /**< Handle to the User Description descriptor, or BLE_GATT_HANDLE_INVALID if not present. */
-  uint16_t          cccd_handle;        /**< Handle to the Client Characteristic Configuration Descriptor, or BLE_GATT_HANDLE_INVALID if not present. */
-  uint16_t          sccd_handle;        /**< Handle to the Server Characteristic Configuration Descriptor, or BLE_GATT_HANDLE_INVALID if not present. */
-} ble_gatts_char_handles_t;
-
-
-/**@brief GATT HVx parameters. */
-typedef struct
-{
-  uint16_t          handle;             /**< Characteristic Value Handle. */
-  uint8_t           type;               /**< Indication or Notification, see @ref BLE_GATT_HVX_TYPES. */
-  uint16_t          offset;             /**< Offset within the attribute value. */
-  uint16_t*         p_len;              /**< Length in bytes to be written, length in bytes written after successful return. */
-  uint8_t*          p_data;             /**< Actual data content, use NULL to use the current attribute value. */
-} ble_gatts_hvx_params_t;
-
-/**@brief GATT Read Authorization parameters. */
-typedef struct
-{
-  uint16_t          gatt_status;        /**< GATT status code for the operation, see @ref BLE_GATT_STATUS_CODES. */
-  uint8_t           update : 1;         /**< If set, data supplied in p_data will be used in the ATT response. */
-  uint16_t          offset;             /**< Offset of the attribute value being updated. */
-  uint16_t          len;                /**< Length in bytes of the value in p_data pointer, see @ref BLE_GATTS_ATTR_LENS_MAX. */
-  uint8_t*          p_data;             /**< Pointer to new value used to update the attribute value. */
-} ble_gatts_read_authorize_params_t;
-
-/**@brief GATT Write Authorisation parameters. */
-typedef struct
-{
-  uint16_t          gatt_status;        /**< GATT status code for the operation, see @ref BLE_GATT_STATUS_CODES. */
-} ble_gatts_write_authorize_params_t;
-
-/**@brief GATT Read or Write Authorize Reply parameters. */
-typedef struct
-{
-  uint8_t                               type;   /**< Type of authorize operation, see @ref BLE_GATTS_AUTHORIZE_TYPES. */
-  union {
-    ble_gatts_read_authorize_params_t   read;   /**< Read authorization parameters. */
-    ble_gatts_write_authorize_params_t  write;  /**< Write authorization parameters. */
-  } params;
-} ble_gatts_rw_authorize_reply_params_t;
-
-
-/**
- * @brief GATT Server Event IDs.
- */
-enum BLE_GATTS_EVTS
-{
-  BLE_GATTS_EVT_WRITE = BLE_GATTS_EVT_BASE,       /**< Write operation performed. */
-  BLE_GATTS_EVT_RW_AUTHORIZE_REQUEST,             /**< Read/Write Authorization request. */
-  BLE_GATTS_EVT_SYS_ATTR_MISSING,                 /**< A persistent system attribute access is pending, awaiting a sd_ble_gatts_sys_attr_set(). */
-  BLE_GATTS_EVT_HVC,                              /**< Handle Value Confirmation. */
-  BLE_GATTS_EVT_SC_CONFIRM,                       /**< Service Changed Confirmation. */
-  BLE_GATTS_EVT_TIMEOUT                           /**< Timeout. */
-};
-
-
-/**@brief Event structure for BLE_GATTS_EVT_WRITE. */
-typedef struct
-{
-  uint16_t                    handle;             /**< Attribute Handle. */
-  uint8_t                     op;                 /**< Type of write operation, see @ref BLE_GATTS_OPS. */
-  ble_gatts_attr_context_t    context;            /**< Attribute Context. */
-  uint16_t                    offset;             /**< Offset for the write operation. */
-  uint16_t                    len;                /**< Length of the incoming data. */
-  uint8_t                     data[1];            /**< Incoming data, variable length. */
-} ble_gatts_evt_write_t;
-
-/**@brief Event structure for authorize read request. */
-typedef struct
-{
-  uint16_t                    handle;             /**< Attribute Handle. */
-  ble_gatts_attr_context_t    context;            /**< Attribute Context. */
-  uint16_t                    offset;             /**< Offset for the read operation. */
-} ble_gatts_evt_read_t;
-
-/**@brief Event structure for BLE_GATTS_EVT_RW_AUTHORIZE_REQUEST. */
-typedef struct
-{
-  uint8_t                     type;             /**< Type of authorize operation, see @ref BLE_GATTS_AUTHORIZE_TYPES. */
-  union {
-    ble_gatts_evt_read_t      read;             /**< Attribute Read Parameters. */
-    ble_gatts_evt_write_t     write;            /**< Attribute Write Parameters. */
-  } request;
-} ble_gatts_evt_rw_authorize_request_t;
-
-/**@brief Event structure for BLE_GATTS_EVT_SYS_ATTR_MISSING. */
-typedef struct
-{
-  uint8_t hint;
-} ble_gatts_evt_sys_attr_missing_t;
-
-
-/**@brief Event structure for BLE_GATTS_EVT_HVC. */
-typedef struct
-{
-  uint16_t          handle;                       /**< Attribute Handle. */
-} ble_gatts_evt_hvc_t;
-
-/**@brief Event structure for BLE_GATTS_EVT_TIMEOUT. */
-typedef struct
-{
-  uint8_t          src;                       /**< Timeout source, see @ref BLE_GATT_TIMEOUT_SOURCES. */
-} ble_gatts_evt_timeout_t;
-
-
-/**@brief GATT Server event callback event structure. */
-typedef struct
-{
-  uint16_t conn_handle;                                       /**< Connection Handle on which event occurred. */
-  union
-  {
-    ble_gatts_evt_write_t                 write;              /**< Write Event Parameters. */
-    ble_gatts_evt_rw_authorize_request_t  authorize_request;  /**< Read or Write Authorize Request Parameters. */
-    ble_gatts_evt_sys_attr_missing_t      sys_attr_missing;   /**< System attributes missing. */
-    ble_gatts_evt_hvc_t                   hvc;                /**< Handle Value Confirmation Event Parameters. */
-    ble_gatts_evt_timeout_t               timeout;            /**< Timeout Event. */
-  } params;
-} ble_gatts_evt_t;
-
-/** @} */
-
-/** @addtogroup BLE_GATTS_FUNCTIONS Functions
- * @{ */
-
-/**@brief Add a service declaration to the local server ATT table.
- *
- * @param[in] type      Toggles between primary and secondary services, see @ref BLE_GATTS_SRVC_TYPES.
- * @param[in] p_uuid    Pointer to service UUID.
- * @param[out] p_handle Pointer to a 16-bit word where the assigned handle will be stored.
- *
- * @note Secondary Services are only relevant in the context of the entity that references them, it is therefore forbidden to
- *       add a secondary service declaration that is not referenced by another service later in the ATT table.
- *
- * @return @ref NRF_SUCCESS Successfully added a service declaration.
- * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
- * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied, Vendor Specific UUIDs need to be present in the table.
- * @return @ref NRF_ERROR_FORBIDDEN Forbidden value supplied, certain UUIDs are reserved for the stack.
- * @return @ref NRF_ERROR_NO_MEM Not enough memory to complete operation.
- */
-SVCALL(SD_BLE_GATTS_SERVICE_ADD, uint32_t, sd_ble_gatts_service_add(uint8_t type, ble_uuid_t const*const p_uuid, uint16_t *const p_handle));
-
-
-/**@brief Add an include declaration to the local server ATT table.
- *
- * @note It is currently only possible to add an include declaration to the last added service (i.e. only sequential addition is supported at this time). 
- *
- * @note The included service must already be present in the ATT table prior to this call.
- *
- * @param[in] service_handle    Handle of the service where the included service is to be placed, if BLE_GATT_HANDLE_INVALID is used, it will be placed sequentially.
- * @param[in] inc_srvc_handle   Handle of the included service.
- * @param[out] p_include_handle Pointer to a 16-bit word where the assigned handle will be stored.
- *
- * @return @ref NRF_SUCCESS Successfully added an include declaration.
- * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
- * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied, handle values need to match previously added services.
- * @return @ref NRF_ERROR_INVALID_STATE Invalid state to perform operation.
- * @return @ref NRF_ERROR_FORBIDDEN Forbidden value supplied, self inclusions are not allowed.
- * @return @ref NRF_ERROR_NO_MEM Not enough memory to complete operation.
- * @return @ref NRF_ERROR_NOT_FOUND Attribute not found.
- */
-SVCALL(SD_BLE_GATTS_INCLUDE_ADD, uint32_t, sd_ble_gatts_include_add(uint16_t service_handle, uint16_t inc_srvc_handle, uint16_t *const p_include_handle));
-
-
-/**@brief Add a characteristic declaration, a characteristic value declaration and optional characteristic descriptor declarations to the local server ATT table.
- *
- * @note It is currently only possible to add a characteristic to the last added service (i.e. only sequential addition is supported at this time). 
- *
- * @note Several restrictions apply to the parameters, such as matching permissions between the user description descriptor and the writeable auxiliaries bits,
- *       readable (no security) and writeable (selectable) CCCDs and SCCDs and valid presentation format values.
- *
- * @note If no metadata is provided for the optional descriptors, their permissions will be derived from the characteristic permissions.
- *
- * @param[in] service_handle    Handle of the service where the characteristic is to be placed, if BLE_GATT_HANDLE_INVALID is used, it will be placed sequentially.
- * @param[in] p_char_md         Characteristic metadata.
- * @param[in] p_attr_char_value Pointer to the attribute structure corresponding to the characteristic value.
- * @param[out] p_handles        Pointer to the structure where the assigned handles will be stored.
- *
- * @return @ref NRF_SUCCESS Successfully added a characteristic.
- * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
- * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied, service handle, Vendor Specific UUIDs, lengths, and permissions need to adhere to the constraints.
- * @return @ref NRF_ERROR_INVALID_STATE Invalid state to perform operation, a service context is required.
- * @return @ref NRF_ERROR_FORBIDDEN Forbidden value supplied, certain UUIDs are reserved for the stack.
- * @return @ref NRF_ERROR_NO_MEM Not enough memory to complete operation.
- * @return @ref NRF_ERROR_DATA_SIZE Invalid data size(s) supplied, attribute lengths are restricted by @ref BLE_GATTS_ATTR_LENS_MAX.
- */
-SVCALL(SD_BLE_GATTS_CHARACTERISTIC_ADD, uint32_t, sd_ble_gatts_characteristic_add(uint16_t service_handle, ble_gatts_char_md_t const*const p_char_md, ble_gatts_attr_t const*const p_attr_char_value, ble_gatts_char_handles_t *const p_handles));
-
-
-/**@brief Add a descriptor to the local server ATT table.
- *
- * @note It is currently only possible to add a descriptor to the last added characteristic (i.e. only sequential addition is supported at this time). 
- *
- * @param[in] char_handle   Handle of the characteristic where the descriptor is to be placed, if BLE_GATT_HANDLE_INVALID is used, it will be placed sequentially.
- * @param[in] p_attr        Pointer to the attribute structure.
- * @param[out] p_handle     Pointer to a 16-bit word where the assigned handle will be stored.
- *
- * @return @ref NRF_SUCCESS Successfully added a descriptor.
- * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
- * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied, characteristic handle, Vendor Specific UUIDs, lengths, and permissions need to adhere to the constraints.
- * @return @ref NRF_ERROR_INVALID_STATE Invalid state to perform operation, a characteristic context is required.
- * @return @ref NRF_ERROR_FORBIDDEN Forbidden value supplied, certain UUIDs are reserved for the stack.
- * @return @ref NRF_ERROR_NO_MEM Not enough memory to complete operation.
- * @return @ref NRF_ERROR_DATA_SIZE Invalid data size(s) supplied, attribute lengths are restricted by @ref BLE_GATTS_ATTR_LENS_MAX.
- */
-SVCALL(SD_BLE_GATTS_DESCRIPTOR_ADD, uint32_t, sd_ble_gatts_descriptor_add(uint16_t char_handle, ble_gatts_attr_t const * const p_attr, uint16_t* const p_handle));
-
-/**@brief Set the value of a given attribute.
- *
- * @param[in] handle    Attribute handle.
- * @param[in] offset    Offset in bytes to write from.
- * @param[in,out] p_len Length in bytes to be written, length in bytes written after successful return.
- * @param[in] p_value   Pointer to a buffer (at least len bytes long) containing the desired attribute value. If value is stored in user memory, only the attribute length is updated when p_value == NULL.
- *
- * @return @ref NRF_SUCCESS Successfully set the value of the attribute.
- * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
- * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied.
- * @return @ref NRF_ERROR_NOT_FOUND Attribute not found.
- * @return @ref NRF_ERROR_FORBIDDEN Forbidden handle supplied, certain attributes are not modifiable by the application.
- * @return @ref NRF_ERROR_DATA_SIZE Invalid data size(s) supplied, attribute lengths are restricted by @ref BLE_GATTS_ATTR_LENS_MAX.
- */
-SVCALL(SD_BLE_GATTS_VALUE_SET, uint32_t, sd_ble_gatts_value_set(uint16_t handle, uint16_t offset, uint16_t* const p_len, uint8_t const * const p_value));
-
-/**@brief Get the value of a given attribute.
- *
- * @param[in] handle     Attribute handle.
- * @param[in] offset     Offset in bytes to read from.
- * @param[in,out] p_len  Length in bytes to be read, total length of attribute value (in bytes, starting from offset) after successful return.
- * @param[in,out] p_data Pointer to a buffer (at least len bytes long) where to store the attribute value. Set to NULL to obtain the complete length of attribute value.
- *
- * @note                 If the attribute value is longer than the size of the supplied buffer,
- *                       p_len will return the total attribute value length (excluding offset),
- *                       and not the number of bytes actually returned in p_data.
- *                       The application may use this information to allocate a suitable buffer size.
- * 
- * @return @ref NRF_SUCCESS Successfully retrieved the value of the attribute.
- * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
- * @return @ref NRF_ERROR_NOT_FOUND Attribute not found.
- */
-SVCALL(SD_BLE_GATTS_VALUE_GET, uint32_t, sd_ble_gatts_value_get(uint16_t handle, uint16_t offset, uint16_t *const p_len, uint8_t* const p_data));
-
-/**@brief Notify or Indicate an attribute value.
- *
- * @details This function checks for the relevant Client Characteristic Configuration descriptor value to verify that the relevant operation
- *          (notification or indication) has been enabled by the client. It is also able to update the attribute value before issuing the PDU, so that
- *          the application can atomically perform a value update and a server initiated transaction with a single API call.
- *          If the application chooses to indicate an attribute value, a @ref BLE_GATTS_EVT_HVC will be sent up as soon as the confirmation arrives from
- *          the peer.
- *
- * @note    The local attribute value may be updated even if an outgoing packet is not sent to the peer due to an error during execution. 
- *          When receiveing the error codes @ref NRF_ERROR_INVALID_STATE, @ref NRF_ERROR_BUSY, @ref BLE_ERROR_GATTS_SYS_ATTR_MISSING and 
- *          @ref BLE_ERROR_NO_TX_BUFFERS the ATT table has been updated.
- *          The caller can check whether the value has been updated by looking at the contents of *(p_hvx_params->p_len).
- *
- * @note    It is important to note that a notification will <b>consume an application buffer</b>, and will therefore 
- *          generate a @ref BLE_EVT_TX_COMPLETE event when the packet has been transmitted. An indication on the other hand will use the 
- *          standard server internal buffer and thus will only generate a @ref BLE_GATTS_EVT_HVC event as soon as the confirmation 
- *          has been received from the peer. Please see the documentation of @ref sd_ble_tx_buffer_count_get for more details.
- *
- * @param[in] conn_handle  Connection handle.
- * @param[in] p_hvx_params Pointer to an HVx parameters structure. If the p_data member contains a non-NULL pointer the attribute value will be updated with
- *                         the contents pointed by it before sending the notification or indication.
- *
- * @return @ref NRF_SUCCESS Successfully queued a notification or indication for transmission, and optionally updated the attribute value.
- * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid Connection Handle.
- * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
- * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied.
- * @return @ref BLE_ERROR_INVALID_ATTR_HANDLE Invalid attribute handle(s) supplied. Only attributes added directly by the application are available to notify and indicate.
- * @return @ref BLE_ERROR_GATTS_INVALID_ATTR_TYPE Invalid attribute type(s) supplied, only characteristic values may be notified and indicated.
- * @return @ref NRF_ERROR_NOT_FOUND Attribute not found.
- * @return @ref NRF_ERROR_DATA_SIZE Invalid data size(s) supplied.
- * @return @ref NRF_ERROR_INVALID_STATE Invalid state to perform operation, notifications or indications must be enabled in the CCCD.
- * @return @ref NRF_ERROR_BUSY Procedure already in progress.
- * @return @ref BLE_ERROR_GATTS_SYS_ATTR_MISSING System attributes missing, use @ref sd_ble_gatts_sys_attr_set to set them to a known value.
- * @return @ref BLE_ERROR_NO_TX_BUFFERS There are no available buffers to send the data, applies only to notifications.
- */
-SVCALL(SD_BLE_GATTS_HVX, uint32_t, sd_ble_gatts_hvx(uint16_t conn_handle, ble_gatts_hvx_params_t const*const p_hvx_params));
-
-/**@brief Indicate the Service Changed attribute value.
- *
- * @details This call will send a Handle Value Indication to one or more peers connected to inform them that the attribute
- *          table layout has changed. As soon as the peer has confirmed the indication, a @ref BLE_GATTS_EVT_SC_CONFIRM event will
- *          be issued.
- *
- * @note    Some of the restrictions and limitations that apply to @ref sd_ble_gatts_hvx also apply here.
- *
- * @param[in] conn_handle  Connection handle.
- * @param[in] start_handle Start of affected attribute handle range.
- * @param[in] end_handle   End of affected attribute handle range.
- *
- * @return @ref NRF_SUCCESS Successfully queued the Service Changed indication for transmission.
- * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid Connection Handle.
- * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied.
- * @return @ref BLE_ERROR_INVALID_ATTR_HANDLE Invalid attribute handle(s) supplied, handles must be in the range populated by the application.
- * @return @ref NRF_ERROR_INVALID_STATE Invalid state to perform operation, notifications or indications must be enabled in the CCCD.
- * @return @ref NRF_ERROR_BUSY Procedure already in progress.
- * @return @ref BLE_ERROR_GATTS_SYS_ATTR_MISSING System attributes missing, use @ref sd_ble_gatts_sys_attr_set to set them to a known value.
- */
-SVCALL(SD_BLE_GATTS_SERVICE_CHANGED, uint32_t, sd_ble_gatts_service_changed(uint16_t conn_handle, uint16_t start_handle, uint16_t end_handle));
-
-/**@brief Respond to a Read/Write authorization request.
- *
- * @note This call should only be used as a response to a @ref BLE_GATTS_EVT_RW_AUTHORIZE_REQUEST event issued to the application.
- *
- * @param[in] conn_handle                 Connection handle.
- * @param[in] p_rw_authorize_reply_params Pointer to a structure with the attribute provided by the application.
- *
- * @return @ref NRF_SUCCESS               Successfully queued a response to the peer, and in the case of a write operation, ATT table updated.
- * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid Connection Handle.
- * @return @ref NRF_ERROR_INVALID_STATE   No authorization request pending.
- * @return @ref NRF_ERROR_INVALID_PARAM   Authorization op invalid,
- *                                         or for Read Authorization reply: requested handles not replied with,
- *                                         or for Write Authorization reply: handle supplied does not match requested handle.
- */
-SVCALL(SD_BLE_GATTS_RW_AUTHORIZE_REPLY, uint32_t, sd_ble_gatts_rw_authorize_reply(uint16_t conn_handle, ble_gatts_rw_authorize_reply_params_t const*const p_rw_authorize_reply_params));
-
-
-/**@brief Update persistent system attribute information.
- *
- * @details Supply to the stack information about persistent system attributes.
- *          This call is legal in the connected state only, and is usually 
- *          made immediately after a connection is established and the bond identified.
- *          usually as a response to a BLE_GATTS_EVT_SYS_ATTR_MISSING.
- *
- *          p_sysattrs may point directly to the application's stored copy of the struct.
- *          If the pointer is NULL, the system attribute info is initialized, assuming that
- *          the application does not have any previously saved data for this bond.
- *
- * @note The state of persistent system attributes is reset upon connection and then remembered for its duration. 
- *
- * @note If this call returns with an error code different from @ref NRF_SUCCESS, the storage of persistent system attributes may have been completed only partially.
- *       This means that the state of the attribute table is undefined, and the application should either provide a new set of attributes using this same call or
- *       reset the SoftDevice to return to a known state.
- *
- * @param[in]  conn_handle        Connection handle.
- * @param[in]  p_sys_attr_data    Pointer to a saved copy of system attributes supplied to the stack, or NULL.
- * @param[in]  len                Size of data pointed by p_sys_attr_data, in octets. 
- *
- * @return @ref NRF_SUCCESS Successfully set the system attribute information.
- * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid Connection Handle.
- * @return @ref NRF_ERROR_INVALID_DATA Invalid data supplied, the data should be exactly the same as retrieved with @ref sd_ble_gatts_sys_attr_get.
- * @return @ref NRF_ERROR_NO_MEM Not enough memory to complete operation.
- */ 
-SVCALL(SD_BLE_GATTS_SYS_ATTR_SET, uint32_t, sd_ble_gatts_sys_attr_set(uint16_t conn_handle, uint8_t const*const p_sys_attr_data, uint16_t len)); 
-
- 
-/**@brief Retrieve persistent system attribute information from the stack.
- *
- * @details This call is used to retrieve information about values to be stored perisistently by the application
- *          after a connection has been terminated. When a new connection is made to the same bond, the values
- *          should be restored using @ref sd_ble_gatts_sys_attr_set.
- *          The data should be read before any new advertising is started, or any new connection established. The connection handle for
- *          the previous now defunct connection will remain valid until a new one is created to allow this API call to refer to it.
- *
- * @param[in]     conn_handle       Connection handle of the recently terminated connection.
- * @param[in]     p_sys_attr_data   Pointer to a buffer where updated information about system attributes will be filled in. NULL can be provided to 
- *                                  obtain the length of the data
- * @param[in,out] p_len             Size of application buffer if p_sys_attr_data is not NULL. Unconditially updated to actual length of system attribute data.
- *
- * @return @ref NRF_SUCCESS Successfully retrieved the system attribute information.
- * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid Connection Handle.
- * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
- * @return @ref NRF_ERROR_DATA_SIZE The system attribute information did not fit into the provided buffer.
- */ 
-SVCALL(SD_BLE_GATTS_SYS_ATTR_GET, uint32_t, sd_ble_gatts_sys_attr_get(uint16_t conn_handle, uint8_t * const p_sys_attr_data, uint16_t* const p_len)); 
-
-/** @} */
-
-#endif // BLE_GATTS_H__
-
-/**
-  @}
-*/
--- a/TARGET_HRM1017/TARGET_NORDIC/TARGET_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/ble_hci.h	Fri Jul 25 09:46:51 2014 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,96 +0,0 @@
-/*
-  Copyright (c) 2012 Nordic Semiconductor. All Rights Reserved.
-
-  The information contained herein is confidential property of Nordic Semiconductor. The use,
-  copying, transfer or disclosure of such information is prohibited except by express written
-  agreement with Nordic Semiconductor.
- */
-/**
-  @addtogroup BLE_COMMON 
-  @{
-*/
-
-
-#ifndef BLE_HCI_H__
-#define BLE_HCI_H__ 
-
-/** @defgroup BLE_HCI_STATUS_CODES Bluetooth status codes
- * @{ */
-
-#define BLE_HCI_STATUS_CODE_SUCCESS                        0x00
-#define BLE_HCI_STATUS_CODE_UNKNOWN_BTLE_COMMAND           0x01
-#define BLE_HCI_STATUS_CODE_UNKNOWN_CONNECTION_IDENTIFIER  0x02 
-/*0x03 Hardware Failure
-0x04 Page Timeout
-*/
-#define BLE_HCI_AUTHENTICATION_FAILURE                     0x05
-#define BLE_HCI_STATUS_CODE_PIN_OR_KEY_MISSING             0x06
-#define BLE_HCI_MEMORY_CAPACITY_EXCEEDED                   0x07
-#define BLE_HCI_CONNECTION_TIMEOUT                         0x08
-/*0x09 Connection Limit Exceeded
-0x0A Synchronous Connection Limit To A Device Exceeded
-0x0B ACL Connection Already Exists*/
-#define BLE_HCI_STATUS_CODE_COMMAND_DISALLOWED             0x0C
-/*0x0D Connection Rejected due to Limited Resources
-0x0E Connection Rejected Due To Security Reasons
-0x0F Connection Rejected due to Unacceptable BD_ADDR
-0x10 Connection Accept Timeout Exceeded
-0x11 Unsupported Feature or Parameter Value*/
-#define BLE_HCI_STATUS_CODE_INVALID_BTLE_COMMAND_PARAMETERS 0x12
-#define BLE_HCI_REMOTE_USER_TERMINATED_CONNECTION           0x13
-#define BLE_HCI_REMOTE_DEV_TERMINATION_DUE_TO_LOW_RESOURCES 0x14
-#define BLE_HCI_REMOTE_DEV_TERMINATION_DUE_TO_POWER_OFF     0x15
-#define BLE_HCI_LOCAL_HOST_TERMINATED_CONNECTION            0x16
-/*
-0x17 Repeated Attempts
-0x18 Pairing Not Allowed
-0x19 Unknown LMP PDU
-*/
-#define BLE_HCI_UNSUPPORTED_REMOTE_FEATURE 0x1A
-/*
-0x1B SCO Offset Rejected
-0x1C SCO Interval Rejected
-0x1D SCO Air Mode Rejected*/
-#define BLE_HCI_STATUS_CODE_INVALID_LMP_PARAMETERS     0x1E
-#define BLE_HCI_STATUS_CODE_UNSPECIFIED_ERROR          0x1F
-/*0x20 Unsupported LMP Parameter Value
-0x21 Role Change Not Allowed
-*/
-#define BLE_HCI_STATUS_CODE_LMP_RESPONSE_TIMEOUT       0x22
-/*0x23 LMP Error Transaction Collision*/
-#define BLE_HCI_STATUS_CODE_LMP_PDU_NOT_ALLOWED        0x24
-/*0x25 Encryption Mode Not Acceptable
-0x26 Link Key Can Not be Changed
-0x27 Requested QoS Not Supported
-*/
-#define BLE_HCI_INSTANT_PASSED                         0x28
-#define BLE_HCI_PAIRING_WITH_UNIT_KEY_UNSUPPORTED      0x29
-#define BLE_HCI_DIFFERENT_TRANSACTION_COLLISION        0x2A
-/*
-0x2B Reserved
-0x2C QoS Unacceptable Parameter
-0x2D QoS Rejected
-0x2E Channel Classification Not Supported
-0x2F Insufficient Security
-0x30 Parameter Out Of Mandatory Range
-0x31 Reserved
-0x32 Role Switch Pending
-0x33 Reserved
-0x34 Reserved Slot Violation
-0x35 Role Switch Failed
-0x36 Extended Inquiry Response Too Large
-0x37 Secure Simple Pairing Not Supported By Host.
-0x38 Host Busy - Pairing
-0x39 Connection Rejected due to No Suitable Channel Found*/
-#define BLE_HCI_CONTROLLER_BUSY                        0x3A
-#define BLE_HCI_CONN_INTERVAL_UNACCEPTABLE             0x3B
-#define BLE_HCI_DIRECTED_ADVERTISER_TIMEOUT            0x3C
-#define BLE_HCI_CONN_TERMINATED_DUE_TO_MIC_FAILURE     0x3D
-#define BLE_HCI_CONN_FAILED_TO_BE_ESTABLISHED          0x3E
-
-/** @} */
-
-
-#endif // BLE_HCI_H__
-
-/** @} */
--- a/TARGET_HRM1017/TARGET_NORDIC/TARGET_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/ble_l2cap.h	Fri Jul 25 09:46:51 2014 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,144 +0,0 @@
-/* Copyright (c) 2011 Nordic Semiconductor. All Rights Reserved.
- *
- * The information contained herein is confidential property of Nordic Semiconductor. The use,
- * copying, transfer or disclosure of such information is prohibited except by express written
- * agreement with Nordic Semiconductor.
- *
- */
-/**
-  @addtogroup BLE_L2CAP Logical Link Control and Adaptation Protocol (L2CAP)
-  @{
-  @brief Definitions and prototypes for the L2CAP interface.
- */
-
-#ifndef BLE_L2CAP_H__
-#define BLE_L2CAP_H__ 
-
-#include "ble_types.h"
-#include "ble_ranges.h"
-#include "ble_err.h"
-#include "nrf_svc.h"
-
-/**@addtogroup BLE_L2CAP_ENUMERATIONS Enumerations
- * @{ */
-
-/**@brief L2CAP API SVC numbers. */
-enum BLE_L2CAP_SVCS 
-{
-  SD_BLE_L2CAP_CID_REGISTER = BLE_L2CAP_SVC_BASE,  /**< Register a CID. */
-  SD_BLE_L2CAP_CID_UNREGISTER,                     /**< Unregister a CID. */
-  SD_BLE_L2CAP_TX                                  /**< Transmit a packet. */
-};
-
-/** @} */
-
-/**@addtogroup BLE_L2CAP_DEFINES Defines
- * @{ */
-
-/**@defgroup BLE_ERRORS_L2CAP SVC return values specific to L2CAP
- * @{ */
-#define BLE_ERROR_L2CAP_CID_IN_USE            (NRF_L2CAP_ERR_BASE + 0x000)  /**< CID already in use. */
-/** @} */
-
-/**@brief Default L2CAP MTU. */
-#define BLE_L2CAP_MTU_DEF           (23)    
-
-/**@brief Invalid Channel Identifier. */
-#define BLE_L2CAP_CID_INVALID       (0x0000) 
-
-/**@brief Dynamic Channel Identifier base. */
-#define BLE_L2CAP_CID_DYN_BASE      (0x0040) 
-
-/**@brief Maximum amount of dynamic CIDs. */
-#define BLE_L2CAP_CID_DYN_MAX       (8) 
-
-/** @} */
-
-/**@addtogroup BLE_L2CAP_STRUCTURES Structures
- * @{ */
-
-/**@brief Packet header format for L2CAP transmission. */
-typedef struct
-{
-  uint16_t   len;                                 /**< Length of valid info in data member. */
-  uint16_t   cid;                                 /**< Channel ID on which packet is transmitted. */
-} ble_l2cap_header_t;
-
-/**@brief L2CAP Event IDs. */
-enum BLE_L2CAP_EVTS 
-{
-  BLE_L2CAP_EVT_RX  = BLE_L2CAP_EVT_BASE          /**< L2CAP packet received. */
-};
-
-
-/**@brief L2CAP Received packet event report. */
-typedef struct
-{
-  ble_l2cap_header_t header;                      /** L2CAP packet header. */
-  uint8_t    data[1];                             /**< Packet data, variable length. */
-} ble_l2cap_evt_rx_t;
-
-
-/**@brief L2CAP event callback event structure. */
-typedef struct
-{
-  uint16_t conn_handle;                           /**< Connection Handle on which event occured. */
-  union
-  {
-    ble_l2cap_evt_rx_t rx;                        /**< RX Event parameters. */
-  } params;
-} ble_l2cap_evt_t;
-
-
-/**@brief Register a CID with L2CAP.
- *
- * @details This registers a higher protocol layer with the L2CAP multiplexer, and is requried prior to all operations on the CID.
- *          
- * @param[in] cid L2CAP CID.
- *
- * @return @ref NRF_SUCCESS Successfully registered a CID with the L2CAP layer.
- * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied, CID must be above @ref BLE_L2CAP_CID_DYN_BASE.
- * @return @ref BLE_ERROR_L2CAP_CID_IN_USE L2CAP CID already in use.
- * @return @ref NRF_ERROR_NO_MEM Not enough memory to complete operation.
- */
-SVCALL(SD_BLE_L2CAP_CID_REGISTER, uint32_t, sd_ble_l2cap_cid_register(uint16_t cid));
-
-/**@brief Unregister a CID with L2CAP.
- *
- * @details This unregisters a previously registerd higher protocol layer with the L2CAP multiplexer.
- *          
- * @param[in] cid L2CAP CID.
- *
- * @return @ref NRF_SUCCESS Successfully unregistered the CID.
- * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied.
- * @return @ref NRF_ERROR_NOT_FOUND CID not previously registered.
- */
-SVCALL(SD_BLE_L2CAP_CID_UNREGISTER, uint32_t, sd_ble_l2cap_cid_unregister(uint16_t cid));
-
-/**@brief Transmit an L2CAP packet.
- *
- * @note    It is important to note that a call to this function will <b>consume an application buffer</b>, and will therefore 
- *          generate a @ref BLE_EVT_TX_COMPLETE event when the packet has been transmitted. 
- *          Please see the documentation of @ref sd_ble_tx_buffer_count_get for more details.
- *
- * @param[in] conn_handle Connection Handle.
- * @param[in] p_header    Pointer to a packet header containing length and CID.
- * @param[in] p_data      Pointer to the data to be transmitted.
- *
- * @return @ref NRF_SUCCESS Successfully queued an L2CAP packet for transmission.
- * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
- * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied, CIDs must be registered beforehand with @ref sd_ble_l2cap_cid_register.
- * @return @ref NRF_ERROR_NOT_FOUND CID not found.
- * @return @ref NRF_ERROR_NO_MEM Not enough memory to complete operation.
- * @return @ref BLE_ERROR_NO_TX_BUFFERS Not enough application buffers available.
- * @return @ref NRF_ERROR_DATA_SIZE Invalid data size(s) supplied, see @ref BLE_L2CAP_MTU_DEF.
- */
-SVCALL(SD_BLE_L2CAP_TX, uint32_t, sd_ble_l2cap_tx(uint16_t conn_handle, ble_l2cap_header_t const * const p_header, uint8_t const * const p_data));
-
-/** @} */
-
-#endif // BLE_L2CAP_H__
-
-/**
-  @}
-*/
--- a/TARGET_HRM1017/TARGET_NORDIC/TARGET_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/ble_ranges.h	Fri Jul 25 09:46:51 2014 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,89 +0,0 @@
-/*
-  Copyright (c) 2012 Nordic Semiconductor. All Rights Reserved.
-
-  The information contained herein is confidential property of Nordic Semiconductor. The use,
-  copying, transfer or disclosure of such information is prohibited except by express written
-  agreement with Nordic Semiconductor.
- */
-/**
-  @addtogroup BLE_COMMON
-  @{
-  @defgroup ble_ranges Module specific SVC and event number subranges
-  @{
-
-  @brief Definition of SVC and event number subranges for each API module.
-
-  @note
-  SVCs and event numbers are split into subranges for each API module.
-  Each module receives its entire allocated range of SVC calls, whether implemented or not,
-  but return BLE_ERROR_NOT_SUPPORTED for unimplemented or undefined calls in its range.
-
-  Note that the symbols BLE_<module>_SVC_LAST is the end of the allocated SVC range,
-  rather than the last SVC function call actually defined and implemented.
-
-  Specific SVC and event values are defined in each module's ble_<module>.h file,
-  which defines names of each individual SVC code based on the range start value.
-*/
-
-#ifndef BLE_RANGES_H__
-#define BLE_RANGES_H__
-
-#define BLE_SVC_BASE           0x60
-#define BLE_SVC_LAST           0x6B       /* Total: 12. */
-
-#define BLE_RESERVED_SVC_BASE  0x6C
-#define BLE_RESERVED_SVC_LAST  0x6F       /* Total: 4. */
-
-#define BLE_GAP_SVC_BASE       0x70
-#define BLE_GAP_SVC_LAST       0x8F       /* Total: 32. */
-
-#define BLE_GATTC_SVC_BASE     0x90
-#define BLE_GATTC_SVC_LAST     0x9F       /* Total: 16. */
-
-#define BLE_GATTS_SVC_BASE     0xA0
-#define BLE_GATTS_SVC_LAST     0xAF       /* Total: 16. */
-
-#define BLE_L2CAP_SVC_BASE     0xB0
-#define BLE_L2CAP_SVC_LAST     0xBF       /* Total: 16. */
-
-
-#define BLE_EVT_INVALID        0x00
-
-#define BLE_EVT_BASE           0x01
-#define BLE_EVT_LAST           0x0F       /* Total: 15. */
-
-#define BLE_GAP_EVT_BASE       0x10
-#define BLE_GAP_EVT_LAST       0x2F       /* Total: 32. */
-
-#define BLE_GATTC_EVT_BASE     0x30
-#define BLE_GATTC_EVT_LAST     0x4F       /* Total: 32. */
-
-#define BLE_GATTS_EVT_BASE     0x50
-#define BLE_GATTS_EVT_LAST     0x6F       /* Total: 32. */
-
-#define BLE_L2CAP_EVT_BASE     0x70
-#define BLE_L2CAP_EVT_LAST     0x8F       /* Total: 32.  */
-
-#define BLE_OPT_INVALID        0x00       /**< Invalid BLE Option. */
-
-#define BLE_OPT_BASE           0x01       /**< Common BLE Option base. */
-#define BLE_OPT_LAST           0x1F       /**< Total: 31. */
-
-#define BLE_GAP_OPT_BASE       0x20       /**< GAP BLE Option base. */
-#define BLE_GAP_OPT_LAST       0x3F       /**< Total: 32. */
-
-#define BLE_GATTC_OPT_BASE     0x40       /**< GATTC BLE Option base. */
-#define BLE_GATTC_OPT_LAST     0x5F       /**< Total: 32. */
-
-#define BLE_GATTS_OPT_BASE     0x60       /**< GATTS BLE Option base. */
-#define BLE_GATTS_OPT_LAST     0x7F       /**< Total: 32. */
-
-#define BLE_L2CAP_OPT_BASE     0x80       /**< L2CAP BLE Option base. */
-#define BLE_L2CAP_OPT_LAST     0x9F       /**< Total: 32.  */
-
-#endif /* BLE_RANGES_H__ */
-
-/**
-  @}
-  @}
-*/
--- a/TARGET_HRM1017/TARGET_NORDIC/TARGET_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/ble_types.h	Fri Jul 25 09:46:51 2014 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,169 +0,0 @@
-/* Copyright (c) 2011 Nordic Semiconductor. All Rights Reserved.
- *
- * The information contained herein is confidential property of Nordic Semiconductor. The use,
- * copying, transfer or disclosure of such information is prohibited except by express written
- * agreement with Nordic Semiconductor.
- *
- */
-/**
-  @addtogroup BLE_COMMON
-  @{
-  @defgroup ble_types Common types and macro definitions
-  @{
-
-  @brief Common types and macro definitions for the S110 SoftDevice.
- */
-
-#ifndef BLE_TYPES_H__
-#define BLE_TYPES_H__
-
-#include <stdint.h>
-
-/** @addtogroup BLE_COMMON_DEFINES Defines
- * @{ */
-
-/** @defgroup BLE_CONN_HANDLES BLE Connection Handles
- * @{ */
-#define BLE_CONN_HANDLE_INVALID 0xFFFF  /**< Invalid Connection Handle. */
-#define BLE_CONN_HANDLE_ALL     0xFFFE  /**< Applies to all Connection Handles. */
-/** @} */
-
-
-/** @defgroup BLE_UUID_VALUES Assigned Values for BLE UUIDs
- * @{ */
-/* Generic UUIDs, applicable to all services */
-#define BLE_UUID_UNKNOWN                              0x0000 /**< Reserved UUID. */
-#define BLE_UUID_SERVICE_PRIMARY                      0x2800 /**< Primary Service. */
-#define BLE_UUID_SERVICE_SECONDARY                    0x2801 /**< Secondary Service. */
-#define BLE_UUID_SERVICE_INCLUDE                      0x2802 /**< Include. */
-#define BLE_UUID_CHARACTERISTIC                       0x2803 /**< Characteristic. */
-#define BLE_UUID_DESCRIPTOR_CHAR_EXT_PROP             0x2900 /**< Characteristic Extended Properties Descriptor. */
-#define BLE_UUID_DESCRIPTOR_CHAR_USER_DESC            0x2901 /**< Characteristic User Description Descriptor. */
-#define BLE_UUID_DESCRIPTOR_CLIENT_CHAR_CONFIG        0x2902 /**< Client Characteristic Configuration Descriptor. */
-#define BLE_UUID_DESCRIPTOR_SERVER_CHAR_CONFIG        0x2903 /**< Server Characteristic Configuration Descriptor. */
-#define BLE_UUID_DESCRIPTOR_CHAR_PRESENTATION_FORMAT  0x2904 /**< Characteristic Presentation Format Descriptor. */
-#define BLE_UUID_DESCRIPTOR_CHAR_AGGREGATE_FORMAT     0x2905 /**< Characteristic Aggregate Format Descriptor. */
-/* GATT specific UUIDs */
-#define BLE_UUID_GATT                                 0x1801 /**< Generic Attribute Profile. */
-#define BLE_UUID_GATT_CHARACTERISTIC_SERVICE_CHANGED  0x2A05 /**< Service Changed Characteristic. */
-/* GAP specific UUIDs */
-#define BLE_UUID_GAP                                  0x1800 /**< Generic Access Profile. */
-#define BLE_UUID_GAP_CHARACTERISTIC_DEVICE_NAME       0x2A00 /**< Device Name Characteristic. */
-#define BLE_UUID_GAP_CHARACTERISTIC_APPEARANCE        0x2A01 /**< Appearance Characteristic. */
-#define BLE_UUID_GAP_CHARACTERISTIC_PPF               0x2A02 /**< Peripheral Privacy Flag Characteristic. */
-#define BLE_UUID_GAP_CHARACTERISTIC_RECONN_ADDR       0x2A03 /**< Reconnection Address Characteristic. */
-#define BLE_UUID_GAP_CHARACTERISTIC_PPCP              0x2A04 /**< Peripheral Preferred Connection Parameters Characteristic. */
-/** @} */
-
-
-/** @defgroup BLE_UUID_TYPES Types of UUID
- * @{ */
-#define BLE_UUID_TYPE_UNKNOWN       0x00 /**< Invalid UUID type. */
-#define BLE_UUID_TYPE_BLE           0x01 /**< Bluetooth SIG UUID (16-bit). */
-#define BLE_UUID_TYPE_VENDOR_BEGIN  0x02 /**< Vendor UUID types start at this index (128-bit). */
-/** @} */
-
-
-/** @defgroup BLE_APPEARANCES Bluetooth Appearance values
- *  @note Retrieved from http://developer.bluetooth.org/gatt/characteristics/Pages/CharacteristicViewer.aspx?u=org.bluetooth.characteristic.gap.appearance.xml
- * @{ */
-#define BLE_APPEARANCE_UNKNOWN                                0 /**< Unknown. */
-#define BLE_APPEARANCE_GENERIC_PHONE                         64 /**< Generic Phone. */
-#define BLE_APPEARANCE_GENERIC_COMPUTER                     128 /**< Generic Computer. */
-#define BLE_APPEARANCE_GENERIC_WATCH                        192 /**< Generic Watch. */
-#define BLE_APPEARANCE_WATCH_SPORTS_WATCH                   193 /**< Watch: Sports Watch. */
-#define BLE_APPEARANCE_GENERIC_CLOCK                        256 /**< Generic Clock. */
-#define BLE_APPEARANCE_GENERIC_DISPLAY                      320 /**< Generic Display. */
-#define BLE_APPEARANCE_GENERIC_REMOTE_CONTROL               384 /**< Generic Remote Control. */
-#define BLE_APPEARANCE_GENERIC_EYE_GLASSES                  448 /**< Generic Eye-glasses. */
-#define BLE_APPEARANCE_GENERIC_TAG                          512 /**< Generic Tag. */
-#define BLE_APPEARANCE_GENERIC_KEYRING                      576 /**< Generic Keyring. */
-#define BLE_APPEARANCE_GENERIC_MEDIA_PLAYER                 640 /**< Generic Media Player. */
-#define BLE_APPEARANCE_GENERIC_BARCODE_SCANNER              704 /**< Generic Barcode Scanner. */
-#define BLE_APPEARANCE_GENERIC_THERMOMETER                  768 /**< Generic Thermometer. */
-#define BLE_APPEARANCE_THERMOMETER_EAR                      769 /**< Thermometer: Ear. */
-#define BLE_APPEARANCE_GENERIC_HEART_RATE_SENSOR            832 /**< Generic Heart rate Sensor. */
-#define BLE_APPEARANCE_HEART_RATE_SENSOR_HEART_RATE_BELT    833 /**< Heart Rate Sensor: Heart Rate Belt. */
-#define BLE_APPEARANCE_GENERIC_BLOOD_PRESSURE               896 /**< Generic Blood Pressure. */
-#define BLE_APPEARANCE_BLOOD_PRESSURE_ARM                   897 /**< Blood Pressure: Arm. */
-#define BLE_APPEARANCE_BLOOD_PRESSURE_WRIST                 898 /**< Blood Pressure: Wrist. */
-#define BLE_APPEARANCE_GENERIC_HID                          960 /**< Human Interface Device (HID). */
-#define BLE_APPEARANCE_HID_KEYBOARD                         961 /**< Keyboard (HID Subtype). */
-#define BLE_APPEARANCE_HID_MOUSE                            962 /**< Mouse (HID Subtype). */
-#define BLE_APPEARANCE_HID_JOYSTICK                         963 /**< Joystiq (HID Subtype). */
-#define BLE_APPEARANCE_HID_GAMEPAD                          964 /**< Gamepad (HID Subtype). */
-#define BLE_APPEARANCE_HID_DIGITIZERSUBTYPE                 965 /**< Digitizer Tablet (HID Subtype). */
-#define BLE_APPEARANCE_HID_CARD_READER                      966 /**< Card Reader (HID Subtype). */
-#define BLE_APPEARANCE_HID_DIGITAL_PEN                      967 /**< Digital Pen (HID Subtype). */
-#define BLE_APPEARANCE_HID_BARCODE                          968 /**< Barcode Scanner (HID Subtype). */
-#define BLE_APPEARANCE_GENERIC_GLUCOSE_METER               1024 /**< Generic Glucose Meter. */
-#define BLE_APPEARANCE_GENERIC_RUNNING_WALKING_SENSOR      1088 /**< Generic Running Walking Sensor. */
-#define BLE_APPEARANCE_RUNNING_WALKING_SENSOR_IN_SHOE      1089 /**< Running Walking Sensor: In-Shoe. */
-#define BLE_APPEARANCE_RUNNING_WALKING_SENSOR_ON_SHOE      1090 /**< Running Walking Sensor: On-Shoe. */
-#define BLE_APPEARANCE_RUNNING_WALKING_SENSOR_ON_HIP       1091 /**< Running Walking Sensor: On-Hip. */
-#define BLE_APPEARANCE_GENERIC_CYCLING                     1152 /**< Generic Cycling. */
-#define BLE_APPEARANCE_CYCLING_CYCLING_COMPUTER            1153 /**< Cycling: Cycling Computer. */
-#define BLE_APPEARANCE_CYCLING_SPEED_SENSOR                1154 /**< Cycling: Speed Sensor. */
-#define BLE_APPEARANCE_CYCLING_CADENCE_SENSOR              1155 /**< Cycling: Cadence Sensor. */
-#define BLE_APPEARANCE_CYCLING_POWER_SENSOR                1156 /**< Cycling: Power Sensor. */
-#define BLE_APPEARANCE_CYCLING_SPEED_CADENCE_SENSOR        1157 /**< Cycling: Speed and Cadence Sensor. */
-#define BLE_APPEARANCE_GENERIC_PULSE_OXIMETER              3136 /**< Generic Pulse Oximeter. */
-#define BLE_APPEARANCE_PULSE_OXIMETER_FINGERTIP            3137 /**< Fingertip (Pulse Oximeter subtype). */
-#define BLE_APPEARANCE_PULSE_OXIMETER_WRIST_WORN           3138 /**< Wrist Worn(Pulse Oximeter subtype). */
-#define BLE_APPEARANCE_GENERIC_WEIGHT_SCALE                3200 /**< Generic Weight Scale. */
-#define BLE_APPEARANCE_GENERIC_OUTDOOR_SPORTS_ACT          5184 /**< Generic Outdoor Sports Activity. */
-#define BLE_APPEARANCE_OUTDOOR_SPORTS_ACT_LOC_DISP         5185 /**< Location Display Device (Outdoor Sports Activity subtype). */
-#define BLE_APPEARANCE_OUTDOOR_SPORTS_ACT_LOC_AND_NAV_DISP 5186 /**< Location and Navigation Display Device (Outdoor Sports Activity subtype). */
-#define BLE_APPEARANCE_OUTDOOR_SPORTS_ACT_LOC_POD          5187 /**< Location Pod (Outdoor Sports Activity subtype). */
-#define BLE_APPEARANCE_OUTDOOR_SPORTS_ACT_LOC_AND_NAV_POD  5188 /**< Location and Navigation Pod (Outdoor Sports Activity subtype). */
-/** @} */
-
-/** @brief Set .type and .uuid fields of ble_uuid_struct to specified uuid value. */
-#define BLE_UUID_BLE_ASSIGN(instance, value) do {\
-            instance.type = BLE_UUID_TYPE_BLE; \
-            instance.uuid = value;} while(0)
-
-/** @brief Copy type and uuid members from src to dst ble_uuid_t pointer. Both pointers must be valid/non-null. */
-#define BLE_UUID_COPY_PTR(dst, src) do {\
-            (dst)->type = (src)->type; \
-            (dst)->uuid = (src)->uuid;} while(0)
-
-/** @brief Copy type and uuid members from src to dst ble_uuid_t struct. */
-#define BLE_UUID_COPY_INST(dst, src) do {\
-            (dst).type = (src).type; \
-            (dst).uuid = (src).uuid;} while(0)
-
-/** @brief Compare for equality both type and uuid members of two (valid, non-null) ble_uuid_t pointers. */
-#define BLE_UUID_EQ(p_uuid1, p_uuid2) \
-            (((p_uuid1)->type == (p_uuid2)->type) && ((p_uuid1)->uuid == (p_uuid2)->uuid))
-
-/** @brief Compare for difference both type and uuid members of two (valid, non-null) ble_uuid_t pointers. */
-#define BLE_UUID_NEQ(p_uuid1, p_uuid2) \
-            (((p_uuid1)->type != (p_uuid2)->type) || ((p_uuid1)->uuid != (p_uuid2)->uuid))
-
-/** @} */
-
-/** @addtogroup BLE_TYPES_STRUCTURES Structures
- * @{ */
-
-/** @brief 128 bit UUID values. */
-typedef struct
-{ 
-    unsigned char uuid128[16];
-} ble_uuid128_t;
-
-/** @brief  Bluetooth Low Energy UUID type, encapsulates both 16-bit and 128-bit UUIDs. */
-typedef struct
-{
-    uint16_t    uuid; /**< 16-bit UUID value or octets 12-13 of 128-bit UUID. */
-    uint8_t     type; /**< UUID type, see @ref BLE_UUID_TYPES. If type is BLE_UUID_TYPE_UNKNOWN, the value of uuid is undefined. */
-} ble_uuid_t;
-
-/** @} */
-
-#endif /* BLE_TYPES_H__ */
-
-/**
-  @}
-  @}
-*/
--- a/TARGET_HRM1017/TARGET_NORDIC/TARGET_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/nrf_error.h	Fri Jul 25 09:46:51 2014 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,51 +0,0 @@
-/*
- * Copyright (c) 2012 Nordic Semiconductor. All Rights Reserved.
- *
- * The information contained herein is confidential property of Nordic Semiconductor. The use,
- * copying, transfer or disclosure of such information is prohibited except by express written
- * agreement with Nordic Semiconductor.
- *
- */
- /**
-  @defgroup nrf_error SoftDevice Global Error Codes
-  @{
-   
-  @brief Global Error definitions
-*/
-
-/* Header guard */
-#ifndef NRF_ERROR_H__
-#define NRF_ERROR_H__
-
-/** @defgroup NRF_ERRORS_BASE Error Codes Base number definitions
- * @{ */
-#define NRF_ERROR_BASE_NUM      (0x0)       ///< Global error base
-#define NRF_ERROR_SDM_BASE_NUM  (0x1000)    ///< SDM error base
-#define NRF_ERROR_SOC_BASE_NUM  (0x2000)    ///< SoC error base
-#define NRF_ERROR_STK_BASE_NUM  (0x3000)    ///< STK error base
-/** @} */
-
-#define NRF_SUCCESS                           (NRF_ERROR_BASE_NUM + 0)  ///< Successful command
-#define NRF_ERROR_SVC_HANDLER_MISSING         (NRF_ERROR_BASE_NUM + 1)  ///< SVC handler is missing
-#define NRF_ERROR_SOFTDEVICE_NOT_ENABLED      (NRF_ERROR_BASE_NUM + 2)  ///< SoftDevice has not been enabled
-#define NRF_ERROR_INTERNAL                    (NRF_ERROR_BASE_NUM + 3)  ///< Internal Error
-#define NRF_ERROR_NO_MEM                      (NRF_ERROR_BASE_NUM + 4)  ///< No Memory for operation
-#define NRF_ERROR_NOT_FOUND                   (NRF_ERROR_BASE_NUM + 5)  ///< Not found
-#define NRF_ERROR_NOT_SUPPORTED               (NRF_ERROR_BASE_NUM + 6)  ///< Not supported
-#define NRF_ERROR_INVALID_PARAM               (NRF_ERROR_BASE_NUM + 7)  ///< Invalid Parameter
-#define NRF_ERROR_INVALID_STATE               (NRF_ERROR_BASE_NUM + 8)  ///< Invalid state, operation disallowed in this state
-#define NRF_ERROR_INVALID_LENGTH              (NRF_ERROR_BASE_NUM + 9)  ///< Invalid Length
-#define NRF_ERROR_INVALID_FLAGS               (NRF_ERROR_BASE_NUM + 10) ///< Invalid Flags
-#define NRF_ERROR_INVALID_DATA                (NRF_ERROR_BASE_NUM + 11) ///< Invalid Data
-#define NRF_ERROR_DATA_SIZE                   (NRF_ERROR_BASE_NUM + 12) ///< Data size exceeds limit
-#define NRF_ERROR_TIMEOUT                     (NRF_ERROR_BASE_NUM + 13) ///< Operation timed out
-#define NRF_ERROR_NULL                        (NRF_ERROR_BASE_NUM + 14) ///< Null Pointer
-#define NRF_ERROR_FORBIDDEN                   (NRF_ERROR_BASE_NUM + 15) ///< Forbidden Operation
-#define NRF_ERROR_INVALID_ADDR                (NRF_ERROR_BASE_NUM + 16) ///< Bad Memory Address
-#define NRF_ERROR_BUSY                        (NRF_ERROR_BASE_NUM + 17) ///< Busy
-
-#endif // NRF_ERROR_H__
-
-/**
-  @}
-*/
--- a/TARGET_HRM1017/TARGET_NORDIC/TARGET_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/nrf_error_sdm.h	Fri Jul 25 09:46:51 2014 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,33 +0,0 @@
-/*
- * Copyright (c) 2012 Nordic Semiconductor. All Rights Reserved.
- *
- * The information contained herein is confidential property of Nordic Semiconductor. The use,
- * copying, transfer or disclosure of such information is prohibited except by express written
- * agreement with Nordic Semiconductor.
- *
- */
- /**
-  @addtogroup nrf_sdm_api
-  @{
-  @defgroup nrf_sdm_error SoftDevice Manager Error Codes
-  @{
-     
-  @brief Error definitions for the SDM API
-*/
-
-/* Header guard */
-#ifndef NRF_ERROR_SDM_H__
-#define NRF_ERROR_SDM_H__
-
-#include "nrf_error.h"
-
-#define NRF_ERROR_SDM_LFCLK_SOURCE_UNKNOWN              (NRF_ERROR_SDM_BASE_NUM + 0)  ///< Unknown lfclk source
-#define NRF_ERROR_SDM_INCORRECT_INTERRUPT_CONFIGURATION (NRF_ERROR_SDM_BASE_NUM + 1)  ///< Incorrect interrupt configuration (can be caused by using illegal priority levels, or having enabled SoftDevice interrupts)
-#define NRF_ERROR_SDM_INCORRECT_CLENR0                  (NRF_ERROR_SDM_BASE_NUM + 2)  ///< Incorrect CLENR0 (can be caused by erronous SoftDevice flashing)
-
-#endif // NRF_ERROR_SDM_H__
-
-/**
-  @}
-  @}
-*/
--- a/TARGET_HRM1017/TARGET_NORDIC/TARGET_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/nrf_error_soc.h	Fri Jul 25 09:46:51 2014 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,49 +0,0 @@
-/*
- * Copyright (c) 2012 Nordic Semiconductor. All Rights Reserved.
- *
- * The information contained herein is confidential property of Nordic Semiconductor. The use,
- * copying, transfer or disclosure of such information is prohibited except by express written
- * agreement with Nordic Semiconductor.
- *
- */
- /**
-  @addtogroup nrf_soc_api
-  @{
-  @defgroup nrf_soc_error SoC Library Error Codes
-  @{
-     
-  @brief Error definitions for the SoC library
-
-*/
-
-/* Header guard */
-#ifndef NRF_ERROR_SOC_H__
-#define NRF_ERROR_SOC_H__
-
-#include "nrf_error.h"
-
-/* Mutex Errors */
-#define NRF_ERROR_SOC_MUTEX_ALREADY_TAKEN                 (NRF_ERROR_SOC_BASE_NUM + 0)  ///< Mutex already taken
-
-/* NVIC errors */
-#define NRF_ERROR_SOC_NVIC_INTERRUPT_NOT_AVAILABLE        (NRF_ERROR_SOC_BASE_NUM + 1)  ///< NVIC interrupt not available
-#define NRF_ERROR_SOC_NVIC_INTERRUPT_PRIORITY_NOT_ALLOWED (NRF_ERROR_SOC_BASE_NUM + 2)  ///< NVIC interrupt priority not allowed
-#define NRF_ERROR_SOC_NVIC_SHOULD_NOT_RETURN              (NRF_ERROR_SOC_BASE_NUM + 3)  ///< NVIC should not return
-
-/* Power errors */
-#define NRF_ERROR_SOC_POWER_MODE_UNKNOWN                  (NRF_ERROR_SOC_BASE_NUM + 4)  ///< Power mode unknown
-#define NRF_ERROR_SOC_POWER_POF_THRESHOLD_UNKNOWN         (NRF_ERROR_SOC_BASE_NUM + 5)  ///< Power POF threshold unknown
-#define NRF_ERROR_SOC_POWER_OFF_SHOULD_NOT_RETURN         (NRF_ERROR_SOC_BASE_NUM + 6)  ///< Power off should not return
-
-/* Rand errors */
-#define NRF_ERROR_SOC_RAND_NOT_ENOUGH_VALUES              (NRF_ERROR_SOC_BASE_NUM + 7)  ///< RAND not enough values
-
-/* PPI errors */
-#define NRF_ERROR_SOC_PPI_INVALID_CHANNEL                 (NRF_ERROR_SOC_BASE_NUM + 8)  ///< Invalid PPI Channel
-#define NRF_ERROR_SOC_PPI_INVALID_GROUP                   (NRF_ERROR_SOC_BASE_NUM + 9)  ///< Invalid PPI Group
-
-#endif // NRF_ERROR_SOC_H__
-/**
-  @}
-  @}
-*/
--- a/TARGET_HRM1017/TARGET_NORDIC/TARGET_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/nrf_mbr.h	Fri Jul 25 09:46:51 2014 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,155 +0,0 @@
-/*
- * Copyright (c) 2014 Nordic Semiconductor. All Rights Reserved.
- *
- * The information contained herein is confidential property of Nordic Semiconductor. The use,
- * copying, transfer or disclosure of such information is prohibited except by express written
- * agreement with Nordic Semiconductor.
- *
- */
-/**
-  @defgroup nrf_mbr_api Master Boot Record API
-  @{
-     
-  @brief APIs for updating SoftDevice and BootLoader
- 
-*/
-
-/* Header guard */
-#ifndef NRF_MBR_H__
-#define NRF_MBR_H__
-
-#include "nrf_svc.h"
-#include <stdint.h>
-
-
-/** @addtogroup NRF_MBR_DEFINES Defines
- * @{ */
-
-/**@brief MBR SVC Base number. */
-#define MBR_SVC_BASE 0x18   
-/** @} */
-
-/** @addtogroup NRF_MBR_ENUMS Enumerations
- * @{ */
-
-/**@brief nRF Master Boot Record API SVC numbers. */
-enum NRF_MBR_SVCS
-{
-  SD_MBR_COMMAND = MBR_SVC_BASE, /**< ::sd_mbr_command */
-};
-
-/**@brief Possible values for ::sd_mbr_command_t.command */
-enum NRF_MBR_COMMANDS
-{
-  SD_MBR_COMMAND_COPY_BL,               /**< Copy a new a new BootLoader. @see sd_mbr_command_copy_bl_t */
-  SD_MBR_COMMAND_COPY_SD,               /**< Copy a new SoftDevice. @see ::sd_mbr_command_copy_sd_t*/
-  SD_MBR_COMMAND_INIT_SD,               /**< Init forwarding interrupts to SD, and run reset function in SD*/
-  SD_MBR_COMMAND_COMPARE,               /**< This command works like memcmp. @see ::sd_mbr_command_compare_t*/
-  SD_MBR_COMMAND_VECTOR_TABLE_BASE_SET, /**< Start forwarding all exception to this address @see ::sd_mbr_command_vector_table_base_set_t*/
-};
-
-/** @} */
-
-/** @addtogroup NRF_MBR_TYPES Types
- * @{ */
-
-/**@brief This command copies part of a new SoftDevice
- * The destination area is erased before copying. 
- * If dst is in the middle of a flash page, that whole flash page will be erased.
- * If (dst+len) is in the middle of a flash page, that whole flash page will be erased.
- * 
- * The user of this function is responsible for setting the PROTENSET registers.
- * 
- * @retval ::NRF_SUCCESS indicates that the contents of the memory blocks where copied correctly.
- * @retval ::NRF_ERROR_INTERNAL indicates that the contents of the memory blocks where not verified correctly after copying.
- */
-typedef struct
-{
-  uint32_t *src;  /**< Pointer to the source of data to be copied.*/
-  uint32_t *dst;  /**< Pointer to the destination where the content is to be copied.*/
-  uint32_t len;   /**< Number of 32 bit words to copy. Must be a multiple of 256 words*/
-}sd_mbr_command_copy_sd_t;
-
-
-/**@brief This command works like memcmp, but takes the length in words.
- *
- * @retval ::NRF_SUCCESS indicates that the contents of both memory blocks are equal.
- * @retval ::NRF_ERROR_NULL indicates that the contents of the memory blocks are not equal.
- */
-typedef struct
-{
-  uint32_t *ptr1; /**< Pointer to block of memory */
-  uint32_t *ptr2; /**< Pointer to block of memory */
-  uint32_t len;   /**< Number of 32 bit words to compare*/
-}sd_mbr_command_compare_t;
-
-
-/**@brief This command copies a new BootLoader.
- *  With this command, destination of BootLoader is always the address written in NRF_UICR->BOOTADDR.
- *
- *  Destination is erased by this function.
- *  If (destination+bl_len) is in the middle of a flash page, that whole flash page will be erased.
- *
- *  This function will use PROTENSET to protect the flash that is not intended to be written.
- * 
- *  On Success, this function will not return. It will start the new BootLoader from reset-vector as normal.
- *
- * @retval ::NRF_ERROR_INVALID_STATE indicates that something was wrong.
- * @retval ::NRF_ERROR_INTERNAL indicates an internal error that should not happen.
- * @retval ::NRF_ERROR_FORBIDDEN if NRF_UICR->BOOTADDR is not set
- * @retval ::NRF_ERROR_INVALID_LENGTH is invalid.
- */
-typedef struct
-{
-  uint32_t *bl_src;  /**< Pointer to the source of the Bootloader to be be copied.*/
-  uint32_t bl_len;   /**< Number of 32 bit words to copy for BootLoader */
-}sd_mbr_command_copy_bl_t;
-
-/**@brief Sets the base address of the interrupt vector table for interrupts forwarded from the MBR
- * 
- * Once this function has been called, this address is where the MBR will start to forward interrupts to after a reset.
- *
- * To restore default forwarding thiss function should be called with @param address set to 0.
- * The MBR will then start forwarding to interrupts to the adress in NFR_UICR->BOOTADDR or to the SoftDevice if the BOOTADDR is not set.
- *
- * @retval ::NRF_SUCCESS
- */
-typedef struct
-{ 
-  uint32_t address; /**< The base address of the interrupt vector table for forwarded interrupts.*/
-}sd_mbr_command_vector_table_base_set_t;
-
-typedef struct
-{
-  uint32_t command;  /**< type of command to be issued see @ref NRF_MBR_COMMANDS. */
-  union 
-  {
-    sd_mbr_command_copy_sd_t copy_sd;  /**< Parameters for copy*/
-    sd_mbr_command_copy_bl_t copy_bl;  /**< Parameters for copy SoftDevice and BootLoader*/
-    sd_mbr_command_compare_t compare;  /**< Parameters for verify*/
-    sd_mbr_command_vector_table_base_set_t base_set; /**< Parameters for vector table base set.*/
-  } params;
-}sd_mbr_command_t;
-
-/** @} */
-
-/** @addtogroup NRF_MBR_FUNCTIONS Functions
- * @{ */
-
-/**@brief Issue Master Boot Record commands
- *
- * Commands used when updating a SoftDevice and bootloader
- *
- * @param[in]  param Pointer to a struct describing the command
- *
- *@note for retvals see ::sd_mbr_command_copy_sd_t ::sd_mbr_command_copy_bl_t ::sd_mbr_command_compare_t
-
-*/
-SVCALL(SD_MBR_COMMAND, uint32_t, sd_mbr_command(sd_mbr_command_t* param));
-
-/** @} */
-#endif // NRF_MBR_H__
-
-/**
-  @}
-*/
--- a/TARGET_HRM1017/TARGET_NORDIC/TARGET_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/nrf_sdm.h	Fri Jul 25 09:46:51 2014 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,167 +0,0 @@
-/*
- * Copyright (c) 2011 Nordic Semiconductor. All Rights Reserved.
- *
- * The information contained herein is confidential property of Nordic Semiconductor. The use,
- * copying, transfer or disclosure of such information is prohibited except by express written
- * agreement with Nordic Semiconductor.
- *
- */
-/**
-  @defgroup nrf_sdm_api SoftDevice Manager API
-  @{
-     
-  @brief APIs for SoftDevice management.
- 
-*/
-
-/* Header guard */
-#ifndef NRF_SDM_H__
-#define NRF_SDM_H__
-
-#include "nrf_svc.h"
-#include "nrf51.h"
-#include "nrf_soc.h"
-#include "nrf_error_sdm.h"
-
-/** @addtogroup NRF_SDM_DEFINES Defines
- * @{ */
-
-/**@brief SoftDevice Manager SVC Base number. */
-#define SDM_SVC_BASE  (0x10)
-
-/** @} */
-
-/** @addtogroup NRF_SDM_ENUMS Enumerations
- * @{ */
-
-/**@brief nRF SoftDevice Manager API SVC numbers. */
-enum NRF_SD_SVCS
-{
-  SD_SOFTDEVICE_ENABLE = SDM_SVC_BASE, /**< ::sd_softdevice_enable */
-  SD_SOFTDEVICE_DISABLE,               /**< ::sd_softdevice_disable */
-  SD_SOFTDEVICE_IS_ENABLED,            /**< ::sd_softdevice_is_enabled */
-  SD_SOFTDEVICE_VECTOR_TABLE_BASE_SET, /**< ::sd_softdevice_vector_table_base_set */
-  SVC_SDM_LAST                         /**< Placeholder for last SDM SVC */
-};
-
-/**@brief Possible lfclk oscillator sources. */
-enum NRF_CLOCK_LFCLKSRCS
-{
-  NRF_CLOCK_LFCLKSRC_SYNTH_250_PPM,                       /**< LFCLK Synthesized from HFCLK.                    */
-  NRF_CLOCK_LFCLKSRC_XTAL_500_PPM,                        /**< LFCLK crystal oscillator 500 PPM accuracy.       */
-  NRF_CLOCK_LFCLKSRC_XTAL_250_PPM,                        /**< LFCLK crystal oscillator 250 PPM accuracy.       */
-  NRF_CLOCK_LFCLKSRC_XTAL_150_PPM,                        /**< LFCLK crystal oscillator 150 PPM accuracy.       */
-  NRF_CLOCK_LFCLKSRC_XTAL_100_PPM,                        /**< LFCLK crystal oscillator 100 PPM accuracy.       */
-  NRF_CLOCK_LFCLKSRC_XTAL_75_PPM,                         /**< LFCLK crystal oscillator 75 PPM accuracy.        */
-  NRF_CLOCK_LFCLKSRC_XTAL_50_PPM,                         /**< LFCLK crystal oscillator 50 PPM accuracy.        */
-  NRF_CLOCK_LFCLKSRC_XTAL_30_PPM,                         /**< LFCLK crystal oscillator 30 PPM accuracy.        */
-  NRF_CLOCK_LFCLKSRC_XTAL_20_PPM,                         /**< LFCLK crystal oscillator 20 PPM accuracy.        */
-  NRF_CLOCK_LFCLKSRC_RC_250_PPM_250MS_CALIBRATION,        /**< LFCLK RC oscillator, 250ms  calibration interval.*/
-  NRF_CLOCK_LFCLKSRC_RC_250_PPM_500MS_CALIBRATION,        /**< LFCLK RC oscillator, 500ms  calibration interval.*/
-  NRF_CLOCK_LFCLKSRC_RC_250_PPM_1000MS_CALIBRATION,       /**< LFCLK RC oscillator, 1000ms calibration interval.*/
-  NRF_CLOCK_LFCLKSRC_RC_250_PPM_2000MS_CALIBRATION,       /**< LFCLK RC oscillator, 2000ms calibration interval.*/
-  NRF_CLOCK_LFCLKSRC_RC_250_PPM_4000MS_CALIBRATION,       /**< LFCLK RC oscillator, 4000ms calibration interval.*/
-  NRF_CLOCK_LFCLKSRC_RC_250_PPM_8000MS_CALIBRATION,       /**< LFCLK RC oscillator, 8000ms calibration interval.*/
-  NRF_CLOCK_LFCLKSRC_RC_250_PPM_TEMP_1000MS_CALIBRATION,  /**< LFCLK RC oscillator. Temperature checked every 1000ms, if changed above a threshold, a calibration is done.*/
-  NRF_CLOCK_LFCLKSRC_RC_250_PPM_TEMP_2000MS_CALIBRATION,  /**< LFCLK RC oscillator. Temperature checked every 2000ms, if changed above a threshold, a calibration is done.*/
-  NRF_CLOCK_LFCLKSRC_RC_250_PPM_TEMP_4000MS_CALIBRATION,  /**< LFCLK RC oscillator. Temperature checked every 4000ms, if changed above a threshold, a calibration is done.*/
-  NRF_CLOCK_LFCLKSRC_RC_250_PPM_TEMP_8000MS_CALIBRATION,  /**< LFCLK RC oscillator. Temperature checked every 8000ms, if changed above a threshold, a calibration is done.*/
-  NRF_CLOCK_LFCLKSRC_RC_250_PPM_TEMP_16000MS_CALIBRATION, /**< LFCLK RC oscillator. Temperature checked every 16000ms, if changed above a threshold, a calibration is done.*/
-};
-
-/** @} */
-
-/** @addtogroup NRF_SDM_TYPES Types
- * @{ */
-
-/**@brief Type representing lfclk oscillator source. */
-typedef uint32_t nrf_clock_lfclksrc_t;
-
-
-/**@brief SoftDevice Assertion Handler type.
- *
- * When an unexpected error occurs within the SoftDevice it will call the SoftDevice assertion handler callback.
- * The protocol stack will be in an undefined state when this happens and the only way to recover will be to
- * perform a reset, using e.g. CMSIS NVIC_SystemReset().
- *
- * @note This callback is executed in HardFault context, thus SVC functions cannot be called from the SoftDevice assert callback.
- *       
- * @param[in] pc The program counter of the failed assert.
- * @param[in] line_number Line number where the assert failed.
- * @param[in] file_name File name where the assert failed.
- */
-typedef void (*softdevice_assertion_handler_t)(uint32_t pc, uint16_t line_number, const uint8_t * p_file_name);
-
-/** @} */
-
-/** @addtogroup NRF_SDM_FUNCTIONS Functions
- * @{ */
-
-/**@brief Enables the SoftDevice and by extension the protocol stack.
- *
- * Idempotent function to enable the SoftDevice.
- *
- * @note Some care must be taken if a low frequency clock source is already running when calling this function:
- *       If the LF clock has a different source then the one currently running, it will be stopped. Then, the new
- *       clock source will be started.
- *
- * @note This function has no effect when returning with an error.
- *
- * @post If return code is ::NRF_SUCCESS 
- *       - SoC library and protocol stack APIs are made available
- *       - A portion of RAM will be unavailable (see relevant SDS documentation)
- *       - Some peripherals will be unavailable or available only through the SoC API (see relevant SDS documentation)
- *       - Interrupts will not arrive from protected peripherals or interrupts
- *       - nrf_nvic_ functions must be used instead of CMSIS NVIC_ functions for reliable usage of the softdevice.
- *       - Interrupt latency may be affected by the SoftDevice  (see relevant SDS documentation)
- *       - Chosen low frequency clock source will be running
- *
- * @param clock_source Low frequency clock source and accuracy. (Note: In the case of XTAL source, the PPM accuracy of the chosen clock source must be greater than or equal to the actual characteristics of your XTAL clock).
- * @param assertion_handler Callback for SoftDevice assertions.
- *
- * @retval ::NRF_SUCCESS
- * @retval ::NRF_ERROR_SDM_INCORRECT_INTERRUPT_CONFIGURATION SoftDeviceinterrupt is already enabled, or an enabled interrupt has an illegal priority level
- * @retval ::NRF_ERROR_SDM_LFCLK_SOURCE_UNKNOWN Unknown low frequency clock source selected
- */
-SVCALL(SD_SOFTDEVICE_ENABLE, uint32_t, sd_softdevice_enable(nrf_clock_lfclksrc_t clock_source, softdevice_assertion_handler_t assertion_handler));
-
-/**@brief Disables the SoftDevice and by extension the protocol stack.
- * 
- * Idempotent function to disable the SoftDevice.
- *
- * @post SoC library and protocol stack APIs are made unavailable.
- * @post All interrupts that was protected by the SoftDevice will be disabled and initialized to priority 0 (highest).
- * @post All peripherals used by the SoftDevice will be reset to default values.
- * @post All of RAM become available.
- * @post All interrupts are forwarded to the application.
- * @post LFCLK source chosen in ::sd_softdevice_enable will be left running.
- *
- * @retval ::NRF_SUCCESS
- */
-SVCALL(SD_SOFTDEVICE_DISABLE, uint32_t, sd_softdevice_disable(void));
-
-/**@brief Check if the SoftDevice is enabled.
- *
- * @param[out]  p_softdevice_enabled If the SoftDevice is enabled: 1 else 0.
- *
- * @retval ::NRF_SUCCESS
- */
-SVCALL(SD_SOFTDEVICE_IS_ENABLED, uint32_t, sd_softdevice_is_enabled(uint8_t * p_softdevice_enabled));
-
-/**@brief Sets the base address of the interrupt vector table for interrupts forwarded from the SoftDevice
- * 
- * This function is only intended to be called when a bootloader is enabled.
- *
- * @param[in] address The base address of the interrupt vector table for forwarded interrupts.
- 
- * @retval ::NRF_SUCCESS
- */
-SVCALL(SD_SOFTDEVICE_VECTOR_TABLE_BASE_SET, uint32_t, sd_softdevice_vector_table_base_set(uint32_t address)); 
-
-/** @} */
-
-#endif // NRF_SDM_H__
-
-/**
-  @}
-*/
--- a/TARGET_HRM1017/TARGET_NORDIC/TARGET_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/nrf_soc.h	Fri Jul 25 09:46:51 2014 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,958 +0,0 @@
-/* Copyright (c) 2011 Nordic Semiconductor. All Rights Reserved.
- *
- * The information contained herein is confidential property of Nordic Semiconductor. The use,
- * copying, transfer or disclosure of such information is prohibited except by express written
- * agreement with Nordic Semiconductor.
- *
- */
- 
-/**
- * @defgroup nrf_soc_api SoC Library API
- * @{
- * 
- * @brief APIs for the SoC library.
- * 
-*/
-
-#ifndef NRF_SOC_H__
-#define NRF_SOC_H__
-
-#include <stdint.h>
-#include <stdbool.h>
-#include "nrf_svc.h"
-#include "nrf51.h"
-#include "nrf51_bitfields.h"
-#include "nrf_error_soc.h"
-
-/** @addtogroup NRF_SOC_DEFINES Defines
- * @{ */
-
-/**@brief The number of the lowest SVC number reserved for the SoC library. */
-#define SOC_SVC_BASE               (0x20)
-#define SOC_SVC_BASE_NOT_AVAILABLE (0x23)
-
-/**@brief Guranteed time for application to process radio inactive notification. */
-#define NRF_RADIO_NOTIFICATION_INACTIVE_GUARANTEED_TIME_US  (62)
-
-/**@brief The minimum allowed timeslot extension time. */
-#define NRF_RADIO_MINIMUM_TIMESLOT_LENGTH_EXTENSION_TIME_US (200)
-
-#define SOC_ECB_KEY_LENGTH            (16)                       /**< ECB key length. */
-#define SOC_ECB_CLEARTEXT_LENGTH      (16)                       /**< ECB cleartext length. */
-#define SOC_ECB_CIPHERTEXT_LENGTH     (SOC_ECB_CLEARTEXT_LENGTH) /**< ECB ciphertext length. */
-
-#define SD_EVT_IRQn                   (SWI2_IRQn)        /**< SoftDevice Event IRQ number. Used for both protocol events and SoC events. */
-#define SD_EVT_IRQHandler             (SWI2_IRQHandler)  /**< SoftDevice Event IRQ handler. Used for both protocol events and SoC events. */
-#define RADIO_NOTIFICATION_IRQn       (SWI1_IRQn)        /**< The radio notification IRQ number. */
-#define RADIO_NOTIFICATION_IRQHandler (SWI1_IRQHandler)  /**< The radio notification IRQ handler. */
-
-#define NRF_RADIO_LENGTH_MIN_US       (100)               /**< The shortest allowed radio timeslot, in microseconds. */
-#define NRF_RADIO_LENGTH_MAX_US       (100000)            /**< The longest allowed radio timeslot, in microseconds. */
-
-#define NRF_RADIO_DISTANCE_MAX_US         (128000000UL - 1UL) /**< The longest timeslot distance, in microseconds, allowed for the distance parameter (see @ref nrf_radio_request_normal_t) in the request. */
-
-#define NRF_RADIO_EARLIEST_TIMEOUT_MAX_US (128000000UL - 1UL) /**< The longest timeout, in microseconds, allowed when requesting the earliest possible timeslot. */
-
-#define NRF_RADIO_START_JITTER_US     (2)                 /**< The maximum jitter in NRF_RADIO_CALLBACK_SIGNAL_TYPE_START relative to the requested start time. */
-
-/** @} */
-
-/** @addtogroup NRF_SOC_TYPES Types
- * @{ */
-
-/**@brief The SVC numbers used by the SVC functions in the SoC library. */
-enum NRF_SOC_SVCS
-{
-  SD_FLASH_PAGE_ERASE = SOC_SVC_BASE,
-  SD_FLASH_WRITE,
-  SD_FLASH_PROTECT,
-  SD_MUTEX_NEW = SOC_SVC_BASE_NOT_AVAILABLE,
-  SD_MUTEX_ACQUIRE,
-  SD_MUTEX_RELEASE,
-  SD_NVIC_ENABLEIRQ,
-  SD_NVIC_DISABLEIRQ,
-  SD_NVIC_GETPENDINGIRQ,
-  SD_NVIC_SETPENDINGIRQ,
-  SD_NVIC_CLEARPENDINGIRQ,
-  SD_NVIC_SETPRIORITY,
-  SD_NVIC_GETPRIORITY,
-  SD_NVIC_SYSTEMRESET,
-  SD_NVIC_CRITICAL_REGION_ENTER,
-  SD_NVIC_CRITICAL_REGION_EXIT,
-  SD_RAND_APPLICATION_POOL_CAPACITY,
-  SD_RAND_APPLICATION_BYTES_AVAILABLE,
-  SD_RAND_APPLICATION_GET_VECTOR,
-  SD_POWER_MODE_SET,
-  SD_POWER_SYSTEM_OFF,
-  SD_POWER_RESET_REASON_GET,
-  SD_POWER_RESET_REASON_CLR,
-  SD_POWER_POF_ENABLE,
-  SD_POWER_POF_THRESHOLD_SET,
-  SD_POWER_RAMON_SET,
-  SD_POWER_RAMON_CLR,
-  SD_POWER_RAMON_GET,
-  SD_POWER_GPREGRET_SET,
-  SD_POWER_GPREGRET_CLR,
-  SD_POWER_GPREGRET_GET,
-  SD_POWER_DCDC_MODE_SET,
-  SD_APP_EVT_WAIT,
-  SD_CLOCK_HFCLK_REQUEST,
-  SD_CLOCK_HFCLK_RELEASE,
-  SD_CLOCK_HFCLK_IS_RUNNING,
-  SD_PPI_CHANNEL_ENABLE_GET,
-  SD_PPI_CHANNEL_ENABLE_SET,
-  SD_PPI_CHANNEL_ENABLE_CLR,
-  SD_PPI_CHANNEL_ASSIGN,
-  SD_PPI_GROUP_TASK_ENABLE,
-  SD_PPI_GROUP_TASK_DISABLE,
-  SD_PPI_GROUP_ASSIGN,
-  SD_PPI_GROUP_GET,
-  SD_RADIO_NOTIFICATION_CFG_SET,
-  SD_ECB_BLOCK_ENCRYPT,
-  SD_RADIO_SESSION_OPEN,
-  SD_RADIO_SESSION_CLOSE,
-  SD_RADIO_REQUEST,
-  SD_EVT_GET,
-  SD_TEMP_GET,
-  SVC_SOC_LAST
-};
-
-/**@brief Possible values of a ::nrf_mutex_t. */
-enum NRF_MUTEX_VALUES
-{
-  NRF_MUTEX_FREE,
-  NRF_MUTEX_TAKEN
-};
-
-/**@brief Possible values of ::nrf_app_irq_priority_t. */
-enum NRF_APP_PRIORITIES
-{
-  NRF_APP_PRIORITY_HIGH = 1,
-  NRF_APP_PRIORITY_LOW = 3
-};
-
-/**@brief Possible values of ::nrf_power_mode_t. */
-enum NRF_POWER_MODES
-{
-  NRF_POWER_MODE_CONSTLAT,  /**< Constant latency mode. See power management in the reference manual. */
-  NRF_POWER_MODE_LOWPWR     /**< Low power mode. See power management in the reference manual. */
-};
-
-
-/**@brief Possible values of ::nrf_power_failure_threshold_t */
-enum NRF_POWER_THRESHOLDS
-{
-  NRF_POWER_THRESHOLD_V21,  /**< 2.1 Volts power failure threshold. */
-  NRF_POWER_THRESHOLD_V23,  /**< 2.3 Volts power failure threshold. */
-  NRF_POWER_THRESHOLD_V25,  /**< 2.5 Volts power failure threshold. */ 
-  NRF_POWER_THRESHOLD_V27   /**< 2.7 Volts power failure threshold. */
-};
-
-
-/**@brief Possible values of ::nrf_power_dcdc_mode_t. */
-enum NRF_POWER_DCDC_MODES
-{
-  NRF_POWER_DCDC_MODE_OFF,          /**< The DCDC is always off. */
-  NRF_POWER_DCDC_MODE_ON,           /**< The DCDC is always on. */
-  NRF_POWER_DCDC_MODE_AUTOMATIC     /**< The DCDC is automatically managed. */
-};
-
-/**@brief Possible values of ::nrf_radio_notification_distance_t. */
-enum NRF_RADIO_NOTIFICATION_DISTANCES
-{
-  NRF_RADIO_NOTIFICATION_DISTANCE_NONE = 0, /**< The event does not have a notification. */
-  NRF_RADIO_NOTIFICATION_DISTANCE_800US,    /**< The distance from the active notification to start of radio activity. */
-  NRF_RADIO_NOTIFICATION_DISTANCE_1740US,   /**< The distance from the active notification to start of radio activity. */
-  NRF_RADIO_NOTIFICATION_DISTANCE_2680US,   /**< The distance from the active notification to start of radio activity. */
-  NRF_RADIO_NOTIFICATION_DISTANCE_3620US,   /**< The distance from the active notification to start of radio activity. */
-  NRF_RADIO_NOTIFICATION_DISTANCE_4560US,   /**< The distance from the active notification to start of radio activity. */
-  NRF_RADIO_NOTIFICATION_DISTANCE_5500US    /**< The distance from the active notification to start of radio activity. */
-};
-
-
-/**@brief Possible values of ::nrf_radio_notification_type_t. */
-enum NRF_RADIO_NOTIFICATION_TYPES
-{
-  NRF_RADIO_NOTIFICATION_TYPE_NONE = 0,        /**< The event does not have a radio notification signal. */
-  NRF_RADIO_NOTIFICATION_TYPE_INT_ON_ACTIVE,   /**< Using interrupt for notification when the radio will be enabled. */
-  NRF_RADIO_NOTIFICATION_TYPE_INT_ON_INACTIVE, /**< Using interrupt for notification when the radio has been disabled. */
-  NRF_RADIO_NOTIFICATION_TYPE_INT_ON_BOTH,     /**< Using interrupt for notification both when the radio will be enabled and disabled. */
-};
-
-/**@brief SoC Events. */
-enum NRF_SOC_EVTS
-{
-  NRF_EVT_HFCLKSTARTED,                         /**< Event indicating that the HFCLK has started. */
-  NRF_EVT_POWER_FAILURE_WARNING,                /**< Event indicating that a power failure warning has occurred. */
-  NRF_EVT_FLASH_OPERATION_SUCCESS,              /**< Event indicating that the ongoing flash operation has completed successfully. */
-  NRF_EVT_FLASH_OPERATION_ERROR,                /**< Event indicating that the ongoing flash operation has timed out with an error. */
-  NRF_EVT_RADIO_BLOCKED,                        /**< Event indicating that a radio timeslot was blocked. */
-  NRF_EVT_RADIO_CANCELED,                       /**< Event indicating that a radio timeslot was canceled by SoftDevice. */
-  NRF_EVT_RADIO_SIGNAL_CALLBACK_INVALID_RETURN, /**< Event indicating that a radio signal callback handler return was invalid. */
-  NRF_EVT_RADIO_SESSION_IDLE,                   /**< Event indicating that a radio session is idle. */
-  NRF_EVT_RADIO_SESSION_CLOSED,                 /**< Event indicating that a radio session is closed. */
-  NRF_EVT_NUMBER_OF_EVTS
-};
-
-/** @} */
-
-/** @addtogroup NRF_SOC_TYPES Types
- * @{ */
-
-/**@brief Represents a mutex for use with the nrf_mutex functions.
- * @note Accessing the value directly is not safe, use the mutex functions!
- */
-typedef volatile uint8_t nrf_mutex_t;
-
-/**@brief The interrupt priorities available to the application while the softdevice is active. */
-typedef uint8_t nrf_app_irq_priority_t;
-
-/**@brief Represents a power mode, used in power mode functions */
-typedef uint8_t nrf_power_mode_t;
-
-/**@brief Represents a power failure threshold value. */
-typedef uint8_t nrf_power_failure_threshold_t;
-
-/**@brief Represents a DCDC mode value. */
-typedef uint32_t nrf_power_dcdc_mode_t;
-
-/**@brief Radio notification distances. */
-typedef uint8_t nrf_radio_notification_distance_t;
-
-/**@brief Radio notification types. */
-typedef uint8_t nrf_radio_notification_type_t;
-
-/** @brief The Radio signal callback types. */
-enum NRF_RADIO_CALLBACK_SIGNAL_TYPE
-{
-  NRF_RADIO_CALLBACK_SIGNAL_TYPE_START,            /**< This signal indicates the start of the radio timeslot. */
-  NRF_RADIO_CALLBACK_SIGNAL_TYPE_TIMER0,            /**< This signal indicates the NRF_TIMER0 interrupt. */
-  NRF_RADIO_CALLBACK_SIGNAL_TYPE_RADIO,             /**< This signal indicates the NRF_RADIO interrupt. */
-  NRF_RADIO_CALLBACK_SIGNAL_TYPE_EXTEND_FAILED,     /**< This signal indicates extend action failed. */
-  NRF_RADIO_CALLBACK_SIGNAL_TYPE_EXTEND_SUCCEEDED   /**< This signal indicates extend action succeeded. */
-};
-
-/** @brief The actions requested by the signal callback.
- *
- *  This code gives the SOC instructions about what action to take when the signal callback has
- *  returned.
- */
-enum NRF_RADIO_SIGNAL_CALLBACK_ACTION
-{
-  NRF_RADIO_SIGNAL_CALLBACK_ACTION_NONE,            /**< Return without action. */
-  NRF_RADIO_SIGNAL_CALLBACK_ACTION_EXTEND,          /**< Request an extension of the current timeslot (maximum execution time for this action is when the extension succeeded). */
-  NRF_RADIO_SIGNAL_CALLBACK_ACTION_END,             /**< End the current radio timeslot. */
-  NRF_RADIO_SIGNAL_CALLBACK_ACTION_REQUEST_AND_END  /**< Request a new radio timeslot and end the current timeslot. */
-};
-
-/**@brief Radio timeslot high frequency clock source configuration. */
-enum NRF_RADIO_HFCLK_CFG
-{
-  NRF_RADIO_HFCLK_CFG_DEFAULT,                      /**< Use the currently selected oscillator as HF clock source during the timeslot (i.e. the source is not specified). */
-  NRF_RADIO_HFCLK_CFG_FORCE_XTAL,                   /**< Force external crystal to be used as HF clock source during whole the timeslot. */
-};
-
-/** @brief Radio timeslot priorities. */
-enum NRF_RADIO_PRIORITY
-{
-  NRF_RADIO_PRIORITY_HIGH,                          /**< High (equal priority as the normal connection priority of the SoftDevice stack(s)). */
-  NRF_RADIO_PRIORITY_NORMAL,                        /**< Normal (equal priority as the priority of secondary activites of the SoftDevice stack(s)). */
-};
-
-/** @brief Radio timeslot request type. */
-enum NRF_RADIO_REQUEST_TYPE
-{
-  NRF_RADIO_REQ_TYPE_EARLIEST,                      /**< Request timeslot as early as possible. This should always be used for the first request in a session. */
-  NRF_RADIO_REQ_TYPE_NORMAL                         /**< Normal timeslot request. */
-};
-
-/** @brief Parameters for a request for a timeslot as early as possible. */
-typedef struct
-{
-  uint8_t       hfclk;                              /**< High frequency clock source, see @ref NRF_RADIO_HFCLK_CFG. */
-  uint8_t       priority;                           /**< The radio timeslot priority, see @ref NRF_RADIO_PRIORITY. */
-  uint32_t      length_us;                          /**< The radio timeslot length (in the range 100 to 100,000] microseconds). */
-  uint32_t      timeout_us;                         /**< Longest acceptable delay until the start of the requested timeslot (up to @ref NRF_RADIO_EARLIEST_TIMEOUT_MAX_US microseconds). */
-} nrf_radio_request_earliest_t;
-
-/** @brief Parameters for a normal radio request. */
-typedef struct
-{
-  uint8_t       hfclk;                              /**< High frequency clock source, see @ref NRF_RADIO_HFCLK_CFG. */
-  uint8_t       priority;                           /**< The radio timeslot priority, see @ref NRF_RADIO_PRIORITY. */
-  uint32_t      distance_us;                        /**< Distance from the start of the previous radio timeslot (up to @ref NRF_RADIO_DISTANCE_MAX_US microseconds). */
-  uint32_t      length_us;                          /**< The radio timeslot length (in the range [100..100,000] microseconds). */
-} nrf_radio_request_normal_t;
-
-/** @brief Radio request parameters. */
-typedef struct
-{
-  uint8_t                         request_type;     /**< Type of request, see @ref NRF_RADIO_REQUEST_TYPE. */
-  union
-  {
-    nrf_radio_request_earliest_t  earliest;         /**< Parameters for a request for a timeslot as early as possible. */
-    nrf_radio_request_normal_t    normal;           /**< Parameters for a normal radio request. */
-  } params;
-} nrf_radio_request_t;
-
-/**@brief Return parameters of the radio timeslot signal callback. */
-typedef struct
-{
-  uint8_t               callback_action;            /**< The action requested by the application when returning from the signal callback, see @ref NRF_RADIO_SIGNAL_CALLBACK_ACTION. */
-  union
-  {
-    struct
-    {
-      nrf_radio_request_t * p_next;                 /**< The request parameters for the next radio timeslot. */
-    } request;                                      /**< Additional parameters for return_code @ref NRF_RADIO_SIGNAL_CALLBACK_ACTION_REQUEST_AND_END. */
-    struct
-    {
-      uint32_t              length_us;              /**< Requested extension of the timeslot duration (microseconds) (for minimum time see @ref NRF_RADIO_MINIMUM_TIMESLOT_LENGTH_EXTENSION_TIME_US). */
-    } extend;                                       /**< Additional parameters for return_code @ref NRF_RADIO_SIGNAL_CALLBACK_ACTION_EXTEND. */
-  } params;
-} nrf_radio_signal_callback_return_param_t;
-
-/**@brief The radio signal callback type.
- *
- * @note In case of invalid return parameters, the radio timeslot will automatically end
- *       immediately after returning from the signal callback and the
- *       @ref NRF_EVT_RADIO_SIGNAL_CALLBACK_INVALID_RETURN event will be sent.
- * @note The returned struct pointer must remain valid after the signal callback
- *       function returns. For instance, this means that it must not point to a stack variable.
- *
- * @param[in] signal_type Type of signal, see @ref NRF_RADIO_CALLBACK_SIGNAL_TYPE.
- *
- * @return Pointer to structure containing action requested by the application.
- */
-typedef nrf_radio_signal_callback_return_param_t * (*nrf_radio_signal_callback_t) (uint8_t signal_type);
-
-/**@brief AES ECB data structure */
-typedef struct
-{
-  uint8_t key[SOC_ECB_KEY_LENGTH];                  /**< Encryption key. */
-  uint8_t cleartext[SOC_ECB_CLEARTEXT_LENGTH];      /**< Clear Text data. */
-  uint8_t ciphertext[SOC_ECB_CIPHERTEXT_LENGTH];    /**< Cipher Text data. */
-} nrf_ecb_hal_data_t;
-
-/** @} */
-
-/** @addtogroup NRF_SOC_FUNCTIONS Functions
- * @{ */
-
-/**@brief Initialize a mutex.
- *
- * @param[in] p_mutex Pointer to the mutex to initialize.
- *
- * @retval ::NRF_SUCCESS
- */
-SVCALL(SD_MUTEX_NEW, uint32_t, sd_mutex_new(nrf_mutex_t * p_mutex));
-
-/**@brief Attempt to acquire a mutex.
- *
- * @param[in] p_mutex Pointer to the mutex to acquire.
- *
- * @retval ::NRF_SUCCESS The mutex was successfully acquired.
- * @retval ::NRF_ERROR_SOC_MUTEX_ALREADY_TAKEN The mutex could not be acquired.
- */
-SVCALL(SD_MUTEX_ACQUIRE, uint32_t, sd_mutex_acquire(nrf_mutex_t * p_mutex));
-
-/**@brief Release a mutex.
- *
- * @param[in] p_mutex Pointer to the mutex to release.
- *
- * @retval ::NRF_SUCCESS
- */
-SVCALL(SD_MUTEX_RELEASE, uint32_t, sd_mutex_release(nrf_mutex_t * p_mutex));
-
-/**@brief Enable External Interrupt.
- * @note Corresponds to NVIC_EnableIRQ in CMSIS.
- *
- * @pre{IRQn is valid and not reserved by the stack}
- *
- * @param[in] IRQn See the NVIC_EnableIRQ documentation in CMSIS.
- *
- * @retval ::NRF_SUCCESS The interrupt was enabled.
- * @retval ::NRF_ERROR_SOC_NVIC_INTERRUPT_NOT_AVAILABLE The interrupt is not available for the application.
- * @retval ::NRF_ERROR_SOC_NVIC_INTERRUPT_PRIORITY_NOT_ALLOWED The interrupt has a priority not available for the application.
- */
-SVCALL(SD_NVIC_ENABLEIRQ, uint32_t, sd_nvic_EnableIRQ(IRQn_Type IRQn));
-
-/**@brief  Disable External Interrupt.
- * @note Corresponds to NVIC_DisableIRQ in CMSIS.
- *
- * @pre{IRQn is valid and not reserved by the stack}
- *
- * @param[in] IRQn See the NVIC_DisableIRQ documentation in CMSIS
- *
- * @retval ::NRF_SUCCESS The interrupt was disabled.
- * @retval ::NRF_ERROR_SOC_NVIC_INTERRUPT_NOT_AVAILABLE The interrupt is not available for the application.
- */
-SVCALL(SD_NVIC_DISABLEIRQ, uint32_t, sd_nvic_DisableIRQ(IRQn_Type IRQn));
-
-/**@brief  Get Pending Interrupt.
- * @note Corresponds to NVIC_GetPendingIRQ in CMSIS.
- *
- * @pre{IRQn is valid and not reserved by the stack}
- *
- * @param[in]   IRQn          See the NVIC_GetPendingIRQ documentation in CMSIS.
- * @param[out]  p_pending_irq Return value from NVIC_GetPendingIRQ.
- *
- * @retval ::NRF_SUCCESS The interrupt is available for the application.
- * @retval ::NRF_ERROR_SOC_NVIC_INTERRUPT_NOT_AVAILABLE IRQn is not available for the application.
- */
-SVCALL(SD_NVIC_GETPENDINGIRQ, uint32_t, sd_nvic_GetPendingIRQ(IRQn_Type IRQn, uint32_t * p_pending_irq));
-
-/**@brief  Set Pending Interrupt.
- * @note Corresponds to NVIC_SetPendingIRQ in CMSIS.
- *
- * @pre{IRQn is valid and not reserved by the stack}
- *
- * @param[in] IRQn See the NVIC_SetPendingIRQ documentation in CMSIS.
- *
- * @retval ::NRF_SUCCESS The interrupt is set pending.
- * @retval ::NRF_ERROR_SOC_NVIC_INTERRUPT_NOT_AVAILABLE IRQn is not available for the application.
- */
-SVCALL(SD_NVIC_SETPENDINGIRQ, uint32_t, sd_nvic_SetPendingIRQ(IRQn_Type IRQn));
-
-/**@brief  Clear Pending Interrupt.
- * @note Corresponds to NVIC_ClearPendingIRQ in CMSIS.
- *
- * @pre{IRQn is valid and not reserved by the stack}
- *
- * @param[in] IRQn See the NVIC_ClearPendingIRQ documentation in CMSIS.
- *
- * @retval ::NRF_SUCCESS The interrupt pending flag is cleared.
- * @retval ::NRF_ERROR_SOC_NVIC_INTERRUPT_NOT_AVAILABLE IRQn is not available for the application.
- */
-SVCALL(SD_NVIC_CLEARPENDINGIRQ, uint32_t, sd_nvic_ClearPendingIRQ(IRQn_Type IRQn));
-
-/**@brief Set Interrupt Priority.
- * @note Corresponds to NVIC_SetPriority in CMSIS.
- *
- * @pre{IRQn is valid and not reserved by the stack}
- * @pre{priority is valid and not reserved by the stack}
- *
- * @param[in] IRQn      See the NVIC_SetPriority documentation in CMSIS.
- * @param[in] priority  A valid IRQ priority for use by the application.
- *
- * @retval ::NRF_SUCCESS The interrupt and priority level is available for the application.
- * @retval ::NRF_ERROR_SOC_NVIC_INTERRUPT_NOT_AVAILABLE IRQn is not available for the application.
- * @retval ::NRF_ERROR_SOC_NVIC_INTERRUPT_PRIORITY_NOT_ALLOWED The interrupt priority is not available for the application.
- */
-SVCALL(SD_NVIC_SETPRIORITY, uint32_t, sd_nvic_SetPriority(IRQn_Type IRQn, nrf_app_irq_priority_t priority));
-
-/**@brief Get Interrupt Priority.
- * @note Corresponds to NVIC_GetPriority in CMSIS.
- *
- * @pre{IRQn is valid and not reserved by the stack}
- *
- * @param[in]  IRQn         See the NVIC_GetPriority documentation in CMSIS.
- * @param[out] p_priority   Return value from NVIC_GetPriority.
- *
- * @retval ::NRF_SUCCESS The interrupt priority is returned in p_priority.
- * @retval ::NRF_ERROR_SOC_NVIC_INTERRUPT_NOT_AVAILABLE - IRQn is not available for the application.
- */
-SVCALL(SD_NVIC_GETPRIORITY, uint32_t, sd_nvic_GetPriority(IRQn_Type IRQn, nrf_app_irq_priority_t * p_priority));
-
-/**@brief System Reset.
- * @note Corresponds to NVIC_SystemReset in CMSIS.
- *
- * @retval ::NRF_ERROR_SOC_NVIC_SHOULD_NOT_RETURN
- */
-SVCALL(SD_NVIC_SYSTEMRESET, uint32_t, sd_nvic_SystemReset(void));
-
-/**@brief Enters critical region.
- *
- * @post Application interrupts will be disabled.
- * @sa sd_nvic_critical_region_exit
- *
- * @param[out]  p_is_nested_critical_region  1: If in a nested critical region.
- *                                           0: Otherwise.
- *
- * @retval ::NRF_SUCCESS
- */
-SVCALL(SD_NVIC_CRITICAL_REGION_ENTER, uint32_t, sd_nvic_critical_region_enter(uint8_t * p_is_nested_critical_region));
-
-/**@brief Exit critical region.
- *
- * @pre Application has entered a critical region using ::sd_nvic_critical_region_enter.
- * @post If not in a nested critical region, the application interrupts will restored to the state before ::sd_nvic_critical_region_enter was called. 
- *
- * @param[in] is_nested_critical_region If this is set to 1, the critical region won't be exited. @sa sd_nvic_critical_region_enter.
- *
- * @retval ::NRF_SUCCESS
- */
-SVCALL(SD_NVIC_CRITICAL_REGION_EXIT, uint32_t, sd_nvic_critical_region_exit(uint8_t is_nested_critical_region));
-
-/**@brief Query the capacity of the application random pool.
- *
- * @param[out] p_pool_capacity The capacity of the pool.
- *
- * @retval ::NRF_SUCCESS
- */
-SVCALL(SD_RAND_APPLICATION_POOL_CAPACITY, uint32_t, sd_rand_application_pool_capacity_get(uint8_t * p_pool_capacity));
-
-/**@brief Get number of random bytes available to the application.
- *
- * @param[out] p_bytes_available The number of bytes currently available in the pool.
- *
- * @retval ::NRF_SUCCESS
- */
-SVCALL(SD_RAND_APPLICATION_BYTES_AVAILABLE, uint32_t, sd_rand_application_bytes_available_get(uint8_t * p_bytes_available));
-
-/**@brief Get random bytes from the application pool.
- *
- * @param[out]  p_buff  Pointer to unit8_t buffer for storing the bytes.
- * @param[in]   length  Number of bytes to take from pool and place in p_buff.
- *
- * @retval ::NRF_SUCCESS The requested bytes were written to p_buff.
- * @retval ::NRF_ERROR_SOC_RAND_NOT_ENOUGH_VALUES No bytes were written to the buffer, because there were not enough bytes available.
-*/
-SVCALL(SD_RAND_APPLICATION_GET_VECTOR, uint32_t, sd_rand_application_vector_get(uint8_t * p_buff, uint8_t length));
-
-/**@brief Gets the reset reason register. 
- *
- * @param[out]  p_reset_reason  Contents of the NRF_POWER->RESETREAS register.
- *
- * @retval ::NRF_SUCCESS
- */
-SVCALL(SD_POWER_RESET_REASON_GET, uint32_t, sd_power_reset_reason_get(uint32_t * p_reset_reason));
-
-/**@brief Clears the bits of the reset reason register. 
- *
- * @param[in] reset_reason_clr_msk Contains the bits to clear from the reset reason register.
- *
- * @retval ::NRF_SUCCESS
- */
-SVCALL(SD_POWER_RESET_REASON_CLR, uint32_t, sd_power_reset_reason_clr(uint32_t reset_reason_clr_msk));
-
-/**@brief Sets the power mode when in CPU sleep.
- *
- * @param[in] power_mode The power mode to use when in CPU sleep. @sa sd_app_evt_wait
- *
- * @retval ::NRF_SUCCESS The power mode was set.
- * @retval ::NRF_ERROR_SOC_POWER_MODE_UNKNOWN The power mode was unknown.
- */
-SVCALL(SD_POWER_MODE_SET, uint32_t, sd_power_mode_set(nrf_power_mode_t power_mode));
-
-/**@brief Puts the chip in System OFF mode. 
- *
- * @retval ::NRF_ERROR_SOC_POWER_OFF_SHOULD_NOT_RETURN
- */
-SVCALL(SD_POWER_SYSTEM_OFF, uint32_t, sd_power_system_off(void));
-
-/**@brief Enables or disables the power-fail comparator.
- *
- * Enabling this will give a softdevice event (NRF_EVT_POWER_FAILURE_WARNING) when the power failure warning occurs.
- * The event can be retrieved with sd_evt_get();
- *
- * @param[in] pof_enable    True if the power-fail comparator should be enabled, false if it should be disabled.
- *
- * @retval ::NRF_SUCCESS
- */
-SVCALL(SD_POWER_POF_ENABLE, uint32_t, sd_power_pof_enable(uint8_t pof_enable));
-
-/**@brief Sets the power-fail threshold value.
- *
- * @param[in] threshold The power-fail threshold value to use.
- *
- * @retval ::NRF_SUCCESS The power failure threshold was set.
- * @retval ::NRF_ERROR_SOC_POWER_POF_THRESHOLD_UNKNOWN The power failure threshold is unknown.
- */
-SVCALL(SD_POWER_POF_THRESHOLD_SET, uint32_t, sd_power_pof_threshold_set(nrf_power_failure_threshold_t threshold));
-
-/**@brief Sets bits in the NRF_POWER->RAMON register.
- *
- * @param[in] ramon Contains the bits needed to be set in the NRF_POWER->RAMON register.
- *
- * @retval ::NRF_SUCCESS
- */
-SVCALL(SD_POWER_RAMON_SET, uint32_t, sd_power_ramon_set(uint32_t ramon));
-
-/** @brief Clears bits in the NRF_POWER->RAMON register.
- *
- * @param ramon Contains the bits needed to be cleared in the NRF_POWER->RAMON register.
- *
- * @retval ::NRF_SUCCESS
- */
-SVCALL(SD_POWER_RAMON_CLR, uint32_t, sd_power_ramon_clr(uint32_t ramon));
-
-/**@brief Get contents of NRF_POWER->RAMON register, indicates power status of ram blocks.
- *
- * @param[out] p_ramon Content of NRF_POWER->RAMON register.
- *
- * @retval ::NRF_SUCCESS
- */
-SVCALL(SD_POWER_RAMON_GET, uint32_t, sd_power_ramon_get(uint32_t * p_ramon));
-
-/**@brief Set bits in the NRF_POWER->GPREGRET register.
- *
- * @param[in] gpregret_msk Bits to be set in the GPREGRET register.
- *
- * @retval ::NRF_SUCCESS
- */
-SVCALL(SD_POWER_GPREGRET_SET, uint32_t, sd_power_gpregret_set(uint32_t gpregret_msk));
-
-/**@brief Clear bits in the NRF_POWER->GPREGRET register.
- *
- * @param[in] gpregret_msk Bits to be clear in the GPREGRET register.
- *
- * @retval ::NRF_SUCCESS
- */
-SVCALL(SD_POWER_GPREGRET_CLR, uint32_t, sd_power_gpregret_clr(uint32_t gpregret_msk));
-
-/**@brief Get contents of the NRF_POWER->GPREGRET register.
- *
- * @param[out] p_gpregret Contents of the GPREGRET register.
- *
- * @retval ::NRF_SUCCESS
- */
-SVCALL(SD_POWER_GPREGRET_GET, uint32_t, sd_power_gpregret_get(uint32_t *p_gpregret));
-
-/**@brief Sets the DCDC mode.
- *
- * Depending on the internal state of the SoftDevice, the mode change may not happen immediately.
- * The DCDC mode switch will be blocked when occurring in close proximity to radio transmissions. When
- * the radio transmission is done, the last mode will be used.
- *
- * @param[in] dcdc_mode The mode of the DCDC.
- *
- * @retval ::NRF_SUCCESS
- * @retval ::NRF_ERROR_INVALID_PARAM The DCDC mode is invalid.
- */
-SVCALL(SD_POWER_DCDC_MODE_SET, uint32_t, sd_power_dcdc_mode_set(nrf_power_dcdc_mode_t dcdc_mode));
-
-/**@brief Request the high frequency crystal oscillator.
- *
- * Will start the high frequency crystal oscillator, the startup time of the crystal varies
- * and the ::sd_clock_hfclk_is_running function can be polled to check if it has started.
- *
- * @see sd_clock_hfclk_is_running
- * @see sd_clock_hfclk_release
- *
- * @retval ::NRF_SUCCESS
- */
-SVCALL(SD_CLOCK_HFCLK_REQUEST, uint32_t, sd_clock_hfclk_request(void));
-
-/**@brief Releases the high frequency crystal oscillator.
- *
- * Will stop the high frequency crystal oscillator, this happens immediately.
- *
- * @see sd_clock_hfclk_is_running
- * @see sd_clock_hfclk_request
- *
- * @retval ::NRF_SUCCESS
- */
-SVCALL(SD_CLOCK_HFCLK_RELEASE, uint32_t, sd_clock_hfclk_release(void));
-
-/**@brief Checks if the high frequency crystal oscillator is running.
- *
- * @see sd_clock_hfclk_request
- * @see sd_clock_hfclk_release
- *
- * @param[out] p_is_running 1 if the external crystal oscillator is running, 0 if not.
- *
- * @retval ::NRF_SUCCESS
- */
-SVCALL(SD_CLOCK_HFCLK_IS_RUNNING, uint32_t, sd_clock_hfclk_is_running(uint32_t * p_is_running));
-
-/**@brief Waits for an application event.
- * 
- * An application event is either an application interrupt or a pended interrupt when the
- * interrupt is disabled. When the interrupt is enabled it will be taken immediately since
- * this function will wait in thread mode, then the execution will return in the application's
- * main thread. When an interrupt is disabled and gets pended it will return to the application's 
- * thread main. The application must ensure that the pended flag is cleared using 
- * ::sd_nvic_ClearPendingIRQ in order to sleep using this function. This is only necessary for
- * disabled interrupts, as the interrupt handler will clear the pending flag automatically for
- * enabled interrupts.
- *
- * In order to wake up from disabled interrupts, the SEVONPEND flag has to be set in the Cortex-M0
- * System Control Register (SCR). @sa CMSIS_SCB
- *
- * @note If an application interrupt has happened since the last time sd_app_evt_wait was
- *       called this function will return immediately and not go to sleep. This is to avoid race
- *       conditions that can occur when a flag is updated in the interrupt handler and processed
- *       in the main loop.
- *
- * @post An application interrupt has happened or a interrupt pending flag is set.
- *
- * @retval ::NRF_SUCCESS
- */
-SVCALL(SD_APP_EVT_WAIT, uint32_t, sd_app_evt_wait(void));
-
-/**@brief Get PPI channel enable register contents.
- *
- * @param[out] p_channel_enable The contents of the PPI CHEN register.
- *
- * @retval ::NRF_SUCCESS
- */
-SVCALL(SD_PPI_CHANNEL_ENABLE_GET, uint32_t, sd_ppi_channel_enable_get(uint32_t * p_channel_enable));
-
-/**@brief Set PPI channel enable register.
- *
- * @param[in] channel_enable_set_msk Mask containing the bits to set in the PPI CHEN register.
- *
- * @retval ::NRF_SUCCESS
- */
-SVCALL(SD_PPI_CHANNEL_ENABLE_SET, uint32_t, sd_ppi_channel_enable_set(uint32_t channel_enable_set_msk));
-
-/**@brief Clear PPI channel enable register.
- *
- * @param[in] channel_enable_clr_msk Mask containing the bits to clear in the PPI CHEN register.
- *
- * @retval ::NRF_SUCCESS
- */
-SVCALL(SD_PPI_CHANNEL_ENABLE_CLR, uint32_t, sd_ppi_channel_enable_clr(uint32_t channel_enable_clr_msk));
-
-/**@brief Assign endpoints to a PPI channel.
- *
- * @param[in] channel_num Number of the PPI channel to assign.
- * @param[in] evt_endpoint Event endpoint of the PPI channel.
- * @param[in] task_endpoint Task endpoint of the PPI channel.
- *
- * @retval ::NRF_ERROR_SOC_PPI_INVALID_CHANNEL The channel number is invalid.
- * @retval ::NRF_SUCCESS
- */
-SVCALL(SD_PPI_CHANNEL_ASSIGN, uint32_t, sd_ppi_channel_assign(uint8_t channel_num, const volatile void * evt_endpoint, const volatile void * task_endpoint));
-
-/**@brief Task to enable a channel group.
- *
- * @param[in] group_num Number of the channel group.
- *
- * @retval ::NRF_ERROR_SOC_PPI_INVALID_GROUP The group number is invalid
- * @retval ::NRF_SUCCESS
- */
-SVCALL(SD_PPI_GROUP_TASK_ENABLE, uint32_t, sd_ppi_group_task_enable(uint8_t group_num));
-
-/**@brief Task to disable a channel group.
- *
- * @param[in] group_num Number of the PPI group.
- *
- * @retval ::NRF_ERROR_SOC_PPI_INVALID_GROUP The group number is invalid.
- * @retval ::NRF_SUCCESS
- */
-SVCALL(SD_PPI_GROUP_TASK_DISABLE, uint32_t, sd_ppi_group_task_disable(uint8_t group_num));
-
-/**@brief Assign PPI channels to a channel group.
- *
- * @param[in] group_num Number of the channel group.
- * @param[in] channel_msk Mask of the channels to assign to the group.
- *
- * @retval ::NRF_ERROR_SOC_PPI_INVALID_GROUP The group number is invalid.
- * @retval ::NRF_SUCCESS
- */
-SVCALL(SD_PPI_GROUP_ASSIGN, uint32_t, sd_ppi_group_assign(uint8_t group_num, uint32_t channel_msk));
-
-/**@brief Gets the PPI channels of a channel group.
- *
- * @param[in]   group_num Number of the channel group.
- * @param[out]  p_channel_msk Mask of the channels assigned to the group.
- *
- * @retval ::NRF_ERROR_SOC_PPI_INVALID_GROUP The group number is invalid.
- * @retval ::NRF_SUCCESS
- */
-SVCALL(SD_PPI_GROUP_GET, uint32_t, sd_ppi_group_get(uint8_t group_num, uint32_t * p_channel_msk));
-
-/**@brief Configures the Radio Notification signal.
- *
- * @note
- *      - The notification signal latency depends on the interrupt priority settings of SWI used
- *        for notification signal.
- *      - In the period between the ACTIVE signal and the start of the Radio Event, the SoftDevice
- *        will interrupt the application to do Radio Event preparation.
- *      - Using the Radio Notification feature may limit the bandwidth, as the SoftDevice may have
- *        to shorten the connection events to have time for the Radio Notification signals.
- *
- * @param[in]  type      Type of notification signal.
- *                       @ref NRF_RADIO_NOTIFICATION_TYPE_NONE shall be used to turn off radio
- *                       notification. Using @ref NRF_RADIO_NOTIFICATION_DISTANCE_NONE is
- *                       recommended (but not required) to be used with
- *                       @ref NRF_RADIO_NOTIFICATION_TYPE_NONE.
- *
- * @param[in]  distance  Distance between the notification signal and start of radio activity.
- *                       This parameter is ignored when @ref NRF_RADIO_NOTIFICATION_TYPE_NONE or 
- *                       @ref NRF_RADIO_NOTIFICATION_TYPE_INT_ON_INACTIVE is used.
- *
- * @retval ::NRF_ERROR_INVALID_PARAM The group number is invalid.
- * @retval ::NRF_SUCCESS
- */
-SVCALL(SD_RADIO_NOTIFICATION_CFG_SET, uint32_t, sd_radio_notification_cfg_set(nrf_radio_notification_type_t type, nrf_radio_notification_distance_t distance));
-
-/**@brief Encrypts a block according to the specified parameters.
- *
- * 128-bit AES encryption.
- *
- * @param[in, out] p_ecb_data Pointer to the ECB parameters' struct (two input
- *                            parameters and one output parameter).
- *
- * @retval ::NRF_SUCCESS
- */
-SVCALL(SD_ECB_BLOCK_ENCRYPT, uint32_t, sd_ecb_block_encrypt(nrf_ecb_hal_data_t * p_ecb_data));
-
-/**@brief Gets any pending events generated by the SoC API.
- *
- * The application should keep calling this function to get events, until ::NRF_ERROR_NOT_FOUND is returned.
- *
- * @param[out] p_evt_id Set to one of the values in @ref NRF_SOC_EVTS, if any events are pending.
- *
- * @retval ::NRF_SUCCESS An event was pending. The event id is written in the p_evt_id parameter.
- * @retval ::NRF_ERROR_NOT_FOUND No pending events. 
- */
-SVCALL(SD_EVT_GET, uint32_t, sd_evt_get(uint32_t * p_evt_id));
-
-/**@brief Get the temperature measured on the chip
- * 
- * This function will block until the temperature measurement is done.
- * It takes around 50us from call to return.
- *
- * @note Pan #28 in PAN-028 v 1.6 "Negative measured values are not represented correctly" is corrected by this function.
- *
- * @param[out] p_temp Result of temperature measurement. Die temperature in 0.25 degrees celsius.
- *
- * @retval ::NRF_SUCCESS A temperature measurement was done, and the temperature was written to temp
- */
-SVCALL(SD_TEMP_GET, uint32_t, sd_temp_get(int32_t * p_temp));
-
-/**@brief Flash Write
- *
- * Commands to write a buffer to flash
- *
- * This call initiates the flash access command, and its completion will be communicated to the
- * application with exactly one of the following events:
- *      - NRF_EVT_FLASH_OPERATION_SUCCESS - The command was successfully completed.
- *      - NRF_EVT_FLASH_OPERATION_ERROR   - The command could not be started.
- *
- * @note
- *      - This call takes control over the radio and the CPU during flash erase and write to make sure that
- *        they will not interfere with the flash access. This means that all interrupts will be blocked
- *        for a predictable time (depending on the NVMC specification in nRF51 Series Reference Manual
- *        and the command parameters).
- *
- *
- * @param[in]  p_dst Pointer to start of flash location to be written.
- * @param[in]  p_src Pointer to buffer with data to be written
- * @param[in]  size  Number of 32-bit words to write. Maximum size is 256 32bit words.
- *
- * @retval ::NRF_ERROR_INVALID_ADDR   Tried to write to a non existing flash address, or p_dst or p_src was unaligned.
- * @retval ::NRF_ERROR_BUSY           The previous command has not yet completed.
- * @retval ::NRF_ERROR_INVALID_LENGTH Size was 0, or more than 256 words.
- * @retval ::NRF_ERROR_FORBIDDEN      Tried to write to or read from protected location.
- * @retval ::NRF_SUCCESS              The command was accepted.
- */
-SVCALL(SD_FLASH_WRITE, uint32_t, sd_flash_write(uint32_t * const p_dst, uint32_t const * const p_src, uint32_t size));
-
-
-/**@brief Flash Erase page
- *
- * Commands to erase a flash page
- *
- * This call initiates the flash access command, and its completion will be communicated to the
- * application with exactly one of the following events:
- *      - NRF_EVT_FLASH_OPERATION_SUCCESS - The command was successfully completed.
- *      - NRF_EVT_FLASH_OPERATION_ERROR   - The command could not be started.
- *
- * @note
- *      - This call takes control over the radio and the CPU during flash erase and write to make sure that
- *        they will not interfere with the flash access. This means that all interrupts will be blocked
- *        for a predictable time (depending on the NVMC specification in nRF51 Series Reference Manual
- *        and the command parameters).
- *
- *
- * @param[in]  page_number Pagenumber of the page to erase
- * @retval ::NRF_ERROR_INTERNAL      If a new session could not be opened due to an internal error.
- * @retval ::NRF_ERROR_INVALID_ADDR  Tried to erase to a non existing flash page.
- * @retval ::NRF_ERROR_BUSY          The previous command has not yet completed.
- * @retval ::NRF_ERROR_FORBIDDEN     Tried to erase a protected page.
- * @retval ::NRF_SUCCESS             The command was accepted.
- */
-SVCALL(SD_FLASH_PAGE_ERASE, uint32_t, sd_flash_page_erase(uint32_t page_number));
-
-
-/**@brief Flash Protection set
- *
- * Commands to set the flash protection registers PROTENSETx
- *
- * @note To read the values in PROTENSETx you can read them directly. They are only write-protected.
- *
- * @param[in]  protenset0 Value to be written to PROTENSET0
- * @param[in]  protenset1 Value to be written to PROTENSET1
- *
- * @retval ::NRF_ERROR_FORBIDDEN Tried to protect the SoftDevice
- * @retval ::NRF_SUCCESS Values successfully written to PROTENSETx
- */
-SVCALL(SD_FLASH_PROTECT, uint32_t, sd_flash_protect(uint32_t protenset0, uint32_t protenset1));
-
-/**@brief Opens a session for radio requests.
- *
- * @note Only one session can be open at a time.
- * @note p_radio_signal_callback(NRF_RADIO_CALLBACK_SIGNAL_TYPE_START) will be called when the radio timeslot
- *       starts. From this point the NRF_RADIO and NRF_TIMER0 peripherals can be freely accessed
- *       by the application.
- * @note p_radio_signal_callback(NRF_RADIO_CALLBACK_SIGNAL_TYPE_TIMER0) is called whenever the NRF_TIMER0
- *       interrupt occurs.
- * @note p_radio_signal_callback(NRF_RADIO_CALLBACK_SIGNAL_TYPE_RADIO) is called whenever the NRF_RADIO
- *       interrupt occurs.
- * @note p_radio_signal_callback() will be called at ARM interrupt priority level 0. This
- *       implies that none of the sd_* API calls can be used from p_radio_signal_callback().
- *
- * @param[in] p_radio_signal_callback The signal callback.
- *
- * @retval ::NRF_ERROR_INVALID_ADDR p_radio_signal_callback is an invalid function pointer.
- * @retval ::NRF_ERROR_BUSY If session cannot be opened.
- * @retval ::NRF_ERROR_INTERNAL If a new session could not be opened due to an internal error.
- * @retval ::NRF_SUCCESS Otherwise.
- */
- SVCALL(SD_RADIO_SESSION_OPEN, uint32_t, sd_radio_session_open(nrf_radio_signal_callback_t p_radio_signal_callback));
-
-/**@brief Closes a session for radio requests.
- *
- * @note Any current radio timeslot will be finished before the session is closed.
- * @note If a radio timeslot is scheduled when the session is closed, it will be canceled.
- * @note The application cannot consider the session closed until the NRF_EVT_RADIO_SESSION_CLOSED
- *       event is received.
- *
- * @retval ::NRF_ERROR_FORBIDDEN If session not opened.
- * @retval ::NRF_ERROR_BUSY If session is currently being closed.
- * @retval ::NRF_SUCCESS Otherwise.
- */
- SVCALL(SD_RADIO_SESSION_CLOSE, uint32_t, sd_radio_session_close(void));
-
- /**@brief Requests a radio timeslot.
- *
- * @note The timing of the radio timeslot is specified by p_request->distance_us. For the first
- *       request in a session, p_request->distance_us is required to be 0 by convention, and
- *       the timeslot is scheduled at the first possible opportunity. All following radio timeslots are
- *       requested with a distance of p_request->distance_us measured from the start of the
- *       previous radio timeslot.
- * @note A too small p_request->distance_us will lead to a NRF_EVT_RADIO_BLOCKED event.
- * @note Timeslots scheduled too close will lead to a NRF_EVT_RADIO_BLOCKED event.
- * @note See the SoftDevice Specification for more on radio timeslot scheduling, distances and lengths.
- * @note If an opportunity for the first radio timeslot is not found before 100ms after the call to this
- *       function, it is not scheduled, and instead a NRF_EVT_RADIO_BLOCKED event is sent.
- *       The application may then try to schedule the first radio timeslot again.
- * @note Successful requests will result in nrf_radio_signal_callback_t(NRF_RADIO_CALLBACK_SIGNAL_TYPE_START).
- *       Unsuccessful requests will result in a NRF_EVT_RADIO_BLOCKED event, see @ref NRF_SOC_EVTS.
- * @note The jitter in the start time of the radio timeslots is +/- NRF_RADIO_START_JITTER_US us.
- * @note The nrf_radio_signal_callback_t(NRF_RADIO_CALLBACK_SIGNAL_TYPE_START) call has a latency relative to the
- *       specified radio timeslot start, but this does not affect the actual start time of the timeslot.
- * @note NRF_TIMER0 is reset at the start of the radio timeslot, and is clocked at 1MHz from the high frequency
- *       (16 MHz) clock source. If p_request->hfclk_force_xtal is true, the high frequency clock is 
- *       guaranteed to be clocked from the external crystal.
- * @note The SoftDevice will neither access the NRF_RADIO peripheral nor the NRF_TIMER0 peripheral
- *       during the radio timeslot.
- *
- * @param[in] p_request Pointer to the request parameters.
- *
- * @retval ::NRF_ERROR_FORBIDDEN If session not opened or the session is not IDLE.
- * @retval ::NRF_ERROR_INVALID_ADDR If the p_request pointer is invalid.
- * @retval ::NRF_ERROR_INVALID_PARAM If the parameters of p_request are not valid.
- * @retval ::NRF_SUCCESS Otherwise.
- */
- SVCALL(SD_RADIO_REQUEST, uint32_t, sd_radio_request(nrf_radio_request_t * p_request ));
-
-/** @} */
-
-#endif // NRF_SOC_H__
-
-/**@} */
--- a/TARGET_HRM1017/TARGET_NORDIC/TARGET_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/nrf_svc.h	Fri Jul 25 09:46:51 2014 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,33 +0,0 @@
-#ifndef NRF_SVC__
-#define NRF_SVC__
-
-#ifdef SVCALL_AS_NORMAL_FUNCTION
-#define SVCALL(number, return_type, signature) return_type signature
-#else
-
-#ifndef SVCALL
-#if defined (__CC_ARM)
-#define SVCALL(number, return_type, signature) return_type __svc(number) signature
-#elif defined (__GNUC__)
-#define SVCALL(number, return_type, signature) \
-  _Pragma("GCC diagnostic ignored \"-Wreturn-type\"") \
-  _Pragma("GCC diagnostic ignored \"-Wunused-function\"") \
-  __attribute__((naked)) static return_type signature \
-  { \
-    __asm( \
-        "svc %0\n" \
-        "bx r14" : : "I" (number) : "r0" \
-    ); \
-  }
-#elif defined (__ICCARM__)
-#define PRAGMA(x) _Pragma(#x)
-#define SVCALL(number, return_type, signature) \
-PRAGMA(swi_number = number) \
- __swi return_type signature;
-#else
-#define SVCALL(number, return_type, signature) return_type signature  
-#endif
-#endif  // SVCALL
-
-#endif  // SVCALL_AS_NORMAL_FUNCTION
-#endif  // NRF_SVC__
--- a/TARGET_HRM1017/TARGET_NORDIC/TARGET_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/softdevice_assert.h	Fri Jul 25 09:46:51 2014 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,46 +0,0 @@
-/*
- * Copyright (c) 2012 Nordic Semiconductor. All Rights Reserved.
- *
- * The information contained herein is confidential property of Nordic Semiconductor. The use,
- * copying, transfer or disclosure of such information is prohibited except by express written
- * agreement with Nordic Semiconductor.
- *
- */
-
-/** @brief Utilities for verifying program logic
- */
-
-#ifndef SOFTDEVICE_ASSERT_H_
-#define SOFTDEVICE_ASSERT_H_
-
-#include <stdint.h>
-
-/** @brief This function handles assertions.
- *
- *
- * @note
- * This function is called when an assertion has triggered.
- * 
- *
- * @param line_num The line number where the assertion is called
- * @param file_name Pointer to the file name
- */
-void assert_softdevice_callback(uint16_t line_num, const uint8_t *file_name);
-
-
-/*lint -emacro(506, ASSERT) */ /* Suppress "Constant value Boolean */ 
-/*lint -emacro(774, ASSERT) */ /* Suppress "Boolean within 'if' always evaluates to True" */ \
-/** @brief Check intended for production code
- *
- * Check passes if "expr" evaluates to true. */
-#define ASSERT(expr) \
-if (expr)                                                                     \
-{                                                                             \
-}                                                                             \
-else                                                                          \
-{                                                                             \
-  assert_softdevice_callback((uint16_t)__LINE__, (uint8_t *)__FILE__);        \
-  /*lint -unreachable */                                                      \
-}
-
-#endif /* SOFTDEVICE_ASSERT_H_ */
--- a/TARGET_HRM1017/TARGET_NORDIC/TARGET_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_softdevice.hex	Fri Jul 25 09:46:51 2014 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,5290 +0,0 @@
-:020000040000FA
-:10000000C0070000D1060000D1000000B1060000CA
-:1000100000000000000000000000000000000000E0
-:100020000000000000000000000000005107000078
-:100030000000000000000000DB000000E500000000
-:10004000EF000000F9000000030100000D010000B6
-:1000500017010000210100002B0100003501000004
-:100060003F01000049010000530100005D01000054
-:1000700067010000710100007B01000085010000A4
-:100080008F01000099010000A3010000AD010000F4
-:10009000B7010000C1010000CB010000D501000044
-:1000A000DF010000E9010000F3010000FD01000094
-:1000B00007020000110200001B02000025020000E0
-:1000C0001FB5C046C04600F0EFFA04B00FB41FBD24
-:1000D00008205A49096809580847382057490968CB
-:1000E000095808473C2055490968095808474020E5
-:1000F0005249096809580847442050490968095875
-:10010000084748204D490968095808474C204B4981
-:10011000096809580847502048490968095808479C
-:100120005420464909680958084758204349096836
-:10013000095808475C204149096809580847602068
-:100140003E4909680958084764203C49096809582C
-:100150000847682039490968095808476C20374919
-:100160000968095808477020344909680958084740
-:100170007420324909680958084778202F490968CE
-:10018000095808477C202D490968095808478020EC
-:100190002A490968095808478420284909680958E4
-:1001A0000847882025490968095808478C202349B1
-:1001B00009680958084790202049096809580847E4
-:1001C00094201E4909680958084798201B49096866
-:1001D000095808479C201949096809580847A02070
-:1001E0001649096809580847A4201449096809589C
-:1001F0000847A8201149096809580847AC200F4949
-:10020000096809580847B0200C4909680958084787
-:10021000B4200A49096809580847B82007490968FD
-:1002200009580847BC2005490968095808470000D3
-:1002300003480449024A034B7047000000000020B5
-:10024000C0070000C00700000122D84B5A6000BF61
-:10025000D74A1268002AFBD0016000BFD44A126856
-:10026000002AFBD00022D14B5A6000BFD04A12684E
-:10027000002AFBD07047F0B505460E46174600240D
-:1002800006E0A200B158A2005019FFF7DDFF641C80
-:10029000BC42F6D30020F0BD0120C043C549086030
-:1002A000401048607047014601229204086890425D
-:1002B00001D9102070470020FCE7F0B505460C4638
-:1002C0001646002706E028462168FFF7BDFF2D1DD2
-:1002D000241D7F1CB742F6D3F0BD70B505460C4611
-:1002E0002E460BE0304600F075F9FF2C01D80024B3
-:1002F00001E0FF3C013C012080023618002CF1D1C6
-:1003000070BD0146012292044868904201D909203B
-:100310007047A9484069401C01D10F20F8E7002030
-:10032000F6E7FEB504462068030000F037FA05043E
-:100330002B4249598B00201DFFF7E3FF0546002D96
-:1003400001D02846FEBDFFF7A7FF0120C00200F044
-:1003500041F9042221469948FFF78DFF002801D07A
-:100360000320EFE708222146944800F06DF90028A9
-:1003700006D1002192480068FFF766FF00F00CF9F3
-:100380000320DFE7A768E6686068019031463846D9
-:10039000FFF7A3FF324638460199FFF78EFFB20000
-:1003A0003846019900F050F9002800D1CAE703202F
-:1003B000C8E700F0E3F9834800688349086041E03A
-:1003C00060680190E668A0680090B200009901980A
-:1003D00000F03AF90746002F00D1B3E70E20B1E74D
-:1003E000201DFFF760FF0546002D01D02846A9E734
-:1003F0006068002807D1FFF74FFF0320800200F05C
-:10040000E9F800F0C9F8FFF747FF0120C00200F04B
-:10041000E1F8042221466948FFF72DFF002801D0AA
-:1004200003208FE708222146644800F00DF90028D8
-:1004300006D1002162480068FFF706FF00F0ACF823
-:1004400003207FE700BF00207CE770B505460C461F
-:10045000182D04D12068FFF764FF206002E001201E
-:10046000206000BF00BF70BDF0B589B05248406940
-:1004700003905248806881000398081802900398FE
-:10048000000B01900121090302984018401E000B47
-:1004900000900124002520462946019A00F0C4F866
-:1004A0000022401E91410791069001260027304608
-:1004B0003946009A00F0B8F80022401E914105919B
-:1004C0000490049BDB43059AD2430698184307998E
-:1004D00011430791069037490698086007984860CD
-:1004E00009B0F0BD70B53448446934488568466841
-:1004F000AA003146204600F0A7F8002801D00020CD
-:1005000070BD0120FCE72D484068002801D0012083
-:1005100000E000200546FFF7E5FF002807D0FFF7C1
-:10052000BBFE0320800200F055F800F035F8FFF71D
-:100530009BFF002D0ED020484669204884684768FC
-:1005400021463046FFF7C9FE224639463046FFF7BE
-:10055000B4FE00BF00F020F810B5184844681A48EF
-:100560000460204600F0DCF810BD15480068006803
-:10057000401C01D100BFFEE710480068002802D0EF
-:10058000042806D101E0FFF7BEFFFFF7E5FF00BF3B
-:10059000FEE700BF00BFFEE7BFF34F8F0B480C49DB
-:1005A000C860BFF34F8F00BFFEE7000000E50140C9
-:1005B00000E40140000600400010001000080000A8
-:1005C000B8070000BC070000000000200400FA0586
-:1005D00000ED00E010B50146104B1A6808460223F2
-:1005E0000F4C636000BF0F4B1B68002BFBD0531CEC
-:1005F00004D0904202D20A4B186101E0084B986087
-:1006000000BF084B1B68002BFBD00023044C636029
-:1006100000BF044B1B68002BFBD010BD0010001066
-:1006200000E5014000E4014010B5202A04DB01464A
-:10063000203A9140002010BD914020239C1A03468F
-:10064000E3401943904010BD034610B50B439B0790
-:100650000FD1042A0DD308C810C9121FA342F8D025
-:1006600018BA21BA884201D9012010BD0020C04328
-:1006700010BD002A03D0D30703D0521C07E000208E
-:1006800010BD03780C78401C491C1B1B07D1037854
-:100690000C78401C491C1B1B01D1921EF1D118463D
-:1006A00010BD70477047704710B500F007F810BDD7
-:1006B000014B1B68DB6818470000002019481A49E5
-:1006C0007047FFF7FBFFFFF7FBFC00BD20BFFDE716
-:1006D0001649174C24688C420BD1164B1B68994263
-:1006E0000CD1154B154A1360186810498842EDD09B
-:1006F0000AE0134880F30888124B18470F4A13602A
-:1007000018680A498842E1D080F308880E49884277
-:1007100004DD0E48026802210A4302605B68184744
-:100720000346DFE7C0070000C0070000FFFFFFFF30
-:10073000000C000014100010001000000000002049
-:10074000000400206B05000000200020240500406C
-:100750000D48704502D1EFF3098101E0EFF3088104
-:10076000886902380078182802D1C046074A104725
-:10077000074A12682C3212681047000000B5054B7A
-:10078000054A9B58984700BDFDFFFFFF4B04000042
-:1007900000000020001000000400000030B4744687
-:1007A000641E2578641CAB4204D3635D5B00E318D0
-:1007B00030BC18471D46F8E7000C00000010000090
-:10100000901D002079500100ED3D0000DF4F0100F0
-:1010100000000000000000000000000000000000D0
-:10102000000000000000000000000000E950010086
-:101030000000000000000000ED3D0000ED3D00005C
-:10104000555101005B510100ED3D0000ED3D0000F8
-:10105000ED3D0000ED3D0000ED3D0000ED3D0000E8
-:1010600061510100ED3D0000ED3D000067510100C0
-:10107000ED3D00006D5101007351010079510100F7
-:10108000ED3D0000ED3D0000ED3D0000ED3D0000B8
-:10109000ED3D0000ED3D0000ED3D0000ED3D0000A8
-:1010A0007F51010085510100ED3D0000ED3D000044
-:1010B000ED3D0000ED3D0000ED3D0000ED3D000088
-:1010C00000F002F813F0B9FF0CA030C8083824185B
-:1010D0002D18A246671EAB4654465D46AC4201D170
-:1010E00013F0ABFF7E460F3E0FCCB64601263342CF
-:1010F00000D0FB1AA246AB463343184744410100D7
-:1011000074410100103A02D378C878C1FAD8520766
-:1011100001D330C830C101D504680C6070470000AD
-:101120000023002400250026103A01D378C1FBD803
-:10113000520700D330C100D50B6070471FB5C046C1
-:10114000C04613F01BFF04B00FB41FBD82690249F3
-:1011500081610248104470476111000001000000E5
-:1011600001B41EB400B510F02FFC01B401988646FE
-:1011700001BC01B01EBD0000F0B4404649465246D5
-:101180005B460FB402A0013001B50648004700BF1E
-:1011900001BC86460FBC8046894692469B46F0BC01
-:1011A00070470000C1100000401E00BF00BF00BF1C
-:1011B00000BF00BF00BF00BF00BF00BF00BF00BF37
-:1011C00000BFF1D17047000070B505460C461646C9
-:1011D00002E00FCC0FC5103E102EFAD2082E02D31B
-:1011E00003CC03C5083E042E07D301CC01C5361F2E
-:1011F00003E021782970641C6D1C761EF9D270BD45
-:101200008307FF22DB0E9A408907090E99400028C8
-:101210000BDA0007000F0838830828489B001B18CA
-:10122000D86990430843D8617047830824489B00DD
-:101230001B181868904308431860704710B504469F
-:1012400000210120FFF7DCFF00211820FFF7D8FF65
-:1012500000210B20FFF7D4FF02211920FFF7D0FF58
-:1012600002210D20FFF7CCFF02210E20FFF7C8FF5F
-:1012700002210F20FFF7C4FF0221C81FFFF7C0FFA4
-:1012800003211620FFF7BCFF03211520FFF7B8FF4D
-:10129000204600F019F8002010BD4F210180704752
-:1012A00010B500F03AF810BD0648704710B500F0D0
-:1012B00035F810BD704770477047000000ED00E042
-:1012C00000E400E003F900C330B50446374D95B0A3
-:1012D00007202870A81CFFF7E0FF5920A880344899
-:1012E00001F020FC0546072000F0DCF929462F48D4
-:1012F00000F08CFA641E072C0AD830216846017071
-:10130000847001F0DDFA002802D009A800F0DDFCAD
-:10131000284601F083FE15B030BD7047F8B5234E66
-:101320000446B61E307801270D46002807D0204617
-:1013300060380B2808D8204601F096FB2BE0602C83
-:10134000F9D01C480860F8BD20466C38032803D843
-:10135000204601F0CBFB1EE0204670381F2803D842
-:10136000204600F037F816E0204690380F2803D8C2
-:10137000204600F0BBF80EE02046A0380F2803D826
-:10138000204600F023F906E02046B0380F2804D8A4
-:10139000204600F000F9286000E02F60602CD2D1D8
-:1013A00028680028CFD13770F8BD00001A0000204F
-:1013B000C33300000130000070477047704770472A
-:1013C000704770477047704710B5012801D100F091
-:1013D00042FA10BD10B57038030013F0EBFE150C87
-:1013E00012161E22252C33383D41454950555C6468
-:1013F0006C747B8085004A680878114603F081FF91
-:1014000010BD086803F0F9FF10BD0C790B7B8A68EA
-:101410000868214604F005F810BD086804F07EF85D
-:1014200010BD03F05BFC10BD08884A6880B211460D
-:1014300004F043FA10BD0A790888114680B204F01E
-:1014400091FA10BD087840B204F09CFA10BD0888EB
-:1014500080B204F0B8FA10BD086804F0C7FA10BDF5
-:10146000086804F0DFFA10BD086804F00AFB10BD3C
-:10147000088982B209C9194604F034FB10BD05C9B8
-:10148000114604F082FB10BD08884A6880B21146FC
-:1014900004F0A0FB10BD0B7908888A6880B2194659
-:1014A00004F0FDFB10BD0B7908888A6880B21946EC
-:1014B00004F0B3FC10BD08884B688A6880B21946F6
-:1014C00004F0F3FC10BD08884A6880B2114604F0AD
-:1014D0003EFD10BD088880B204F056FD10BD08889E
-:1014E00080B204F076FD10BD012010BD10B590381B
-:1014F000030013F05FFE09060F161D242C363F462D
-:101500004E0088888A6883B20888194680B205F040
-:1015100093F910BD08884A6880B2114605F0E9F9D0
-:1015200010BD08884A6880B2114605F02DFA10BD3A
-:1015300008884A6880B2114605F063FA10BD088831
-:101540004B688A6880B2194605F094FA10BD088984
-:1015500082B2888883B20888194680B205F0C9FA39
-:1015600010BD08894B6882B20888194680B205F020
-:10157000FEFA10BD08884A6880B2114605F02EFBBD
-:1015800010BD888882B20888114680B205F0C2FB7F
-:1015900010BD012010BD10B5B02805D0B12808D06D
-:1015A000B2280BD0012010BD088880B205F0A6FE3D
-:1015B00010BD088880B205F0D1FE10BD08884B68C8
-:1015C0008A6880B2194605F0DAFE10BD10B5A03861
-:1015D000030013F0EFFD0B070E172028323C434D9C
-:1015E000545D65004B6808788A68194607F017FA59
-:1015F00010BD88888A6883B20888194680B207F0CF
-:1016000023FA10BD08884C68CB688A6880B22146EE
-:1016100007F02AFA10BD08884B688A6880B219461C
-:1016200007F044FA10BD8888CB6884B208888A68BD
-:1016300080B2214607F064FA10BD8888CB6884B276
-:1016400008888A6880B2214607F089FA10BD0888A8
-:101650004A6880B2114607F0BDFA10BD088982B20F
-:10166000888883B20888194680B207F0BDFA10BD99
-:1016700008884A6880B2114607F0DAFA10BD088976
-:101680004B6882B20888194680B207F057FB10BD3C
-:1016900008884B688A6880B2194607F014FC10BDB0
-:1016A000012010BD10B507F0FAFC0FF0A7FF00F005
-:1016B00007F810F0F5F808F0F5F908F081F910BD19
-:1016C00001202B49C00308602A490020087003202C
-:1016D0002949800288607047F8B5264D044628786D
-:1016E000A04207D0002C05D0002803D023A14D2014
-:1016F00013F06FFC2878A04213D02C700325002330
-:101700002349AD021C48002C27D01B4A214E4032F1
-:10171000214F012C06D0022C13D018A16E2013F0FB
-:1017200058FCF8BD0B6002230B604E6185601B49BD
-:1017300011625762091D91621749091DD162456006
-:10174000F8BD0B6003230B604E610121C90281606B
-:10175000134B9362D7624160F8BD0B600B608560EC
-:10176000F8BD10B505A1772013F033FC10BD0000C3
-:1017700080E100E02000002000F501407372635C0E
-:1017800068616C5F63636D5F6161722E630000006E
-:1017900000F500407C01002000F0004000110040F6
-:1017A000488100401CB50446002069460870204668
-:1017B00009F0F6F86946204608F0B4FF002803D186
-:1017C000FBA1B62013F005FC01A9204608F009FF93
-:1017D000002803D1F6A1BB2013F0FBFB684600787C
-:1017E0001CBD70B5F74D002428462C76203084713E
-:1017F000C47113F0EDFC2846403804702030847327
-:10180000847484762C74AC7070BDEAE710B50C4615
-:10181000ED4982888A8042884A80007808700846AC
-:101820000A38847008F0B3FEFFF7DBFF20460AF0A9
-:101830002FFAE44AE0321146383908461446813816
-:1018400009F020F92146E0480BF0C2FC09F09FF8AE
-:1018500013F0BEFC10BD10B50120FFF7ADFD10BDAB
-:10186000F8B509F083FDD84DD64C0A3D022802D0C8
-:10187000207C00287CD0207E0026102819D1A0785A
-:10188000002803D0CAA1D14813F0A3FBCD48E83803
-:10189000817A89070DD50146267160398989E180F1
-:1018A000C17A217281896181C089A0810120A070E3
-:1018B0002676C44F203FB87C002859D1C4486946D9
-:1018C000808908F02FFF002805D0694668780978DC
-:1018D0004018687004E0BD48B5A11D3013F079FBD5
-:1018E000207C002838D0BA488189FF300930406D0B
-:1018F0008089814204D0B548ADA1223013F069FB44
-:10190000B348808908F0B4FF002804D1AF48A8A1EB
-:10191000283013F05EFB09F022F800281CD0AC48F8
-:101920008089FFF73FFF697840186870A548403804
-:10193000416D20318A7C012A0DD1A54A3E779289DA
-:10194000C287C87C20700120B876207E102801D084
-:10195000282800D1267626746978002908D09C486A
-:101960008289FF300930C28601870120B8746E7009
-:1019700009F0CCFC002805D1207C002802D0A878F2
-:1019800001F0F4F8F8BDF8B50F460446FFF768FF1C
-:101990008C4D403D28788B4E002813D0002F10D15D
-:1019A000307E002804D0FF2081A1C63013F011FB47
-:1019B0002C22A91C204613F06FF90E202070002065
-:1019C00028708FE07F4D203DA87B002818D0002F85
-:1019D000F7D1307E102808D0282806D0002804D05F
-:1019E000FF2073A1D23013F0F4FA0120E070E87BFD
-:1019F000A070287C60700F2020700020A87371E018
-:101A00000121204608F0E4FF002807D0307C0028A0
-:101A100051D13946204608F0DBFFF8BDA97C694862
-:101A20000C38009068480A38002913D0017805293D
-:101A300010D2002F56D1491C0170002666700D206F
-:101A40002070012028750622A01C009913F024F9AB
-:101A5000AE7447E05C4800210A380170B078002875
-:101A600014D0002F3ED1307E002803D050A1594819
-:101A700013F0AFFA002565700120524920700A2248
-:101A8000091DA01C13F008F9B5702BE0394620465B
-:101A90000BF008FB002825D1A87C002805D0002FDA
-:101AA00020D149480A380178C5E7A87E002802D02D
-:101AB000307C002801D00020F8BD002F12D1307EEC
-:101AC000002804D08F203AA1800013F082FA00266B
-:101AD00066700A203B4920700622091FA01C13F0E3
-:101AE000DBF8AE760120F8BD10B53648017E00293E
-:101AF00008D1007C012805D001210020FFF743FF19
-:101B0000002801D0072010BD012010BD10B5012410
-:101B10000AF006F90443FFF7E7FF044308F038FF33
-:101B200001462143084610BDF8B51D4614460E4631
-:101B300008F077FD002807D0684608F07DFD0028F2
-:101B400003D0002C07D101E00120F8BD9B2018A193
-:101B5000800013F03EFA08F01BFDA04204D21D489D
-:101B600013A1583013F035FA009808F089F931467E
-:101B7000009808F097F9E2B22946009808F04EFB69
-:101B800008F06CFD002804D19F2009A1800013F00B
-:101B900020FA08F0FFFE0E4800244030417C002966
-:101BA00002D044740AF0A7F90948C480CCE70000C9
-:101BB0007372635C6C6C5F6374726C2E73302E6333
-:101BC00000000000200300202C00002082060000FE
-:101BD000D80100201502000010B50179002908D0B5
-:101BE00001290BD0FF20FE49043013F0F2F9002048
-:101BF00010BD831D42880488022103E042880488C6
-:101C0000831D01212046FFF78FFF10BDF8B51F4649
-:101C100015460E46044609F0A9FB022803D0F148F8
-:101C2000007C00281FD0F0488089208008F020FE2A
-:101C3000002803D1EA49ED4813F0CBF905246846A2
-:101C400008F021FE00280ED0009808F063F93070EB
-:101C5000022809D0012807D008F055FE641E24068A
-:101C6000240EECD10020F8BD3946009808F0EEFAB9
-:101C70002880002804D1AF20D949800013F0A9F9A9
-:101C800008F041FE002804D1D848D549193013F096
-:101C9000A0F90120F8BD38B50446831D821C6946B1
-:101CA000FFF7B4FF00280DD000206071684600786F
-:101CB000012808D0022806D0FF20C949253013F09A
-:101CC00088F9012038BD2071FBE700215BE670B583
-:101CD000C44C0546403C2078002803D1C148007E12
-:101CE000002804D0C120BE49C00013F072F9287842
-:101CF00008F085FF28780BF0C1FB0020207101203F
-:101D000060713921E170207070BD70B5B54D044629
-:101D1000403D2878002803D1B248007E002804D036
-:101D20005F20AF49000113F054F9AF4E2188B0890C
-:101D3000884203D109F01AFB022807D0022028713B
-:101D4000012068713821E970287070BD7F2070769D
-:101D5000A548E17820304174A17801740020EEE7B5
-:101D600010B5A04C403C207800280BD19D48007E47
-:101D7000002807D109F0FAFA032803D009F0FAFA8B
-:101D8000032804D199489649653013F022F9954902
-:101D900000202031C8712071012060713A21E1706A
-:101DA000207010BD70B58F4C0646403C207800284E
-:101DB0000BD18C48007E002807D109F0D7FA032800
-:101DC00003D009F0D7FA032804D1884884497B302E
-:101DD00013F0FFF8834D2035E87908280CD2E87914
-:101DE0001022000100196830314600F025FEE87924
-:101DF000401CE871002000E0072020710120607184
-:101E00003B21E170207070BDF8B5764D0446403D31
-:101E10002878002803D17348007E002803D0704939
-:101E2000734813F0D6F8704F2188B889884203D1DF
-:101E300009F09CFA022801D0022022E03E8C64883E
-:101E40007200788CF98B521C944217D3694A514323
-:101E50009200504312F09AFF401EFF2180B2F531EC
-:101E6000884200D90846844200D22046711C401C9A
-:101E700012F08CFF761C7043401E86B2FE85EE8009
-:101E800000202871012068713C21E9702870F8BD9C
-:101E9000F8B5544C0546403C2078002803D1514801
-:101EA000007E002804D052484D492C3813F091F898
-:101EB000A878002801D0012804D1A888FF21F53195
-:101EC000884204D959204649000113F082F8464E51
-:101ED0002988B089884203D109F048FA022807D03E
-:101EE00002202071012060713621E1702070F8BD60
-:101EF0003D48002720308772A988B18501213176BD
-:101F0000A978012900D00021817237484030407CF7
-:101F1000002801D009F0EFFF2771E3E770B5314CDD
-:101F20000546403C2078002807D12E48007E002836
-:101F300003D109F01BFA002804D02D482849533852
-:101F400013F047F8287809F0EEFE002020710120F8
-:101F500060713021E170207070BD70B5214C054674
-:101F6000403C2078002803D11E48007E002804D081
-:101F70001F481B495F3013F02CF8287800280BD03D
-:101F8000012809D0022807D06878402804D31848CF
-:101F90001349663013F01DF8284609F0DEF90028D1
-:101FA00001D0002000E00C2020710120607134215C
-:101FB000E170207070BD70B50A4C0546403C207839
-:101FC000002807D10748007E002803D109F0CEF988
-:101FD000002804D057200249000112F0FAFF0BE05C
-:101FE000B01B000020030020D8010020AA0200003E
-:101FF000B6050000C40900002978002913D00A2979
-:1020000011D014290FD01E290DD028290BD0322928
-:1020100009D04B2907D0642905D0FF2903D0FE49F8
-:10202000FE4812F0D6FF284609F0FCFE0020207181
-:10203000012060713321E170207070BD70B5F84CE3
-:1020400006462078251D002804D120464030007E19
-:10205000002804D05520F049000112F0BAFF3146A3
-:10206000002008F0A1FD2870002804D10622314686
-:10207000EC4812F011FE012060713221E1702070F5
-:1020800070BD70B5E64C05462078002804D1204686
-:102090004030007E002804D0A720DF49C00012F0A5
-:1020A00098FF00216956042914D0002912D0081D78
-:1020B00010D0001D0ED0001D0CD0001D0AD0001D38
-:1020C00008D00A3006D0283104D0D448D249443848
-:1020D00012F07FFFD448297801700120607131210E
-:1020E000E170207070BD10B5CD4C2078002804D16F
-:1020F00020464030007E002803D0C749CB4812F06C
-:1021000068FF08F045FAE08008F00AFB2072002022
-:102110002071012060710521E170207010BDF8B5BB
-:10212000BF4C07462034A07B25462035002805D12A
-:10213000287E002802D1A878002804D0B748B649E4
-:10214000703812F046FF09F011F91026022822D14A
-:10215000B7483988808988421DD1B1494839084635
-:102160000A7F6038807A002A03D080070CD40C20C4
-:102170000CE0800708D406200877AD484030407C4A
-:10218000002801D009F0B7FE2E760020E0732674F7
-:102190000120A073F8BD0220F8E710B5A04C20780C
-:1021A000002804D120464030007E002804D09B48FF
-:1021B0009949823812F00DFF002020710E20A07086
-:1021C0000F20E070FF20A0710020C04320819548BF
-:1021D000C01D0178A1728188A1814088E081012021
-:1021E0006071207010BD10B58D4C2078002804D18E
-:1021F00020464030007E002803D087498D4812F0E9
-:10220000E8FE0821A01D0FF095FA002020710120A2
-:1022100060712B21E170207010BD70B5804D0446B7
-:102220002878002804D128464030007E002804D0B9
-:102230007A487949B13012F0CCFE7D48102221460F
-:10224000303800F0F9FB7A481022A118203800F04D
-:10225000F3FB774830380FF074FB754910221039C2
-:102260002C46A81D00F0E8FB002020710E20A07075
-:102270002A20E07001206071207070BDF8B5684CB4
-:1022800005462034A07B26462036002802D1307E29
-:10229000002804D067486049E53012F09AFEA9781A
-:1022A000052912D0132910D014290ED015290CD0CD
-:1022B0001A290AD0292908D03D2906D03B2904D063
-:1022C0005C485549ED3012F084FE28885A4988420E
-:1022D00004D958485049F63012F07BFE09F046F810
-:1022E0000C212827022809D151482A888089904248
-:1022F00015D14B484838027E002A01D0E17310E026
-:10230000A97841760121017637760020E0734848AC
-:102310004030407C002804D009F0EDFD01E00220AF
-:10232000E07327740120A073F8BDF8B53C4F064652
-:1023300038783D1D002804D138464030007E002802
-:1023400004D089203449C00012F043FE31460120F8
-:1023500008F02AFC01242870002807D13048062202
-:1023600060303146054612F097FCAC717C71172045
-:10237000F8703C70F8BDF0B52B4F85B0403F3D7A0A
-:10238000064627480078002804D13846A038007E49
-:10239000002804D0D3202049800012F01AFE3078A3
-:1023A000002806D0012804D022481B492C3812F0FE
-:1023B00010FE082D4CD21C4820380190C46930789A
-:1023C00000283FD0012804D01A4813491E3812F0C3
-:1023D00000FE294608310120884004430120A8401E
-:1023E00020430090B1790E4C0802727969000919F6
-:1023F0001043FF3101318881B01C12F0AEFC7178BE
-:1024000000020843A9000919C031C862387A401C8B
-:1024100038720199009811E0B01B00007E050000A1
-:10242000E00200202500002000040020E706000054
-:10243000D801002079030000FF0E0000C8610020D1
-:10244000207108E029460831012088408443C5E70F
-:10245000FE48072101710121FC480B224171C27025
-:10246000017005B0F0BD10B5F84C2078002804D1FB
-:1024700020464030007E002803D0F549F54812F090
-:10248000A8FD12F0A5FE00202071012060710A2134
-:10249000E170207010BD10B509F0DDFB002804D0FC
-:1024A000EC48EB49583812F094FD08F06FFA08F048
-:1024B00052F80AF07EFE002804D0BD20E4498000D6
-:1024C00012F087FD08F0B3FA002804D05F20E0493D
-:1024D000C00012F07EFD12F07BFEDF480024047085
-:1024E000FFF77FF9D9480121047141710222C270BE
-:1024F000017010BD70B5D54D04462878002804D170
-:1025000028464030007E002804D0F320D0498000C7
-:1025100012F05FFD20781F2801D8601C04D1CD483F
-:10252000CB498F3012F055FD002028712078611CB6
-:1025300008F054FB012068712021E970287070BDFB
-:10254000F8B5C24C0646207825464035002802D111
-:10255000287E002804D0BF48BD499C3012F039FDC8
-:102560003078012806D0002804D0BA48B8499D30F8
-:1025700012F02FFD012060710C20207130780027AF
-:10258000B64E012808D008F0F1FE032867D008F005
-:10259000F1FE032871D076E008F0E8FE002803D1B0
-:1025A00008F0E8FE002804D008F0E0FE02283DD044
-:1025B00069E008F07EFA002865D0287C002862D106
-:1025C000A64802210C300FF03EF8002806D00F215B
-:1025D000B089090212F0DAFBB18100E0B781012273
-:1025E00003219E4807F05AFE9C4808F006FCB0897B
-:1025F00007F0D0FF002804D196489549B83012F072
-:10260000E8FCB089002108F0C9F9002804D09148FD
-:102610008F49BC3012F0DDFC297F688B09F087FB05
-:1026200000282FD08B488A49C03015E008F0A2FE60
-:10263000002828D1287F002825D0012823D008F0A1
-:1026400038FA00281FD0297F688B09F070FB00281A
-:1026500018D080487E49D33012F0BBFC12E0002035
-:1026600009F098FA00280ED12771287C00280AD199
-:10267000B089FFF797F806E0FFE7002009F08AFA33
-:10268000002800D127711B20E07001202070F8BDC8
-:1026900070B56E4D04462878002804D12846403095
-:1026A000007E002804D06B486949803012F091FC0C
-:1026B00020781F2801D8601C04D166486449813005
-:1026C00012F087FC002028712078611C08F09AFA2B
-:1026D000012068711A21E970287070BDF8B55B4D52
-:1026E000044628780C272E46403600280AD1307E32
-:1026F000002807D108F03AFE032803D008F03AFE7C
-:10270000032804D153485249473012F062FC6079E3
-:10271000002801D001282FD1A079002801D001285C
-:102720002AD1A07B002805D0012803D0022801D09F
-:10273000032821D1607B40071ED0618801208003DF
-:10274000814202D82288824201D920790CE0207986
-:10275000002804D0022805D0032803D004E0202953
-:1027600004D209E0A02A01D2012805D1208888429C
-:1027700007D92079012804D0364835495C3012F059
-:1027800028FC20887083207930776079002802D077
-:10279000012803D00CE0324A002105E02B4A6032C8
-:1027A0009079002804D00121204608F086F90746D8
-:1027B00001202F7168711821E9702870F8BD70B57B
-:1027C000224C05462078002804D120464030007E67
-:1027D000002803D01E49234812F0FBFB08F0C6FD79
-:1027E0000C2102280ED11D482A8883899A4219D1CA
-:1027F0000246C032137F002B04D1807E0E2803D006
-:102800000F2801D0217103E00520107700202071EE
-:102810000E20A0702E20E0702888E08001206071DA
-:10282000207070BD0220F2E770B5084C0546207894
-:10283000002804D120464030007E002804D00948FA
-:1028400003492C3812F0C5FB0EE00000E002002026
-:10285000B01B00003E03000000040020D80100204F
-:1028600025000020D104000008F080FD0C21022882
-:102870000ED178482A8883899A421FD10646C036ED
-:10288000327F002A04D1807E0E2803D00F2801D089
-:10289000217109E06F481022A91CEA3012F0FCF9FE
-:1028A00004203077002020710E20A0702D20E070D1
-:1028B0002888E08001206071207070BD0220F2E75E
-:1028C00010B501780B0012F075FC3D8787388787BB
-:1028D00058878787873B3E878787515487878787B5
-:1028E00087874228872C3087878787348787878721
-:1028F00087878746874A4E872024876B5B5F63679D
-:10290000876F877E827B77738700801CFFF78CFF41
-:1029100060E0801CFFF753FF5CE0801CFFF7DEFEE9
-:1029200058E0801CFFF7B4FE54E0801CFFF708FE5F
-:1029300050E0801CFFF7DEFD4CE0FFF7ACFD49E006
-:10294000FFF791FD46E0801CFFF715FD42E0801C7B
-:10295000FFF7EBFC3EE0801CFFF790FC3AE0801CA8
-:10296000FFF75BFC36E0FFF73EFC33E0FFF715FCBA
-:1029700030E0801CFFF7D3FB2CE0FFF7B4FB29E02D
-:10298000801CFFF77EFB25E0801CFFF757FB21E052
-:10299000801CFFF710FB1DE0801CFFF7DEFA19E03A
-:1029A000801CFFF7BBFA15E0801CFFF771FA11E0FD
-:1029B000801CFFF729FA0DE0801CFFF7F3F909E00E
-:1029C000FFF7CEF906E0801CFFF79FF902E0801CBC
-:1029D000FFF77DF9012010BD002010BD10B51E4984
-:1029E0001E4812F0F6FA10BD70B51D4A01241146BA
-:1029F000184D4031030012F0DDFB05191C1C0419B1
-:102A00001C0001220021134807F048FC1448002153
-:102A1000483801774177C03809F005FA002804D01A
-:102A20000E480D49D33012F0D4FA70BD0C745565C0
-:102A300070BD09490B48F6E730B5134606E0CC18DF
-:102A4000203CE47FD51A44555B1EDBB2002BF6D147
-:102A500030BD0000D8010020B01B0000410600007E
-:102A6000E00200204707000010B56038030012F0B4
-:102A7000A1FB0A060A0F13181F262A31363B0868E5
-:102A800000F093FD10BD05C9114600F0ADFD10BD6D
-:102A9000086800F04CFE10BD05C9114600F054FE58
-:102AA00010BD4B6808788A68194600F065FE10BDB5
-:102AB0004B688A680868194600F07FFE10BD0868F8
-:102AC00000F09AFE10BD08884A6880B2114600F0F6
-:102AD000EAFE10BD05C9114600F00AFF10BD05C988
-:102AE000114600F01DFF10BD012010BD10B56C286F
-:102AF00001D0012010BD087800F0B8FE10BD000024
-:102B000001203F49400608603E4908603E490A6886
-:102B1000FF231B029A4383121A430A603849803903
-:102B20000860704710B502460420384904E0C3002D
-:102B30005B181B79002B0AD00346401EC0B2002B45
-:102B4000F5D133A1432012F044FAFF2010BDC30099
-:102B5000CA50002259184A718A7101220A7110BDA7
-:102B60002A4A0021C00080180171704710B5044640
-:102B7000042803D326A1522012F02BFA2348E100A7
-:102B80000C182079012803D021A1532012F021FA3A
-:102B90006079A179401CC0B2814200D060710120EF
-:102BA000174940068031086010BD70B516480068AE
-:102BB0000004800F022803D015A1692012F009FA41
-:102BC000124E194C03252078C10088190279012A78
-:102BD00007D1427983799A4203D042798271705841
-:102BE00080472078401CC0B22070042801D3002008
-:102BF000207028466D1EEDB20028E4D170BD0000A3
-:102C000080E100E080E200E018E400E02C12002007
-:102C10007372635C736F635F7369676E616C6C6919
-:102C20006E672E63000000003C00002010B5EFF33B
-:102C30001080C407E40F72B6D6484178491C417031
-:102C40004078012801D10FF065F9002C00D162B65F
-:102C500010BD70B5CF4CE07800280AD10125E57091
-:102C6000FFF7E4FF0FF05EF9002804D000200FF01A
-:102C700031F9002070BDC84865714560F9E770B54D
-:102C8000EFF31080C507ED0F72B6C24C60780028D4
-:102C900003D1C2A18F2012F09CF96078401E6070B1
-:102CA0006078002801D10FF039F9002D00D162B60B
-:102CB00070BD10B5B748C178002904D0002141711A
-:102CC000C170FFF7DCFF002010BD10B504460FF007
-:102CD00029F9B049C978084000D0012020600020BF
-:102CE00010BDF8B50246AB4C0026A67108200421A1
-:102CF00001251027130012F05DFA0D080A0C0E10C2
-:102D00001214161E262123252800257122E00220F8
-:102D100001E021711EE020711CE027711AE02020E3
-:102D2000F9E7012616E0FFF781FF0FF0FBF8002816
-:102D3000FBD002260EE02171A5710BE02771FBE7A5
-:102D4000202000E040202071F6E7FF2093A17E3094
-:102D500012F03FF90FF0F2F8002809D00FF0F4F864
-:102D6000B04205D130460FF0F2F80028FAD024E046
-:102D700001208007C5608D4A002151608C4A966110
-:102D8000854B02225A6085608A4803690569DB43E6
-:102D9000DB06DB175B1C10273D430561834D00E01C
-:102DA00020BF6F68002FFBD0002B03D107691023D1
-:102DB0009F430761784882606960A07900280CD041
-:102DC0000FF0B0F805460FF00DF87B4A002D02D049
-:102DD000A260E06001E0E260A060002E01D100F09E
-:102DE000B1F8F8BD10B504460FF0A2F8002805D0E0
-:102DF00068490120C8704A78521C4A702046FFF783
-:102E000070FF10BDF8B5694FB8680025012802D1E0
-:102E1000BD600FF05FF87868012800D17D603868E8
-:102E200001265C4C012814D13D606079002803D054
-:102E300000200FF04FF865712078002809D00FF0BE
-:102E400071F8002805D05948C0388663000606612D
-:102E5000A670386901282CD13D6100F068F8012086
-:102E600080074661A079002815D00FF05BF800902C
-:102E70000EF0B8FF0099002901D0E16800E0A168D8
-:102E8000411A022901DA8A1C13DC0099002901D0B9
-:102E9000E06000E0A060FFF7C9FE0FF043F80028F3
-:102EA00006D04248C038866300060661A67000E07E
-:102EB0002670F868012819D100F039F800F037F8C9
-:102EC00000F035F8A078002804D1FF2033A10530A8
-:102ED00012F07FF8FD60A5702570FFF7D0FE0EF0B0
-:102EE000F8FA002802D03148C038C663F8BD10B5E2
-:102EF000284CE078002801D10FF010F8012081075C
-:102F0000886100F014F8A07800280BD0274CE06806
-:102F1000002803D10FF01BF80028F8D10020E06052
-:102F200000F005F800201C49C043886010BD08B5BA
-:102F30005020694608806A461088411E118000288A
-:102F4000F9D108BDF8B51448192787601749002042
-:102F50000860C8600EF0E6FFBD0701240D4E002892
-:102F600005D01248C03884632C61B47000E034701E
-:102F7000FFF75CFE084847600D4930798863FFF72A
-:102F8000D6FFAC61FFF7D3FF0849002008616C61F0
-:102F9000F8BD000040000020000300407372635C35
-:102FA000736F635F636C6F636B2E6300000100409F
-:102FB0000005004000ED00E0FFFFFF7F10B510F0BE
-:102FC00064F810BD00200449C8630120012181403C
-:102FD000024A116000BF7047C01F004080E200E05D
-:102FE00010B504460BF095F820460CF0AAF810BD79
-:102FF0007047704770477047704770477047704719
-:1030000010FFFFFFDBE5B151006001004F00FFFF43
-:1030100003B40148019001BD09000020FE49487039
-:10302000704710B5030012F0C5F8080E050E080829
-:103030000B0B0E1104F07DF810BDFFF7D1FF10BD92
-:103040000DF0E8FF10BD01F095FE10BDFF20F3A1CB
-:10305000713011F0BEFF10BD7FB5F44905464868D8
-:103060008968082301910090F14A1946F1480EF051
-:103070008BFD0024F0480EF0A5FD641CE4B2082C82
-:10308000F8D3EB490320803140020CF02FF90028DF
-:1030900003D0E2A1962011F09CFF1E220221E748F6
-:1030A0000AF0E7FCE5481E22032110300BF05BFA22
-:1030B000E2480722342174300AF034FCDF484C2106
-:1030C000283011F048FEDD496A46743108464C3814
-:1030D0000164FF317B31416401211172039002F0E0
-:1030E000B4F802A80CF050FC002803D0CBA1AA2011
-:1030F00011F06FFFCF4802222421A8380AF012FCF9
-:10310000CC4802222C215C380AF00CFCCC490B2064
-:103110000EF082F8002803D0C0A1B72011F059FFAB
-:1031200003F0F4FF03F0F8F904F05AFE6B460022B6
-:103130000821C4A001F070FF002803D0B7A1BE2071
-:1031400011F047FF284605F071F9002803D0B3A11C
-:10315000C02011F03EFF8521C900BD4811F0FBFDE4
-:10316000BB49B24A0020135C0C18401CC0B2E3708B
-:103170000428F8D3A849002048608870C8707FBD33
-:1031800070B5B44E0546706A94B00C46401C04D12C
-:10319000B06AC0430004000C0BD0306AC007C00FF7
-:1031A0002870706A11F0EAFDB06A2071000A60713F
-:1031B00013E02B206946087009A968460AF0F8FB5D
-:1031C000002803D095A1E42011F003FF012028700E
-:1031D00006220AA9204611F05FFD2878002803D0B6
-:1031E0006079C0210843607114B070BDF0B5994C8E
-:1031F0000646206895B00D463746401C0837002823
-:1032000008D16068401C05D1A068401C02D1E0686C
-:10321000401C11D02068314611F0B0FD6068311DAE
-:1032200011F0ACFDA068394611F0A8FDE068314608
-:103230000C3111F0A3FD25E02B206946087009A987
-:1032400068460AF0B5FB002804D0FF2073A10E30B9
-:1032500011F0BFFE08220AA9304611F01DFD2B20F7
-:103260006946087009A968460AF0A2FB002804D044
-:10327000FF206AA1153011F0ACFE08220AA93846D9
-:1032800011F00AFD20692E46401C0836002808D19E
-:103290006069401C05D1A069401C02D1E069401C56
-:1032A00012D02069294611F069FD6069291D11F0CD
-:1032B00065FDA069314611F061FDE06929460C31D8
-:1032C00011F05CFD15B0F0BD2B246846047009A90F
-:1032D0000AF06EFB002804D0FF2050A1333011F01B
-:1032E00078FE082209AF0AA9284611F0D5FC6846E5
-:1032F000047009A90AF05CFB002804D0FF2047A154
-:103300003A3011F066FE0822391D304611F0C4FC37
-:10331000D8E710B5002108460EF00CFD0021012071
-:103320000EF008FD002102200EF004FD0021032014
-:103330000EF000FD002104200EF0FCFC0021052011
-:103340000EF0F8FC10BD10B5414CA0780B2804D34A
-:10335000FF2032A18A3011F03CFE207860214843E2
-:1033600000190830002101704178E722C908C9001E
-:10337000C91C11404170284A0121917010BD70B5DF
-:10338000254CA07800280ED0314800250178491C32
-:10339000C9B201700B2900D105708178491C817078
-:1033A0000EF093FDA57070BD70B51B4C05466068AE
-:1033B000002804D0FF2019A1B33011F00AFE656087
-:1033C00070BD70B5144E224DFFF7BDFF7168044605
-:1033D000002907D06022FDF7F7FEFFF7D0FF00209D
-:1033E0007060F1E72879002876D012485C380AF03E
-:1033F000A9FA6060002804D1FF2008A1D13011F0A3
-:10340000E8FD60680AF0FCFA002831D0204600F0A0
-:103410006FFF607801071FE0340000207372635C67
-:10342000686F73745F636F72652E6300E051010013
-:10343000040400200C12002023300000840A002025
-:10344000B41000206E524635313832320000000090
-:103450008C0C00208000001007D5C008C000401C64
-:1034600060702879401E287127E0F74861682AE0DB
-:10347000F54861680AF06FFA687900282CD0F248A4
-:103480004C380AF05FFA6060002804D1FF20EF4951
-:10349000F43011F09EFD60680AF0B6FA002816D0EC
-:1034A000204603F085FE6078010709D5C008C000FA
-:1034B000801C60706879401E6871FFF760FF83E7C9
-:1034C000E14861684C380AF046FA7DE704E0DE48DE
-:1034D00061684C380AF03FFA70BDF7B505460078D0
-:1034E000002700090C463E46062803D0D749D84895
-:1034F00011F06FFD287A00280ED0012814D0D4488E
-:10350000D249213011F065FD0298002C068001D0CF
-:10351000278066800020FEBD02270926002C0ED0E1
-:10352000A889A080A87B08E003271426002C06D0D9
-:103530002869E060A88A2082287B2072E4E702984C
-:103540000680E7E770B50E4600211C461980154637
-:10355000030011F02FFE0723050B1711231D230075
-:1035600022462946304603F0EFFD70BD224629462B
-:10357000304601F078F970BD22462946304604F005
-:103580002AFB70BD22462946304602F0F9FF70BD85
-:10359000224629463046FFF7A0FF70BD9720AB4971
-:1035A000800011F016FD032070BD10B5A94C2178E4
-:1035B000002901D0082010BDFFF74EFD012020702A
-:1035C000002010BD0146A04810B54C380AF0C3F9E0
-:1035D000A1494879401CC0B24871012803D19D48D7
-:1035E0004078FFF7C3FA10BDF8B50546072040073D
-:1035F0000F460A18012189038A4209D2002D02D000
-:103600002818884204D2E81C80088000A84201D013
-:103610001020F8BD90488178002911D03988009198
-:103620004178602251430C18083420783B4600074B
-:10363000000F00222146FFF785FF060004D015E0A9
-:10364000002038800520F8BD002D13D0398800985F
-:10365000814201D90C260DE020783B460007000F7F
-:103660002A462146FFF76EFF060005D00C2E01D03A
-:10367000002038803046F8BD774D6878401CC0B2D5
-:1036800068700B2801D100206870A878401EA870CF
-:1036900061784807400F022810D00128EAD16A4813
-:1036A00061680AF058F92879401CC0B228710128D5
-:1036B000E0D168484078FFF759FADBE7C806D9D46B
-:1036C0006068FFF77FFFD5E770B50446634816468C
-:1036D0000D46814204D15E485C49C53011F079FC49
-:1036E000012E05D05A485949D53011F072FC70BDF1
-:1036F00058480121C1706620207000202072A581E9
-:10370000A17370BD70B516460D46040001D1FFF7D8
-:103710001AFE662101700121017229680161A988E0
-:1037200081820673002C01D1FFF729FE70BD0721AD
-:103730004907012241189203914201D3102070479A
-:103740000721017000207047454A10B590420ED302
-:1037500001239B04C21A434B9A4208D3424B98421E
-:1037600005D2072252078A18DB139A4201D3102090
-:1037700010BD0DF08AFD10BD394B10B599420ED326
-:1037800001239B04374CCB1AA34208D3364B9942F2
-:1037900005D2E3020124D318A403A34201D31020CD
-:1037A00010BD022803D0102801D0092010BD0DF053
-:1037B00092FD0028FAD0052010BD70B5284B984224
-:1037C00012D301239B04274CC31AA3420CD3264BCC
-:1037D000984209D2E4020D19DB139D4204D2002A5B
-:1037E00004D014199C4201D3102070BD0DF099FD36
-:1037F0000028FAD0072070BD10B504460720400706
-:1038000001212018890394B0884202D3102014B0FB
-:1038100010BD01F06AFD002801D01120F7E70F204C
-:1038200008A9087369460BA80AF0C2F80028EED16F
-:103830006846007A207068464089608068468089C2
-:10384000A0800020E3E70000B01100201C3400003D
-:1038500015020000340000208C0C0020FFFF000047
-:10386000006001000000FC1F0040002010B594B073
-:10387000044601F03AFD002801D01120C7E7002CD2
-:1038800001D00720C3E7392168460170002181700B
-:1038900009A90AF08DF8002803D02B492B4811F014
-:1038A00098FB0020B3E770B5294C0846E178002961
-:1038B00013D000280FD007225207012385189B033D
-:1038C0009D4203D20568AA189A4201D3102070BD08
-:1038D0008288002A03D0012903D0082070BD092066
-:1038E00070BD04F0E1FA0028FAD10021E17070BD4A
-:1038F000184A10B5914208D301229204164B8A1A35
-:103900009A4202D3154A914201D3102010BD0246BB
-:10391000203A1F2A02D801F01FFC10BD072010BD5D
-:1039200007225207012310B58A189B039A4201D33C
-:10393000102010BD0246203A1F2A02D801F068FC70
-:1039400010BD072010BD00001C34000079030000EA
-:1039500034000020006001000000FC1F0040002037
-:103960008107C90E002808DA0007000F0838800810
-:103970002C4A80008018C06904E080082A4A800030
-:1039800080180068C8400006800F704710B50D20F1
-:10399000FFF7E6FFC4B20420C043FFF7E1FFC0B267
-:1039A000844203D021A11A2011F013FB10BD012184
-:1039B000234A48031060234B00221A60224A5160B8
-:1039C000224A1060224A11601D4980390860704700
-:1039D00001211B4A480310601D4A5160194A002109
-:1039E00011601A490860704710B516490868012827
-:1039F00004D00EA1562011F0ECFA10BD15488068D5
-:103A00000022C0B20A600DF0BBFE10BD10B50D481B
-:103A100001680029FCD0FFF7E7FF01200B494003B4
-:103A2000086010BD00ED00E000E400E07372635C2C
-:103A3000736F635F68616C5F726E672E6300000076
-:103A400080E100E000D1004000D3004080E200E0CF
-:103A500000D0004000D5004030B40121BC48C9026C
-:103A60000160CD1005604A030260BA4803681B027A
-:103A70001B0A036004680023240A24020460B64879
-:103A80000468240A24020460B44801244460846069
-:103A9000B34C23606360A360B24B19601D601A6071
-:103AA000B14B19601A600121016030BC704710B43D
-:103AB0000121A748CC0204600A0202600B060360E1
-:103AC000A64841608160A64900200860486088607F
-:103AD000A44804600260036010BC70470121A14843
-:103AE000C9020160C91001607047002805D0012893
-:103AF00005D0022805D19D4870479D4870479D48D4
-:103B0000704710B59CA18B2011F063FA002010BD06
-:103B100070B500219F4CA04DA04A914B002808D0C1
-:103B200001281DD0022822D093A1B32011F051FA10
-:103B300070BD01200004A060A86011601960984B5E
-:103B400042109A60974A9060814A0012106096482D
-:103B5000016087480160954801609548017070BD1B
-:103B600001204004A060A8605160596070BD012030
-:103B70008004A060A8609160996070BDF8B594461B
-:103B8000844A854D00240127754E002808D001285D
-:103B900036D0022844D078A1E82011F01AFAF8BDF6
-:103BA000891E0902090A01200004906034606860DF
-:103BB0007A4A1160012B21D000217D4A7D4B517042
-:103BC00061463D31DC63DF637B4B5C6002249C60BB
-:103BD00004241C61744B196074490F60614B891592
-:103BE0001960704B58606048016075487349C16046
-:103BF00086606B49600348601770F8BD0121DCE7FF
-:103C000001205C4E40046F4F012B04D134605060A2
-:103C100068603960F8BD9060346068603960F8BDF4
-:103C20000120524E8004684F012BF4D1EEE7674823
-:103C30004068704770B54A4D28680026554C0128E9
-:103C400006D1A068C00303D501200004A0602E6047
-:103C50006868012809D1A068800306D501204004C6
-:103C6000A0606E6001200FF04CF9A868012809D10E
-:103C7000A068400306D501208004A060AE60022049
-:103C80000FF03FF970BD10B549490878002818D0E9
-:103C90000120434AC0039060424A400090602C4A91
-:103CA00000121060404A00201060314A10603F4A04
-:103CB000106008704A78002A02D048700FF021F98D
-:103CC00010BD0320FAE70120414900060860704753
-:103CD0000120244900060860704701203C49400546
-:103CE0000860704701201F4940050860704731494E
-:103CF0000020C86388151B4908607047410A354A8F
-:103D0000C005C00D5043801C5143400A081870473D
-:103D100010B4314C430B63431B0C5C020C602D4C04
-:103D20006343C31A2D485C0258432A4B400D43435A
-:103D3000E31A0124DB0324041B191B1613700A6801
-:103D40001018086010BC704710B50FF0B2F910BD24
-:103D500080E100E008E400E018E400E000B000408A
-:103D600040B1004080E200E000E100E048B10040E6
-:103D70004081004044B100407372635C72656D5FC6
-:103D800068616C5F6576656E745F74696D65722ECF
-:103D90006300000000B3004040B3004040B5004065
-:103DA00000F5014000830040408500400082004053
-:103DB00050000020C08F004000850040008000407F
-:103DC00080F5014044B5004048B5004000B50040D2
-:103DD00000E200E0093D0000378600006F0C0100A2
-:103DE0000E4A12680C498A420AD118470B4A1268D7
-:103DF000094B9A4204D101B50DF0DDFD03BC8E469E
-:103E0000074909680958084706480749054A064B03
-:103E10007047000000000000BEBAFECA1C0100206E
-:103E200004000020901D0020901D002010B5FA4CC9
-:103E300094B02168087A002836D017206A4610709E
-:103E400000A806220931023010F026FF09A96846B1
-:103E500009F0AEFD112825D02168C03189790629E5
-:103E600020D007291ED008291CD004291AD00929DE
-:103E700018D00A2916D00B2914D0052912D00028F1
-:103E800003D0E6A1F32011F0A4F82168B82040582F
-:103E900006221C30093110F0FFFE2068017A8030C4
-:103EA000806BC17614B010BD3220C7E770B5DA4D13
-:103EB000044629680300C03111F07CF90C077C0B23
-:103EC0001A212E3B48515C677080FF20D3A1093036
-:103ED0006EE0887901286DD009286BD0052869D05B
-:103EE0000A2867D00B2865D0FF20CCA10E305FE0F8
-:103EF000887901285ED0FF20C8A1153058E0887964
-:103F0000062857D0072855D0082853D0052851D067
-:103F1000FF20C2A118304BE0887909284AD00A282E
-:103F200048D00B2846D0042844D0FF20BBA11E3027
-:103F30003EE0887903283DD007283BD0082839D0B7
-:103F4000092837D0FF20B5A1243031E08879062830
-:103F500030D00A282ED0FF20B0A12A3028E088795E
-:103F6000062827D0072825D00B2823D0FF20ABA177
-:103F70002E301DE0887906281CD00A281AD00B287C
-:103F800018D0FF20A5A1333012E08879092811D07C
-:103F90000A280FD0FF20A1A1383009E0887909282C
-:103FA00008D00A2806D0082804D0FF209BA13C3066
-:103FB00011F00FF82868C030847170BDFF2097A100
-:103FC0004130F5E79449C9220968525CD206920F44
-:103FD00005D1A0318A8B824201D1887F70470020B1
-:103FE000704770B504461120207000218A4D617021
-:103FF0002968C031897A002908D003290ED0042904
-:1040000010D0FF2085A16A3010F0E3FF207800096E
-:10401000012802D92868807D607070BD0007000FFC
-:10402000203002E00007000F30302070EEE730B59E
-:1040300003887E497E4C8B4202D09A1FA2421ED238
-:1040400042888A4202D0951FA54218D2934216D8C0
-:1040500083887D24E400A34211D8C088884205D01B
-:10406000734D04460A3C2D1FAC4208D2884208D04A
-:104070008A4206D05B1C5A43C000824201DD072001
-:1040800030BD002030BDFFB50022099B002802D0C2
-:10409000994205DC5CE0002902D1002004B0F0BDAB
-:1040A0000920FBE7845C002C12D085186F780D2F57
-:1040B0004CD010DC3B0011F07DF80A421B2A2A305C
-:1040C0003032323A3A42835C002B3FD1521CD2B29A
-:1040D0008A42F8DBE1E7122F31D004DC0E2F35D015
-:1040E0000F2F2CD132E0142F11D0152F27D116E02D
-:1040F000022CD5D1AB78039C072B237001D25B0730
-:1041000001D40A20CAE7029B01241B7814E0E34390
-:10411000DB0708E0012C08D011E00620BEE70F25E0
-:1041200023072D075B19002BF4D03046B6E7029B1E
-:104130001B789C070AD402242343029C2370835CCF
-:10414000521C9A18D2B28A4204DDA9E70B20A5E7D7
-:10415000192676028A42A5DB9FE705E00278401C1B
-:10416000002A01D0002070470A46491E89B2002A61
-:10417000F4D10120704730B5274D0021286887B061
-:10418000C943A030818300248477214606200DF0A6
-:10419000D1FD002105200DF0CDFD002102200DF004
-:1041A000C9FD0120FFF782FE28686946C030C4714E
-:1041B00004720120087068460BF007FC07B030BDA0
-:1041C00030B5154C95B02268C0329279042A0CD0D3
-:1041D000052A0AD028236A4613705080132906D076
-:1041E0003B2904D0072015B030BD0820FBE7117132
-:1041F000104609A909F0DCFB05000BD12068C0308E
-:104200008179062916D0082914D0072912D0052053
-:10421000FFF74CFE2846E6E7540000207372635C0B
-:104220006761705F636F72652E630000FFFF0000BF
-:104230007B0C00000420EBE730B587B0040003D00E
-:10424000002107200DF076FDFE4D012128686A4609
-:1042500001720421117003210C300DF06BFA2968F2
-:104260004022887B8006800E1043887368460BF0DE
-:10427000ACFB00280DD12968098A00299ED0002CAA
-:104280009CD08B000122002107200DF0AEFC0728F6
-:1042900001D0032092E7002090E770B50025064684
-:1042A000002803D0002107200DF044FDE54C01213A
-:1042B00020680172062109300DF03CFA2068817BEC
-:1042C0008906890E8173FFF7B1FD2068008A0028F6
-:1042D0000AD0002E08D083000122002107200DF013
-:1042E00084FC072802D00325284670BD0025FBE783
-:1042F000F0B59BB0040004D11920D349400110F05F
-:1043000068FE72202070616800260A780825521F16
-:104310000127CC48130010F04DFF0F0976D9FD7628
-:1043200078FCFBB576767676FAF97600C5480068B3
-:10433000C0308079032803D0C349C44810F049FE37
-:10434000002108460DF0F6FC002107200DF0F2FCDC
-:104350006078BC4A28436070106810250146C0315F
-:104360004B7A2B434B7263689D783C2D48D00246B4
-:104370009D88A032977763688030DB890B80636803
-:104380001B8A4B8063685B8A8B8095836168826B34
-:10439000C97911756168806B08311530062210F0FB
-:1043A0007BFC0620FFF782FDA648CA210068FB229D
-:1043B0000E54017E11400176B82109588A7A92087C
-:1043C00092008A724682284602F0ACFE002804D091
-:1043D0009E489D491A3010F0FCFD284602F0BCF8BA
-:1043E000002804D0994898491D3010F0F2FD284665
-:1043F00003F008FD002806D069209349C0003EE183
-:104400000120FFF753FD1BB0F0BD064600688F8802
-:10441000C0308079062812D0072810D008280ED086
-:1044200004280CD009280AD00A2808D00B2806D066
-:10443000052804D0D5208449800010F0CAFD60789A
-:10444000284360703068C030417A294341728079D6
-:10445000092811D00A280FD00B280DD005280BD021
-:10446000FFF789FE384602F062FE384602F07AF81D
-:10447000384603F0FDFCC6E7FFF77DFE0220FFF79C
-:1044800015FDEFE70068C0308079062812D00728B4
-:1044900010D008280ED004280CD009280AD00A28E9
-:1044A00008D00B2806D0052804D06F206649C0002C
-:1044B00010F08FFD6068807902F0F1FE0028A2D034
-:1044C0006178294361706168C8809CE7074600688D
-:1044D000C0308079062812D0072810D008280ED0C6
-:1044E00004280CD009280AD00A2808D00B2806D0A6
-:1044F000052804D055485449623010F06AFD6078B0
-:10450000284360706068C188386804E032E197E150
-:1045100084E084E00FE0C030018061680989418057
-:10452000616849898180002102200DF003FC386810
-:10453000C030C67167E706460068C030807906283B
-:1045400019D0072817D0082815D0042893D0092897
-:1045500011D00A280FD00B280DD005288BD03B484E
-:104560003949793010F035FD3068C0308079042841
-:10457000ABD00528A9D03068807C40063AD5606869
-:1045800002210C30FFF7E9FD002833D060680821D4
-:10459000001DFFF7E2FD00282CD03168B8204058FC
-:1045A000807A800708D1CA20405C002808D1488A58
-:1045B000C20505D5C00703D14A8A402082434A82FA
-:1045C0004A8A802082434A822D2268460270BC209B
-:1045D000425A684642801022973101A810F05CFBD5
-:1045E00009A9684609F0E4F90028A3D0174816493C
-:1045F000A03044E062683068AC2192890A52616858
-:104600000822091DAE3010F047FB10A80574306871
-:10461000AE30159014A80BF0D8F9F4E68F71064669
-:104620000068C030807906281FD007281DD00828D0
-:104630001BD00428F1D0092817D00A2815D00B2840
-:1046400013D005E0540000201C42000029030000A4
-:104650000528E2D0F949FA4810F0BBFC3068C030B8
-:1046600080790428D9D00528D7D0606881790029BD
-:1046700002D08078002805D0F148F0496C3010F065
-:10468000A8FCC0E66078B8212843607030680958FB
-:10469000897A8907890F012952D1817C09064FD473
-:1046A000017E490701D5042100E00321C030817259
-:1046B0002B206946087009A9684609F079F9002895
-:1046C00004D0DF48DD49213010F083FC69463068B2
-:1046D000098D81820E2210A90A74DA49B822159137
-:1046E000125808324A61024660324A6092790A7072
-:1046F000024614320A61521D8A601032CA60133AAF
-:104700008A619632CA61921C0A62473A4A62103242
-:104710008A621032CA62473ACA63521E0A64921F02
-:1047200050304A64886414A80CF038FB022815D075
-:10473000002813D0C248C1494A3010F04AFC0DE0AD
-:10474000817C4906017E490701D5042100E003214F
-:10475000C0308172002106200DF0ECFA3068418AE9
-:104760000A0602D440229143418289B280229143B9
-:10477000418248E6B4480068C0308079032804D0FC
-:10478000AF48AE49783010F024FC002108460DF007
-:10479000D1FA002107200DF0CDFA6078AA4A28430B
-:1047A0006070106810250146C0314B7A2B434B7264
-:1047B00063689D783C2D00D122E602469D88A03298
-:1047C000977763688030DB890B8063681B8A4B8036
-:1047D00063685B8A8B8095836168826BC979117588
-:1047E0006168806B08311530062210F055FA0620FA
-:1047F000FFF75CFB9448CA210068FB220E54017E3F
-:10480000114001764682284602F08CFC002804D034
-:104810008B488A49923010F0DCFB284601F09CFE60
-:10482000002804D086488549953010F0D2FB2846F0
-:1048300003F0E8FA00289CD08148804997301EE7B1
-:10484000607828436070DEE500290BD088807E48C0
-:104850000068C0300288CA8002880A8142884A8182
-:10486000808888817047F7B5064600780C46002797
-:10487000010982B03D46012974D073480068009058
-:10488000C03002296FD0072904D00A296CD06B49A7
-:104890006E48E3E171680A78521F130010F08AFC39
-:1048A0000F09A551A5A52F585847A5A5A5A5656F22
-:1048B000A5008A783C2A1BD010271625002C7DD015
-:1048C0008888A0807068A21DC08920827068C08915
-:1048D000E0817068008A60827068408AA082716896
-:1048E00008460831C07901F09FFB0020607375E035
-:1048F00019270725002CE2D00021A17171E01127B2
-:104900000725002CDBD089880091A1807168F722EF
-:104910008979A171417A11404172009802F008FC36
-:10492000009801F023FE009803F0B0FAC1E10127DE
-:104930000925002CC3D08888A080706880792072F7
-:10494000B7E1888812270E252146FFF77DFFB0E1E9
-:1049500018270825002CB2D08888A080A01DFFF75A
-:1049600040FBA6E145E0A1E15DE01A270725002C08
-:10497000A5D04888A08070680079A07199E18A78F4
-:104980003C2AB5D010271625002C98D08888A08006
-:104990007068C08920827068C089E0817068008A70
-:1049A00060827068408AA0827168607B497D40089F
-:1049B0004000C907C90F0843607300E036E1716821
-:1049C000C007497DC00F49084900084360737168FA
-:1049D000A21D08460831C07901F026FB1A4800687C
-:1049E000C030417AEF22114046E1532013490001C3
-:1049F00034E1307A012803D014481049C5382DE13C
-:104A000012270E2570892146FFF71EFF002C91D03A
-:104A100070784007400F032888D10B480068C030E9
-:104A2000417AFB22DFE708490968A031002C01D058
-:104A30008A8BA280327A921E0AE000001C4200009B
-:104A4000ED030000AC120020540000200C06000012
-:104A5000130010F0AFFB073D4853EDEE6F05ED007E
-:104A600013270C25002C90D0009900224A82F1686F
-:104A700089788907890F0129217A26D049084900B8
-:104A80002172FD231940F3689B785B07DB0F5B0005
-:104A900019432172E323E2801940F3681B785B0716
-:104AA000DB0E19432172DF231940F3685B78DB07C3
-:104AB0009B0E194321726272F1680122C978A172BA
-:104AC000017A1143F7221140ADE001231943D7E7E2
-:104AD00015270C25002C9AD0F06806220068A11D2D
-:104AE0000EF07CFFE5E016270725002C8FD0317BE8
-:104AF000A171017A08221BE00172DAE01427122565
-:104B0000002C84D00098A21D8030806B01461531A6
-:104B1000007D01F089FAB089E081207C0121084301
-:104B2000F92108402074FE480068C030017A022252
-:104B30001143E1E717273825002C77D03221A01D3B
-:104B400010F007F90020A071207A03210843207299
-:104B5000FB210840F24909680A7E5207D20F9200F1
-:104B600010432072B8204058807A800757D0A07A2E
-:104B70008A7C4008D2074000D20F1043FD2210402B
-:104B8000A0728B7CFB229B07DB0F10409B0018431D
-:104B9000A0728B7CF7269B07DB0F3040DB001843AD
-:104BA000EF231840A072E07A10408A7CD206D20F20
-:104BB00092001043E0728A7C3040D206D20FD200BD
-:104BC0001043E072888AA0812046102267310E309F
-:104BD00010F062F8D249A07F0968C0078A7DC00F33
-:104BE00052001043A0770A7E400852074000D20FBF
-:104BF0001043A077084640304DC820344DC4303CA7
-:104C00003F20405C22463032393101F00DFAC44871
-:104C100000688030806B817A890889008172C04881
-:104C20000068C030017AFB22114065E737E000E000
-:104C300038E0327B022A14D017273825002C2ED0DA
-:104C4000017AFB2319400172012A17D0032A17D0D9
-:104C5000042A18D0052A16D0B249B34810F0B9F981
-:104C600027E019270725002C19D0898BA180012165
-:104C7000A171417A4908490041721AE0012000E01F
-:104C80000220A07106E0707B0007000F8030A07149
-:104C9000052A02D00020E0710BE00120FBE7049818
-:104CA00005800CE0A0489F490A30D7E7317A0029F7
-:104CB00008D00498002C058001D027806580002052
-:104CC00005B0F0BD19270725002CE8D00021C94305
-:104CD000A1800021A171417AFD2284E610B5904C9B
-:104CE00094B02068C0308079022809D0032807D00A
-:104CF000052805D0092803D00A2801D00B2837D170
-:104D00001B2108A801730021817369460BA808F0D4
-:104D10004FFE002804D1684640781B2802D00320AB
-:104D200014B010BD002108460DF004F80021072042
-:104D30000DF000F868468078002819D12068C0304E
-:104D40008079801E030010F035FA0A060613081356
-:104D500013130D0F1113012000E00420FFF7A6F834
-:104D60000020DDE70620F9E70720F7E70820F5E750
-:104D70000820D5E770B50025694C002807D0022827
-:104D800017D0072828D033206649400146E0FFF7B6
-:104D9000A5FF00280CD1FEF7D6FA2221017005727A
-:104DA000FEF7EDFA2068C030417A022211434172C9
-:104DB00070BDFEF7C8FA122101700121017221684D
-:104DC000BC22525A4281C031CD71FEF7D8FA206818
-:104DD000C030417A0422E9E72168C620405C0228FD
-:104DE00009D0032807D0092805D00A2803D00B28AA
-:104DF00001D00528DCD1887B8109012911D08009E7
-:104E000004D0494847496E3010F0E3F80020FFF71E
-:104E100044FA0028CCD044484249723010F0D9F806
-:104E200070BD0020FFF708FAF3E770B50D460400E7
-:104E300004D1CD203B49C00010F0CBF820780128E8
-:104E400005D0394837499D3010F0C3F870BDA188AE
-:104E50003648334E814209D1E288824206D1306819
-:104E60001321A030808BFFF7ABF970BD814202D1D6
-:104E7000E08800280AD012202870687808210843AA
-:104E8000687007CC083507C5002106E000227823AA
-:104E9000114602200CF0A9FE02213068C030C17119
-:104EA00070BD1F480068C030807A704738B51C4C10
-:104EB00005460278206813000146C03110F07AF9E7
-:104EC00009A8060909A21945728AA800FEF7AEFFD3
-:104ED00038BD8879062806D0092804D0124811491F
-:104EE000B53010F076F820680422017E1143017677
-:104EF00088E0A9880029EBD0A030808B0B4988423C
-:104F0000E6D0A868002804D107480649C53010F04B
-:104F100060F8A8680A38A8600090AB88206807E0AD
-:104F2000540000201C420000E9050000FFFF0000C3
-:104F3000A030808B0622042102F028F80028C7D078
-:104F4000F849F94810F045F838BD287902288879E1
-:104F50000DD00428F8D00528F6D0284601F075F8C1
-:104F600020681321A030808BFFF72AF938BD07286D
-:104F700006D00A2804D0EC48EA490A3010F029F893
-:104F8000284601F062F820680122C030417A1143BE
-:104F900041728079072803D00920FEF787FF38BDCA
-:104FA0000620FAE7887906280AD0042808D00928BC
-:104FB00006D0052804D0DC48DA49313010F009F871
-:104FC0000ECDDA480361C2608160A2210170FEF754
-:104FD000EBF938BD8879062818D0072816D009289B
-:104FE0000DD00A280BD0D048CE4944300FF0F1FF45
-:104FF0002068C0308079062808D0072806D00B200A
-:10500000FEF754FF284601F020F838BD0820F7E7E6
-:10501000C548C449583095E7FFB593B001246846A8
-:1050200003218470C9021D4601800AF0A6F90022FE
-:105030006946012003F0ABF906460AF0A2F9002EFA
-:105040005CD16846152184704902018000271C212B
-:1050500001A808970FF07FFE01200146103108A833
-:1050600001700020014608A841708178F9200140B4
-:10507000891C214308A881706846017902263143C2
-:10508000017114998185C7851F21018608A80A909E
-:1050900013980D90684609900AF06FF90EAA09A9B5
-:1050A00001A802F036FF07460AF06BF9002F02D084
-:1050B000384617B0F0BD9E4F68463968008F48806B
-:1050C000684684709B49018008A88078F9210840CF
-:1050D000801C4108490008A88170684686850686BC
-:1050E00015A80D900AF049F90EAA09A901A802F025
-:1050F00010FF06460AF045F9002E01D03046D8E7E9
-:1051000068463968008F88808A4968468470C91C5F
-:105110000180298810A8018069884180A988818040
-:10512000E988C180082168468185018610A80D9014
-:105130000AF023F90EAA09A901A802F0EAFE044622
-:105140000AF01FF9002C01D02046B2E76846396802
-:10515000008FC8800020ACE7F0B5774D95B00C46C5
-:10516000A9423FD30126B604744FA11BB94239D3DB
-:1051700073498C4236D2202806D0212827D02228F5
-:1051800042D0072015B0F0BD3C216846017021884F
-:1051900041806188818009A908F00AFC0028F1D1CA
-:1051A00008A98979002903D002290ED00320E9E754
-:1051B0006168A942E6D38A1BBA42E3D3604A9142AE
-:1051C000E0D26A46128D0A80DCE75E48DAE72068A2
-:1051D000574C002813D00721490701224118920398
-:1051E000914201D31020CDE706210EF0E1FB2168AA
-:1051F000A82250500120A03188750020C2E7206805
-:105200000021A0308175F8E7204600F02AFFB9E7B9
-:10521000494A10B5914208D301229204474B8A1A99
-:105220009A4202D3464A914201D3102010BD202851
-:1052300005D0212803D0222803D0072010BD062046
-:1052400010BD084600F051FF10BD70B50446374848
-:10525000CC21AC300FF07FFD3448354EAC3000210E
-:105260003060C943A0308183002585770120FEF797
-:105270001DFE3068C7210D54E121C57389000182EC
-:10528000B6210D54014609310830FDF779FF316828
-:10529000084629311930FDF7A9FF002C24D03068C9
-:1052A00080308463FEF7C2FD1E20E081607A8F218A
-:1052B0000840303060723068014614312161983105
-:1052C0006162933921601031616025721339A162E6
-:1052D000091FE1628531E163303921631031616377
-:1052E00010310930A163A06470BD11480068C0305E
-:1052F0008079042803D0052801D0002070470120C0
-:10530000704770B506460C480C46814208D3012010
-:1053100080040A49201A884202D30948844213D3E0
-:10532000102070BD1C420000B30600004C1200208B
-:1053300054000020012A0000006001000000FC1F52
-:105340000040002002300000FFF7CFFF002801D00E
-:105350001120E6E7FD48FE4D002E02D0012E46D179
-:105360002FE02278002A0AD00121012A09D0022A3E
-:1053700014D0032AD5D1A2799209D2D112E000210A
-:1053800003E0A2799209032ACBD128680622017290
-:1053900060308171611C0FF07FFC05E0A2799209F9
-:1053A000012ABED128680172002107200CF0C2FC3E
-:1053B00028680622611C09300FF06EFCFEF736FDEE
-:1053C00011E02178002912D0012910D0022910D033
-:1053D0000329A6D10120FEF760FF002803D0DD4994
-:1053E000DD480FF0F6FD2868C673002099E7072016
-:1053F00097E70120FEF720FFEFE707214907012289
-:1054000010B541189203914201D3102010BDD0492C
-:10541000024609680B7A0931184600F005FE0020A3
-:1054200010BDFFB599B005460020694608710872A5
-:1054300008A9087408751E4614460121C748890446
-:10544000C74AC84B002D06D085420DD36F1A97422C
-:105450000AD39D4208D2002C09D0844204D3601A9A
-:10546000904201D39C4202D310201DB0F0BD2846CB
-:10547000204318D01F270CAB01AA009728461A9981
-:10548000FEF701FE0028F0D10DAB02AA31462046FE
-:105490000097FEF7F8FD0028E7D16846007AC107BB
-:1054A00003D00A20E1E70720DFE7800705D568463B
-:1054B0000079800701D50B20D7E7FFF716FF0028FA
-:1054C00001D01120D1E703AF002D0FD01A2069467B
-:1054D00008731A9888732946F81C1A9A0FF0DCFB97
-:1054E0000EA903A808F064FA0028BED1002C0ED043
-:1054F000202168460173867332462146F81C0FF05E
-:10550000CBFB0EA903A808F053FA0028ADD19049AF
-:1055100008A80968007C08700020A6E7F0B50446DA
-:105520008E48002795B084426FD301208004211A51
-:105530008B488142F8D38B48844266D22378012B72
-:105540000BD1864960688842EED39904421A844997
-:105550008A42E9D383498842EFD27D490A681546D9
-:10556000C035A879022814D0032812D0052810D0FD
-:1055700009280ED00A280CD00B280AD0012803D005
-:10558000002B06D0012B04D0687AC506AD0F06D1DA
-:1055900001E00820F6E5850701D4400701D5112078
-:1055A000F0E5012B15D0208A6F4E0546203DB5420F
-:1055B0007ED2022B01D0032B01D1A02878D3012B5E
-:1055C00007D01078C00704D0608A002870D0B428B3
-:1055D0006ED8002B06D0012B08D0022B04D0032B51
-:1055E00066D110E0002512E0022510E06068012578
-:1055F000007800280BD0012808D0022806D0032804
-:1056000004D05248BEE5032501E066E00127D07BC7
-:1056100001281CD1108A002819D0907B810901290A
-:1056200011D0800904D04C484A49E4300FF0D1FC35
-:105630000120FEF732FE00280BD047484549E830EC
-:105640000FF0C7FC05E00120FEF7F6FDF3E7FEF7DB
-:10565000EDFB207A002806D0012806D0022806D0CB
-:10566000032825D105E0002604E0012602E00226F9
-:1056700000E00326002D01D0022D42D1002E40D0A3
-:10568000E068002814D00179002928D008290FD813
-:10569000027B9446082A0BD800290ED02F4A0168B5
-:1056A00091421AD3012292048B1A2D4A934200E0B0
-:1056B00084E012D32B4A91420FD26146002912D0C6
-:1056C00080682649884208D301218904421A244966
-:1056D0008A4202D32349884205D3102052E5027B37
-:1056E000002A6BD0D4E71A4800680078800702D0FF
-:1056F0001648401E46E5022D03D1022E5ED0032E31
-:105700005CD0182168460170218A4180218A8180FD
-:1057100085710F480068007A002801D0012870D1F7
-:105720006946C8716846077221780930012932D06C
-:1057300006210FF00EFB07216846C173067409A904
-:1057400008F036F90028C9D10A210FE00232000022
-:10575000540000201C4200005F08000000600100AF
-:105760000000FC1F00400020E13F0000684601707F
-:1057700009A908F01DF90028B0D13A20694608703F
-:1057800009A9684608F014F90028A7D1002D08D00F
-:10579000022D06D04CE061680622491C0FF07CFA0D
-:1057A000C9E7002E44D00026374623E00168B00048
-:1057B00009580978002903D0012904D00720E1E421
-:1057C00069468F7002E001216A469170E168062205
-:1057D0000968095800A8491C03300FF05DFA0B2036
-:1057E0006946087009A9684608F0E2F80028E6D181
-:1057F000761CF6B2E0680179B142D7D800266F4630
-:1058000012E050E08068B10041581022B81C0FF03F
-:1058100043FA3B206946087009A9684608F0C8F8B1
-:105820000028CCD1761CF6B2E068017BB142E9D801
-:105830001B20694608700120887009A9684608F095
-:10584000B7F80028BBD108A840791B282BD1002D20
-:105850000AD0012D04D0022D08D0032D18D105E067
-:105860000320FEF723FB26E003200FE0FE4800683C
-:10587000C030807903000FF09DFC0916061616183B
-:1058800016081A1C1600022000E00920FEF70EFB85
-:10589000608A00280FD000228300114610460CF0C9
-:1058A000A4F9002807D003206CE40520EEE70A20C5
-:1058B000ECE70B20EAE7002064E470B586B00C004A
-:1058C00006460BD0E94884424AD301208004E849C7
-:1058D000201A884244D3E748844241D2E24D2868E6
-:1058E000C030C179022902D0407A400702D5112088
-:1058F00006B016E5002C04D02046FEF798FB0028E1
-:10590000F6D13046FEF75EFB012803D0022823D0F3
-:10591000D948EDE721001BD1082069468882286814
-:1059200001ABC08805AA002103F019F90028DFD1D6
-:105930006846808A082801D00320D9E76846818814
-:105940008181C188C181018901824189418203A984
-:10595000304601F074FCCBE7002C01D00620C7E7ED
-:105960001020C5E770B50C460546FEF72BFB012855
-:1059700003D0022801D0C048D3E421462846FEF7D0
-:105980001FFCCEE400B50146143095B0192801D2B1
-:10599000880707D008461E3004D00A3002D00720FE
-:1059A00015B000BDFFF7A1FC002801D01120F7E7DA
-:1059B000AD4831220068417068460270817009A9C3
-:1059C00007F0F6FFECE701B582B0022069460880D7
-:1059D000A54802AB00686A468088002102F02AFFD1
-:1059E00069460988022900D003200EBD38B502217E
-:1059F0006A4611800721490701224118920391420A
-:105A000001D3102038BD9849034609686A468C883E
-:105A10000021204603F0A3F8694609880229F1D045
-:105A2000032038BD3EB504460820694608808F48EB
-:105A3000844208D3012080048D49201A884202D371
-:105A40008C48844201D310203EBD2046FEF7EFFA79
-:105A50000028F9D12088694688806088C880A0889D
-:105A60000881E0884881804801AB00686A46C088A8
-:105A7000002102F0DFFE694609880829E4D00320EE
-:105A80003EBD1FB504460820694688817748844298
-:105A900008D3012080047649201A884202D3754831
-:105AA000844202D3102004B010BD6F486B460068DA
-:105AB00003AAC088002103F052F80028F3D16946F8
-:105AC0008989082901D00320EDE7694609882180EA
-:105AD00069464988618069468988A1806946C98884
-:105AE000E180E0E7FEB50546604817460E46814274
-:105AF00008D3012189045E4A731A934202D35D4B95
-:105B00009E4201D31020FEBD1F2F01D90C20FEBDE7
-:105B1000554C85422AD3681A904227D39D4225D2FC
-:105B2000206801A9408802F037FE0028EFD12878CC
-:105B300069464871206801A9408802F010FE0028DB
-:105B4000E5D169460090087802210843694608704B
-:105B50004979090703D0082108436946087020687D
-:105B60006946408802F0A5FD0028D0D169460F8122
-:105B700020683346408802AA002102F05BFE694695
-:105B80000989B942C3D00320FEBD38B50C460721B0
-:105B9000012249079203002802D04318934202D2FF
-:105BA0006118914201D3102038BD21886A461180C6
-:105BB000002801D000290BD02B49034609684D88E5
-:105BC0000021284602F0CBFF69460988218038BDB4
-:105BD0000C2038BD30B50C46244987B08C4208D320
-:105BE00001218904224A611A914202D321498C423F
-:105BF00002D3102007B030BD1B4D2968C0310A7A8E
-:105C0000520708D48979491F0B000FF0D3FA050415
-:105C10000604040604000820ECE7FEF7D3F9012887
-:105C200003D0022839D01448E4E720881E2801D286
-:105C30000720DFE72868C030807906282BD00A20AB
-:105C4000FEF734F90520694608700879A1788008C4
-:105C5000C9078000C90F084369460871FB21084045
-:105C6000A1788907C90F09E05400002000600100F5
-:105C70000000FC1F004000200230000089000843A3
-:105C8000694608712088C880684609F09EFE002891
-:105C9000B0D00320AEE70720D2E70620AAE7F0B590
-:105CA00087B014460D46FEF78DF9012804D002286E
-:105CB00002D0FE4807B0F0BDFD4B18680146C03168
-:105CC0000A7AD20707D08A79042A04D0052A02D09A
-:105CD000002D02D052E00820ECE7F64A944208D3A7
-:105CE00001229204F44BA21A9A4202D3F34A94423C
-:105CF00001D31020DEE7A278D206520F042A0CD876
-:105D0000E378072B09D3102B07D822799A4204D3C2
-:105D1000102A02D822881E2A01D00720CAE702468C
-:105D20008032966BF727F372966B23793373966BF9
-:105D3000737A3B40A778BF06FF0FFF003B437372A7
-:105D4000966B2388F381966BA778B37AFF079B083D
-:105D50009B00FF0F3B43B372FB273B40A778966B3A
-:105D6000BF07FF0FBF003B43B372926BA478537A17
-:105D7000E406DB08DB00640F234353720B226B46FF
-:105D80001A70852D22D008DC002D17D0812D17D058
-:105D9000822D17D0832D08D116E0862D18D0882D9E
-:105DA00018D0892D18D08A2D18D00B221A71B6223E
-:105DB000125CBF4C002A13D0A83012E00022F5E795
-:105DC0000122F3E70222F1E70322EFE70522EDE7E4
-:105DD0000622EBE70822E9E70922E7E70A22E5E7DE
-:105DE00000200290887907280BD0082809D00920C4
-:105DF000FEF75CF8684609F0E8FD002803D00320B0
-:105E000058E70620F4E720680422C030017A4908E8
-:105E100049001143017200204CE770B5A44E0D46B5
-:105E2000316886B0C031097A1446090701D40820C8
-:105E30005EE5FEF7C7F8012803D0022801D09B4891
-:105E400056E5002D12D09B48844208D301208004DF
-:105E50009949201A884202D39848844201D31020DD
-:105E600046E5012D0BD0022D02D106E0002C01D019
-:105E700007203DE50020029005E0022000E001201F
-:105E8000694608710294032069460870684609F063
-:105E90009CFD002801D003202AE53068F722C0309D
-:105EA000017A11400172002022E570B594B01446C9
-:105EB0000E46FEF787F8012804D0022802D07B485E
-:105EC00014B059E57A4D2868C030007A800701D4B3
-:105ED0000820F5E7002C01D00720F1E7FFF705FACD
-:105EE000002801D01120EBE7002E1DD02D2168469F
-:105EF00001702C68BC20015B684641801022B11CF7
-:105F000001A80EF0C9FE207EFB210840B17CC90724
-:105F1000490F08432076B07CFF214008A075608AB5
-:105F200082310843608207E02E21684601702868AC
-:105F3000A030818B6846418009A9684607F038FD8A
-:105F40002968FD23C0310A7A1A400A72B8E710B5F1
-:105F50000C46FEF737F8012803D0022801D0534839
-:105F600010BD5448844208D3012080045249201AAD
-:105F7000884202D35148844201D3102010BD2046EC
-:105F8000FEF72FF8002010BD10B594B00446FEF7C0
-:105F900019F8012804D0022802D0444814B010BDDA
-:105FA00043480068C0308179042910D005290ED0FB
-:105FB0003820694608704C8001200871487109A991
-:105FC000684607F0F5FC0028E8D00B20E6E7002043
-:105FD000E4E710B594B00446FDF7F4FF012803D0C0
-:105FE000022801D03148D9E731480068C0308179B2
-:105FF00004290DD005290BD03820694608704C8043
-:1060000000200871487109A9684607F0D1FCC5E76E
-:106010000020C3E726480068C0308079062801D3F5
-:10602000012070470020704708B51346002806D0AD
-:1060300023A00068009048796A468009105C1870B7
-:106040000622581C0EF028FE08BD10B50446FDF7C8
-:106050007AF9A22101700ECC08300EC0FDF78FF93D
-:1060600010BD70B5124C054601682068002913D098
-:10607000104A914208D3012292040F4B8A1A9A4285
-:1060800002D30E4A914201D3102075E410227730DA
-:106090000EF002FE206801218030806B01722068C2
-:1060A000A9880182C17B012919D10BE002300000CF
-:1060B00054000020006001000000FC1F0040002090
-:1060C0000302FF01807B800901280AD00120FEF72E
-:1060D000E4F8002803D01A491A480EF07AFF00208D
-:1060E0004AE40120FEF7A8F8F3E770B5054600681A
-:1060F000154C00281ED007214907401801218903AB
-:10610000884201D3102037E42068B8210958097A61
-:10611000012909D00146773129300AF08EFF206825
-:1061200001218030806B017221681022286877314C
-:106130000EF0B2FD2068008AA88000201CE4000058
-:106140001C420000FD02000054000020FFB581B099
-:1061500001980E46C078174610360E37022809D02F
-:10616000032840D005287DD0F2A1F7480EF031FF7A
-:1061700005B0F0BDCC890A2060430E301880312371
-:106180000A98002A0380F3D0486800889080002095
-:10619000D0801081097B9481891FCDB21AE03088AC
-:1061A0007168388048780A7800021043F880C8780F
-:1061B0008A78000210433881BA1C091D28460BF06A
-:1061C0008AF8002D01D0002802D000203871788094
-:1061D00008360A372046641EA4B20028DFD1019990
-:1061E0000020C870C4E7CC890A2060430E301880B4
-:1061F00032230A98002A0380BAD048680025008814
-:106200009080D5801581087B401FC0B2009094819A
-:1062100042E0716832880878FA803A79C3075208F8
-:106220005200DB0F1A43FD231A408307DB0F5B008C
-:106230001A43FB231A404307DB0F9B001A43F72343
-:106240001A400307DB0FDB001A43EF231A40C30693
-:10625000DB0F1B011A43DF231A408306DB0F5B01B0
-:106260001A4300E020E0BF231A404306DB0F9B01E6
-:106270001A433A71C00978718A784B781002184332
-:1062800038813A46C91C00980BF025F8002801D047
-:10629000BD703D8008360A372046641EA4B200282F
-:1062A000B7D10198C57063E7087BCC89801E85B2A1
-:1062B0002846083060431030188034230A98002A9A
-:1062C00003808FD048681746008890800020D080D7
-:1062D000108194811037E000D581C0190CE030881E
-:1062E0003880009878602A46716800980EF0D4FCD7
-:1062F000009808360837401900902046641EA4B262
-:106300000028ECD16BE7FFB50546C07881B00C469C
-:106310000A9E03000EF04EFF0BA3071733414F6D8B
-:106320008F9D9D9DA300207B1746082806D003283B
-:1063300004D085487FA154300EF04BFE04990E2006
-:10634000088030200CE0207B1746042804D07E48CB
-:1063500078A171300EF03DFE04990E2008803120A6
-:106360003080002F44D060680088B880607AFF30A9
-:106370000130F880E08938810020B88137E0207B47
-:106380001746042804D070486AA18D300EF021FE13
-:1063900004990E2008803220E2E7207B174602286D
-:1063A00004D0694863A1A9300EF013FE04990E20B1
-:1063B00008803320D4E7207B1746042804D06248A5
-:1063C0005CA1C4300EF005FE049810210180342039
-:1063D0003080002F0CD060680088B880607AFF3071
-:1063E0000130F880E08938810020B881F881E870B8
-:1063F000BEE6207B1746052806D0062804D0524862
-:106400004CA1E1300EF0E5FD049812210180352009
-:106410003080002FECD060680088B880607AFF3050
-:106420000130F880E0893881E089B8810020388225
-:10643000A988F981DBE7207B1746072804D042486A
-:106440003CA1F8300EF0C5FD04990E2008803620DE
-:1064500086E700962846049B00F02DFD88E635A1CE
-:106460003A480EF0B6FD83E670B5054600780C4656
-:10647000082603000EF09EFE124C3434241C380A09
-:106480000A0A0A0A0A0A0A0A0A0A0A4C687800284A
-:1064900004D02E4827A12C300EF09BFD002C03D1F8
-:1064A0001F2024A1400108E060783043607020E0A4
-:1064B000002CF9D17D201FA1C0000EF08AFDF3E76A
-:1064C000002904D03F201BA100010EF082FDFCF743
-:1064D0003AFF0446407830436070FCF750FF08E014
-:1064E0001A4814A1473002E0184812A14C300EF0AF
-:1064F00070FD002C0AD06078000707D5932020702B
-:106500002046582229460830FAF75EFE002070BD6A
-:106510000E4808A15030EAE710B500200C4C0D4998
-:106520000346C2008C525218401C0006D370000E65
-:10653000F7D010BD7372635C67617474635F636FDF
-:1065400072652E63000000005A020000B3030000D1
-:10655000FFFF000058000020FE49088001208870DD
-:1065600000207047FB4900208870704710B500215B
-:10657000F848C94301800021C17007F053FAD8E7F9
-:10658000F7B584B0054600276846078187806868AC
-:106590000C46008800F0ECFB0646287A032805D05C
-:1065A000002E03D1EC49ED480EF013FD297A204668
-:1065B000C91E123000900B000EF0FCFD0FF2F1F03E
-:1065C0003D09AA465C6D34B3CDF38B8BF000F078B7
-:1065D000012803D0E049AD200EF0FBFCA8896946F4
-:1065E000C0000E30888030200881002C22D06868DE
-:1065F0000188A180E7802781A989A18100200DE081
-:10660000C100B27909190A74B288CA81820052198C
-:10661000D3894B82128A401C8A8280B2A18981422E
-:10662000EED8D7E002A8009001AB224629463046BA
-:1066300000F0CCFBF1E002A8009001AB2246294615
-:10664000304600F005FCE8E0F07806281AD0FF207C
-:10665000C149223014E068680188A180E780278161
-:10666000A989A181B188E181E9892182EA89296921
-:1066700000982BE0F078062804D0FF20B6493C3083
-:106680000EF0A7FCE8896946123088803520088121
-:10669000002CE0D1C1E0F078072804D0FF20AE49FB
-:1066A00056300EF096FCA88969460E308880362058
-:1066B0000881002CBED068680188A180E78027810E
-:1066C000A989A1812046AA890E3029690EF0E4FA31
-:1066D00080E0E8896946123080B2382288800A81D9
-:1066E000002C79D068680188A180E7802781A9897A
-:1066F000A181287A102809D00221A173E989218279
-:10670000EA89296900980EF0C7FA86E00121F4E7CA
-:1067100002A8009001AB224629463046FFF716FD3D
-:106720007BE0F078082803D08B498D480EF051FCAF
-:1067300014206946888037200881002C6DD0686855
-:106740000188A180E7802781A989A18167822782AA
-:106750000120A0733EE0F078092804D080487E49EB
-:1067600018300EF036FC288A6946143088803720AD
-:106770000881002C51D068680188A180E78004213D
-:106780002781A173A989A181E9892182298A61824E
-:1067900020462A8A1430696998E702E038E01CE054
-:1067A00024E0F0780A2804D06D486B4933300EF0AD
-:1067B00010FC14206946888037200881002C2CD0DA
-:1067C00068680188A180E78027810521A173A781DE
-:1067D00027826782F77020E017E002A8009001ABE3
-:1067E000224629463046FFF78EFD16E00D20694609
-:1067F000392288800A81002C07D00120E08055488A
-:106800000188A1802781277307E00699088010E09E
-:106810008F205149C0000EF0DCFB68460699808845
-:106820000880002C05D06846008920806846808852
-:106830006080002007B0F0BDF7B594B015460F4654
-:10684000149800F0A0FA04000AD0032000F088FB9E
-:10685000022802D2E078002804D0112017B0F0BD41
-:106860004048FBE71720694601260883002D0FD01A
-:106870000321684601711021018210A8024605908B
-:1068800004A928460AF04DFD00280DD00720E5E7B1
-:1068900008216846017100210781C9434181052112
-:1068A0008673C90281810CE0A878A0712888A08035
-:1068B000684605218673C902818100210781C94389
-:1068C000418109AA023206A901A807F0E4F80028CC
-:1068D00002D000F06BFAC1E707A800906846038B6E
-:1068E00004220321149800F051FB0028B6D1E67071
-:1068F000B4E770B592B00D0006460ED000F043FA32
-:1069000004000CD0032000F02BFB022802D2E07818
-:10691000002806D0112012B070BD1020FBE71148EE
-:10692000F9E7172168468180042101722988818155
-:106930006988C181012181740B4901820AAA02324E
-:1069400001A902A807F0A7F800280FD000F02EFA3E
-:10695000E1E7000058000020346500003C0400001E
-:1069600063020000023000000228000008A8009026
-:106970006846838804220321304600F007FB002884
-:10698000C9D10221E170C6E770B592B00D0006468C
-:106990000DD000F0F8F904000BD0032000F0E0FA6D
-:1069A000022802D2E078002805D01120B3E7102099
-:1069B000B1E7FA48AFE717216846818004210172E8
-:1069C000298881816988C18101218174F44901820A
-:1069D0000AAA023201A902A807F05DF8002802D035
-:1069E00000F0E4F997E708A800906846838804223D
-:1069F0000321304600F0CAFA00288CD10321E1704F
-:106A000089E770B592B00D0006460DD000F0BBF9D5
-:106A100004000BD0032000F0A3FA022802D2E07891
-:106A2000002805D0112076E7102074E7DB4872E7D4
-:106A3000022168460172298881816988C1811721F4
-:106A400081800AAA023201A902A807F024F80028CE
-:106A500002D000F0ABF95EE708A800906846838892
-:106A600004220321304600F091FA0028DBD10421F2
-:106A7000E17050E7F0B591B015000E4607460ED014
-:106A800000F081F904000CD0032000F069FA02281C
-:106A900002D2E078002806D0112011B0F0BD1020FD
-:106AA000FBE7BE48F9E7172168468180042101729F
-:106AB000298881816988C181B17881743188018296
-:106AC0000AAA023201A902A806F0E5FF002802D0B6
-:106AD00000F06CF9E1E708A800906846838804227A
-:106AE0000321384600F052FA0028D6D10521E17082
-:106AF000D3E7F7B592B015460E46129800F043F969
-:106B000004000AD0032000F02BFA022802D2E07819
-:106B1000002804D0112015B0F0BDA048FBE70627DF
-:106B2000002D12D0684607728681C581A580172086
-:106B3000694688800AAA023201A902A806F0ABFFC2
-:106B4000002807D000F032F9E5E705216846017218
-:106B50008681EBE708A80090684683880422032119
-:106B6000129800F013FA0028D5D1E770D3E7F7B5F3
-:106B700092B016460D000ED0129800F004F90400F1
-:106B80000BD0032000F0ECF9022802D2E0780028B4
-:106B900005D01120BFE71020BDE78048BBE70727DD
-:106BA0006846077286811721049581800AAA0232FD
-:106BB00001A902A806F06FFF002802D000F0F6F845
-:106BC000A9E708A800906846838804220321129848
-:106BD00000F0DCF900289ED1E7709CE7F3B51720A0
-:106BE00091B00C46002915D021780B000EF0E2FA86
-:106BF000062B05051A041C2B1520C01EE28880B246
-:106C0000002A02D0A368002B04D0824204D90C20B1
-:106C100013B0F0BD1020FBE7042905D0A0880028A0
-:106C200011D101E00620F3E7119800F0ACF805005F
-:106C30000BD02078092701281AD0022807D0042871
-:106C400024D0052835D00720E2E75448E0E768461D
-:106C5000077161880181E1884181A068082603905D
-:106C6000304600F07DF9072829D34C48801CCFE737
-:106C70000C216846017161880181E1884181A06829
-:106C800003900EE0E878002811D118E00D21684645
-:106C9000017161880181A1884181E1888181A068B9
-:106CA00004900326304600F05BF90228EAD3112055
-:106CB000AEE70E2168460171217B0172F1E71721D1
-:106CC0006846018309AA023206A901A806F0E3FE7C
-:106CD000002802D000F06AF89AE707A800906846FA
-:106CE000038B04223146119800F050F900288FD10F
-:106CF0002178012907D002298AD0042905D0052945
-:106D000005D0032084E7082102E0EF7080E70A2124
-:106D1000E9707DE730B591B00C46054600F033F8D8
-:106D2000002808D0032000F01BF9022805D31B48D7
-:106D3000801C11B030BD1948FBE70F216846017176
-:106D400004811721018309AA023206A901A806F0CD
-:106D5000A2FE002802D000F029F8EAE707A8009078
-:106D60006846038B04220321284600F00FF9E0E770
-:106D70000C49884205D00C490988814201D10A4852
-:106D800070470020704710B5FFF7F2FF002802D0CF
-:106D90008178C90700D1002010BD0000023000003A
-:106DA00003280000FFFF000058000020002806D044
-:106DB000012805D0052805D0062805D003207047F6
-:106DC00011207047082070475C487047FFB583B0BA
-:106DD00003980C9EC0781D4614460F46012803D028
-:106DE0005749D2200EF0F5F8F889C0000E302880FF
-:106DF00030203080387B001FC0B20190002C26D09C
-:106E000078680088A0800020E0802081F889A08137
-:106E1000002616E0F0000519C01900902A464169C5
-:106E20000E3201980AF057FA002802D00020287488
-:106E3000E8810098761C008A68820098B6B2408A81
-:106E4000A882A089B042E5D803990020C870F1E477
-:106E5000F8B50646C0781F4614460D46042804D0EF
-:106E6000FF20374903300EF0B4F8A88906214843C3
-:106E70000E30388033210698002C01801AD06868C3
-:106E80000088A0800020E0802081A989A18103469C
-:106E90000CE01946062251434A190919D789CF81B6
-:106EA000977C8F74128A5B1C0A829BB2A1899942DB
-:106EB000EFD8F070F8BD70B514460546142204985A
-:106EC0001A8037220280002C18D0486800260088DB
-:106ED000A080487AFF300130E080C8892081C889CD
-:106EE000A0816682E878082809D0092811D00A28EC
-:106EF00019D0134913480EF06CF8EE7070BD087B82
-:106F00000C2804D00F480E490C380EF062F801200E
-:106F100012E0087B0D2804D00A48094908380EF011
-:106F200058F8042008E0087B0E2804D005480449DE
-:106F3000001F0EF04EF80520A073DEE703300000BE
-:106F4000346500008203000001460020FA4A02E096
-:106F5000401C082803D24300D35A8B42F8D1704713
-:106F600030B50446F44A0020163A117953790AE004
-:106F70005518AD79A54201D1401CC0B2491CC9B217
-:106F8000102900D100218B42F2D130BDFFB5EA4873
-:106F900081B0163841790A9C491CCDB21E46102D8D
-:106FA00000D10025E44816380079A84202D1042017
-:106FB00005B0F0BD0820FFF7D3FF0746072804D926
-:106FC000FF20DEA1A5300EF004F80298082801D1B8
-:106FD000072F17D001982080301D6080002060713D
-:106FE0002071E68003982081204606F005FD0028E8
-:106FF0000AD0D148029916384379821D99544571B7
-:107000000020D5E7D248D3E7FF20CCA1B7300DF060
-:10701000E0FF0320CCE7F0B58DB0044600256846BC
-:10702000057116468C460620FFF79AFF00281CD1F2
-:1070300021780127C807002801D0132917D96846ED
-:1070400087766178C17602218183C58304A8009088
-:1070500070680C23008805220621FFF797FF00289F
-:1070600003D0B6A185200DF0B4FF0DB0F0BDB2483D
-:1070700016380278002AF8D0427863789A42F4D120
-:10708000012918D0132919D16146062916D1057096
-:10709000002101200AF04EFE6846077170680188E1
-:1070A0006846C1800021C9430181607922790102CB
-:1070B000114368461AE06146062908D068460079FF
-:1070C0000028D2D0314601A8FDF7AFFECDE705700C
-:1070D000002101200AF02EFE6846077160792279AE
-:1070E00001021143684601810021C9434181E9E75A
-:1070F000914810B50021163801704A1E4280417037
-:107100000171417101200AF015FE10BD10B5FFF7A5
-:10711000EFFF0020884902464300401CCA5208285D
-:10712000FAD310BD84491639488000207047DFE744
-:1071300070470EB501216846017086498180C18083
-:107140000021FDF772FE0EBDF7B505460078002759
-:1071500000090C463E46012804D0FF2077A1683084
-:107160000DF037FF287A02280CD0FF2073A17E3063
-:107170000DF02FFF0298002C068001D0278066803A
-:107180000020FEBDEA89702710460A3086B2002C26
-:107190000BD068680088A080A8892081E280204602
-:1071A0000A3029690DF078FDE4E702980680E7E7E8
-:1071B000F0B543680246D9799C79090221435C7A8B
-:1071C0001E7A25025C88981D3543241F87B0A14292
-:1071D0001DD11B79022B1AD1042D1AD0052D2AD0CE
-:1071E000062D1AD0402D12D3061D0F4614462846F0
-:1071F000FFF7AAFE08280AD0112020700220207272
-:10720000A581E7812661607808210843607007B096
-:10721000F0BD001D00F0E1F8F9E7041D0D46FEF792
-:10722000F9FE0028F3D0062168460170019405722A
-:1072300008F0CBFBEBE7001DFFF7EDFEE7E710B52D
-:107240003D4C8AB0163C2278012A26D012236A4689
-:10725000937363789B1CD373082313820B88538228
-:107260004B8893828B88D382C988118301A90091AE
-:107270000C2305220721FFF789FE00280BD10022ED
-:10728000F023114601200AF0B0FC01202070607844
-:10729000801C607000200AB010BD1120FBE7F0B523
-:1072A000254C0027163C87B00646A51D1FE06079D7
-:1072B0002179884204D1112020A140010DF089FEDE
-:1072C0002079405D042804D0082808D17F1CFFB233
-:1072D00005E0072069460870684608F076FB2079CB
-:1072E000401CC0B22071102801D10020207130460E
-:1072F000761EF6B20028DAD1384688E710B5044683
-:10730000402801D2072010BDFFF71EFE082802D03A
-:107310003120000210BD0021074802E0491C082965
-:1073200003D24A00825A002AF8D1082914D0490011
-:107330004452002010BD0000DA1300207372635C19
-:107340006C326361705F636F72652E6300000000D2
-:1073500004300000FFFF00000420EBE700B54028E8
-:1073600001D2072000BDFFF7EFFD082805D000215E
-:107370003B4A40001152084600BD052000BDF0B553
-:107380008BB016460C00074607D0002E05D061884A
-:10739000402904D207200BB0F0BD1020FBE7208865
-:1073A000002801D0172801D90C20F4E70846FFF780
-:1073B000CBFD08280FD0258803A82A463146023085
-:1073C0000DF06AFC01A8009062882B46082138461F
-:1073D000FFF7DCFDDFE70520DDE7F0B50E460746E9
-:1073E00001468BB014460125304606F0D1FC082832
-:1073F0001DD10020694608850120FFF7B1FD002856
-:1074000002D117206946088503AB02330AAA394620
-:107410003046009407F0CFF800280AD0022819D08F
-:10742000032804D0FF200F4902300DF0D2FD28467A
-:10743000B1E76846038D002BF9D001A80090606881
-:10744000042200880121FFF7A1FD0028EFD00549A3
-:10745000EC20EAE760780025102108436070E6E739
-:10746000DA1300203C730000002803D08178012942
-:1074700039D101E0102070470188FA4A881A9142F8
-:1074800033D01BDCF84A881A91422ED00BDC00293D
-:107490002BD00320C002081A27D0012825D00121B3
-:1074A0000903401A07E001281FD002281DD0FF2839
-:1074B0001BD0FF380138002815D116E0FF22013219
-:1074C000811A904211D008DC01280ED002280CD07D
-:1074D000FE280AD0FF2806D107E0012905D002299D
-:1074E00003D0032901D0002070470F20704700B55A
-:1074F0000A2821D008DC03000DF05CFE0A1C2024C1
-:10750000241A24282224261A102819D008DC0B2833
-:1075100016D00C2814D00D281AD00F2808D111E04D
-:1075200011280FD0822807D084280DD085280DD0AF
-:10753000032000BD002000BD052000BDCB4800BDDC
-:10754000072000BD0F2000BD042000BD062000BDA7
-:107550000C2000BD70B500290BD0CB1FFA3B812455
-:107560001E46CDB2112B1BD2012805D0022806D011
-:1075700009E0002010701DE0FF20043001E0FF2032
-:107580000330814218D033000DF014FE111613138E
-:1075900016131616131616161313131316131600B6
-:1075A0000846FF3881381F2803D9FF39FE390229E0
-:1075B00002D81570002070BD1470072070BD00B592
-:1075C00003000DF0F7FD060406040C080A0C002069
-:1075D00000BD112000BD072000BD082000BD032014
-:1075E00000BD00780207120F04D0012A05D0022A3C
-:1075F0000AD10EE0000907D108E00009012805D0F2
-:10760000022803D0032801D007207047087000200B
-:10761000704706207047002807D0012807D00228AD
-:1076200007D0032807D007207047002004E011206E
-:1076300002E0212000E0312008700020704738B5BA
-:107640000C4605004FD06946FFF7CBFF002822D13A
-:107650002088032189028843694609788907090D32
-:10766000084320806946681CFFF7BBFF002812D141
-:107670002188032000038143684600788007800C3E
-:1076800001432180A8784007820F2020012A03D0DF
-:10769000022A03D0072038BD814300E00143218046
-:1076A00088B20105890F08D0012189038843A97890
-:1076B0000907C90F89030843208080B28104890F1C
-:1076C0000AD0A9784004C906C90F400CC903084371
-:1076D00020808004800F02D12088400403D52088B8
-:1076E000402108432080002038BD70B504460020AA
-:1076F000088015466068FFF7A2FF002815D1218990
-:10770000A089814210D86168594E8978C90707D08D
-:10771000711E884208D831460DF038FB298009E0F7
-:10772000FF21FF31884201D90C2070BDFF30FF30AE
-:107730000330288060688078C007A08903D0314674
-:107740000DF024FB03E0FF30FF30033081B22980CD
-:1077500020688178474801732068464900882039AD
-:107760004885002070BD10B5137804785B08E407E5
-:107770005B00E40F23431370FD2423400478A40727
-:10778000E40F640023431370FB2423400478640750
-:10779000E40FA40023431370F72423400478240744
-:1077A000E40FE40023431370EF2423400478E4063D
-:1077B000E40F240123431370DF2423400478A4063C
-:1077C000E40F6401234313700078BF244006C00F08
-:1077D0002340800103431370002906D00878C107B5
-:1077E00001D1800701D5012000E00020C001590629
-:1077F000490E0843107010BD30B50A8803239B0260
-:1078000004889A4323059D0F02D1A3049C0F01D045
-:107810009B0F00E001239B021A4303230A801B03F2
-:107820009A4303889804840F02D11805830F01D06E
-:10783000800F00E00120000302430A8030BDF3B551
-:1078400091B00D0018D01198002818D012212846A8
-:107850000DF07FFA01A9012007F0A9FE00242646B9
-:10786000374677E0022900000128000003300000BD
-:10787000010200000C140020102013B0F0BD0720FE
-:10788000FBE76846007C01280BD16846C1890520CA
-:10789000C002081A0AD001280AD002280CD00328F6
-:1078A0000CD0042C0ED0052C0FD10DE0012400E0EB
-:1078B00002246846868908E0032406E0684604241A
-:1078C000878902E0052400E0062468468189119832
-:1078D00081423FD12C74002E3AD00BA800900CAB03
-:1078E00010220021304607F0F4FE002820D168461F
-:1078F000808D2A46C0B20CA909F0EDFC002817D1F2
-:10790000AE81002F24D00BA8009006AB13220021DB
-:10791000384607F0DEFE00280AD16846808D06A9A9
-:10792000C01E0331C0B22A1D09F0D5FC002801D0C9
-:107930000320A2E76846817E427E08021043E88168
-:10794000062C05D16846007CA8726846C08928814B
-:10795000002092E701A807F032FE002891D0FFF73F
-:10796000C6FD8AE7002804D0012903D0022904D0EB
-:1079700003207047F949C98D02E0F8494031C988B0
-:10798000814201D1002070470720704730B5F34C89
-:107990000025608B91B0C00B2ED1216900292BD01E
-:1079A000207B800728D401226846027102720022DF
-:1079B0004272228B8281A28A8282049117210183E2
-:1079C00009AA0023023206A901A807F0A7F9002896
-:1079D00003D0FFF7F4FD11B030BD207B0221084336
-:1079E000207307A8009069460B8B20880422012190
-:1079F000FFF7CCFA05460BE0FBF7A5FC84210170EC
-:107A00000921017218341ECC0C301EC0FBF7B7FCE4
-:107A10002846E0E710B5D14C034621690020002933
-:107A200009D02146012210311846FBF76BFE0020D9
-:107A30002061A0820120217BF9221140217310BD19
-:107A400070B50C4605461C2120460DF082F9002039
-:107A50002080002D08D0012D04D0C1A1C5480DF013
-:107A6000B8FA70BD062000E00520A07070BD10B50A
-:107A700007F07CFB10BDFEB50546007800260C46DD
-:107A8000374603000DF096FB0C91070C1D962F4610
-:107A90002F46486C899168680A38FBF793FD89E0A6
-:107AA000002904D0B348AEA11B300DF092FAFBF7C9
-:107AB0004AFC04464078082108436070FBF75FFCED
-:107AC00078E0002C04D1BB20A5A180000DF081FA44
-:107AD000284601F0B1FA00286CD0607808210843EC
-:107AE0006070022666E0E888694608800190002CF4
-:107AF00004D1A0489AA12F300DF06BFA28780728FE
-:107B00001CD10198C00B19D0944800218171A9881B
-:107B1000818012E003264DE0002C04D1C52090A105
-:107B200080000DF056FA8D48017B89070BD500695E
-:107B3000002802D0E888C00B3CD0022660780821DB
-:107B40000843607036E0291D8EC918308EC0283871
-:107B50000188022601222046FBF7B6FD0127EDE74A
-:107B6000002C04D183487EA164300DF032FA7B48AA
-:107B70000821007B4007C00F460060780843607012
-:107B8000002E17D12879012802D16879002811D058
-:107B90002046FFF73FFF07460CE0002CCED10D201A
-:107BA0006FA180010DF015FAC8E772486CA17A3018
-:107BB0000DF00FFA002C0CD06078000709D5002FCB
-:107BC00007D1842020702046582229460830F9F732
-:107BD000FBFA3046FEBDF7B5027A88B00C46054682
-:107BE00020460C300490069216300027921E029018
-:107BF0003E460A31594813000DF0DCFA0ADF06E66A
-:107C00002AE62AE66A98C6E64288002A02D0522767
-:107C10000726DDE051271E26002C7DD06A684F48DC
-:107C20001288A2800122A2718079C0004019C08907
-:107C3000FFF705FE002877D148488179C900491926
-:107C4000C98921818079C0004019408AA083BFE0A2
-:107C5000688A00900698072817D1E889C00B14D0CD
-:107C600000985127223086B2002C55D0A88904995B
-:107C7000FFF7E5FD002857D168680088A080022042
-:107C8000A071A8892081012041E000985027203070
-:107C900086B2002C40D0A889FFF7D1FD002843D13F
-:107CA00068680088A080A889E080287A07280AD020
-:107CB00002202072288AA0830098E0832046696908
-:107CC0002030009A01E00120F3E70CF0E5FF7FE0AF
-:107CD000698A00910169002902D0E989C90B22D083
-:107CE0000099512722318EB200218171A9898180AA
-:107CF000002C5FD00088A080A8890499FFF79FFD21
-:107D0000002811D10220A071A88920810420A0722E
-:107D1000288AE083009801E04CE005E0208469694E
-:107D2000009A0298D1E703200BB0F0BD007B40071A
-:107D300002D55127222601E050272026002C39D0D9
-:107D40006868502F0088A08016D00220A0712146BC
-:107D5000287B0831FFF774FE3AE00000EC130020A6
-:107D60007372635C67617474735F636F72652E63B3
-:107D700000000000CB020000287BA11DFFF760FE81
-:107D80000020FFF747FE23E0A9890089884207D138
-:107D900054270626002C0DD068680088A08017E0C4
-:107DA00053270826002C05D068680088A080A88981
-:107DB000E0800DE00A98068010E055270726002C89
-:107DC000F8D00020A07103E0FD49FE480DF001F954
-:107DD0000A98002C068001D0278066800020A3E747
-:107DE000F94800210172203801814181418081716F
-:107DF0008180027BF923520852001A40027301610C
-:107E00008182704770B5F04C86B0203C2080002005
-:107E10006080A071A0806946012007F0C8FB102691
-:107E200008E00199088802461207D20FB0431201F8
-:107E300010430880684607F0C2FB0500F1D02069B6
-:107E4000002804D0DF48DE4933300DF0C2F8207B33
-:107E5000800704D5DB48DA4934300DF0BAF8822DBA
-:107E600004D02846FFF743FB06B070BD0020FBE7B7
-:107E7000D54810B52038017B012211430173002140
-:107E800041808171818006F045FB10BD10B5CE4C5C
-:107E90000020C043203C20800020FFF7BBFD207B5A
-:107EA00040084000207310BD70B5C74D0446203D0A
-:107EB000287B800704D5C348C1494B300DF089F8B1
-:107EC000287BC00706D12888C049884202D028698B
-:107ED000002801D0082070BD002C08D0A0881628EA
-:107EE00001D2092070BD20682861A088A882FFF710
-:107EF0004DFD70BD10B50C4607F02DFB002804D0D9
-:107F0000C520AF49C0000DF064F82046FFF7EFFA36
-:107F100010BDF0B5AC4D0446203591B0002008905E
-:107F200068820E462882E8812946E8804039088622
-:107F3000694608830885088688838882A2480E904F
-:107F4000007A1746012808D0022806D0032804D05A
-:107F5000042802D0082011B0F0BD9D48844269D3A6
-:107F600001239B049B49E21A8A4263D39A4A9442B2
-:107F700060D286425ED31001331A0846834259D339
-:107F80001046864256D26068002815D09049884233
-:107F900050D31101421A8F498A424BD38E498842ED
-:107FA00048D260892189884203D801225202914235
-:107FB00001D90C20CFE7089010AA0CA93046FFF792
-:107FC00094FB0028C7D106A92069FFF738FB0028D9
-:107FD000C1D1206900280CD060788007002868464D
-:107FE000008B03DA8004800F75D002E08004800FDC
-:107FF00071D16846008B81061ED58004800F6068B1
-:1080000009D0002818D00721490740180121890309
-:1080100088420FD201E000280ED06D496068884286
-:1080200008D301218904421A6A498A4202D36A4963
-:10803000884201D310208EE705A96069FFF7FFFA97
-:10804000002888D16069002808D06846808A010528
-:10805000890F01293FD18004800F3CD007A9A06976
-:10806000FFF7EDFA0028A5D16846808A800632D451
-:108070006846808B81062ED4A169002906D00105AF
-:10808000890F012927D18004800F24D0E0680028BF
-:1080900004D0007800281ED01C281CD24A4A611C3B
-:1080A000123220460992FFF75EFB0321002089026D
-:1080B000884301218902411868460D9101850121FB
-:1080C000817446490182404A0FA91532306809F08F
-:1080D00028F9002801D007203DE708A8007F3A4989
-:1080E000C01CC2B26A7100201031FF3200900190B2
-:1080F000FF3203460291039003320AA904A807F055
-:10810000C5F9002827D130482038008E0B902E4822
-:108110003389383032690146123902910093019255
-:10812000039010A90A8873890CA9306807F0AEF98A
-:1081300001007CD12448E98811308170090AC1709E
-:108140000026009631386A79008E3146099B07F087
-:108150001CF9002802D0FFF7CAF9FCE60E98807CD3
-:10816000C00928D068460D99018501218174292113
-:1081700009020182AE81287B61784008C90740006E
-:10818000C90F08432873FD2108406178022289073E
-:10819000C90F4900084328730B4900922A31881CF3
-:1081A00002910190002303960D4A0AA904A807F042
-:1081B0006DF901003BD1606800283DD0206911E0D5
-:1081C000607D0000220400000C140020FFFF00006E
-:1081D000006001000000FC1F004000200328000098
-:1081E0000302000000280DD106A90CA8FFF704FB2C
-:1081F0006078800706D46946088B03210903884309
-:1082000069460883012069468874FD4808822089F0
-:10821000FC490CF0BBFD6268089BFB48019200938F
-:1082200002900A460396002306A904A800E081E014
-:1082300007F02CF901007DD12078C10601D4800619
-:108240002ED568460684606900280DD105A90CA8C2
-:10825000FFF7D2FA6846818A032080028143012019
-:1082600080020918684681826946888A4821084345
-:108270006946888201208874E14808AA401C088267
-:10828000E1490192891C0220DE4A029100900023FC
-:108290000396921C05A904A807F0F8F8010063D121
-:1082A0002078C0072ED068460684A06900280DD12A
-:1082B00007A90CA8FFF7A0FA6846818B032080026B
-:1082C0008143012080020918684681836846818BBA
-:1082D000402001436846818301218174C84908AA6E
-:1082E000891C0182C8480192001D0221C54A0091E3
-:1082F000029000230396921C07A904A807F0C6F871
-:10830000010031D1E068002832D068460D9901851E
-:1083100001218174BA49C91C0182E16808A80A7860
-:10832000027049784170E068418868464184E0689D
-:10833000017900E018E008A80171E0680722C1880F
-:1083400008A84171090A8171AF4808A9801D0092EF
-:1083500001910290412200230396D2000AA904A8A9
-:1083600007F094F8010003D00B98FFF7C3FDF2E586
-:1083700003210E98002F017207D0E8883880E88921
-:108380007880288AB880688AF8800020E3E5F0B514
-:1083900001248BB016460F46012802D002281BD1BB
-:1083A00004E0684605218474C90202E068469749E2
-:1083B00084740182002F11D0032100208902884398
-:1083C0000121890241186846018506AA05A9384697
-:1083D00008F0A7FF002803D00720A5E41020A3E49D
-:1083E000894DB8782E3D287338882F46203F7885F0
-:1083F0006A46127D0020294606AB00920E31019399
-:10840000FF32029103900346FF3203320AA904A807
-:1084100007F03CF8002802D0FFF769F884E4002E4A
-:1084200001D0F88D30802C7200207DE470B592B0C0
-:108430000446012508A8857075496846018406F040
-:108440009CFF002208A90120FFF7A1FF064606F0C5
-:1084500098FF30003AD120780024C00700283FD090
-:108460001C2168460CF077FC684601782020014307
-:108470006846017008A885706649684601841194B1
-:108480000794817FF9200140891C6846817700208C
-:10849000014668460177002001466846417704217D
-:1084A0008185C485018607A80A9011A80D9008A8A7
-:1084B000099006F062FF0EAA09A96846FFF729FD98
-:1084C000054606F05EFF002D02D0284612B070BDB2
-:1084D0004D486946098F4E3801816946898F41812F
-:1084E00049482E3804720020F0E7F7B5464E9CB09C
-:1084F00000212E3E0091317A012904D0022902D0B8
-:1085000008201FB0F0BD40494E39CA8D824201D0CB
-:108510000620F6E71D98824201D10720F1E73B488B
-:10852000012110AA9176401C1083002003239B0296
-:1085300002469A438B02D31810AA93846A46918408
-:108540003549D18410AA9077908317AA0A926A4677
-:1085500091850C9009A807F051F80024254627467C
-:1085600004A909A807F04DF8002810D082287BD173
-:10857000002C7CD0002D7AD010A8048145810024E5
-:10858000047518A8807812AD012872D07AE0684688
-:10859000807D002F1FD0012862D16846818A1B4848
-:1085A000401C814219D114A800906846408A0EAB45
-:1085B0001022002107F08DF8002877D110A8008A3A
-:1085C000042801D006285BD16846018F1D9881429E
-:1085D00046D10F2095E7012842D16846808A0521BF
-:1085E000C902884202D0491C884239D106484E3817
-:1085F000C18D6846408A814210D101270FE00000FA
-:1086000001290000010200003A14002001280000A6
-:1086100001180000052A0000FFFF00000027002CC1
-:1086200001D0002D0DD01D99884219D114A90091B7
-:1086300004460EAB1022002107F04BF8002835D17C
-:1086400001E0009D0CE010A8008A022801D010284B
-:1086500016D1C0B218AA0EA908F03DFE00280FD10D
-:108660006846408A00907BE720E000E001E00520BA
-:1086700047E72A1D15A918A808F053FE002801D0C5
-:1086800003203EE710A8007D0023001DC2B210A801
-:1086900002751E98029019A901950394009216A8DC
-:1086A00006F0F4FE002801D102213172FEF71FFF0F
-:1086B00027E73EB50B46401E84B201AA00211846AA
-:1086C000FFF751F806F059FE02A8009001AB012215
-:1086D0000021204606F059FE044606F052FE684688
-:1086E0000089012803D0FE49FE480CF072FC2046A8
-:1086F000FEF7FDFE3EBDF0B5FB4E0446307A89B074
-:108700000F46032804D0042802D0082009B0F0BD89
-:1087100004AA06A92046FEF7E8FF0500F6D1F248B4
-:108720002389383022690146103902910093019261
-:10873000039069460A8A638906A9206806F0A6FEA6
-:10874000002802D0FEF7D3FEE0E7002F03D0E64872
-:10875000203000893880042030722846D6E738B5AA
-:108760000C00054608D00022694607F00CF80028E6
-:1087700004D0FEF7BCFE38BD102038BD6946204647
-:10878000FEF75DFF0028F8D1A0786946C207D20F36
-:10879000284607F013F8ECE73EB50C0008D002AA13
-:1087A000694606F0F0FF002804D0FEF7A0FE3EBDAB
-:1087B00010203EBD032120460CF0CBFA684600880D
-:1087C00001A90005800FFEF726FF00280BD168469F
-:1087D000007920706846008801A98004800FFEF7A8
-:1087E0001AFF002801D003203EBD68460079607062
-:1087F000A278EF20024068460088C10B09010A43B5
-:10880000F7210A404104C90FC9000A43A270F921A7
-:108810000A40800601D5012000E0022040006946A0
-:108820000243097A50084000C907C90F0843A070E5
-:1088300000203EBDFEB51D4614460E46074606F016
-:108840009CFD01A8009022882B463146384606F050
-:108850009CFD054668468088208006F092FD2846EB
-:10886000FEF745FEFEBDF0B50C46002199B0074667
-:10887000684681850D46002C11D0E068002806D09E
-:10888000A06800280BD002886B469A850180A078EA
-:10889000012806D0022804D0072019B0F0BD10200E
-:1088A000FBE72088002807D0401E80B201A906F00F
-:1088B0007EFE002842D136E08C48EEE769468A8980
-:1088C00021888A420BD26846007C002501282CD1E1
-:1088D0006846C0898649884227D1012525E08A4219
-:1088E00003D1002D2FD06D1C01E0022D02D0032DED
-:1088F0001BD31FE06946097C012916D169467C4BD0
-:10890000CA895B1ED11A9A421DD005DC7948101A1B
-:1089100019D0012809D116E0012914D0FF390139F5
-:1089200003D1032506E00D26B60201A806F047FE96
-:108930000028C3D0822804D0002806D0FEF7D7FD37
-:10894000ABE7022DFAD13046A7E7E068002813D044
-:1089500006F013FD0BA800906A46A1882088928D2E
-:10896000E36806F012FD054606F00BFD002D19D157
-:108970006846A168808D088002980078C00601D5FD
-:108980005D488AE706F0F9FC0EA8009068468089E9
-:108990000CAB0222002106F09CFE054606F0F1FC1D
-:1089A000002D01D02846C9E76846008F022801D073
-:1089B000032072E7A078012808A8007C03D0800774
-:1089C0000ED4082069E7C007FBD00820FEF7C8FADC
-:1089D000072802D34548401C5FE70825022001E034
-:1089E000022503206946087621886846818317217D
-:1089F000818611AA002302320DA906A806F08EF97D
-:108A0000002802D0FEF7DBFD47E70FA8009068467C
-:108A1000838E042229463846FEF7B8FA3DE770B542
-:108A2000064615460C460846FEF71EFD00280AD1EC
-:108A300006F0A3FC2A4621463046FFF7A8FC044670
-:108A400006F09FFC204670BD70B514460D460646E4
-:108A500006F093FC224629463046FFF746FD0446C1
-:108A600006F08FFC204670BD70B51E4614460D0002
-:108A70001AD0002C18D06168002915D00121FEF70A
-:108A800071FF00280FD12068FEF7EEFC00280AD104
-:108A900006F073FC324621462846FFF73AFA0446B0
-:108AA00006F06FFC204670BD102070BD70B51546F5
-:108AB0000C0023D00221FEF755FF00280ED12068BC
-:108AC000FEF7D2FC002809D106F057FC29462046C3
-:108AD000FFF711FE044606F054FC204670BD00006E
-:108AE000607D00003E0600000C14002003300000F2
-:108AF0000328000000280000013400001020EDE7EA
-:108B0000FEB507460E4607201546400701211218FC
-:108B100089031C468A4219D2002C02D020188842B0
-:108B200014D2384600F045FA00280AD1002C0FD1A3
-:108B300001AA6946384606F026FE002802D0FEF754
-:108B4000D6FCFEBD68460088800601D41020FEBD1C
-:108B500023462A4631463846FFF76CFEFEBDFFB578
-:108B600085B01E4614000F4609D003AA02A9059835
-:108B700006F009FE002804D0FEF7B9FCC6E5102077
-:108B8000C4E568460089C00601D5FB48BEE506F08D
-:108B9000F4FB01A800900023F84A3946059806F036
-:108BA00098FD054606F0EDFB002D11D1002E0CD0EE
-:108BB00006F0E3FB002000902288334639460598F2
-:108BC00006F087FD054606F0DCFB684680882080BD
-:108BD0002846D1E7002906D0E94B0A885B899A42EA
-:108BE00001D8E84870473EE610B586B004236C46CD
-:108BF000A382E34B1C89002C07D05B898B4201D2F6
-:108C0000914204D9DF4806B010BD0620FBE76B4651
-:108C100019825A820021009101911C8002219970D1
-:108C200005A9029104A903916946FFF71CFEEAE732
-:108C3000F0B591B00D4681206946087105F09CFCA5
-:108C40000646002D08D02878CD4C012806D00228F1
-:108C500028D0072011B0F0BD1020FBE7A98801AA99
-:108C6000FEF778FC0028F5D1B00734D568460079C6
-:108C7000002820D1A879C0071DD006F07EFB002077
-:108C800000906A892989A088EB6806F07EFB694616
-:108C9000087106F076FB6946087900280BD0FEF7CC
-:108CA00026FCD7E7A98801AAFEF754FC0028D1D1F9
-:108CB000342006420FD00121684601720173017908
-:108CC0004173F00609D5A18868460182A18A018313
-:108CD0002069059004E00820BCE7A0886946088266
-:108CE000FAF731FB05461720694688830AAA2B4606
-:108CF000023207A902A806F011F8074668780007B3
-:108D000001D5FAF73CFB002F03D03846FEF757FC9D
-:108D1000A0E7F00603D5207B062108432073B006A8
-:108D200002D50020FEF776FE08A8009069468B8BDE
-:108D3000208804220121FEF729F98BE7F0B50026EF
-:108D400095B014460D4600290FD0022C4FD3A71E14
-:108D5000BAB28A480AF052FE29191039CA7B8B7BB5
-:108D600011021943884242D1BCB201A9012006F088
-:108D70001EFC7AE0029F3888010776D5002D41D08D
-:108D8000A9190691CA788B78361D1102B6B219431B
-:108D90008919A1422BD869468A8906994B780978A6
-:108DA0001B020B439A4222D1C00623D506F0E5FAF6
-:108DB00007A800900698AB19C17880780A02069936
-:108DC00002434878097800020843002106F0DDFAE2
-:108DD000009006F0D6FA009800283ED10698C17897
-:108DE000827808026946898B1043884202D00B20A2
-:108DF00015B0F0BD0698C17882780802104380193A
-:108E000086B22EE0C0062CD5002007AA01461154D8
-:108E1000401C80B21028FAD306F0AFFA06A80090E2
-:108E20006846002380891022194606F052FC009003
-:108E3000002803D006F0A5FA00980EE00BA86946BA
-:108E4000009088890A8B07AB002106F09EFA0090FB
-:108E500006F097FA0098002803D0FEF748FBC7E712
-:108E600003E0388810218843388001A806F0A7FB6A
-:108E7000002800D17EE7424D6988002921D00122D7
-:108E800068460276027700244477018417218185A1
-:108E90000EAA234602320BA906A805F03FFF0028C0
-:108EA00002D0FEF78CFBA3E70CA8009069468B8DDF
-:108EB000288804220121FEF769F8002898D16C80E7
-:108EC00096E7002094E7F0B5002487B015460E46DB
-:108ED000002A04D002A9012006F069FB41E010201D
-:108EE00007B0F0BD0398007800073AD506F045FAC0
-:108EF00001A8009068460023008A204A194606F01F
-:108F0000E8FB074606F03DFA002F23D1002E23D0C0
-:108F100068468088298820183719001D814239D376
-:108F20006946098A3970090A797069468988B97071
-:108F3000090AF97006F021FA01A869460090088A2A
-:108F40008A883B1D002106F0C4FB074606F019FA8B
-:108F5000002F01D00320C3E7684680882018001D39
-:108F600084B202A806F02BFB0028BBD082280BD0CD
-:108F7000FEF7BDFAB4E7000001340000FFFF000077
-:108F8000EC13002003300000002E0ED02988A01C16
-:108F9000814201D20C20A3E72246314639480AF02B
-:108FA0002DFD31190870000A4870A41C2C80002087
-:108FB00096E700B585B06946FEF741FC00280AD166
-:108FC0006846007C03000CF0F5F808052F2F2F2FC2
-:108FD00008080531032005B000BD684680780128E7
-:108FE00007D1684600880321C902401A1CD0012815
-:108FF0001AD068468079012806D1684680881521F4
-:109000004902401A05280FD96846807A012811D1F3
-:109010006846018929200002081A05D0022803D0D9
-:10902000032801D0042805D10F20D4E7164917489A
-:109030000BF0CFFF0020CEE738B5154A0021518054
-:1090400003791AE0CC002418A46800946C462488A4
-:10905000250707D5E50605D5D90008182038C08BA7
-:10906000508006E0640406D59171C9000818C088D4
-:109070009080012038BD491CC9B28B42E2D8002043
-:1090800038BD0000FFFF0000607D000033020000DB
-:10909000EC1300200120F8494006C861704770B504
-:1090A000F54D0024AC7028466C7020304470047478
-:1090B0006C61AC72AC6209F01AFFA86128463430CA
-:1090C0000AF0B4FD002804D0FF20ECA13A300BF0E8
-:1090D00080FFEE48C46301204006E86170BD70B5B2
-:1090E0000125EB4902260E60E849CD63E949C96ACA
-:1090F00009070ED4E7494031CB6AE74A53620B6B4C
-:1091000093624B6BD3628B6B1363C96BD3051943AB
-:109110005163D949E14CC96900282BD001282DD0D1
-:10912000FF20D6A169300BF054FFDD48A063FF207B
-:10913000043060632563DB49032008602061D74960
-:10914000962040314860D948D7494163D549FC3918
-:109150000163D549091FC163D249F03981630320F6
-:10916000D249000340394860D14910204860D148B5
-:10917000066070BDD0486061D04804E0CF48E03060
-:109180006061CE48801F0143A161CEE7BA4901204A
-:1091900008707047B84900200870704770477047E2
-:1091A000BE4940310028086802D00122104301E086
-:1091B000400840000860704770B50C46AE4D01464F
-:1091C0000622E81C0BF068FD6C7270BDAA482030C6
-:1091D00040787047A84A91705070704770B50D463E
-:1091E0000446082904D9FF20A4A1C6300BF0F1FEE3
-:1091F0000022B34809E09100635809180B6053003E
-:109200001B191B8C0B62521CD2B2AA42F3D3206BE7
-:10921000AB494031086070BD0B23DB4310B5C21A67
-:109220009E4998421FD008DC1C3222D00A2A20D046
-:10923000142A1CD0182A08D117E0083011D00428AD
-:109240000DD0082809D00C2805D0FF208BA1F230C2
-:109250000BF0BFFE10BD04200CE000200AE0FC2053
-:1092600008E0F82006E0F42004E0F02002E0EC2022
-:1092700000E0D820C86010BD7F482030007B7047D8
-:1092800010B5864CC17861620BF067FD0002E061A9
-:1092900010BD252808D0262808D0272808D041004E
-:1092A0000A2807D8091D06E0022105E01A2103E07B
-:1092B000502101E0891DC9B2784A91607749403157
-:1092C000486170476C494861704770B56A4CA0723C
-:1092D00000F01FFBA07AC00740D0724D28688007BD
-:1092E00003D466A177480BF074FEA07A01061DD561
-:1092F000800707D5734861A1801C0BF06AFEA07A35
-:10930000000613D52078694E012816D0002804D015
-:109310006C485AA111300BF05CFE6B487061A0697B
-:109320003061FF206149013040394860A07A8007F0
-:1093300014D52868C00708D102E06348001FEDE794
-:1093400060484EA11A300BF044FEA07A400728680E
-:1093500001D5042100E008210843286070BD70B5E4
-:109360000124454D002807D0012818D002281AD022
-:10937000232042A100010BE000F0CBFA52482978EB
-:10938000001F012907D0002907D04E483BA15738BC
-:109390000BF01FFE70BD046070BD446070BD812085
-:1093A000FFF793FF70BD00F0B4FA6869002804D19C
-:1093B000444832A14F380BF00CFE6969A86A401886
-:1093C0004249C86039484249403001603E490C3149
-:1093D00041600814354940394860274820300474FA
-:1093E00070BDF8B50C2069460870314C6068C00645
-:1093F000C50F1026A66034480021FC300161324BB5
-:1094000001221B1F1A610BE000BF00BF00BF00BF9D
-:1094100000BF00BF00BF00BF6B461A78521E1A7013
-:109420006A461278002A02D00269002AECD0016153
-:1094300068460078002804D1912010A180000BF02C
-:10944000C8FD002D00D06660F8BD0B490020C86142
-:10945000704710B50BF081FC00021049000AC86388
-:1094600010BD0B49022008607047094902200860BE
-:109470001049086070470000481400207372635C54
-:1094800068616C5F7263732E63000000C01F004050
-:1094900080E100E08000001000170040001500404F
-:1094A0005B060000001200404480004040F501408F
-:1094B0000013004080E200E00601020025000300E6
-:1094C0000016004075020000041000404085004076
-:1094D0004C810040F74902200860CBE7F64908704C
-:1094E000C8E710B5F5480AF0A9FB002803D0F449F5
-:1094F000F4480BF06EFD10BD10B5F0480AF0B6FB55
-:1095000010BDF1494860B5E7EC4910B53439EF4B6F
-:109510000022C8605A60896A0818ED49486000F066
-:10952000FFF910BDE54810B5C2213438C160E74AE3
-:1095300000215160806AE649C230486000F0F0F9CD
-:1095400010BD0120E34940028860DC490020343925
-:10955000C860DF4948608DE7D84900203439886207
-:1095600088E7D648DA493438806AFE30886081E777
-:10957000D749002088607DE7D748016810229143D1
-:109580000160D6490120886174E7D5490020C8618F
-:10959000D14801681022114301606BE700B5FFF765
-:1095A000EBFFC64900203439087400BD00B5FFF751
-:1095B000ECFFC24901203439087400BDC849CA69AA
-:1095C000012A01D0002055E7BF4A40329268520676
-:1095D000520E524202700020C86101204AE7F8B5DD
-:1095E000BF4C2069012806D00021B44834380078E7
-:1095F000012802D004E04021F7E7E268012A04D004
-:1096000000220A43012802D004E02022F9E7616821
-:10961000012905D000211143B24A002802D007E0F9
-:109620001021F8E71368012B02D1E368012B04D065
-:1096300000230B43002802D007E00823F9E7116854
-:10964000002902D1E168012905D000221A439F4E6A
-:10965000002802D004E00422F8E77168012904D050
-:1096600000211143002802D004E00221F9E76068DC
-:10967000012829D000259C480D4301680906090EE0
-:1096800002D06169012900D000218C4F143F397349
-:1096900000680006000E02D0A069012800D000205A
-:1096A00078738B488068002803D000F03DFA0128C9
-:1096B00000D00020B8730021E16021616160616128
-:1096C000A16171602846F8BD0125D4E77B480121DE
-:1096D0001438C173CEE6F8B5784E0127143E307CBD
-:1096E0000025002825D07C4C206800902560FFF7DD
-:1096F00078FE009820607A48C56005614560456144
-:1097000085617449001488603046203801787348B8
-:1097100001290AD000290AD0D920694980000BF01C
-:1097200058FCF9F775FC3574F8BD0760F9E7476038
-:10973000F7E7FFF754FF04460020F07364484268DF
-:109740005E4D343D6A620068A8622978002909D11B
-:10975000A978002906D05C4B5B681B780B406978C0
-:10976000994309D000213170E10707D0104602F07B
-:1097700029FD0121A86A08E03770F5E7A10601D5A7
-:10978000022102E0A10702D5002102F02AFD4E4F7E
-:10979000796806220931E81C0BF051FA002807D13C
-:1097A000687A79680978C909884201D1012000E006
-:1097B00000207070204600F0BDF83F48C2270078B6
-:1097C000002815D0012828D002283BD003285AD0E1
-:1097D0003B4946480BF0FDFB287C002804D0287844
-:1097E000002865D0FFF7C8FE2878002861D089E0FE
-:1097F000A00701D501F0CCFB200703D50120EF60C5
-:1098000001F0FEFB600703D50020EF6001F0F8FBDC
-:10981000A006E1D501F068FBDEE7A00701D503F063
-:1098200026FF200703D50120EF6003F09FFE6007AD
-:1098300003D50020EF6003F099FEA006CCD503F01D
-:1098400020FEC9E7A00703D5BF200440F9F7D2FBEB
-:10985000200705D5BF2004400120EF60F9F7C9FBC0
-:10986000600705D5BF2004400020EF60F9F7C1FB79
-:10987000A00603D5BF200440F9F7BAFB6006ABD5BC
-:10988000F9F7B9FBA8E7A00701D5F9F7B7FB20075F
-:1098900003D50120EF60F9F7B0FB600703D5002086
-:1098A000EF60F9F7AAFBA00696D5F9F7A5FB93E7B9
-:1098B0001EE020E000E100E0600000207C140020B9
-:1098C0007C940000AB020000001500404081004085
-:1098D0004085004000F501400012004000100040AB
-:1098E00000110040001400404016004094040000A5
-:1098F000FFF74BFE78E7E868002803D0A96A09184B
-:1099000028484160F07B002800D10DE7F9F780FB83
-:10991000F8BD254903200860881524498860A9E519
-:10992000224823494030C161224981611F494015C5
-:1099300048609FE570B50546FFF7EBFF1E4CA17A26
-:10994000080701D568071CD41C4AC80605D5507BFA
-:10995000002802D0907B002813D0880602D510780A
-:1099600000280ED1480602D55078002809D00020E2
-:109970008A070026002A07DA4A0704D50122227046
-:1099800002E00120F4E72670CA0709D0AA0705D42F
-:10999000890705D5002803D0A80601D4FFF721FDCB
-:1099A000A67270BD408500400012004000F50140E5
-:1099B000101000404481004048140020681400202A
-:1099C0002E48002101704170704770B5064614465C
-:1099D0000D460120F7F780FE28490120284B08702A
-:1099E0009E60DC601D6170BDF8B504460120F7F78C
-:1099F00073FE22490120087021494C60214900264C
-:109A00004E600321204D8902A960204F002C0AD00E
-:109A1000012C03D01EA140200BF0DBFA3E60032096
-:109A200080026860F8BD386001208002F9E710B557
-:109A30001248017800290ED00321134A890291604F
-:109A400010494A680021002A03D0154A1268427062
-:109A500000E0417001700020F7F73EFE10BD07489E
-:109A60000178002907D007484068002802D00C4838
-:109A70000068C0B270474078704700006100002065
-:109A800000F5004000F1004000F5014000F2004008
-:109A90007372635C68616C5F63636D2E63000000CA
-:109AA00000F400403648002101704170102181709F
-:109AB000704770B5064614460D460220F7F70CFEB7
-:109AC00001202F492F4A0870E41E146196605560EA
-:109AD00070BD10B50220F7F7FFFD2949012008707D
-:109AE000294800210160416081602849C014486014
-:109AF00010BD10B5224C2078002811D00120234938
-:109B0000C002886000F02EF80021002804D0012057
-:109B100060701F48006801E061701020A070217023
-:109B20000020F7F7D9FD10BD10B5154801780029C0
-:109B300005D000F017F8002800D0012010BD4078B3
-:109B400010BD10B50E480178002909D000F00AF8C0
-:109B5000002803D00E480068C0B210BD102010BD10
-:109B6000807810BD08480168002905D041680029A7
-:109B700002D08068002801D0002070470120704783
-:109B80006300002000F5004000F1004000F50140B6
-:109B900000F4004010B528210BF0DBF810BD407830
-:109BA0008006800E704740788006800EC01C70478B
-:109BB0002820704770B5054600780A0700090001A3
-:109BC000120F104328700B000BF0F4FA070507057D
-:109BD000070509050B00062408E00C2406E02224F2
-:109BE00004E00024FEA158200BF0F3F96878800906
-:109BF00080012043687070BD00780007000F704737
-:109C000010B50622C01C0BF047F810BD0B4610B56E
-:109C1000C11C062218460BF03FF810BD10B50622F5
-:109C200009300BF039F810BD0B46014610B506227D
-:109C3000093118460BF030F810BD0278BF23C90770
-:109C40001A40490E0A430270704700784006C00F60
-:109C5000704702785206520EC9010A4302707047DB
-:109C60000078C009704770B50C460546C11C2046F7
-:109C7000062209300BF010F820784006400E2070C4
-:109C800029784906C90FC9010843207070BD70B515
-:109C900015460E4604461F2A03D9D1A1A9200BF070
-:109CA00098F920462A46314609300AF0F5FF6078D7
-:109CB000AD1D80098001A906890E0843607070BD42
-:109CC00070B5054640780E468406A40E062C03D2D5
-:109CD000C3A1B9200BF07DF9A41FE4B21F2C00D959
-:109CE0001F2429462246093130460AF0D5FF204676
-:109CF00070BD70B515460E4604461F2A03D9B8A19B
-:109D0000CD200BF066F920462A46314609300AF08C
-:109D1000C3FF6078AD1D80098001A906890E084344
-:109D2000607070BD70B5044640780E468506AD0E75
-:109D3000062D03D2AAA1DE200BF04BF9AD1FEDB228
-:109D40001F2D03D9A6A1E2200BF043F921462A4694
-:109D5000093130460AF0A0FF284670BD10B5042234
-:109D60000F300AF099FF10BD0B46014610B50422D2
-:109D70000F3118460AF090FF10BD10B503221330C2
-:109D80000AF08AFF10BD0B46014610B503221331BD
-:109D900018460AF081FF10BD4176090A81767047A6
-:109DA000817E427E080210437047C176090A01771E
-:109DB0007047017FC27E0802104370474177090A4D
-:109DC00081777047817F427F080210437047C175D9
-:109DD000090A01767047017EC27D08021043704770
-:109DE00081757047807D704720300279C90652091D
-:109DF0005201C90E0A430271704720300079C00633
-:109E0000C00E704720300279D206D20E49010A43B3
-:109E100002717047203000794009704710B5052263
-:109E20001F300AF039FF10BD0B46014610B5052260
-:109E30001F3118460AF030FF10BD30B5411C837E3B
-:109E40000A461902D37D447E927D1B0221431343AF
-:109E5000674D827D8C1FAC4210D8002A0ED0082A94
-:109E60000CD88A420AD28B4208D8817F427F0802EE
-:109E70001043A91D884201D8012030BD002030BD0B
-:109E800000210A464254491C2229FBDB70474078D6
-:109E9000C006C00E70474078C006C00EC01C704798
-:109EA0002220704710B502788B07920892009B0F12
-:109EB0001A4302704278520952014270012908D0B7
-:109EC000022906D0032905D0FF2045A1A3300BF0BD
-:109ED00080F810BD01210A43427010BD10B5027810
-:109EE0008B07920892009B0F1A4302704278520926
-:109EF00052014270012908D0022906D0032905D059
-:109F0000FF2037A1BD300BF064F810BD01210A43DA
-:109F1000427010BD00788007800F70470278FB23E5
-:109F2000C9071A40490F0A4302707047007840077A
-:109F3000C00F70470278F723C9071A40090F0A4378
-:109F40000270704700780007C00F70470278EF2357
-:109F5000C9071A40C90E0A43027070470078C0064C
-:109F6000C00F704770B50546C1700B000BF022F9A9
-:109F70000E080A0C0E1012120C14141212160C18E1
-:109F80000C2413E0082411E002240FE017240DE054
-:109F90000D240BE0012409E0092407E0062405E074
-:109FA000452000240EA1C0000BF013F8687840098A
-:109FB00040012043687070BDC078704770B504469A
-:109FC00040780E46C506ED0E1B2D03D904A10948A5
-:109FD0000AF0FFFF6019C01C042231460CE00000AB
-:109FE0007372635C756C5F7064752E6300000000B3
-:109FF0007A0C00003A0200000AF04EFE70BD70B507
-:10A00000044640780E46C506ED0E1B2D03D9A04927
-:10A01000A0480AF0DEFF6119C91C042230460AF08C
-:10A020003BFE70BDC171090A01727047017AC279A5
-:10A030000802104370474172090A81727047817AA1
-:10A04000427A080210437047C172090A01737047CF
-:10A05000017BC27A0802104370474171090A81717D
-:10A060007047817942790802104370470171704747
-:10A07000007970474173090A81737047817B427B85
-:10A0800008021043704730B5411C037A0A46C47970
-:10A0900019022143537914791B0223437E4D007921
-:10A0A0008C1FAC4210D800280ED008280CD888424B
-:10A0B0000AD28B4208D8D07A917A00020843A91DAF
-:10A0C000884201D8012030BD002030BD10B50522E6
-:10A0D000001D0AF0E1FD10BD0B4610B5011D052263
-:10A0E00018460AF0D9FD10BD4172090A8172704705
-:10A0F000817A427A080210437047017170470079F3
-:10A10000704710B50822001D0AF0C6FD10BD0B46B1
-:10A1100010B5011D082218460AF0BEFD10BD0A78D0
-:10A120000273497841737047027B0A70407B487024
-:10A13000704710B508220E300AF0AEFD10BD0B4678
-:10A14000014610B508220E3118460AF0A5FD10BDD3
-:10A1500010B5042216300AF09FFD10BD0B460146D3
-:10A1600010B50422163118460AF096FD10BD10B540
-:10A170000822001D0AF090FD10BD0B4610B5011D10
-:10A18000082218460AF088FD10BD10B504220C30D4
-:10A190000AF082FD10BD0B46014610B504220C31B9
-:10A1A00018460AF079FD10BD017170474171090A26
-:10A1B00081717047C171090A017270470079704757
-:10A1C00081794279080210437047017AC279080206
-:10A1D00010437047017170470079704701717047F3
-:10A1E0000079704710B50822001D0AF055FD10BD1A
-:10A1F0000B4610B5011D082218460AF04DFD10BD92
-:10A2000010B50822001D0AF047FD10BD0B4610B521
-:10A21000011D082218460AF03FFD10BD70B5154615
-:10A220000E4604461B2A04D93720194900010AF0BA
-:10A23000D0FE2A463146E01C0AF02EFD6078E90681
-:10A2400040094001C90E0843607070BD70B50546F5
-:10A2500040780E46C406E40E1B2C04D9DF200C49BE
-:10A2600080000AF0B6FE2246E91C30460AF014FDD2
-:10A27000204670BD4078C006C00E1B2801D80120C2
-:10A2800070470020704710B522220AF005FD10BD6E
-:10A29000E09F0000430200007A0C0000FEB50F466C
-:10A2A00004460146064620302546C031603640351A
-:10A2B0000190032F04D0002F2DD0012F2BD04BE085
-:10A2C00000206080A080E08020816081A082E08505
-:10A2D000E0826874A074E074A076E076A073E07306
-:10A2E00020746074019B987401232B74A8822883C6
-:10A2F0000876E883B0706883A873E8732077607786
-:10A30000019988720199087430727072B072327457
-:10A31000B074A883FEBD0020A8822883012F52D0EC
-:10A32000E08B0090608C0290C00000990AF02EFD36
-:10A33000401C80B2E8820099192241439202914266
-:10A3400001DD401EE8827D20000200990AF01EFD1A
-:10A35000401C3080002F01D0022FDBD10198007A01
-:10A36000C1060198C90E01720020687322182421C9
-:10A370008B5C4032D9075B08DE07C90FF60F7118F6
-:10A380005B08DE07F60F71185B08DE07F60F711821
-:10A390005B08DE07F60F71185B08DE07F60F711811
-:10A3A0005B08DE07F60F76185908891911726A7B67
-:10A3B000401C5118C0B269730528D7D3002FA9D10A
-:10A3C0000020A874FEBD4A7F2046E030022A12D049
-:10A3D000097F022913D050A173200AF0FAFD012051
-:10A3E00000900290E08BA98B484300990AF0DCFCB6
-:10A3F000A883029898E7818800910089F1E7018A93
-:10A400000091808AEDE770B504464034667B0546CE
-:10A41000002E68D0252E66D8002964D03E20405DED
-:10A42000A27B4843101825210AF0B0FC0846A1730E
-:10A430004207C908520F3C4B691820319A5C0979D0
-:10A440008A4367D031460AF0A1FC491CCAB20020F9
-:10A4500006E0002804D029184031C979511ACAB23F
-:10A46000291848235B5C93423AD320310979C943C8
-:10A47000CB07DB17D21A521E1206120E34D08B07EE
-:10A48000DB17D21A521E1206120E2FD04B07DB1703
-:10A49000D21A521E1206120E2BD00B07DB17D21A3D
-:10A4A000521E1206120E27D0CB06DB17D21A521EEE
-:10A4B0001206120E23D08B06DB17D21A521E12067A
-:10A4C000120E1FD04B06DB17D21A521E1206120EA6
-:10A4D0001BD00906C917511A491E0A06120E17D0B9
-:10A4E000401C0528B5DB70BDC00013E0C000401C57
-:10A4F00010E0C000801C0DE0C000C01C0AE0C000DD
-:10A50000001D07E0C000401D04E0C000801D01E008
-:10A51000C000C01DE07370BD7372635C6C6C5F75CE
-:10A5200074696C2E63000000EC51010010B5FF4807
-:10A530000021017041708170C17041718171C171E0
-:10A54000083009F073FB002804D0FF20F8A1843004
-:10A550000AF03FFD10BD10B5F44900204872081DF7
-:10A5600009F064FB002804D0FF20F1A1C3300AF0F9
-:10A5700030FDFFF7DBFFF148FFF782FC0021EF48D9
-:10A58000FFF7E4FC0121ED48FFF78CFC10BDE2E78A
-:10A590001B207047E5494A7A002A01D00020704705
-:10A5A000488101204872704710B5E0494A7A002A74
-:10A5B00002D04989814201D0002010BDDB48001D36
-:10A5C00009F03CFB002804D0FF20D9A1B4300AF0E8
-:10A5D00000FDD648001D09F049FBFFF7A7FF012049
-:10A5E00010BD70B5D14C0025627A002A02D0628974
-:10A5F000824201D00D700DE0227863789A4203D335
-:10A6000022786378D21A04E062782378D21A102371
-:10A610009A1A0A70FFF7C8FF002801D0657201205E
-:10A6200070BDC2494A7A002A04D04989814201D1C9
-:10A630000120704700207047BC490A784B78521CB3
-:10A640001207120F9A4207D0097822225143BC4ABE
-:10A65000891801600120704700207047B3480178D5
-:10A660004278491C0907090F914206D00178491C1C
-:10A670000907090F01700120704700207047AB499E
-:10A680004A7A002A04D04989814201D101207047C9
-:10A6900000207047A5490A784B789A4207D049783C
-:10A6A00022225143A64A89180160012070470020E8
-:10A6B000704710B59D4C20786178884216D060783C
-:10A6C000401C0007000F6070201D09F0B7FA002839
-:10A6D00004D0E078401CE070012010BDA078401C40
-:10A6E000A0709248001D09F0C1FAF5E7002010BDE6
-:10A6F0008E4801784078814201D1012070470020C6
-:10A7000070478A4801784278914202D301784078B4
-:10A7100003E041780078081A1021081AC0B2704787
-:10A720000F20704770B5814C0D46617A002916D014
-:10A730006189814213D100262E70201D09F07EFA16
-:10A74000002805D1A0782870A670201D09F08EFA87
-:10A750002878E17840182870E670012070BD00204C
-:10A7600070BD76490160704770494A7A002A04D06A
-:10A770004989814201D101207047002070476B490F
-:10A780004979002901D0002070476E4901600120FD
-:10A79000704766484179002901D0002070470121A7
-:10A7A00041710846704761494A7A002A04D04989B4
-:10A7B000814201D101207047002070475B494979EF
-:10A7C000012901D0002070475E49016001207047D7
-:10A7D00056484179012901D000207047002141717C
-:10A7E0000120704751484079012801D0012070476D
-:10A7F000002070474D494A7A002A04D04989814295
-:10A8000001D1012070470020704770B5474C0546C4
-:10A81000A0790721401C0AF0B9FAE079814208D0FA
-:10A82000A07922214843474922314018286001205D
-:10A8300070BD002070BD10B53C4C0721A079401CB4
-:10A840000AF0A4FAE079814207D0A0790721401CE0
-:10A850000AF09CFAA171012010BD002010BD334800
-:10A860008179C079814201D1012070470020704771
-:10A870002E494A7A002A04D04989814201D1012017
-:10A8800070470020704710B504462848083009F08A
-:10A89000D5F9002815D125498879CA7990420CD07C
-:10A8A000C8792221484327492231401820601F4897
-:10A8B000083009F0DBF9012010BD1C48083009F010
-:10A8C000D5F9002010BD10B504461848083009F02D
-:10A8D000B5F9002815D115498879CA7990420CD06C
-:10A8E000C8792221484317492231401820600F4877
-:10A8F000083009F0BBF9012010BD0C48083009F000
-:10A90000B5F9002010BD094810B5083009F096F9D6
-:10A91000002822D1054CA079E17988421AD0E0794B
-:10A920000721401C0AF032FAE1710DE066000020B8
-:10A930007372635C646D5F712E630000B01700205A
-:10A9400080140020A01600202046083009F08EF95F
-:10A95000012010BD0C4809F089F9002010BD0A48FB
-:10A9600008388179C079814201D1012070470020E7
-:10A970007047054808388179C079814201D10120AA
-:10A9800070470020704700006E000020704770473D
-:10A99000FF207047704770470020704700207047C5
-:10A9A000002070470020704700207047002070474B
-:10A9B000002070470020704700207047012070473A
-:10A9C000002070470020704700207047002070472B
-:10A9D000F8B5FF4D0446A87F002600280CD00029BA
-:10A9E00023D1667010202070E87FA07028462030A8
-:10A9F0000078E070AE7718E0287A012801D00020B6
-:10AA0000F8BD002911D16670F149687A01270A3131
-:10AA1000002801D0132000E0052020701422A01C83
-:10AA20000AF03AF9A7716E722E720120F8BDF8B5DE
-:10AA3000E8480078002802D00C273846F8BD0027E7
-:10AA4000E34D3C46203DAF74EF746F75AF752F75C5
-:10AA500028466F732038DE4E47737771E87D0028F3
-:10AA600004D0FEF785FDFFF744F8EC75347274727C
-:10AA7000B477D7482430FFF78DF8D5484C30FFF72E
-:10AA800089F8DAE710B5D34C00232370D04C203C72
-:10AA9000E375CF4B01241C71603B583307C3FFF7AC
-:10AAA000C6FF002804D0FF20CBA102300AF091FAA3
-:10AAB00010BDC7482038807C7047F8B5C44D0646A5
-:10AAC000407B203DE873C24837791346AF73B27BB1
-:10AAD00082710446603C217006221946601C0AF00F
-:10AAE000DBF8B07960730622F11DE01D0AF0D4F89E
-:10AAF000687B0126002800D0EE74B5484038407BC2
-:10AB0000002800D02E75002F09D0012F09D0022F68
-:10AB100024D0032F46D0FF20AFA14D3013E00021F9
-:10AB20001DE0AB4801212430FFF744F8A848E11D9F
-:10AB30002430FFF773F8607B002807D0012807D086
-:10AB4000FF20A5A143300AF044FA0CE0002100E008
-:10AB500001219F482430FFF77CF804E006219C483F
-:10AB60002430FFF727F800206875A8759848611C05
-:10AB70002430FFF745F8964821782430FFF75DF838
-:10AB8000934804214C30FFF715F89148611C4C3074
-:10AB9000FFF736F88E4821784C30FFF74EF8AE7448
-:10ABA0000020F8BD0221DAE770B5894C0125203C70
-:10ABB0000246A5758648007A002801D03A2070BD6B
-:10ABC000834860380378934206D1002262750622DA
-:10ABD000401C0AF061F86575002070BD70B5044630
-:10ABE0007B4D0020203D28752846224632380AF049
-:10ABF00053F82846203844730120287570BD7449E5
-:10AC00000871704710B5724C0022203CE2746073EA
-:10AC10000246204612380AF03FF80120E07410BDC9
-:10AC2000F8B500F04CFB6A4C0025203CE07D002884
-:10AC300004D0FEF79DFCFEF75CFFE575654E3570B0
-:10AC4000FEF75AFCA07B012804D00021084601F041
-:10AC500082FAF8BD0021022001F07DFA5C4C207AD6
-:10AC60000127002809D0A07F0028F2D10520E07735
-:10AC7000204620300570A777F8BD70780028FBD0FB
-:10AC8000534906226039487BE073C91D0846693084
-:10AC90000AF002F83C20A07227727570F8BD10B55A
-:10ACA0004B4C203CE17B207CCA0701D0C2070BD073
-:10ACB0008A070FD582070DD42620FEF7EAFA207CFA
-:10ACC00002210843207410BD2520FEF7E2FA207C03
-:10ACD0000121F6E74907F6D54007F4D42720FEF70F
-:10ACE000D8FA207C0421ECE770B53A4D287800288A
-:10ACF0007CD1374C203CA07C00287CD0FEF7F1FBB7
-:10AD00000026267466746E703046FEF7E7FB00205E
-:10AD1000FEF7E5F93448FEF7B3FA2546403D296EC3
-:10AD20008857FEF779FA3048C01EFEF792FBFEF70F
-:10AD300008FCFFF7B4FFFEF729FAFEF7CBFB012072
-:10AD4000FEF70DFB0F210520FEF744FA2978681C59
-:10AD5000FEF732FAA07B01280AD0E07C002807D059
-:10AD6000214612390846627B5630FEF790FFE674A2
-:10AD7000207D002808D0164840380146427B123911
-:10AD80008C30FEF7B6FF2675607D00280BD010488A
-:10AD9000691C2430FEF734FF0D48691C4C30FEF767
-:10ADA0002FFF6675A675E86D0178002903D001783C
-:10ADB000001DFEF713FAA86D0178002907D001786D
-:10ADC000034A401C7732FEF774FE0120E0750EE066
-:10ADD00034180020740000207372635C6C6C5F6137
-:10ADE00064762E6300000000F751010003E0FEF7D7
-:10ADF00083FB002070BD0C2070BDFB49486070478C
-:10AE000070B50546FEF79DFB002D06D00020FEF72D
-:10AE10005CFAFEF7BBF9FFF742FFF44C607C0028B8
-:10AE200009D0A07B012803D1F149F2480AF0D1F8FA
-:10AE3000FFF7F6FE70BD0126002D05D00220FEF7BB
-:10AE40008EFAEA4820304671E8484430FEF759FB54
-:10AE5000012008F0A8FDFEF7A1F9A07B00280FD083
-:10AE600001280DD002280BD003280BD0E148E0497F
-:10AE70001E300AF0AEF8E07B217C884306D009E062
-:10AE8000032000E00120FEF720FAF4E7A07B012870
-:10AE900003D06674D448067070BD00202074F9E7B2
-:10AEA00010B5FEF71EFBD048007800280ED1CF4821
-:10AEB000807C00280AD00020FFF7A2FFF6F781FA75
-:10AEC000CA4820300079012806D007E000F0F7F9E1
-:10AED000FEF712FB0C2010BDF8F79AF8002010BD09
-:10AEE000C14901204870704770B500F0DAFF0028B2
-:10AEF0001BD0FF202D30FEF7E5F9BB4E3078BB4C60
-:10AF00002034012814D0022801D003282ED0A520F7
-:10AF1000B74980000AF05DF83078002807D0F6F7CE
-:10AF200050FA207901282BD02FE0FFF779FE70BD71
-:10AF3000AE4DA87B032819D0FEF7F4FAE87D00286F
-:10AF400003D0FEF7C6FDFEF70CFBA8489430FEF7D1
-:10AF5000D8FA012008F028FDA87B01280BD0A179A0
-:10AF60006F20012906D0032904D004E00120FFF757
-:10AF700047FFD1E77F20FEF7A8F902203070CBE72A
-:10AF80006079002801D1FEF7A1FB0020607170BD3F
-:10AF900070B5964CE07D002803D0FEF7E9FAFEF785
-:10AFA000A8FD00F07EFF00281CD08F4D28780228D5
-:10AFB00003D08F4990480AF00CF8A07B012814D0E8
-:10AFC000FF202D30FEF77EF90120FFF719FF2878CA
-:10AFD000002809D0F6F7F5F9844C203420790128AF
-:10AFE00006D00AE0FFF71CFE70BD99208000E9E75B
-:10AFF0006079002801D1FEF769FB0020607170BD07
-:10B00000F8B50446FEF738F90746FEF78DFD01282E
-:10B0100027D0002674480078022804D07648744966
-:10B020003C3009F0D6FF714DE87D002803D0FEF7D3
-:10B030009FFAFEF75EFDFEF784FA6C489430FEF747
-:10B04000DBFD21006D4C009064D0FEF7BFF80028B6
-:10B0500060D0009803000AF0ADF8065D5D5D065D06
-:10B060001E5D0126D6E7A87B012853D0374304D1C3
-:10B07000A079002801D002284CD160484C30FEF75E
-:10B0800040FA012008F08FFC0120FEF71EF9564817
-:10B090000321017045E059487430C178D438C27931
-:10B0A00091421DD10146D4310A79037A9A4217D1CF
-:10B0B0004A79437A9A4213D18A79837A9A420FD194
-:10B0C000CA79C37A9A420BD10A7A037B9A4207D192
-:10B0D0000978407B4906C90F814201D1012100E076
-:10B0E0000021A87B012802D0002803D012E000290B
-:10B0F00007D10FE0374304D1A079002801D00128FF
-:10B1000008D13E487430FEF798FE002802D0A87D92
-:10B11000002810D0FF202D30FEF7D4F80120FFF7D3
-:10B120006FFE3148007800286AD0F6F74AF9207996
-:10B1300001286ED0C0E02C4F30497868042283315A
-:10B14000343009F0A9FD2D484021743000784006C4
-:10B15000C20F78680A54294906227731413009F034
-:10B160009BFD2649786803228731383009F094FD29
-:10B1700022483B217430827D78680A541F4974311B
-:10B180000A7ECB7D12021A4382878A7E4B7E120290
-:10B190001A43C2830A7FCB7E1102194301841749E7
-:10B1A00074318A7F4B7F1102194341841349052270
-:10B1B0009331243009F070FD10497F68943108798B
-:10B1C000C20638462030D20E0090827709794909AC
-:10B1D000C177207A00281DD0A07F00285BD1607A3B
-:10B1E00000280ED013200DE0740000201418002059
-:10B1F000D8AD0000F9030000BF02000034180020A1
-:10B200005CE00520E0773449002008700120A07739
-:10B2100041E04CE03048E97D1038002924D000217D
-:10B22000A172B989A1814021C95DE1733946062225
-:10B23000413109F031FDF88BE082388C2083788C25
-:10B2400060830098C07F2077607F400840003043D3
-:10B250006077FEF776FC617F4000C907C90F0143A4
-:10B2600061770120607215E00021A172B989A18186
-:10B270004021C95DE17339460622413109F00CFDD8
-:10B28000F88BE082388C2083788C60830098C07FB4
-:10B29000207701202072114D0020287000F00FF857
-:10B2A000FEF72AF90120696800F055FF39E7607957
-:10B2B000002801D1FEF70AFA00206071F8BD10B530
-:10B2C000FEF74AF9FEF73DF9FEF78BF80020FDF78F
-:10B2D000FCFFFEF7CAF810BD5418002074000020CF
-:10B2E0008107C90E002808DA0007000F0838800817
-:10B2F000FD4A80008018C06904E08008FB4A800095
-:10B3000080180068C8400006800F704710B500F034
-:10B310007BFF10BD70B5F64C0546A26800290DD024
-:10B32000002A04D0FF20F3A14C3009F052FEA560A2
-:10B33000F6F748F80220F6F73FF870BD002A04D16E
-:10B34000FF20ECA1543009F044FE0020A060F6F785
-:10B350003AF80120F6F738F870BDE5481030C07EA5
-:10B36000002801D00020704701207047E0481030CD
-:10B37000C07E7047DE483430C07E70470021C17601
-:10B38000817601600162DA481030C07E002807D162
-:10B39000D7483430C07E002802D1D549012008703A
-:10B3A000704710B50B46C17E847EA14204D0114681
-:10B3B000184607F0B4FB10BDFFF7E0FF10BD38B52D
-:10B3C000CB4C606801684978012924D00121684686
-:10B3D00006F05EF968460078CA49000209F0D6FC1A
-:10B3E00060680268C0685268511807F0B5F9616872
-:10B3F000C860BF49606834310022884215D0018B93
-:10B40000002912D04272032101720271021D017FD4
-:10B41000FFF7C7FF38BD7D21C068C90007F09CF960
-:10B420006168C860B8480861E3E7018B491C018383
-:10B4300002214172E7E7FFB5AD4F02461037386A87
-:10B440003C68056889B060680790A948C1680291A6
-:10B450006B880B98C01A80B208900C98002804D012
-:10B46000264638362046483002E03E1D28466430E5
-:10B47000059003203071002A15D0012A7ED0022ABF
-:10B4800052D0032A7BD09BA1A04809F0A2FD0C98C2
-:10B490000028307974D0032804D09C4895A1093045
-:10B4A00009F097FD40E1002904D1984891A169383D
-:10B4B00009F08FFD9549A88FA839484340180A998B
-:10B4C00000F0A8FEA0619149E88BA83948430A9989
-:10B4D00000F0A0FEE06186488C4AC068A98FA83AB7
-:10B4E000514384464118A069894A091A8A183B21A8
-:10B4F000A262864B495DA83B594341180818FF30AA
-:10B500001630206260626046101AFF38ED2135382F
-:10B51000C9008842BBD27F49884204D27B4875A1CA
-:10B520005C3809F056FDBAE0784AA88FA83AE1687D
-:10B53000504308180A9900F06DFEA0617349E88B2A
-:10B54000A83948430A9900F065FEE0616848C06880
-:10B55000002804D16D4867A1543809F03AFD5820FD
-:10B56000405B6D4A0028A88FE16822D0504308183C
-:10B57000A169401AA0622169A06802E022E051E0BE
-:10B58000CDE04843A169644A40183B21495D5143DD
-:10B5900041180818FF3014302062E88BE1695043ED
-:10B5A000411A0F208001081A60625148A16AC068E0
-:10B5B0006DE050430818A169401A3968D3384968CA
-:10B5C0004018D7E7284640300290008B002801D071
-:10B5D000002904D14D4847A13C3809F0FAFCE88B1A
-:10B5E0004D494843E169401AA062029A138B2269CF
-:10B5F0009B1A9C46A3685343A2699A186346594311
-:10B6000051183B22525D444B5A438A185118FF315E
-:10B61000143121620F218901411A61623449C968DC
-:10B62000401A35E00C98002803D03420005D002833
-:10B6300074D1E88B38494843E169401A0899484376
-:10B64000A062284640300690008B0028079829D039
-:10B65000002804D02D4827A1163809F0BAFC069816
-:10B660002D4A018B08980818E16948434000FF30D3
-:10B6700014302062E88B5043411A0F208001081AD1
-:10B68000606200F0C1FD00281CD0A16A0298081A6F
-:10B69000FF38ED212338C900884200D3F7E60220A5
-:10B6A0003071F4E6002802D00298002804D117482F
-:10B6B00010A11D3809F08DFC0798A16AD33808182D
-:10B6C000A062CCE706F0B1FD7A690146104607F0AA
-:10B6D000D5FFA16A081AFF38ED211E38C90088423B
-:10B6E000DCD201200DB0F0BD00ED00E000E400E090
-:10B6F000D01800207372635C6C6C5F6C6D2E7330BD
-:10B700002E63000010270000B78913008A0500008F
-:10B7100036040000A3020000E20400002AE003282F
-:10B7200002D1FD4807210170A16A786907F014F879
-:10B73000B060616A206A884202D90598016001E020
-:10B74000059908600598F54900680818F060A9880F
-:10B750000B98081A00B2002801DD022000E000204A
-:10B7600070710C9830700C98002805D03420005D62
-:10B77000002801D00220B5E70C9801214840203470
-:10B780006075397F32463846FFF70BFE0020A9E787
-:10B7900010B5E14900284A68116A096807D01268A3
-:10B7A000C98BDF4BD2695943891A09F0EFFA10BDF2
-:10B7B000F8B5D94F35227868016A0C680168525C87
-:10B7C000002A0AD0498E6288914206D1407A002828
-:10B7D00003D1D449D44809F0FCFB06F026FD01460C
-:10B7E0007868406907F04AFFFFF7D2FF79686588FB
-:10B7F0000B682E185A8EB24202DB521C5A8602E0A7
-:10B80000401C2818588608683622125C002A05D188
-:10B81000428E23899A4201D1521C4286088B03280A
-:10B8200002D2401C088302E00868408EA0802046B7
-:10B830004030C18A808A081A6188401E401885B24B
-:10B84000203416E0096AE67F097976004B00B74993
-:10B85000007DCB5A895BC91889B20023FFF7EBFD45
-:10B86000002811D0012810D0AF48AE493A3009F075
-:10B87000B0FB79680868428EAB1A1BB2002BE1DA84
-:10B880000820E07400F00BFEF8BD78680068418E77
-:10B89000491C4186EDE770B51F209F4D002128709F
-:10B8A000E960A868C27E130009F084FC04545403C4
-:10B8B0004654026A14680268117002685160006898
-:10B8C0002030407D002808D106F0AFFCA968096847
-:10B8D000096C07F0D3FE002815DCA86801684A8EC1
-:10B8E00061888A4204D12289511A6181628004E010
-:10B8F000511A61810168498E61800268C1681164D2
-:10B90000C16841610FE0A8680168098E6288891AE0
-:10B9100061810168098E618001680A6CC2600A6CED
-:10B920004261886C6066204601F06DFC00280ED0F4
-:10B930007B487C49BD3808E0C1684161FFF7D4F914
-:10B94000002804D076487749B73809F042FBF5F76C
-:10B9500038FD70BD72487349B038F6E710B56E4ACD
-:10B960000B00526809F026FC0906090F1E0C2D2D4C
-:10B97000082A2D00FFF78FFF10BD00F059FC10BD05
-:10B98000FDF7A9FE10BDD07E022805D0D07E032889
-:10B9900005D0644966480EE0FFF70AFF10BDFFF7C7
-:10B9A0000EFD10BDD07E0228F6D0D07E0328F6D042
-:10B9B0005F485C490B3009F00CFBF0E706F01BFC1C
-:10B9C00010BD23205749000109F003FB10BDF3B55A
-:10B9D00081B0514C029825460026012710350300FE
-:10B9E00009F0E8FB0906313C3C3143433C3C430051
-:10B9F000494801211030FFF78DFC02990198FFF7AB
-:10BA0000ADFFE87E022828D1A0680468006A0668B5
-:10BA100006F0EAFBF18B424A5143E269891AD339B5
-:10BA2000FF223232E162904202D24248081802E01C
-:10BA3000081A41494018E0624048E16A814200D852
-:10BA40000846E06206E001460198FFF787FFE87EBE
-:10BA5000022802D1286820300775FEBD01466560C6
-:10BA60000198FFF77BFF6660FEBDFF202D49C130C6
-:10BA700009F0AFFAFEBDF8B5064627480D4600248A
-:10BA80003430254F0B0009F095FB09060C10100C03
-:10BA9000161610101600204801213430FFF73AFC2A
-:10BAA00029463046FFF75AFFF8BD78603046FFF769
-:10BAB00055FF7C60F8BDFF201A49F53009F089FA7E
-:10BAC000F8BDF0B5144C0020616885B003268E7671
-:10BAD000CA7E0746032A03D0C97E00293FD03FE033
-:10BAE000087F002804D112480E49D93009F071FAB4
-:10BAF0006068057F684606710221417106F095FB7A
-:10BB00000290FF20F53003900121684601706946DC
-:10BB1000284607F004F814E0D0180020EF160000C3
-:10BB2000E2040000F4B6000074060000FC510100BD
-:10BB30001602000084F8FFFFB5F9FFFF161200009F
-:10BB400020BF6068007F07F025FE0028F8D06068FD
-:10BB5000007F06F050FB60680777FFF70FFC0120BD
-:10BB600061688F7605B0BEE5FD494A68907600E0D1
-:10BB700020BF4A68D07E002803D0D07E937E9842B2
-:10BB8000F6D0D07E002803D00020002191767047A7
-:10BB90000120FAE770B5F24900241031CA7EF04D59
-:10BBA000032A03D02431CA7E032A17D169600028F2
-:10BBB00010D001280AD0EB49EB4809F00AFA00201E
-:10BBC0006968002C0860686008D070BD0320FFF72A
-:10BBD000CBFF01E0FFF775FF0446F0E70C2070BDD6
-:10BBE000F8B5DF4F04461F25E67E330009F0E2FA80
-:10BBF000042A20031B20DA481030844203D0D9499C
-:10BC0000DA4809F0E6F902207C60FFF7ADFF002872
-:10BC100005D07968002008600862786012E00C2581
-:10BC2000002078600BE00120FFF7B4FF054604E038
-:10BC3000CE48CC490C3009F0CCF9002D02D0E07E82
-:10BC4000B042D1D1E07E002804D0C848C5491230A6
-:10BC500009F0BFF9F8BDC24810B51030FFF7C0FFBA
-:10BC6000BF483430FFF7BCFFBD490020583108758C
-:10BC7000BF494870BA49103148610A4624325061C0
-:10BC800088769076012210390A708860486010BD6D
-:10BC900070B504460120FFF723FBC5B20B20FFF768
-:10BCA0001FFBC0B2854204D0B048AE49343809F019
-:10BCB00090F90120FFF714FBC5B21820FFF710FB25
-:10BCC000C0B2854204D0A948A649333809F081F9A9
-:10BCD0000420C043FFF704FBC5B21920FFF700FBA7
-:10BCE000C0B2854204D0A1489E49323809F071F9AA
-:10BCF0009F489B490C38047000201031C876887624
-:10BD00000A462432D0769076994B0124083B1C7168
-:10BD100018600862106208601060FFF79CFF70BD39
-:10BD20008F48007870479249083908717047F3B519
-:10BD30000D468B4983B01031CA7E08462430884CAA
-:10BD4000002A02D1C27E002A03D0C97E022903D074
-:10BD500005E08848616006E0C17E002901D00C2022
-:10BD600000E76060844806F0F2F96168087760686F
-:10BD70007F490160007F002804D17B4879496238FF
-:10BD800009F027F906F030FA7C49884200D20846CB
-:10BD9000FF30C83086B260680321C1760027012DCC
-:10BDA0002FD0724A0399121D5143026851600068F6
-:10BDB00001210170684605F06BFC68460078704907
-:10BDC000000208F0E3FF019106F02FFA01997118C3
-:10BDD00006F0C2FC6168032DC86021D06948086183
-:10BDE000606803210172022141720771021D017F07
-:10BDF000FFF7D7FA6068078307202070002067608C
-:10BE0000B0E606F012FA314606F0A6FC6168C8609A
-:10BE10005D48086108680770096801204870DFE71D
-:10BE20005A48DCE77047F8B54D4E1036F17E0029D0
-:10BE300004D131462431C97E002901D00C20F8BD3F
-:10BE40000221F176464C4A4F5834083F376234603D
-:10BE5000002538602575397920304A004C49C07F6B
-:10BE60008A5A4000085A2B46101881B22A462846A2
-:10BE7000FFF7E1FA002804D03B483A49323009F094
-:10BE8000A8F825610120A5602075658625863448BF
-:10BE90007830857539684888401E48803583002091
-:10BEA000F8BD10B52E4901248868827E032A0CD083
-:10BEB00000684078002806D0C8683649884202D910
-:10BEC0000024FFF70DF8204610BD0024FBE72448AE
-:10BED000826813681978491C1970C1681068C26AB1
-:10BEE000914204D8007D012801D001207047002034
-:10BEF000704700207047F8B51948194C1030606041
-:10BF0000016A00260D68006834212F460E54403720
-:10BF1000B97C002963D1007D032860D106F085F942
-:10BF200001466068406907F0A9FB002857DDFFF76C
-:10BF30002FFC6988401C41186068026811860068FF
-:10BF40002989028E91424AD9012120308175F88ACF
-:10BF5000B98A401A6988401E401887B238E000004C
-:10BF6000D0180020F4B600008D0300006D02000020
-:10BF700088000020CFB9000077BA0000F605000065
-:10BF800010270000CB120000B7891300B70800008B
-:10BF9000FC5101002E841300096A09794A00CD4939
-:10BFA0008B5A028E007D94463F22525D5200895A80
-:10BFB000C91889B201236246FFF73DFA00280ED066
-:10BFC00001280ED002280AD0C349C44809F001F85C
-:10BFD00061680868028EBA1A12B2002ADCDA66605A
-:10BFE000F8BD60680068018E491C0186F0E7F8B56D
-:10BFF000BB4D0026AA680128116A0C6810D00720E2
-:10C00000287006F05DF8B7480078F6F7AFFDA8682D
-:10C010000683026861885186006820308675F8BD05
-:10C02000087913684100AB481F7D415A032F18D08F
-:10C030001A7D022A22D01A7D012AE2D13F231B5DFC
-:10C0400022895B00C05A0023401881B20120FFF70B
-:10C05000F2F90028D5D0A1489F49B53008F0B9FFC2
-:10C06000CFE71E6112683F2396601B5D22895B004B
-:10C07000C05A0023401881B20320E8E75822125B1F
-:10C080001A613F231B5D22895B00C05A00234018C0
-:10C0900081B20220FFF7CFF9AA6801211268117559
-:10C0A000D7E738B58E4C0021A0680D46006842786D
-:10C0B000002A01D045701FE00078002809D0012136
-:10C0C000684605F0E5FA684600788749000208F0FE
-:10C0D0005DFEA0680268C0685268511806F03CFB1B
-:10C0E0000146A068C160057102214172021D017FF5
-:10C0F000FFF757F9A068058305F0E2FF794800785B
-:10C10000F6F734FD38BD10B50146754A0B0090684E
-:10C1100009F050F8060D150408190C1C012100F057
-:10C12000A6F807E00021506800F0A1F810BD01203A
-:10C13000FFF75DFF00210846FFF7ECF810BD00682F
-:10C140000321017510BD00F0A5F810BD62496748D4
-:10C1500008F03FFF10BD70B5614C002809D00128E0
-:10C1600016D0022821D061485B49243008F031FF05
-:10C1700070BDFFF796FF00210846FFF7CBF8A068D7
-:10C18000807E002801D01F2000E00720207070BDB5
-:10C19000A068002501684D70FFF7F0F80320F6F75E
-:10C1A00023FC05F08DFFA56070BDFFF77AFFA06846
-:10C1B000FFF7E4F800210846FFF7ACF80420F6F793
-:10C1C00013FC70BD46498968CA7E022A08D10A68F4
-:10C1D0001378002B04D150600968CA6A1018C8622D
-:10C1E000704710B53E4A00290CD0012907D002291A
-:10C1F00007D03E483849443008F0EBFE10BD401EE1
-:10C2000000E0401FD06010BD35488068002800D095
-:10C210000120704710B504460020002907D034489B
-:10C2200008F0B4FD0146204608F0B0FD401C10BDEA
-:10C2300010B52B488068C07E030008F0BBFF0414D3
-:10C2400014030A1401F0F2F800280BD022492948FF
-:10C2500006E0FEF725FE002804D026481E49001DF2
-:10C2600008F0B7FE10BD23481B490B30F8E710B5A6
-:10C270000446002903D00020FFF7B9FE03E0194867
-:10C280000078F6F773FC2046FFF778F80020F6F701
-:10C29000ABFB10BD10B512488268106A11680068C7
-:10C2A000CB698B60134BC18B9B3359431368D960A7
-:10C2B0000146E0314B8883870C783B231C548B88E4
-:10C2C000C383CB88038409894184116802200875DF
-:10C2D00010BD0000FC510100F4B600005A06000039
-:10C2E000D01800207C00002010270000B2070000BA
-:10C2F00040420F0047040000F8B5FEF702FA064678
-:10C30000FEF770FAF94D07466879F94C002809D014
-:10C31000012823D0022826D003282ED0FF20F5A103
-:10C32000C63033E0F2481830FEF748FA002801D052
-:10C3300003200FE0EE481830FEF7ACF9002804D0D7
-:10C3400060696030007A002806D0E9481830FEF7AE
-:10C3500008FA012068711BE00220FBE7E44818306E
-:10C36000FEF7FFF914E0E2481830FEF793F90028D1
-:10C370000ED1FF20DFA1B83008E0DD481830FEF70D
-:10C380001DFA002804D1FF20DAA1C03008F021FEF8
-:10C39000A169F722087810400870AA79D207120F15
-:10C3A0001043FB2210400870EA79D207520F104365
-:10C3B00008706B79EF22022B04D0012B07D0032BDE
-:10C3C00007D00CE0012E06D8002F04D007E07F1E16
-:10C3D0003E43002E03D010401022104300E01040D6
-:10C3E0000870287C002811D0687901280ED0BF4839
-:10C3F0005438FDF786F8BD49606954397830A26930
-:10C40000FDF7E3FA0020FDF7EFFA04E00846FDF738
-:10C4100078F8FDF70CFBA0690078C00606D4E06947
-:10C420000078C00602D4E079002802D0A079002864
-:10C4300001D0012000E00320FCF747FF032020701B
-:10C4400001202071F8BDAA4810B51C30FEF7DDF9B7
-:10C45000A74C002802D00020607004E0012060702A
-:10C46000A2485438E061A148407C002802D060789E
-:10C47000002805D0E069FDF744F8FDF7D8FA10BDB3
-:10C480009A485438FDF73DF8984A6069543AA0300C
-:10C49000E169FDF79AFA0120FDF7A6FA10BD10B583
-:10C4A00093490022486932238276C27601221A54C7
-:10C4B0004030807C002803D00A700021022001E077
-:10C4C00000210320FFF71FFE10BD70B5884C607976
-:10C4D000C2062046416908464030002A01DA00229F
-:10C4E00002E0028B4B89D2180B460283C0331A7EBE
-:10C4F000002A03D0828B4D8952198283627A002AE6
-:10C5000003D03D2001F0C9F852E08A7E032A4FD0C3
-:10C51000227A002A13D0500701D4D00601D51E205C
-:10C5200036E0100701D53D2032E0D00705D1900755
-:10C5300003D470A1734808F04CFD2A2028E0603134
-:10C540008A78002A05D0C28B551CC5830D88AA4263
-:10C550000FD25A7F062A02D01A7F062A05D1428BB3
-:10C56000531C438309888A4203D2828BC18A8A4240
-:10C5700001D322200CE0027C808A002A0FD00628FA
-:10C580000FD35A48C07B012801D03E2000E008208C
-:10C5900001F083F86069807E032809D001E08842B9
-:10C5A000F5D20120207000210846FFF7ACFD70BDD8
-:10C5B000FFF775FF70BD10B54C494D48CA7B002A86
-:10C5C0002BD0012A29D0022A27D0032A04D049A13E
-:10C5D0004D4808F0FEFC10BD897B02290FD00729C9
-:10C5E0001BD0406901464031CA8A898A511A891E86
-:10C5F00089B2032900D30321028951180BE0406955
-:10C60000014640318A8A032A01D2018903E0428827
-:10C61000C98A5118491C818010BD4069F5E700B5F1
-:10C62000030008F0C7FD0604070B0F1212170029BC
-:10C630000ED00FE0491E02290AD90BE0491F01293B
-:10C6400006D907E0072903D004E00A390C2901D8EC
-:10C65000012000BD002000BDFEB50546244818306D
-:10C66000FEF78DF8002804D1274822A1CF3808F022
-:10C67000B0FC1F4CA069FDF703FC0321A069FDF786
-:10C680002DFCA069EF220178114001702946FDF7C9
-:10C6900069FC002601272B0008F08CFD0E5D5D086B
-:10C6A0005D1D6161155D4D5D613D385D60697121A4
-:10C6B000095C002901D0062101E0C030417EA0695B
-:10C6C000FDF71BFD4BE0E069FDF776FC0146A06934
-:10C6D000FDF784FD43E06169A069D031FDF747FDB6
-:10C6E0006169A0699531FDF750FD38E0C819002057
-:10C6F000900000207372635C6C6C5F736C61766594
-:10C700002E6300006B020000780800000621A0697B
-:10C71000FDF760FD23E020690178A069FDF744FD85
-:10C7200020698188A069FDF741FD20694188A069E1
-:10C73000FDF740FD13E00096019660696030007CD3
-:10C74000002803D069460878384308706946A06914
-:10C75000FDF756FD03E0FE49FE4808F03AFCFEF7FF
-:10C7600018F8002804D1FB48F949801D08F031FC75
-:10C770000C2D07D0072D04D060695E210E52603069
-:10C780008770FEBD606940304683FEBDF0B5F24C57
-:10C79000DC2061698DB0405C042809D0052834D1C3
-:10C7A0006031487A002829D001204874022026E010
-:10C7B0001022EA31684600F0A8FF61691022C831F2
-:10C7C00004A800F0A2FF684605F0BBF8616908AA5A
-:10C7D0006CCA0F46CB6778378A670846FE608030A0
-:10C7E000BD60074620376CC7002303634363012005
-:10C7F000A0310876D9494874052000E00D20FFF7E4
-:10C800002BFF61690020C03108770DB0F0BDF8B58D
-:10C81000D1481830FDF7B3FF002842D0CE4C207A23
-:10C8200000283ED160690025C030007ECB4E002834
-:10C830000BD0B17B0120FFF7F2FE002805D1B17BC0
-:10C840000420FFF7ECFE002806D060690127C03005
-:10C85000407F062807D00CE060695C210D526030F3
-:10C86000457402202FE0B17B0420FFF7D8FE00289A
-:10C8700010D0B07B030008F09DFC173F3F3F3F1EE8
-:10C880003F3F3F3D3F203F3F3F292C3F3F3F3F3F02
-:10C890003F2F3F0060696A21095CC90702D0C030A0
-:10C8A0004577F8BD0C20FFF7D7FE60696030817ACC
-:10C8B00039438172F8BD072005E0FDF7D0FF00285D
-:10C8C000F8D075740B20FFF7C7FEF8BD00F02CFF01
-:10C8D000F8BDFFF75BFFF8BD606900218030816023
-:10C8E000C160057437740620FFF7B6FE60696030DA
-:10C8F0008570F8BD0920E6E700F0D8FEF8BD70B5F8
-:10C90000964DA87B072834D1934CDE22606941887C
-:10C91000125A491C91422CD1217A002929D1014671
-:10C92000E0318B88C28B934207D1CA88068CB24211
-:10C9300003D10A89468CB2420DD0884A8689303AA2
-:10C9400056819381CB88D3810989118201462E318A
-:10C9500051600121117001221146FDF79FFC002159
-:10C960000420FFF7D0FB61690020C0314877A8732D
-:10C97000E87370BD70B5794CA07B162803D074495C
-:10C98000774808F026FB74480021426973486032FA
-:10C99000117291703038067E0B250123002E06D0CF
-:10C9A000027D002A12D14575817503750EE0567A15
-:10C9B000002E06D051722288828381760C22027664
-:10C9C00004E022888283817683770576A17370BD27
-:10C9D000F8B5614DA879800723D5287A002820D1A1
-:10C9E0005E4C0120A17BFFF71AFE002819D1A8692F
-:10C9F0000127C0780026030008F0DCFB0E62620805
-:10CA0000622E3B4F0A62146220524562022021E0EE
-:10CA1000A07B042804D052484D49333808F0D9FA95
-:10CA2000A673F8BDA07B082804D04D4848492D388E
-:10CA300008F0CFFA686960308670F1E7A07B0A28B9
-:10CA400004D047484249263808F0C3FA6869603084
-:10CA500007720B20A073F8BDA07B0E2804D0AB207A
-:10CA60003B49C00008F0B5FA6869603007720F20D2
-:10CA7000F0E7A07B0F2804D039483549183808F072
-:10CA8000A8FA1120E6E7A07B0F2804D034483049EB
-:10CA9000123808F09EFA1320DCE7FFF76BFFF8BDB1
-:10CAA00069690846C0310A7F062A04D16030807A5D
-:10CAB000800700D50E77487F0628F0D14E77F8BD65
-:10CAC000274823496E3008F084FAF8BD10B5234C8E
-:10CAD0000020A17BFFF7A3FD002804D11E480122FE
-:10CAE000017A114301720420A07310BD10B51A4CD5
-:10CAF00060690146C0314A7F002A06D0097F0629B5
-:10CB000003D0217A0122114321726030807A80079C
-:10CB100015D4E069FDF752FB61696031C872E069C4
-:10CB2000FDF74EFB616960318881E069FDF74DFBDF
-:10CB3000616902226031C881887A10438872606915
-:10CB400000220146C0310B7F062B00D10A7709E095
-:10CB5000F4C60000ED07000090000020C819002076
-:10CB6000770500006A231B5CDB0703D106234B77A4
-:10CB70004030428310BDF8B5FE48817B0020FFF7AE
-:10CB80004EFDFD4C0126002807D160696030407AD7
-:10CB9000002802D1207A30432072616900255E208E
-:10CBA000455262204654C831E069FDF7C8FA616910
-:10CBB000E0699131FDF7D2FA6169042208469131AA
-:10CBC000B93008F069F8EB483038017E08270029B1
-:10CBD00006D0017D002912D14775857506750EE0D6
-:10CBE0006169054689894183E249E0691439FDF7A5
-:10CBF0008EFAE049E0690C39FDF796FA2F76DD48A8
-:10CC00000E218173F8BD70B5DA4D0020A97BFFF7C6
-:10CC100006FDD94C002803D1207A01210843207257
-:10CC2000E069FDF730FA00280ED0E069FDF726FA3A
-:10CC30006169DE225052498800F0C1FD002806D00B
-:10CC4000282000F02AFD70BDFFF740FF70BDE069AD
-:10CC5000FDF70EFA6169E0310870E069FDF701FA4D
-:10CC60006169E0314880E069FDF7E0F96169E03130
-:10CC70008880E069FDF7E3F96169E031C880E06927
-:10CC8000FDF7E6F96169E03108810720A87370BDFE
-:10CC9000F8B5B94CA079C0076FD0207A00286CD1C4
-:10CCA000B44D0120A97BFFF7BAFC002853D1E069FD
-:10CCB0000027C178022201260B0008F07BFA0D162E
-:10CCC0001308354A4A384C474A1929444A00FDF7A7
-:10CCD00016FA6169DA225054AE735E204752603111
-:10CCE0008E7038E000F076FD35E0FFF78CFF32E023
-:10CCF000A97B0020FFF793FC002802D1207A304363
-:10CD0000207260695E210F52603086700A2018E040
-:10CD1000A87B0B2802D0207A104320722F74606900
-:10CD2000603046720C200CE0FFF725FF13E0A87B73
-:10CD3000112802D0207A1043207260696030877019
-:10CD40001620A87307E0FFF7D1FE04E000F00FFD06
-:10CD500001E0FFF7BBFEFDF76EFD002804D14F2078
-:10CD60008649000108F035F9606900238030016BC5
-:10CD7000426B491C5A4142630163F8BDF8B57D4FCF
-:10CD8000012814D1787C002802D1387C002801D0F9
-:10CD9000FCF74DFEFCF7E0FBFCF7D3FB0020FCF7B3
-:10CDA00094FAFCF71EFBFCF760FBFCF7A5FBF87B95
-:10CDB00001260025704C00280FD16079C10705D0ED
-:10CDC0000220F87360694030057402E0800717D5CF
-:10CDD000FE7300210120FFF796F9F87B012802D0AD
-:10CDE000022808D00CE06079C00709D00220F8734F
-:10CDF0006069403005746079000701D50320F8733D
-:10CE000000F018FDFFF703FD2079002801D03D81D7
-:10CE100002E03889401C38816079C007606904D01D
-:10CE200072210D544030858203E04030818A491CD4
-:10CE30008182E079002806D061696031887C02280F
-:10CE400006D8401C887460696030807C022804D950
-:10CE50003D817D81606960308574B97B0020FFF77A
-:10CE6000DEFB002802D1B87B06284BD16069014661
-:10CE7000C0310A7F062A45D0497F062942D03D4964
-:10CE8000C97B03293ED16030807C00283AD1FDF770
-:10CE90002FFC002836D0FDF7A5FC002832D06169B0
-:10CEA000C88801282ED90A4640325674D08A978AFB
-:10CEB000831E9F4201DB012002E0C01B401E80B2A6
-:10CEC0002C4B1F89A3899F4201D3012302E0DB1B66
-:10CED0005B1C9BB2984200D91846012800D15574BA
-:10CEE0002A22525C002A11D0224A898D52898A4214
-:10CEF00001D3012102E0891A491C89B2884205D96F
-:10CF0000084603E06169012040314D7461694A8837
-:10CF100010180881FFF74FFB6069122215490C3089
-:10CF200007F0BAFEFFF7D1FAFEF7E3FF00280AD0B8
-:10CF3000104810388179002905D161690246898934
-:10CF4000203A118586710C481C30FDF7BCFC002886
-:10CF50000FD0E06900788007800F012809D00228EF
-:10CF600007D0FDF7D0FC002803D10449044808F09D
-:10CF700030F807E0C819002090000020F4C6000037
-:10CF80007F030000606940308574F8BD70B5FE4CC9
-:10CF9000607900283CD0FD4D022810D1FDF789FBB7
-:10CFA000002803D1FA49FB4808F013F86A69002306
-:10CFB00080329068D168401C5941D1609060002651
-:10CFC00066712079012804D12671A87910210843BF
-:10CFD000A871E078012816D1E670A87908210843E5
-:10CFE000A871FDF7F5FB002804D1EA48E84918309C
-:10CFF00007F0EFFF6969002380318A68C868521C16
-:10D0000058418A60C860A079012802D00120A0712F
-:10D0100070BDA67170BDF8B5DC4CDB4DE269002730
-:10D020001078042183079B0FE8790126012B11D08A
-:10D03000022B0FD0032B01D0207A30E06178002939
-:10D0400005D1AE70A1793143A17123E0EF71F8BD34
-:10D05000EE71F8BD5278D3061CD060780028F8D164
-:10D06000D006C00E1B2818D8607908436071FDF700
-:10D07000E2FB002804D1C748C5494B3007F0A9FF9F
-:10D08000606900238030026B416B521C594102637E
-:10D090004163E8790128DBD1D8E7207A10210843E1
-:10D0A0002072F8BDF8B5B84D0446303D287D002704
-:10D0B00000280AD0002978D1677010202070687D80
-:10D0C000A070A87DE0702F756FE02878002814D03C
-:10D0D00000296AD1072067702E462070083607E0C5
-:10D0E000686807802F700A223146A01C07F0D4FD23
-:10D0F00028780028F4D1A77057E0287EA24E143E6D
-:10D10000002837D0002950D1297EA0480B0008F014
-:10D1100051F80D2C2C2C2C2C2C2C2C112C2C2008C8
-:10D120002C0067700C212170A97EA1704069808954
-:10D13000A08018E008216770217040690A46808944
-:10D14000914960801439201D07F0A6FD3089A08127
-:10D1500009E067700B212170A97EA1704069808968
-:10D16000A080A87FA0712F761FE089498A4807F028
-:10D1700030FF1AE0844810388279002A08D000294C
-:10D1800013D1677011212170B189618087710CE022
-:10D19000827A002A0BD0002907D1677012212170F2
-:10D1A000318A6180718AA18087720120F8BD0020D8
-:10D1B000F8BD76480078012801D00C2070477249EC
-:10D1C0000020303908700875087620318871704762
-:10D1D00070B56E4C064620780D46002804D093208A
-:10D1E0006B49000107F0F5FE01202661E07225621F
-:10D1F0002070FFF7DEFF002804D0674864494930FB
-:10D2000007F0E7FE70BDF8B5604C2178012902D126
-:10D210002178012901D00C20F8BD01460546606146
-:10D2200012220C31584807F037FD01274035AF7402
-:10D23000554D2888FDF723FA002827D02888FDF7C8
-:10D24000D9FA002822D02888FDF78EFA00281DD0B0
-:10D250002888FDF7A8FA002818D0FCF742F9606981
-:10D260000026C088002825D048481830FDF787FAE6
-:10D2700000281FD06069C030007E00281AD0A97B2A
-:10D280000120FFF7CCF9002802D013E01220F8BDEE
-:10D29000A97B0420FFF7C3F900280BD16069014680
-:10D2A0004030868360314E740220FFF7D5F9606903
-:10D2B00040304674344830380078002806D1606920
-:10D2C000C18D008C814201D9A18102E06069008C8E
-:10D2D000A08160694189491E8AB2298989182981FA
-:10D2E000297B002902D06E812E7302E0698989189A
-:10D2F0006981014640318B8A9B188B82C388012B40
-:10D3000001D85B1CC380002A01D060308674A87BE2
-:10D31000032816D0487C002815D02889A189884286
-:10D3200011D2FDF7E5F900280DD060692A21095CCA
-:10D3300000290BD06989808D814207D3A670E770E0
-:10D340000CE0A7700AE0A670E67007E0688900218B
-:10D35000401C6881A7700520FEF7D5FE6069512149
-:10D360000E54A97B052901D0062920D1DE2142884F
-:10D37000095A511A09B2002919DB01460522E03188
-:10D380002430F3F721FF09E0C819002090000020A5
-:10D39000F4C6000039070000F10800000122022154
-:10D3A0006069FCF77BFF6069C0304677AE736069E7
-:10D3B0004189FDF728F8A07800282AD1606920303B
-:10D3C000807A002800D06E810120FBF788FE60691A
-:10D3D0003830FCF73EF860693430FBF751FF216AC2
-:10D3E00000200856FBF718FF0120FCF777F8FBF741
-:10D3F000D1FEFCF76FF80120FBF7B1FF6069406ECA
-:10D40000FCF782F8FFF71FF860694030C07BFBF73C
-:10D4100040FF6671E671A6712672A6726672267169
-:10D4200002202070FCF768F80020F8BD10B5F74C1A
-:10D430002078022801D00C2010BDA078002803D04D
-:10D440000020FFF79BFC17E0FCF74BF800F01DF9FC
-:10D4500060692030007C012809D0FCF79FF8FBF7B9
-:10D460009EFEF3F7AEFFE07A012803D004E0FCF75C
-:10D470009DF8F4E7F5F7CCFD002010BDE349C87234
-:10D48000704710B5E14C2078032803D0E049E1480B
-:10D4900007F09FFDE04801218278002A06D0002293
-:10D4A00082700171A27904231A43A271A2691378D0
-:10D4B000DB439B0707D1C378002B04D1C170A0794F
-:10D4C00002210843A0711078C00606D4E0690078F4
-:10D4D000C00602D4E07900280CD06078002809D179
-:10D4E000A079002806D1FEF7F2FC002802D0207AAD
-:10D4F000002803D00120FFF741FC03E0FEF7A3FF63
-:10D5000000F0C3F82078012806D0F3F75AFFE07A3C
-:10D51000012801D1FCF7DAF810BD38B5BB4C6069C1
-:10D520002030007C012820D1A07A00281DD1684637
-:10D53000FCF744F8002818D061693120405C0128CC
-:10D5400010D1B54A0D236D460020D356285683428C
-:10D5500008D050738989303A9185114620318873FB
-:10D5600001208872A07A401CA07238BD70B5A74C0B
-:10D5700006462078042804D0A648A549553007F06F
-:10D5800028FD607910210843A34D6071002E47D01B
-:10D59000FCF765FA61780126084300280ED1687C03
-:10D5A00000280BD0E0694178C90607D00078E979F6
-:10D5B0000007C00F884201D1667247E0E07800287A
-:10D5C00009D0E0694178C90605D10078C00602D4C7
-:10D5D000FFF7A3FF3AE0FFF7A0FFE069A979007821
-:10D5E0004007C00F884205D0FFF7D0FC60790821C2
-:10D5F00008436071E069E97900780007C00F88424C
-:10D6000001D1FFF708FD6079304360710020E071BF
-:10D61000A079000702D5A87B022817D0207A13E052
-:10D62000022108436071E079401CC0B2E07101281A
-:10D630000CD8687C00280DD0774854384078C10653
-:10D64000C90E052906D2C006002803D00120FFF725
-:10D6500095FB01E0FEF750FE2078012806D0F3F795
-:10D66000B0FEE07A012801D1FCF730F870BD10B5AA
-:10D6700066480078042804D066486549B73007F04A
-:10D68000A8FC0120FFF77AFB10BD10B50720FBF7BF
-:10D690001CFE5E490420087010BD5C4933224969B4
-:10D6A00050545D4A032090738876704710B5574CEC
-:10D6B0006069C030007F00281CD0062806D056487C
-:10D6C000817B0020FEF7ABFF002813D06069014684
-:10D6D000C0310A7F130007F06DFD070D0D0D0D0D14
-:10D6E0000D050D006030807AC20704D0C04380076A
-:10D6F00000D1087710BD0C20FEF7AEFF6069012253
-:10D700006030817A1143817210BD10B5002A0AD0B1
-:10D71000002306E0D41A6418203CE47FC4545B1C48
-:10D72000DBB29342F6D310BD10B503F0B0FF0C2866
-:10D730001CD3364C08216069D03003F0A9FF0028C3
-:10D7400006D060690421953003F0A2FF002803D1C0
-:10D750002F49324807F03DFC6169042208469531A3
-:10D76000BD3007F099FA0420FEF776FF10BD7CB5B6
-:10D77000294E0020B17BFEF752FF0125234C0028E3
-:10D7800002D1207A284320726946E069FCF73EFD09
-:10D79000684600780021C207D20F684602706069AF
-:10D7A000002A02D06030057401E0603001746069C5
-:10D7B0005E221152603085700820B0737CBD401A23
-:10D7C000174900B2884201DC002801DC01207047C3
-:10D7D0000020704770B5104D0020A97BFEF71FFF99
-:10D7E0000A4C002803D1207A012108432072E06905
-:10D7F000FCF77EFC6169DE2250524988FFF7DFFFAB
-:10D8000000280FD02820FFF748FF70BD90000020AF
-:10D81000F4C60000330A0000C819002062060000A8
-:10D82000FE7F00006169E069E031FCF755FC0520EE
-:10D83000A873EAE770B500F047F8384C384D6079C6
-:10D84000400709D5A97B0520FEF7E9FE002803D093
-:10D85000207A082108432072FFF71AFA00F012F824
-:10D86000FFF7B6F8A079C00609D5A87B030007F03A
-:10D87000A1FC06060606060604060620A873FFF7A6
-:10D880003EF8C2E710B525488179490714D5017AD9
-:10D89000002911D12249897B0B0007F08BFC080D70
-:10D8A000050D0D0D0E0D100D4069002262210A5468
-:10D8B000C030807EFFF7F1FE10BD012100E00221A3
-:10D8C0004069C030417710BD10B51448817909070F
-:10D8D0001DD5017A00291AD1114A947B230007F043
-:10D8E00069FC1416160B16161616161616161616AC
-:10D8F0001616161616161716406960308170407C91
-:10D90000002801D0062000E01620FFF7C6FE10BD5B
-:10D910004069603001728170917310BD90000020E9
-:10D92000C819002010B5031D03600020521E04E03A
-:10D930005C181C60401C2346C0B29042F8DB0020FB
-:10D94000186010BD01460A680020002A02D0104667
-:10D9500012680A60704702680A6001607047000040
-:10D9600000B51A2822D00ADC030007F023FC0D11B1
-:10D970001F131F1F191915171F1F1F1B1F002A28F0
-:10D9800014DD3A38030007F015FC030F11091100EC
-:10D99000002000BD1E4800BD042000BD0D2000BDBC
-:10D9A0000F2000BD082000BD112000BD032000BDD8
-:10D9B00010B50C46F4F784FF00281AD02046F4F77F
-:10D9C00084F9002812D020780E280BD00F2809D017
-:10D9D000022807D0032805D00EA1772007F0F9FA16
-:10D9E000002010BDA078FFF7BBFF10BD09A17D206E
-:10D9F000F4E708A18320F1E710B5F4F7EDF810BDC6
-:10DA000010B5F4F762F910BD10B5F4F744F910BD84
-:10DA1000023000007372635C686F73745F686369DF
-:10DA20002E630000F0B597B00021032004F082F9C6
-:10DA30000025FE4E022775807574347C12E0F06874
-:10DA4000E1004018818800290CD0858069460F705C
-:10DA50004D7001680291808869468880002168467F
-:10DA6000F8F702FD2046641EE4B20028E7D117B0A3
-:10DA7000F0BDEE4BD86019741A80D3E7EB49EC4B3C
-:10DA80004A8800201A4200D00120497C002901D098
-:10DA9000082108437047F7B504460E460078012177
-:10DAA000E34A8140521C114098B0E04A00915188ED
-:10DAB000E04B994205D0009B002B05D0DC4B19426E
-:10DAC00002D001201BB0F0BD009BD84A1943518001
-:10DAD0001A9D002D11D00020287022781A98002756
-:10DAE000401C130007F066FB10EF0D152137555D44
-:10DAF0006A39AFAB85B3EEEDECEF0B28EDD0042027
-:10DB0000E0E702212970A1880170090A4170032011
-:10DB100093E004212970A1880170090A4170E1880D
-:10DB20008170090AC170052087E006212970A1884B
-:10DB30000170090A4170E1888170090AC170218968
-:10DB40000171090A4171A289E81D216907F0A4F851
-:10DB5000A089C01D71E0082129702178082901D110
-:10DB600010212970A1880170090A4170E188817033
-:10DB7000090AC1700520308020466A1D01A90830BD
-:10DB800003F0CFFB00287DD1694630880979401821
-:10DB900053E00A212970A1880170090A417003200D
-:10DBA0000AE00C212970A1880170090A4170E188FE
-:10DBB0008170090AC170052030809DE0A0888446EC
-:10DBC0004000401C81B2308888425BD3052959D37C
-:10DBD0000E202870002008E0A36842009B5A5219CA
-:10DBE00053701B0A401C937080B26045F4D331809F
-:10DBF000B6E08E49487C002873D0401E4874C8683F
-:10DC000021790822C9004518A988286840180838D1
-:10DC1000A16807F041F802216846017100214171B5
-:10DC200028680390A98868460181002101A8F8F7B7
-:10DC30001BFC0020A880002E00D0308090E02978C6
-:10DC400080221143297029784022114329702978B4
-:10DC50008909890112312970A1880170090A41706E
-:10DC6000E288E81CA16807F017F8E088C01C308043
-:10DC70002878410640D5C00972D00121684601715B
-:10DC8000002100E02BE041713188ED1C091D01816C
-:10DC90001A980390E08840190490001D634D059088
-:10DCA000297C68460176002101A8F8F7DDFB0746CC
-:10DCB00030880C303080022F06D0002F50D060E02A
-:10DCC0003CE032E01CE059E06946097EE868CA00A1
-:10DCD00080182A7C914202D28188002902D0042730
-:10DCE0004FE02EE0697C491C69741A990160318803
-:10DCF00081800020308044E04C48A188C1802FE022
-:10DD000029788909890116312970A1880170090AC9
-:10DD10004170E1888170090AC1702289681DE1683B
-:10DD200006F0BAFF2089401D46E728788009800167
-:10DD3000183028702079687002207EE73B480A047A
-:10DD400001D405271DE00289A3889A4201D0062745
-:10DD500017E01E222A70012249043280490C4180BA
-:10DD6000009800280DD0314D0022288811468300EC
-:10DD7000032003F03AFF2078287107E0002030806C
-:10DD800003272A48009942888A434280384699E608
-:10DD9000F7B59AB002000C4606D0172A04D82348DB
-:10DDA000244B4088984202D107201DB0F0BD237853
-:10DDB0005D0601D4DB0901D00820F6E700236D469B
-:10DDC0002B706B701D462378611C9F06931E189361
-:10DDD000531E19939BB2169302AB1793134BBF0EAE
-:10DDE000DE883B0007F0E6F9208511F15EF16BF16A
-:10DDF000A3F1C6F1F2F1FBF1EEF1EDF1ECF1F1F18D
-:10DE0000EBF1EAF1E9F1E8F185F1052A71D104229B
-:10DE100069460A7005490A7969460A71E178A3786A
-:10DE20000A021A436946CA80227905E0DC190020FB
-:10DE3000FE710000FFFF00004A7061788906890EBC
-:10DE40000C2923D009DC891E0B0007F0B3F9091354
-:10DE500052155219521B521D520012291CD004DCBB
-:10DE60000E2915D01029D1D114E0162916D0182961
-:10DE7000CCD115E0800700E04007002839DA2AE11C
-:10DE80000007FAE7C006F8E78006F6E74006F4E781
-:10DE90000006F2E7C005F0E7C004EEE78004ECE717
-:10DEA0004004EAE7800724D5032AAFD105206A465B
-:10DEB0001070487809780002084390800BE1400711
-:10DEC000F1D5062A15D31898617880B2012902D0BD
-:10DED00002299BD101E0022700E0102706226946B3
-:10DEE0000A7000228A8001AEA11C0236BA1C179269
-:10DEF00018E0B6E04A780B7812021A433280801E8E
-:10DF0000891C1890B21C1691384603F0E4F9169952
-:10DF100018986B469A88C919C01BB61D521C9A8066
-:10DF2000179A80B28242E5D900289CD1D3E000073D
-:10DF3000B9D51998694682B20720087000208880F8
-:10DF4000601C891D11E0437806781B0233430B8067
-:10DF5000C37886781B0233434B806E46121FB3880A
-:10DF6000001D091D5B1C92B2B380042AEBD2002A6B
-:10DF700077D1B0E0C00674D5022A72D31898082170
-:10DF800082B2684601700021C18063780371A01CD1
-:10DF900017990EE04678077836023E430E80861CBD
-:10DFA0004E606F46D21AFE88C0180831761C92B2B5
-:10DFB000FE809342EED9DAE76FE076E065E051E06B
-:10DFC00046E01EE014E00AE000E0A0E0800648D54C
-:10DFD00009206A46107096801698D0800FE040069F
-:10DFE0003FD50A22684602708680169AC28006E0F3
-:10DFF000000636D50B206A46107016989080029164
-:10E0000069E0C0052DD5022A7FD318980C2182B271
-:10E01000684601700021C18063780371A01C1799C4
-:10E0200013E04678077836023E430E80C67887783C
-:10E0300036023E434E80061D4E606F46D21AFE8861
-:10E04000C0180831761C92B2FE809342E9D98EE75F
-:10E05000C0045AD5012A58D10D2168460170868026
-:10E0600039E052E0800450D5052A4ED30E2368468D
-:10E0700003708680C8788B78010219436846C18096
-:10E08000521F0281601D039025E040043DD5012A06
-:10E090003BD10F20694608701DE0030435D44B784E
-:10E0A0000E781B023343244E3381032A2DD31B2FBA
-:10E0B00027D011236E46337001261F4BF6033043E1
-:10E0C000588048780B780102194368468180D21E37
-:10E0D000C280E01C029020788006800E1B280AD0A7
-:10E0E0001D2808D00021032003F024FE1248418897
-:10E0F000C90BC903418068461C99F8F7B5F9284651
-:10E1000053E610206B461870DBE70725F7E7082574
-:10E11000F5E700B50022D243074997B04A800328AB
-:10E1200007D1032268460270097901710021F8F7CE
-:10E130009BF917B000BD0000DC190020FFB589B0C5
-:10E140000020019009981027FE4C1E46154608280D
-:10E1500006D0E06901F05EF8002809D03770BEE013
-:10E16000288809213843108013980227017016E08F
-:10E17000E169012088710521E269C9029180E169A4
-:10E180008872E169F0480881E16900208873288875
-:10E190002021084328801121139804270170139827
-:10E1A0000225801C0290307806900A203070E548E5
-:10E1B0001830049001F022FA0020059020462C30FF
-:10E1C00003906DE00998102808D1022D06D001991E
-:10E1D0000298A28D401A8270110AC170E08D0A99CE
-:10E1E000884202D901F0CDF806E0884204D10698B1
-:10E1F000002801D030701CE00298E18D0170090AFE
-:10E20000417012980088401BC01B82B2FF20C01BC7
-:10E21000904200D2024607A8009002980021C3193C
-:10E22000E08D01F056FA3070002805D0C0B2832886
-:10E2300058D0E08D20833EE00598002804D0206C63
-:10E2400000790A282CD336E06846808BC119C9B200
-:10E250000191022D0DD01399019A4978914202D172
-:10E26000228F824208D00191206C0178032908D0C6
-:10E2700023E0084613994870206C0178042906D0E1
-:10E2800007E000790A2818D20120059008E0E18D06
-:10E29000818002990198081802900198281885B287
-:10E2A0000399049801F0ADF9002804D11298008870
-:10E2B000401BB84286DA022D0DD00998102806D1ED
-:10E2C00002990198A28D081A8270110AC1701298E1
-:10E2D000058000203070206C0078032802D00020D8
-:10E2E0000DB0F0BD0220FBE7F8B5964A0026126D8E
-:10E2F000002A2ED0401F934D84B24035E88A234631
-:10E300000833AF8AC318BB4222D88B784F781B02E0
-:10E3100010183B4303701B0A43700B79CF781A0225
-:10E320003A438270120AC2700471220A4271224674
-:10E33000491D801D06F0B0FCE88AA41D001980B2BA
-:10E340008049E882096D002208180270427000E0DE
-:10E3500009263046F8BD30B57A4B028840339B8A97
-:10E36000934213D9774B1C6DA3185C781D78240257
-:10E370002C430BD05C791D7924022C436404640C7B
-:10E38000A41D1219028000200B6030BD822030BD18
-:10E39000F0B585B0074600266846068155E001982D
-:10E3A000417802780D021543417902790802104341
-:10E3B00000044AD43D8003A80023012200905202A9
-:10E3C0001946284601F085F9040044D168460189C0
-:10E3D0000182019841790279090211434378027858
-:10E3E0001C021443AC421CD10A041AD44A04012171
-:10E3F000520C89030A430096C178807809020143D0
-:10E400000023204600F0C1FF040010D10199487993
-:10E410000A79000210430122D20310430871000A56
-:10E42000487101A904A8FFF796FF0400D1D0019913
-:10E4300000964878097800020843694600238A89D3
-:10E44000194600F0A2FF822C05D101A902A8FFF70E
-:10E4500082FF0400A3D06846068109E0019948794B
-:10E460000A79000210434004400C0871000A487108
-:10E4700001A902A8FFF76FFF0028EFD0822C02D07D
-:10E48000204605B0F0BD0020FBE7F7B584B0144688
-:10E490000646002700F071FF2A480025006D00287D
-:10E4A0002FD0059801282CD12046FFF771FF0700D7
-:10E4B00027D1002E29D06846058118E001994878B7
-:10E4C0000978000208432080019B0095587919794A
-:10E4D0000202D8780A4301029F78587839431F789E
-:10E4E00000029B1D384300F050FF002805D101A910
-:10E4F00002A8FFF730FF0028E0D0822800D10020DA
-:10E500000746002E01D00F48056500F03AFF384657
-:10E5100007B0F0BDF0B597B00021042003F00AFC6D
-:10E52000084F00243D467C8040356C73AC73287BDB
-:10E53000B96CC00008380E18B08800280DD0012032
-:10E54000694603E0F01900200128000008703068D7
-:10E55000019000216846F9F78EFAB4803C65AC82E0
-:10E56000EC8217B0F0BDFE4B986418464030017342
-:10E570001A803838D861CDE7F949002049880A0760
-:10E5800000D501200A06120F01D002221043CA054D
-:10E5900001D5042210438A0501D5102210434905F4
-:10E5A00001D520210843EE494031497B002901D0A3
-:10E5B000082108437047FFB5A7B004002898164605
-:10E5C0001B9022D00178E6484D06428822920246EE
-:10E5D00040320092002D14DB8A06920E1E2A0ED0C5
-:10E5E000229A5205520E10D13288172A0DD3009A62
-:10E5F000927B002A09D1DB4D229AAA4205D0CA0992
-:10E6000006D08A06920E122A02D003202BB0F0BD4B
-:10E61000D348826C0098007B2590C0000838101801
-:10E620001F9048060CD40098407B002808D0009921
-:10E6300088731F99289808601F9884800220E5E756
-:10E64000002718A90F7069460F72C54902AA0A640B
-:10E65000309A4A6410A90F850F861B981D460078D2
-:10E6600020908106BE4B601F24901A462C322192C6
-:10E670002898DA691833890E1E93401C0B0006F0A7
-:10E6800099FD1FFDFD11FD1AFD90FDFCFDFBFDFA3E
-:10E69000FDF9FDFCFDF8FDFDFDF7FDF6FDFDFDFDC1
-:10E6A000FDF5FD00032C7BD10320287017226A7032
-:10E6B0000022AA70E0E2052CF5D141780278090227
-:10E6C0001143A74B10AA19831185C27880781202D2
-:10E6D00002435A8300297DD091427BD800211846FD
-:10E6E00081720181491E01841E9800F087FF052078
-:10E6F0002870A81C1D900220009021991E9800F0FF
-:10E7000080FF002803D047E018A90870F0E2944881
-:10E710002030807C012803D002206870102002E0A5
-:10E7200001206870022022908D4830302390002212
-:10E7300020A9239802F0F5FD00282AD120A800780E
-:10E740002299814225D132880099801C511A814238
-:10E750001FDB83481D99C08D0870000A48701D9802
-:10E7600020A9801C1D9000981D9A801C0090239861
-:10E7700002F0D7FD20A909781D9840181D90009837
-:10E78000401880B2009021991E9800F03AFF0028AE
-:10E79000CDD0009802288DD10A2018A908706CE20B
-:10E7A0006DE0072C6BD341780378090219436C4B59
-:10E7B0008446198310AB1985C37880781B021843EF
-:10E7C000674B0029588305D0814203D801211846A0
-:10E7D000817200E0A4E061464B7909791B020B438A
-:10E7E000038100218173104600F014FD00280FD131
-:10E7F0005B480121C26991710522C369D2029A80E6
-:10E80000C2699172C26958491181C069002181733E
-:10E810005349E01F08841B98C01D48621E9800F0F1
-:10E82000EDFE07202870681C009001201D904C48C8
-:10E830000021C18530E01D98012815D04848C169E4
-:10E84000897901292FD000981038C17B807B09027B
-:10E85000014300980170090A41700098801C0090E3
-:10E860001D98801C80B21D903D4809E013E2BEE176
-:10E870007AE1D8E00DE2A0E080E03BE01EE2B6E005
-:10E88000C18D00980170090A41700098801C0090A9
-:10E890001D98801C80B21D9021991E9800F0B1FE39
-:10E8A000002802D006E0818DD3E731881D98081A30
-:10E8B0000428C0DA1D98012800D16DE72848C169F5
-:10E8C0008979012903D0828D26498A4205D1818D1B
-:10E8D00000980170090A417009E000981038C17B66
-:10E8E000827B0802009910430870000A48701D9846
-:10E8F000801CC1E1072C01D0152C78D14178037818
-:10E9000009021943164B198310AB1985C378807817
-:10E910001B02034312480029438301D0994201D9C5
-:10E920000120F1E60E4801218172002101818173ED
-:10E93000052C07D024981B99C0B2491D02F0CBFCCE
-:10E940000028BAD100200649C04308841B980096CD
-:10E950000195007818AB8006800E1CAA002105E006
-:10E96000F0190020FFFF000001280000FFF7E6FB80
-:10E970000746FE4810A9008B08857EE1032CBCD118
-:10E98000402210A90A86417802780802F74910430C
-:10E99000088310A9088520A9009131886B1C491EA5
-:10E9A0008AB2002100F095FE18A90870002830D125
-:10E9B0000B20287020A8008833E0052C9DD18021F1
-:10E9C00010AB1986014640780B780202E7481A43DB
-:10E9D0000283CB7889781B021943E44B10461984D3
-:10E9E00010AB1A85E24A914202D307208CE697E0E9
-:10E9F0003F23DE4A9B021943118421AA00923288E8
-:10EA00006B1C521E92B200F064FE18A90870002818
-:10EA100003D08328B1D102272FE10D20287020A830
-:10EA20008088401C28E120990C22C9095143C91C47
-:10EA30001E91A14204D92098400671D500201BE107
-:10EA4000417800780902014310A801851B980078DD
-:10EA500042062898C01C1D90002A62DA05206A46EA
-:10EA600010721B980078C00944D0082268460272D0
-:10EA70008181A01A87B268468782289806901E98DE
-:10EA8000201A81B26846C1811D980490401806F092
-:10EA900064F9079006982599C0190890491E08A89E
-:10EAA000017102A83099F8F7E6FF07460021684691
-:10EAB0000172002F1BD0022F18D1009808A9007BEB
-:10EAC0000979401E884210DDA848289A836CC90045
-:10EAD0005A50816C08A80079C000001D0C520098A3
-:10EAE0000099407B401C4873C7E00527EAE00620F8
-:10EAF00069460872002000901E980021201A20907C
-:10EB000082B21B9B10A8DB1C008D00F03EFC01466E
-:10EB100018A80170002268460272832903D003E01E
-:10EB200093E00720E4E702271B98007840060ED503
-:10EB30008E484188C90506D510AA018B128D9142D5
-:10EB400001D100214162002018A9087094E0FF2142
-:10EB5000013110A80186018D844801832099018428
-:10EB60001D994162132085E0052C6ED3417803780E
-:10EB70000A021A4310A90A859446092269460A72B4
-:10EB80000021009101222499D20311438AB2C17855
-:10EB9000807809021B9B01435B1D604600F0F5FB7A
-:10EBA00018A90870002269460A720122520210A9AF
-:10EBB0000A86832802D0002805D099E06B48098D89
-:10EBC000018302277EE06948006D002807D02046B7
-:10EBD0001B99FFF789FB18A9087000284DD12B4617
-:10EBE000324620461B9900F024FB074645E01B985F
-:10EBF000022C4078009064D1002801D0012860D117
-:10EC00000A2168460172009901731AAA002000992E
-:10EC1000FFF73BFC0146684641730021817302A85F
-:10EC20003099F8F728FF0746002168460172012154
-:10EC3000890210A80186022F08D04C48006C807908
-:10EC4000002807D018A9087020E04BE04749009839
-:10EC5000088337E0002F03D0812018A9087031E025
-:10EC60001AAA01200099FFF710FC18A908700028C3
-:10EC700003D119202870012030806846007A0028CE
-:10EC800004D002A83099F8F7F6FE0746002F2BD0E3
-:10EC900018E0062038E522993448090711D5012CDF
-:10ECA0000FD10B2269460A72C08888810021042096
-:10ECB00003F040F8082010A90886BFE62098400617
-:10ECC00010D50327294810AA4188128E114341808C
-:10ECD0005005400E04D01F99289808601F98848022
-:10ECE000384693E404200FE518A8007800280ED0D9
-:10ECF000012028701B980078687010A8008DA870FB
-:10ED0000000AE87018A8007828710520308017489C
-:10ED100010AA4188128E91434180E1E7FFB5064673
-:10ED20009FB000201B903178012088401149124A81
-:10ED3000084010A908860D494988914203D000284F
-:10ED400004D0080702D5012023B0F0BD219D002783
-:10ED50002F7020983C46018810A8018418A80771DC
-:10ED600000F00BFB6846077202A907E0F0190020CB
-:10ED70000102000009F80000FFFF0000FA480164EA
-:10ED800001464031826C1A91097BC9000839571835
-:10ED900022994164307801282AD0022809D003281A
-:10EDA00079D12878800980011D302870EE48B1881B
-:10EDB000C1803078022804D12878800980011B3076
-:10EDC000287001A8009010A8008CEB1CC01E82B215
-:10EDD000B088002100F07DFC0028E1D1B188697085
-:10EDE000090AA9706946888810A9C01C08842DE109
-:10EDF000717918A801713079012802D00228CFD189
-:10EE0000E6E0D9487F2340881B010246184010AB3A
-:10EE10001886802840D006DC102810D020280ED07C
-:10EE200040280AD120E0FF38013859D0FF38013896
-:10EE30006AD0FF38FF3802387ED0052491E0D00632
-:10EE400001D5082000E010201B90042069460872BC
-:10EE50000020888118A800900195318919AB1CAA5F
-:10EE60001B98FFF76BF977E0BF4B3289188B824212
-:10EE70004FD10A221B92002973D101A9009110A938
-:10EE8000098C6B1C491E8AB2002100F022FC18A9D3
-:10EE900008710B2017E0F6E0B34B3289188B8242E1
-:10EEA00037D10C221B9200295BD101A9009110A936
-:10EEB000098C491E8AB21946098C6B1C00F009FCAA
-:10EEC00018A908710D2028706946888810A9401C6F
-:10EED0000884042069460872A348008B888140E0BA
-:10EEE000A14A3389108B834213D112231B9300292B
-:10EEF00037D1536A002B05D00091128C00F045FAEF
-:10EF000018A9087113205EE097483289038B9A4252
-:10EF100001D00424E7E016221B92026D002A09D1D9
-:10EF2000F268002A06D002651A98328A82821A9AFA
-:10EF30000020D082002900E02FE012D1B888396883
-:10EF4000FFF7D2F918A9087100280AD1B8882B4612
-:10EF500018AA396800F06DF90446022818D0042C6C
-:10EF600016D0B88800280FD06846007A002804D050
-:10EF700002A82299F8F77FFD04460120694608722D
-:10EF8000386803900020B880002C5FD0052C7BD01F
-:10EF90006846007A032873D0A5E018201B9000294A
-:10EFA00005D071483189018300210165D9E76E4898
-:10EFB0000246017E18320120FFF767FA18A908718E
-:10EFC0000028CED119202870012010A90884C8E794
-:10EFD0001A98407B002856D0307AC0001358001D84
-:10EFE0000193105A1D9000291AD100F0CAF9062089
-:10EFF00069460872002000901D980F3882B201986F
-:10F000008178437808021843019B0021DB1C00F043
-:10F01000BCF918A90871002269460A72832830D009
-:10F02000002118A8017110A801840121684601720D
-:10F03000019803901A981A99407B401E48731A98B9
-:10F04000807B002802D01A99401E887310A8008E79
-:10F050007F21090102468A431DD0434800220088CF
-:10F0600011468300042002F0C0FD3F483178017151
-:10F0700010A94088098E08433B4948800FE003E00F
-:10F080002BE002242FE00524374810AA4188128E75
-:10F090009143418027E034494A8882434A80684648
-:10F0A000007A002805D03048416C02A8F8F7E3FC4C
-:10F0B000044618A80079002815D01B986870012014
-:10F0C00028702948008BA870000AE87018A80079F9
-:10F0D0002871052110A8018405E02348416C02A88D
-:10F0E000F8F7C9FC044600F04CF91F484088400579
-:10F0F000400E20D11A98807B00281CD1B8880028A7
-:10F1000019D0209910AA0988118422990091396890
-:10F1100018AA219BFFF74FFA044602280BD00120C2
-:10F12000694608723868039002A82299F8F7A3FC90
-:10F1300004460020B88010A8018C20980180204649
-:10F1400002E600B50022D243074997B04A8004285E
-:10F1500007D1022268460270097901710021F8F78F
-:10F160008AFC17B000BD0000F019002010B5394C22
-:10F1700003780022216C012B02D0022B44D126E01F
-:10F180000B78002B01D0042B03D10A71226C0321D0
-:10F190001170216C83880A79D200921D8B52216CE8
-:10F1A0000A79D20008328918C2880A80216C038942
-:10F1B0000A79D2000A328B524289206C0179C90047
-:10F1C0000C314252216C0879401C087120E00A740D
-:10F1D000226C81889180216CC288CA80226C01894E
-:10F1E0001181226C41895181216CC068C860616CB9
-:10F1F000206CF8F740FC0146022807D0206C007C08
-:10F20000002802D1002903D0812010BD832010BD29
-:10F21000002010BD8178012909D100880521C9028B
-:10F22000884202D0491C884201D100207047052045
-:10F23000704710B51488844201D2052010BD1724F0
-:10F240001C701080421E491C581C05F025FD002032
-:10F2500010BD0000F019002010B58B78002B11D0E4
-:10F2600082789A4207D10B88002B0BD003E0091D4E
-:10F270008B78002B08D08B789A42F8D103880C88C1
-:10F28000A342F4D1002010BD812010BD10B500298B
-:10F2900002D001290DD102E00088000501E00088BC
-:10F2A0008004800F07D001281CD0022809D0032831
-:10F2B00010D0812010BD002901D0032010BD0220F4
-:10F2C00010BDF5F7EEFD03280CD004280AD0002865
-:10F2D00006D009E0F5F7E5FD042803D0022803D0A5
-:10F2E000052010BD002010BD0F2010BDF3B5C81CB7
-:10F2F00080080E46800081B0B04201D08620FEBD5D
-:10F30000FE4C354626600198A08000202081E080D8
-:10F3100014E0B807A978800D0843F94905F036FDD7
-:10F32000E088401CE080B80607D42089401880B2ED
-:10F3300020810199081A8019A8600C352F88780758
-:10F34000E7D40020A072FEBDEC480C22C1880089E1
-:10F350005143081880B2704770B51346E74A451804
-:10F360009488AC4201D2842070BD126810180A46FD
-:10F37000194605F091FC002070BDE049012088721B
-:10F380007047DE49002088727047FFB589B0970446
-:10F390000E460546BF0C029200F034FA040021D05C
-:10F3A000002069460873D548807A012812D00121CF
-:10F3B0002046FFF76BFF002815D12078400609D5BD
-:10F3C0000221684601730582218841828682C782B4
-:10F3D0000C9806900298000407D500273E460125A8
-:10F3E00001970CE001200DB0F0BD2078A1788007D6
-:10F3F000800D0843C249019005F0C8FC0D460298F3
-:10F4000040040AD50198A84207D12088E1788005F8
-:10F41000800F00020843B04201D3AE4201D9072059
-:10F42000E1E7B81980B20290A84201D90D20DAE7CD
-:10F430006846007B002804D003A8F8F718FB0028D2
-:10F44000D1D10198A8420BD1208803210902884319
-:10F4500002998905890F0902084320800298E0700B
-:10F460001298002800D007800C9800280CD0207833
-:10F47000000609D4A0683A4680190C9905F00CFCE6
-:10F4800020881021884320800020ACE7FFB59B4DE9
-:10F4900081B00E46E8882F680C21009048433C1844
-:10F4A0009749039805F072FC0A462889E11B8446B7
-:10F4B0000C314018318880B28B0601D5002300E062
-:10F4C00013461818AB8880B2834202D8842005B056
-:10F4D000F0BD0098894D401C80B2E88021800D99D4
-:10F4E000002900D00C600399A170E2702188039D6F
-:10F4F0008908AD058900AD0F294303252D02A943D5
-:10F500009505AD0F2D0229430425294321800C992F
-:10F51000002900D0088001998978A1710199098892
-:10F52000A1803178890601D50B9905E073496244C1
-:10F5300092B20A81991AC919A16000212173327807
-:10F54000920601D50020C2E700910B9B0A9A04990C
-:10F55000FFF71BFFBBE7FEB5044600F053F90700B9
-:10F5600008D0664D641EE8880190A6B2286834462B
-:10F57000009015E00120FEBD0C2000996043095A5F
-:10F580008A060BD489078A0D0099801C085C5C49A7
-:10F59000104305F0FBFB2889401A2881641CA4B2A3
-:10F5A0000198A042E8D8EE8000203870FEBD002807
-:10F5B00003D0401E0880002070470120704710B51E
-:10F5C0004E490288CB889A4201D3822010BD0B6835
-:10F5D0000C21514359180B88CC789B059B0F1B02BB
-:10F5E000234341608C7904738C884481C38189688A
-:10F5F000521C016102800281002010BD01210182A4
-:10F600007047FEB505460020C043088068680F4675
-:10F6100081786846817068680188684601800021A9
-:10F620008171288A2C88A04200D304462C8234E0C1
-:10F63000288A401C2882301D6968FFF70DFE0028CB
-:10F6400029D139882F48814201D1601E38806888CD
-:10F65000A04227D33088F1788005800F000208434C
-:10F6600002906946301DFFF7F7FD002813D1298964
-:10F67000244881421AD000213046FFF707FE0028B7
-:10F6800009D12A890298824205D1E968B06805F05B
-:10F69000D6FA00280AD0641CA4B2204600F0B2F8C2
-:10F6A0000600C5D1641E2C828220FEBD7C80B0790C
-:10F6B000B871B088B8803088388130788007810D83
-:10F6C000B078014379810298B881B0683861002030
-:10F6D000FEBDFFB585B014460F46059800F092F8C0
-:10F6E000050037D00548BE05807AB60D01281CD02C
-:10F6F00000212846FFF7CAFD002805E0481A00202F
-:10F7000001020000FFFF000022D1287840060CD53E
-:10F71000012168460170059981802988C180068190
-:10F720004481F8F7A4F9002812D12888AA78810723
-:10F73000890D11438005800FEA7800021043BE4214
-:10F740000AD0374A914207D3611E814204DD0B2063
-:10F7500009B0F0BD0120FBE7864201D90720F7E799
-:10F76000801B82B2A24200D922460E98002800D007
-:10F7700002800898002804D0A8688119089805F02C
-:10F780008BFA0020E4E770B514460D4600F03AF815
-:10F7900000280DD001882980002C0DD001788078B8
-:10F7A0008907890D01431E48814203D2012002E0EE
-:10F7B000012070BD00202070002070BD70B516467D
-:10F7C0000D4600F01FF804000DD02D882580FF2E77
-:10F7D00016D0A807A178800D0843114905F0D6FA84
-:10F7E000002E06D101E0012070BDFF31FF31033151
-:10F7F00089B2A170A80880008905890F084320807C
-:10F80000002070BD0749CA88824207D3002805D06E
-:10F810000C22096850430C380818704700207047C4
-:10F8200001020000481A0020F0B585B00E460546DA
-:10F830000020694608707078FE49C00003900C589B
-:10F84000FD4F002D0ED0022D73D0002C72D02078E9
-:10F85000801E030005F0AEFC09837F7F7F83797FE4
-:10F8600077727F00002C03D1F4A16B2005F0B1FB6F
-:10F870002078801E030005F09DFC09065E5E5E197F
-:10F88000365E50545E003078062803D0EBA1762017
-:10F8900005F09FFBB8687168806C032205F0FCF9E5
-:10F8A000012069460870002835D1CEE730780C2851
-:10F8B00003D0E2A1812005F08CFBE06800780028ED
-:10F8C00006D0B8687168806B102205F0E5F928E071
-:10F8D000B8681021006B05F03CFAB868816A006BCB
-:10F8E0000A787168F1E730780D2803D0D3A194200D
-:10F8F00005F06FFB04206946087071684878097844
-:10F9000000020843B9684A6A517812780902114323
-:10F91000484069468880084608E0C8A1AF2005F045
-:10F9200058FB6846007800288FD06846F5F7BEFA85
-:10F930008BE727E01CE0C1A1B420F0E7B86861695B
-:10F94000006CFEF708F8A16900E0E168B868006C97
-:10F95000FEF701F803E0B9A1E32005F03AFBB8682F
-:10F960002146006CFDF7F7FFB24A03990020505082
-:10F97000022D07D0002D05D0012D03D0AFA1EF201F
-:10F9800005F027FB05B0F0BD10B501780124012971
-:10F9900002D0022910D112E04268A74800218260FB
-:10F9A0000170A4486C38C166016741678167D289DC
-:10F9B00002214C3001F0E1F90024204610BDFF2067
-:10F9C0009EA1163005F005FBF7E7F0B505469EA1B0
-:10F9D00003C997B014911390002008A908759549A0
-:10F9E0002A781031944C0491217805910126914F89
-:10F9F000A168130005F0DEFB0CEF07309AF0EDEC88
-:10FA0000EBEAE9E9E8EF20700124FF264F360546CE
-:10FA100010A80570457001F0C1F90746012803D010
-:10FA200086A1304605F0D5FA10A93846FFF7FCFE4E
-:10FA30002046641EE4B20028EAD10A206946087014
-:10FA40006846029501F088FA002803D0FF207BA1C8
-:10FA5000583068E0002646E3C86A0078C0072FD017
-:10FA6000012069460870684601F076FA002804D043
-:10FA7000FF2072A16B3005F0ACFAA068006CFDF7B6
-:10FA800061FF050004D1FF206CA16E3005F0A1FAE2
-:10FA900008984078C0003D5006202870A068016892
-:10FAA00069600069A8606448C01CE860284601F0ED
-:10FAB00053FA022804D0FF2060A1783005F089FABB
-:10FAC000A068C06A00784007C4D501206946087064
-:10FAD000684601F041FA002804D0FF2057A1803089
-:10FAE00005F077FAA068006CFDF72CFF050004D143
-:10FAF000FF2052A1833005F06CFA08984078C000CE
-:10FB00003D5006202870A068016869600069A860FF
-:10FB10004948401DE860284601F01EFA022899D0A5
-:10FB2000FF2046A18D3005F054FA93E7A96800291B
-:10FB300033D0694608712979012932D0022904D0CD
-:10FB4000FF203EA1A73005F044FA3A4810221030B9
-:10FB5000A96805F0A1F837481030364920314860CF
-:10FB60002078C1062CD5EF2108402070032069467B
-:10FB70000870304810300290684601F00FF90446D2
-:10FB8000022808D0002C06D0012C04D0FF202BA185
-:10FB9000B83005F01EFA69466FE101216A4611711D
-:10FBA000DBE7244A04996C3AD06748608860C860F3
-:10FBB0000621A86803F0FCFE1E4910310860CAE760
-:10FBC00020210843207045E7A1E15AE119E1E6E070
-:10FBD00086E056E000E081E2886C407980090128E7
-:10FBE00004D0FF2015A1CC3005F0F3F9A068017A0C
-:10FBF000002906D1416B406801F01FFAA16801207D
-:10FC00000872012069460870684601F0A5F90028CD
-:10FC100004D0FF2009A1D73005F0DBF9A068006C03
-:10FC2000FDF790FE050004D1FF2004A1DA3005F0B5
-:10FC3000D0F90DE0C01A0020B40000207372635C9C
-:10FC4000736D2E630000000004411A8800A4800038
-:10FC500008984078C0003D5002202870A068416B91
-:10FC60006960806CC01CA860284601F075F904002A
-:10FC700004D0FF20FD49E23005F0ABF929462831D8
-:10FC8000FBE0172268460272012202708078820827
-:10FC9000287992008007800F024368468270FB201B
-:10FCA000024028794007C00F8000024368468270F6
-:10FCB000EA8882804A6C02A901F090F9002804D0F9
-:10FCC000FF20EA49F73005F084F9052108A80175FD
-:10FCD0006846017A0187A0680026406C0F9006E212
-:10FCE000012069460870684601F036F9002803D003
-:10FCF000DE49DF4805F06DF9A068006CFDF722FED3
-:10FD0000060004D18320D949800005F062F9A0687B
-:10FD1000006CFDF717FE1290002804D1D448D34997
-:10FD2000801D05F056F9D3488068006CFDF70AFE87
-:10FD3000040004D1CE48CD49093005F04AF90898AD
-:10FD40004078C0003E500A203070287A30716868D0
-:10FD5000C84DB060A868406C3061172030731298AD
-:10FD6000B4617061304601F0F7F80446022808D00B
-:10FD7000002C06D0012C04D01120BC49400105F014
-:10FD800028F92046316AFFF74FFD28780521014008
-:10FD9000042900D05EE6FB21084028702AE005987F
-:10FDA00040084000207082071CD5FD2210402070C2
-:10FDB0000F206A46107017201071486C0290684638
-:10FDC00000F0ECFF0546022808D0002D06D0012DDA
-:10FDD00004D0A748A5493A3005F0FBF86946284603
-:10FDE000FFF722FD2078052101400429D2D1FB2113
-:10FDF00008402070072008A908759E48807808767A
-:10FE000028E6012069460870684601F0A5F8002838
-:10FE100004D097489549543005F0DBF8A068006C91
-:10FE2000FDF790FD060004D113209049400105F034
-:10FE3000D0F890488068006CFDF784FD040004D180
-:10FE40008B488A495A3005F0C4F808984078C000B9
-:10FE50003E5007203070874880684068706068684E
-:10FE6000F460B060304601F077F8040004D08048B8
-:10FE70007E49653005F0ADF8316A2046FFF7D4FCC5
-:10FE8000E8E5012069460870684601F065F8002839
-:10FE900004D0774875497A3005F09BF80898407887
-:10FEA0001190A068006CFDF74DFD060004D15120B3
-:10FEB0006E49C00005F08DF8A068006CFDF742FDAA
-:10FEC000040004D16A486949823005F082F811982B
-:10FED000C0003E50C019296941600920307068682F
-:10FEE0007060A868B060A889B08163483061103044
-:10FEF000B4617061304601F02FF8022804D05C48EC
-:10FF00005A49903005F065F811982875A2E55A4ACB
-:10FF100000208C32107002206B46187001922879F4
-:10FF2000002801D0107098E0524803230C3040683C
-:10FF3000FB2703708378504A9B089B003B408370EB
-:10FF40004B7A00271B07DB0F43708C3257600B7B0B
-:10FF5000C370CB7A1372537A0C7D5B08E4075B00A5
-:10FF6000E40F23430C461534D460FD242340CC7E9B
-:10FF7000E407A40F234353720B461C3313614771EC
-:10FF800007718B7A3B4A9C070C32A40F1268012C34
-:10FF900004D19478A407A40F012C1DD09B089B00CA
-:10FFA0008B7293785B0702D48B7A5B0728D54B7AE8
-:10FFB00013AF5B075B0FDC005B00E3181478640091
-:10FFC0001B19DBB2DC083C5D5F077F0F0623DB1BE0
-:10FFD000DC40A3079B0F14E04C7A53796406640F4E
-:10FFE00023404371147906273C400471E4001C430C
-:10FFF000204B5C7083789B089B005B1C8370D0E770
-:020000040001F9
-:1000000000238478FB273C408F7A7F07FF0FBF00D7
-:100010003C4384704C7A6407640F04705078012864
-:1000200007D1487A000704D5032008A908750220E3
-:100030002DE0022B27D0012B2BD00F4B0020049A50
-:10004000D86750609060D06018467C30024610320D
-:100050005060887AFB2210408872684600F09EFE4D
-:10006000040035D0012C34D0004907E03CFC0000EE
-:1000700009020000B4000020541A00206520C000CE
-:1000800004F0A7FF25E0032008A9087501200876E1
-:10009000E3E77E4C0D21E01C04F05BFE20461030AF
-:1000A0004460022008A908750E94A868002807D0AB
-:1000B0000068206005997648202211430170CCE742
-:1000C00005980007C9D57349734804F082FFC4E757
-:1000D000002669462046FFF7A7FB04E06E486D49FD
-:1000E000203004F076FF08A8007D002802D00DA87B
-:1000F000F4F7DCFE304617B0F0BDF0B597B00C4613
-:10010000054600206946087061482F785F4E0178E7
-:10011000583E82683B0005F04DF80BAA8407263B49
-:100120004C6B79798F9CAA002B20694608730CA927
-:1001300003A8FDF73DFC002804D05748554941303D
-:1001400004F047FF55490D9804F020FE4F48016028
-:100150004F4869680C300160AA684260019108202C
-:10016000694608708CE08A0610D5DF2211400170C4
-:1001700003202070454810304168A1604068002885
-:1001800002D00020207177E00120FBE7102256E02A
-:100190002B20694608733D4903A85C39FDF708FC2C
-:1001A000002804D03C483B496A3004F012FF042088
-:1001B0001BE02A206946087303A8102202306968F0
-:1001C00004F06AFD07A810220230A96804F064FD5B
-:1001D0002E4903A85C39FDF7EBFB002804D0392039
-:1001E0002C49000104F0F5FE05202070666043E014
-:1001F0002A79002A02D001221143017005206946A4
-:10020000087028798880A868029039E0D06A402375
-:10021000018819430180D06B6968102204F03CFD0D
-:100220002AE0FB2211400170062069460870A96887
-:1002300068680291019023E0CB0703D002221143AA
-:10024000017058E70F20207017202071506CA060BB
-:1002500012E0937A9B0706D0D26A44781388FF3461
-:1002600001342343138004221143017004E00A483F
-:100270000849BD3004F0ADFE684600780028E0D0A3
-:100280006846F4F713FE36E701207047D01A0020C5
-:10029000B40000203CFC00001503000040420F00A9
-:1002A00070B504780D460646230004F083FF0B1C4E
-:1002B000181C1C1C1C07181C1C181C0000210520E5
-:1002C00001F038FDB068007805280CD0FA4800220B
-:1002D000008811468300052001F087FC03E000211F
-:1002E000052001F027FD002D0ED0002028702946A2
-:1002F0003046FFF702FFF1482978005D884201D1BE
-:10030000032070BD022070BD00213046FFF7F5FECE
-:10031000002070BD30B5E8494B68497A0A011146A2
-:100320000C315C5C032C0CD0044600252034257174
-:1003300025725C5CA500AA18641C5C5498500320CC
-:1003400030BD062030BDF0B50446264620360D46A9
-:100350003279012008218FB0002A0CD0012A21D047
-:10036000022A2BD0032A04D12A78052A01D1297028
-:1003700000200FB0F0BD01203071606800280AD065
-:10038000A069017061684160216981606169C16033
-:10039000FFF7C0FFEDE707202870206968606069FB
-:1003A000A86009E029780729E3D1022030710520EF
-:1003B0002870C248203868600320DAE729780529C8
-:1003C000D7D1A08910280AD9103880B2A081A1689D
-:1003D0001023091803A86A6800F054FE2DE01028C5
-:1003E00004D0C1B20BAA1020A76809E0102322692B
-:1003F000A16817E0491EC9B2401EC0B27B5C13540D
-:100400000029F7D100280AD0401EC0B28021115423
-:10041000002102E0401EC0B211540028FAD16269E6
-:1004200010230BA907A800F02DFE102307A903A88D
-:100430006A6800F027FE032030716068019003A80D
-:10044000029005206946087029466846FFF728FF94
-:100450008FE7F0B5044626460D4620363179012057
-:100460008DB000290BD0012938D0022905D1297877
-:10047000052902D10920287000200DB0F0BD217D92
-:100480006846CA07D20F02738807C10F6846017415
-:10049000012203A905A800F0EDFD04A9012205AF82
-:1004A000481D00F0E7FD0722B81CE16800F0E2FDFE
-:1004B00007A807220130216900F0DCFD6068019087
-:1004C00009A80290102305AAA16800F0DBFD012015
-:1004D0003071052168460170294621E029780529F7
-:1004E000CBD1062203A8E16900F0C4FD04A80622CE
-:1004F0000230A16900F0BEFD042106A800F0B2FDA3
-:100500006068019007A80290102303AA696800F0B0
-:10051000B9FD0220307105206946087029466846F9
-:10052000FFF7BEFEA9E7F0B5074685B00D460020EF
-:10053000694608703E466248203632798179133820
-:1005400001240078130004F035FE180DFEFDFCFBBD
-:10055000FAF9F8F7F6F5F4F3F2F1F0EFEEEDECEB73
-:10056000EAE9E8E7B968039100291BD0012269464E
-:100570000A7003220A710A224A7139690291397993
-:1005800000297DD0039A1278002A7AD00C2A78D2DA
-:10059000130004F00FFE0BEF09EF354D8498B0F116
-:1005A000EDECEF000020C8E30021062001F0C2FBC3
-:1005B0003879072866D1424C133C2078022802D0B3
-:1005C00000287FD101E00020207003980079C11F2E
-:1005D0000A2901D30A2598E1607039480722C01F13
-:1005E000039900F047FD0120307120700220694618
-:1005F00008703348801F01903869401C029037E230
-:1006000011293DD12E4C133C0228DAD16068617863
-:10061000007A884201D9062577E1039926481022FD
-:10062000491C303800F026FD03202070022045E1EF
-:100630001129E6D1224C133C0428C2D10520207098
-:1006400003991D481022491C203800F013FD062094
-:100650003071786903210170626851684160164900
-:100660002039816021460C31C160C91D0161017DC5
-:10067000537A49084900DB07DB0F1943017502E093
-:1006800070E354E384E1D3688361FD231940537A16
-:100690009B07DB0F5B0019430175116976E10229A5
-:1006A000AFD1002867D005206946087103984078CB
-:1006B00048713869029051E3241B00203452010034
-:1006C000DB00002082E011299BD1F74C06287DD168
-:1006D000A0680399806B1022491C00F0CBFC062116
-:1006E0006846017038690290002168460171FFF781
-:1006F000D7FD072057E00B299BD1EB4C07287ED173
-:10070000A0680399006B0222491C00F0B3FCA068AA
-:100710000822406B039917E00EE116E3FDE2DDE2EB
-:10072000C7E2BCE29EE267E248E241E21FE2F5E195
-:10073000DFE1C8E1BEE1B1E1A5E16AE147E128E11D
-:10074000DAE0BEE0AFE075E0C91C00F093FC0621E2
-:100750006846017038690290002168460171FFF710
-:100760009FFD204613304179490849003EE041E0B1
-:100770001BE001E05CE0EFE2112991D1CA4C0828AE
-:100780003DD1A0680399C06B1022491C00F072FC97
-:10079000062168460170386902900021684601719F
-:1007A000FFF77EFD09202070C9E208298CD1BE49DF
-:1007B000092824D1039842788868016C0A7003994B
-:1007C000406C0622891C00F055FC00E017E0062171
-:1007D0006846017038690290002168460171FFF790
-:1007E0005FFDB14813304179FD221FE041715EE2A7
-:1007F0003071F2E11129C0D1AB490A2801D0082596
-:1008000083E088680399806C1022491C00F032FC58
-:10081000062168460170386902900021684601711E
-:10082000FFF73EFDA04813304179FB221140DDE780
-:1008300007256AE0297802297ED19B490128FBD14E
-:100840006A684A6015780846002D5CD106216A4620
-:1008500011703969029107211171029902240C70FB
-:10086000CA785207520FCA704B795B075B0F4B7106
-:100870008B795B075B0F8B71D20701D18A714A714B
-:1008800005460A794078824200D26A70864807227B
-:10089000133000F0EFFB00202C70307101466846E9
-:1008A000FFF7FEFC4BE229780429C5D103286FD15C
-:1008B00008227E48696800F0DDFB032030710420C7
-:1008C000F2E129780429B7D1774F0328B4D17748CA
-:1008D00008220830696800F0CDFB04203071786888
-:1008E0004168002906D00321297000212971406840
-:1008F000A86072E10320D7E1287803289CD12879E9
-:1009000000281AD00546002D16D006216846017031
-:100910003869029002216846017102980521017030
-:10092000457000216846FFF7BBFC01216846017055
-:1009300004210171457115E293E15B49A86849689A
-:100940000028486001D15A48486005203071786914
-:10095000032202704A684260544A8260524A0C3252
-:10096000C260D21D0261027D4B7A5208DB07520041
-:10097000DB0F1A430275CB688361FD231A404B7A63
-:100980009B07DB0F5B001A4302750969C16130E107
-:100990000DE12978092988D14349032885D104200C
-:1009A00008700620694608703869029011200871A5
-:1009B000029803210170401C1022696800F05AFB64
-:1009C00000216846FFF76CFC00203071B7E1297800
-:1009D000092993D1052891D134496A68203910201A
-:1009E000401EC0B20B5C145CA34203D0002004255F
-:1009F00030718AE70028F3D107203071786904212B
-:100A00000170294949684968416028498160103965
-:100A1000EEE028780A28BED10620694608703869B9
-:100A2000029011200871029804210170401C1022CC
-:100A30001E4900F01FFB00216846FFF731FC1A48F1
-:100A4000102140786A68091AC9B2101800F00AFB30
-:100A50006868019014481330C178C9070BD08179B8
-:100A6000002902D14079002805D0082030711BE10F
-:100A700029466846EFE0072069460870002168466D
-:100A8000FFF70EFC5FE128780E2884D106486968DC
-:100A900081608969407808700920A9E6C80701D0FB
-:100AA0000A20FFE00F20A3E6C8000020141B00204E
-:100AB0001452010028780F2879D1A8683861287964
-:100AC00038730B20FAE628780428F5D1FC4C6968C5
-:100AD000A0680822006A00F0CDFA0C203071786915
-:100AE0000722B9690270A268D3684360126A826003
-:100AF0007EE028780D28DFD1F14C6968A0680223D8
-:100B00000269C06900F0BEFA0D20307178690621D3
-:100B10000170A1688A684260096966E028780C283B
-:100B2000CAD1E74C6968A0686278406A00F0A2FA0E
-:100B30006078A2681021091A526AC9B2101800F030
-:100B400091FA0621684601703869029011226846C0
-:100B50000271029810220170A168401C496A00F0DD
-:100B600089FA00216846FFF79BFB0E206EE028788B
-:100B70000F2876D1062168460170386902900B2152
-:100B800068460171029C0720CD4D2070A8680222A2
-:100B9000C169601C00F06EFAA8680822016AE01CB6
-:100BA00000F068FA00216846FFF77AFB7AE7C8E0B0
-:100BB000880701D5102075E0132019E628780F2842
-:100BC0004FD1A86838612879387311203071BC483A
-:100BD000816848690078002801D00324CAE0786958
-:100BE00006220270C9684160B6498160B549091D95
-:100BF000C160FFF78FFB30E0B14880684169097838
-:100C000000290CD129780C292BD1AD4C6968806A58
-:100C1000102200F02FFAA16801204969087006210E
-:100C20006846017038690290112168460171029886
-:100C300008210170A249401C89681022896A00F0CD
-:100C400019FA00216846FFF72BFB122030710921A9
-:100C5000684601702946FFF723FB044601287DD032
-:100C600088E06FE028780F286CD10620694608706C
-:100C70003869029008200871029809210170904992
-:100C800089680A78D207D20F427049680622801C10
-:100C900000F0F0F900216846FFF702FB8CE74807F7
-:100CA00005D514203071092069460870E0E6162049
-:100CB0009EE528780F2851D1A868386128793873C3
-:100CC000152030717869062101707D4989688A682C
-:100CD0004260096981607B49891D89E728780C2871
-:100CE00045D1774C6968A0681022C06A00F0C2F94B
-:100CF0000620694608703869029011200871029830
-:100D00000A210170A168401CC96A102200F0B2F9E2
-:100D100000216846FFF7C4FAC9E7694813304079F3
-:100D2000002810D0C10703D065480621017006E0F5
-:100D3000800701D5082000E00A20614908700024DE
-:100D400018E00BE013E0172052E55D49002805D0BC
-:100D50000020307108700A206946087068460078E3
-:100D6000002804D000216846FFF79AFA002454486E
-:100D700000210170204605B0F0BD10B5524BFF2494
-:100D80005C72586019721A80002204E0491EC9B2D0
-:100D90000B010C33C2540029F8D110BDF0B54A4EF6
-:100DA0000546717A01208DB0FF2971D00127727A32
-:100DB000736811015C180C31595C8900091F645873
-:100DC0006A7021780B0004F0F5F90B960709272CBF
-:100DD00059888D4A4F5492002F707CE02146203173
-:100DE0000A9109790120002902D0012967D10EE07A
-:100DF0006068019005A802900D21C01C00F032F936
-:100E0000032205A8A16800F035F90A984EE0297878
-:100E1000052974D106215DE029462046FFF719FB1C
-:100E200069E021462031069109790120002902D08C
-:100E3000012964D10EE06068019007A802900822A1
-:100E4000E16800F017F9082209A8A16800F012F97A
-:100E500006982BE02978052951D10A213AE0294644
-:100E6000204600F01AF946E029462046FFF76BFAC3
-:100E700041E029462046FFF756FB3CE02146203161
-:100E8000059109790120002903D0012937D11DE0FE
-:100E900056E06068019007A802900822A16800F05F
-:100EA000E9F8082109A800F0DDF8059869460771FE
-:100EB0000520087029466846FFF7F2F91BE00BE0B1
-:100EC000C80000200C520100241B002029780529AD
-:100ED00015D10B212970002011E02946204600F091
-:100EE00023F908E02946204600F04EF903E02946A0
-:100EF0002046FFF7C9F9002801D001280CD125624E
-:100F0000717A736809010C315A5C521E1206120E76
-:100F10005A5401D003204AE70328FCD0737A726840
-:100F200019011D010D312C46515C7172FF270D34E2
-:100F300017550C35545D002C02D0FF2903D1737274
-:100F40000DB0F0BD21460C010D34145DFF2CF9D11C
-:100F500009010D315354F3E770B5AD4C0546607A85
-:100F6000214603464A6811E0010108460C30105C36
-:100F700008E0401EC0B286008E199659AE4201D1DB
-:100F8000042070BD0028F4D10D31505CFF28EBD156
-:100F90009F480021007A01E0491CC9B2884204D967
-:100FA0000E010C36965D002EF6D1884201D8052040
-:100FB00070BD08010D30135461722846FFF7AAF97D
-:100FC000032806D0617A626809010D31515C6172B3
-:100FD00070BD28462830FFF7E1FE70BD10B50478DB
-:100FE0000123012C14D10C78022C11D30B23137084
-:100FF00083785B075B0F537002220A708088002899
-:1010000005D0830000221146062000F0EEFD0023EB
-:10101000184610BD0EB50022012105280AD0062869
-:1010200007D1684601700221017142710021FFF76A
-:1010300064F80EBD68460170F6E710B58EB00C4638
-:1010400006216A461170019072480290001D0390BB
-:101050006846FFF781FF102220460B9900F00AF83E
-:101060000EB010BD002202E0491EC9B24254002950
-:10107000FAD1704703E0521ED2B28B5C8354002A2F
-:10108000F9D1704730B505E05B1EDBB2CC5CD55CB6
-:101090006C40C454002BF7D130BD3EB5044620301F
-:1010A0000D4602790121002A02D0012A3AD10FE02F
-:1010B00061680191574908310291012101710520B0
-:1010C0006946087029466846FFF7EAF8014629E0B4
-:1010D0002878052826D169681022A06800F087F8D2
-:1010E0006868C07B000606D54A4AA06810231832FB
-:1010F0000146FFF7C7FF1022A168E06800F077F80B
-:10110000A068C07B000606D5424AE068102318326A
-:101110000146FFF7B7FF07202870A0686860E06805
-:101120000021A86008463EBDF0B5044626460F469D
-:1011300020363179012089B0002909D0012905D153
-:101140003978052902D10C203870002009B0F0BD93
-:10115000606803AD01900295022203A8A168FFF721
-:1011600089FF0222A81CE168FFF784FF0C21281DDB
-:10117000FFF778FF01203071052069460870394675
-:101180006846FFF78DF8E1E710B5034620331C7978
-:101190000122002C04D0012C10D0022C25D11EE0FD
-:1011A00001211971C16806220A7040684860194817
-:1011B000801C8860801CC86008460CE00C780C2CF1
-:1011C00013D102221A71C268052313704968516055
-:1011D000806890601046FFF79DF8024605E00878A9
-:1011E0000B2802D10D2008700022104610BD10B54A
-:1011F000002409E00B78521E5B0023430370401C5F
-:101200000B78491CD2B2DC09002AF3D110BD0000D2
-:10121000241B00200C52010070B50D46040012D0B2
-:10122000002D10D02101284603F093FD10225449CF
-:10123000284603F031FD52480121083801804480DE
-:101240004560002070BD012070BD70B54C4E00247B
-:101250000546083E11E0716820014018817BAA7B99
-:10126000914209D1C17BEA7B914205D10C222946EA
-:1012700003F0E5FC002806D0641C30888442EADBD9
-:101280000020C04370BD204670BD70B50D460600FD
-:101290000AD0002D08D03A4C083C20886188401CB8
-:1012A000884203D9042070BD102070BD3046FFF77E
-:1012B000CCFF002801DB401C0AE0208861680001A7
-:1012C00040181022314603F0E7FC2088401C2080A3
-:1012D0002870002070BD70B514460D001FD0002C82
-:1012E0001DD00021A170022802D0102817D108E0DB
-:1012F000687829780002084311D00121A17010807C
-:101300000BE02846FFF7A1FF002808DB401CA07077
-:10131000687B297B000208432080002070BD0120EB
-:1013200070BD70B5054614460E000AD0002030701E
-:10133000A878012807D004D9114908390A889042B1
-:101340000BD9012070BD002C04D02878207028888B
-:10135000000A50700220087010E0002C0CD0496880
-:101360000001411810391022204603F095FC28781E
-:1013700020732888000A607310203070002070BD30
-:10138000EC00002073490968016000207047714932
-:1013900008600020704701216F4A704B002803D07D
-:1013A000012805D06E48704791630020187001E055
-:1013B000D1631970002070476A49012008606848AD
-:1013C000801C70470422684B6649002805D05A608B
-:1013D000086901221043086108E0086940084000DC
-:1013E00008619A605C490020C03188600020704725
-:1013F0005C490622002808D0012809D002280DD017
-:1014000003280FD05648401C70470869904302E0FB
-:1014100008699043801C0861002070470869904368
-:10142000001DF8E708691043F5E74E494A6A024390
-:101430004A62002070474B494A6A82434A62002050
-:1014400070474849496A0160002070474549CA69A8
-:101450000243CA61002070474249CA698243CA6197
-:10146000002070473F49C96901600020704730B5CE
-:101470000546002072B601463A4A384C4032002DEB
-:1014800011D00123012D0CD0022D02D0072062B60D
-:1014900030BDA3706478002C01D09363F7E79163AB
-:1014A000F5E7A170F9E7A170F9E72F4904208860FA
-:1014B00029490020C03188602849012008702B4943
-:1014C0000A688023120A12021A430A602849086037
-:1014D000704722480078704770B5EFF31080C50759
-:1014E000ED0F72B61D4C6078401C0006000E607057
-:1014F00003D120A1CC2003F06CFD6078012806D137
-:10150000A078002803D01749012040318863002DBE
-:1015100000D162B670BD70B5EFF31080C507ED0F56
-:1015200072B60E4C6078002803D112A1DC2003F0C3
-:1015300050FD6078401E0006000E607006D1A07855
-:10154000002803D00749002040318863002D00D1D6
-:1015500062B670BD0004004040000040FC00002066
-:1015600004200000000500400003004000E400E00B
-:1015700000E100E07372635C736F635F706F7765A7
-:10158000722E63008107C90E002808DA0007000FD9
-:1015900008388008B94A80008018C06904E08008D3
-:1015A000B74A800080180068C8400006800F704766
-:1015B000B44948788978884201D3401A02E0212250
-:1015C000511A0818C0B27047AE492331487889785B
-:1015D000884201D3401A02E02122511A0818C0B2F1
-:1015E0007047A849463148788978884201D3401A23
-:1015F00002E02122511A0818C0B27047A04810B565
-:101600000C300168FF22120291430122D2031143E0
-:1016100001609C490020233148708870233948704C
-:101620008870463148708870974802F0FFFA9648F3
-:10163000401C02F0FBFAF2F7A9F900F015F910BD11
-:1016400020207047B4E770B50C4605460026FFF72A
-:10165000AFFF8C49A04214D30A46203A002320460B
-:10166000641EE4B200280BD08878105C287088785B
-:101670006D1C401CC0B288702128F0D18B70EEE741
-:10168000012600F0F1F8304670BD202070479BE73E
-:1016900070B50C4605460026FFF796FF79492331C1
-:1016A000A04214D30A46203A00232046641EE4B226
-:1016B00000280BD08878105C287088786D1C401C3E
-:1016C000C0B288702128F0D18B70EEE7012600F0BF
-:1016D000CBF8304670BD202101700020704710B556
-:1016E0000446FFF77EFF2070002010BD70B50C4649
-:1016F0000546FFF776FF63494631A04215D30A46F7
-:10170000203A00232046641EE4B200280BD08878DB
-:10171000105C287088786D1C401CC0B2887021282D
-:10172000F0D18B70EEE7002400E0584C00F09CF8FC
-:10173000204670BD70B50C460546212904D9FF200E
-:1017400053A1473003F045FC4C484068103840B284
-:10175000FFF718FFC6B20D20FFF714FFC0B2864294
-:1017600007D2FF204AA14D3003F033FC01E0F2F72D
-:101770004DF921462846FFF766FF0028F7D070BDD7
-:10178000F8B5404E07462336B1787078212200F034
-:1017900060F8354623353B4C00280ED0A1786078A0
-:1017A000212200F056F8002814D0A9786878212268
-:1017B00000F04FF800281AD025E032497078C91C93
-:1017C0000F547078401CC0B2707021281BD10020CB
-:1017D000707018E02B49607820390F546078401CF5
-:1017E000C0B2607021280ED1002060700BE0254946
-:1017F000687826310F546878401CC0B26870212880
-:1018000001D100206870B1787078212200F021F8B1
-:1018100000281DD0A1786078212200F01AF8002855
-:1018200016D0A9786878212200F013F800280FD08C
-:10183000F2F7CEF8144802F001FA01214903884278
-:1018400003D013A1C12003F0C4FB0F4802F00EFA2D
-:10185000F8BD401C884205D0904201D1002901D03A
-:10186000002070470120704710B5074802F0E6F9E4
-:10187000002801D1F2F79BF810BD000000ED00E058
-:1018800000E400E0501B0020FF00002007200000C3
-:101890007372635C736F635F72616E642E630000CA
-:1018A00010B5284802F0C2F9002803D026A11D2057
-:1018B00003F08FFB2348401C02F0B8F9002803D046
-:1018C00021A1212003F085FB10BDF1B5224D6F68E9
-:1018D00001261C4802F0B2F91A4C002803D1002658
-:1018E000601C02F0C3F91D4A1D490120506000BF71
-:1018F00000BF00BF00BF00BF00230B604B60009B18
-:101900006B60106000BF00BF00BF00BF00BF086871
-:10191000002802D148680028F9D048680028E4D19E
-:10192000002E04D06F60601C02F088F907E0601C94
-:1019300002F084F90028D3D1024802F097F9002080
-:10194000F8BDC2E7010100207372635C736F635FCF
-:101950006563622E6300000000E5004000E0004087
-:1019600000E1004030B5EFF31081CC07E40F72B610
-:101970001D4A116910230D461D431561002C00D12D
-:1019800062B61A4DC406E40E0120A0402C68044241
-:101990000DD0C8060AD4EFF31080C007C00F72B68E
-:1019A000116999431161002800D162B630BD20BF92
-:1019B00040BF20BFEAE70E4908784A78401CC0B211
-:1019C000904200D008707047084A094820BF40BFC5
-:1019D00020BF4178037843701368002B02D103784D
-:1019E0008B42F3D00020704700ED00E000E200E001
-:1019F00003010020FEB5F64C07466068FF213E015A
-:101A000081552178FF2913D0090108314158324608
-:101A1000491E083209020192090A805800F0CEF9E5
-:101A2000002802D02478254615E061682078885582
-:101A30002770FEBDE64842680198115828010090C1
-:101A40000830105800F0BAF9002806D1E0482C46BA
-:101A5000416800980D5CFF2DECD1DD482101406804
-:101A600085554754FEBD70B5D94A04460020157A05
-:101A700053680AE00201561C9E5DA64203D10C3257
-:101A80009A588A4204D0401CC0B28542F2D8FF2046
-:101A900070BDF8B5CE4F3E7801F01AFE0146FF2E1C
-:101AA00071D03401254678680835405900F086F930
-:101AB00002280CD97868405901F0FDFD01F008FEBC
-:101AC00001467868405900F079F902285BD8C0498E
-:101AD0004868025D0A70A11C425C002A0CD0521EAC
-:101AE000425441590122D20589180902090A41517B
-:101AF0003046FFF77FFF30E0631CC25C0092221D7E
-:101B000094468258002A10D001239B029A420FD992
-:101B10009205920D43595703DB191B021B0A4351CF
-:101B20006346C3589A1A920A09E0FF21C1540AE099
-:101B3000435952039A181202120A42510022425487
-:101B40003046FFF757FFA2480C344168C26800983E
-:101B5000095980001258009890479D4C2078FF2822
-:101B600011D0000161680830085801F0A4FD01F0AF
-:101B7000AFFD01462078626800010830105800F07F
-:101B80001DF9022886D3F8BDF8B51C4615460E4649
-:101B90000746FF2B03D38FA1D42003F01AFA8C48F9
-:101BA000FF21C76045600472067401700022427014
-:101BB000104604E00201521C401CA954C0B2A042CD
-:101BC000F8D3F8BD70B5824C06466578207C854216
-:101BD00003D380A1E72003F0FCF9E068A900465098
-:101BE0006078401C6070284670BDFFB581B01D460E
-:101BF000FF2401F06DFD764F064679780198814209
-:101C000003D874A1F52003F0E4F971480021037AA8
-:101C1000406810E00A019446521C825CFF2A25D0DD
-:101C2000019FBA4205D162460C328758029A974208
-:101C30001ED0491CC9B28B42ECD8FF2C18D0210110
-:101C40004A1C019B83540B460C33029AC250039BDF
-:101C50005F4F0022012B0ED00B1DC25001239B02AF
-:101C60009D4216D9AA05920D08D008E00C46E0E77F
-:101C7000FF2005B0F0BD0B1DC550EFE71A4653031A
-:101C80009B190E461B0208361B0AAA1A8351920A98
-:101C900009E0002D00D101256B039B191D022D0ABF
-:101CA0000B460833C550891C42543D463E782046B9
-:101CB000FFF7A0FE2878B04214D000016968083010
-:101CC000085801F0F8FC01F003FD29786A68090161
-:101CD000083152580146104600F070F8022801D22F
-:101CE000FFF7D7FE0198C4E770B50C46054601F032
-:101CF000EFFC064621462846FFF7B5FEFF2817D021
-:101D0000334D04012046696808300858314600F018
-:101D100055F80121090340186968A41C095D400BAE
-:101D2000002901D089020818002800D1012070BDC7
-:101D3000002070BDF3B581B00F460198FFF793FE08
-:101D4000FF282AD0224E3578726829460C4604E0D6
-:101D5000844205D025462301D45CFF2CF8D11CE039
-:101D6000FF2C1AD0A5421CD10801105C3070FF284E
-:101D700015D000010830105801F09DFC01F0A8FCBE
-:101D800001463078726800010830105800F016F8EB
-:101D9000022806D2FFF77DFE03E00020FEBD01F021
-:101DA00092FC39460198FFF79FFF22017168FF23DB
-:101DB000541C0B558A5C2B01CA54FEBD401A00020C
-:101DC0000121000AC905884200D90020704700009F
-:101DD0009C1B00207372635C736F635F74696D6535
-:101DE000722E6300F0B500241C4A01211C4B08032D
-:101DF000546018601B4B1C601B4C20601B4804691E
-:101E0000E443E406E6170469761C10252C430461BC
-:101E1000174C6160174D296000E020BF1F68002F3C
-:101E2000FBD0002E03D107691026B74307619068E5
-:101E30008005906801D5104A10436960A1600021B7
-:101E400019600121084A09031160F0BD10B504466C
-:101E5000FFF7C8FF2060002010BD000000C5004053
-:101E600080E100E000C1004080E200E000ED00E021
-:101E700000C3004000C0004000FCFFFF70B51F49D8
-:101E80000A68002A17D000231D4601244A68521C04
-:101E90004A60092A00D34D600E792246B2400E688E
-:101EA00016420AD072B60B6893430B6062B649685B
-:101EB0000160002070BD052070BD5B1C092BE5D3BF
-:101EC0000FA1362003F085F8F5E7012010498005C1
-:101ED00008607047EFF31081CA07D20F72B6012174
-:101EE00081400648036819430160002A00D162B6A8
-:101EF000EBE70248002101604160704708010020C3
-:101F00007372635C736F635F6576742E63000000A9
-:101F100000E200E00120810708607047012081078E
-:101F2000486070471048C068C00700D00120704763
-:101F30000D488068C00700D0012070470A484069FA
-:101F4000C00700D0012070470748C06970470649A4
-:101F50008A69D20306D589698907890F814201D12F
-:101F6000012070470020704700040040F8B5FE4C87
-:101F7000207BE17A88421AD00126FC4D0027E07AC6
-:101F8000215C14200A4642435019037C052B0FD0D4
-:101F9000062B1BD0072B28D0437C012B33D0F4A178
-:101FA000F64803F016F8207BE17A8842E7D1F8BDC5
-:101FB0000674E07A0A2807D0E07A401CE072491CD7
-:101FC000C8B2AA5802210CE00020F7E70674E07AB4
-:101FD0000A2808D0E07A401CE072491CC8B2AA580E
-:101FE00003219047DFE70020F6E70674E07A0A282D
-:101FF00007D0E07A401CE072491CC8B2AA580821F8
-:10200000EFE70020F7E74774E07A0A2807D0E07A84
-:10201000401CE072491CC8B2AA580721E1E7002021
-:10202000F7E770B5D64D06206872D648002444778D
-:10203000047738300473C472D34801F0F7FDD348F5
-:102040000475EC72D249601E88606C71AC70EC70E3
-:102050002C716C70CF48022104704470CE4804701B
-:10206000047528300470491EFAD10120F1F750FDA3
-:102070000020F1F74DFD0120A871F0F741FDC748A0
-:10208000F0F750FDC64C2070C648F0F74BFD60706D
-:10209000F1F7E2FC70BD10B5F1F709FDC04C2078F6
-:1020A000F0F75EFD6078F0F75BFDB54C207A002814
-:1020B00005D0FFF730FAF0F7E2FD0020207210BDE6
-:1020C00070B5AF4CA079002804D0A9A1B64802F0A1
-:1020D00080FF70BDE07A002804D11320A4A1400144
-:1020E00002F077FF0126A6710025E572607A0421CF
-:1020F000142250439D4A80180174A5488168491CE8
-:1021000004D0691E81600120F1F702FD0020F1F783
-:10211000FFFCF1F7E3FC01F023FEF1F7E8FDA34833
-:10212000056005600120A249C0030860F0F74AFF7E
-:1021300098480078022804D0032804D1E0780028C9
-:1021400001D0A67000E0A570F1F7BDFD70BD03469B
-:1021500086490520142242435218203A127F002A51
-:1021600004D0401E0006000EF4D1704714224243F2
-:1021700051180A46403AD362012220390A77704743
-:10218000012805D0032805D1002903D1002070477C
-:102190000029FBD010B47A4C002363707D4A0028DC
-:1021A00090700CD002280AD007291AD20B007B4469
-:1021B0001B79DB189F441505070D0F111300D37011
-:1021C00003E01B2000E03A20D0700120607010BCBA
-:1021D00070475820F8E77720F6E79620F4E7B52017
-:1021E000F2E710BC0020704710B56A484078F1F75C
-:1021F00085FD80B210BD411E1422504310B55B4ACC
-:102200008418203C042902D8207F002803D158A13B
-:10221000684802F0DEFE207F012803D054A1664802
-:1022200002F0D7FE0020207710BD70B5554C607FBE
-:10223000217F884201D1012500E00025F1F7F7FC5C
-:10224000F1F75CFD617F227F914201D1012100E025
-:102250000021A942EBD170BDF7B50646481E844661
-:102260008EB0C0B2142204905043404A85182846CC
-:102270000595007C2D1D07282AD13B4C0027E07ACC
-:10228000227B824221D0235C049A934201D1012710
-:1022900001E0002F04D00A2811D0421CA25C225475
-:1022A0000A280ED0401C227BC0B28242EBD1002F04
-:1022B0000BD0207B002806D0207B401E04E00022AB
-:1022C000ECE70020EFE70A202073059A0120107444
-:1022D00060462B4C04280FD814204143234808188B
-:1022E0002038007F002807D00598007C012807D0FF
-:1022F0001098807A012807D01DA1304802F069FEAD
-:102300001098807A012871D10598184B007C02281A
-:102310001AD0154C207B0A2874D0207BE17A401C0F
-:10232000884204D1C92012A1800002F052FE059912
-:1023300001204874217B04986054207B0A2865D0D2
-:10234000207B401C20731CE1607A049A0146904275
-:1023500006D0014614277843C018807C9042F8D1FB
-:10236000627A824235D12BE0A81C0020B81C0020E4
-:102370007372635C72656D2E63000000D50500000A
-:102380003C1D0020701C0020481D0020901C0020D7
-:102390001C1D002012010020C81C0020931A0100FF
-:1023A000100100206D1F01007F02000000F50040B9
-:1023B00080E200E0CD020000CE0200001703000022
-:1023C000617A14225143C918897C61720121A1727A
-:1023D00007E014224243D21814277943927CC9188B
-:1023E0008A74142206215043C01881741098007A10
-:1023F000062819D203007B441B79DB189F4408127E
-:10240000100E0C0AE07A00288CD090E7002099E7A3
-:1024100000210FE0B4210DE073210BE0322109E02F
-:102420000A2107E0062105E0FF20FE49E23002F024
-:10243000D0FD0021109802910068401A2860109980
-:10244000097A002912D00221401A0102090A2960E2
-:1024500010980268406810180002000A686010981E
-:10246000807A0228109803D0007B74E00421EBE707
-:10247000007A002813D0022202981018844610987F
-:102480004268604608301718E748029A4078904240
-:1024900002D9E278002A04D03846083005E0042248
-:1024A000EAE7029A801AC0190830627A062A1CD01C
-:1024B000627A14235A43DD4BD2185268914214D0E9
-:1024C000DB4B0793617A14225143D84A89184A6832
-:1024D0008968921B891B12020902120A090A90429A
-:1024E0003AD89A4238D8994236D83018C01B0002E0
-:1024F000000A286010996044CE4AC9680002000AA8
-:102500009446421A01239B0507929A4201D2104633
-:1025100014E00A1A09929A4201D207980EE0079A2B
-:102520006346624503D9591A0818401C06E0099A07
-:10253000624506D9181A4018401C404200285FDC4A
-:1025400003E0B849BC4802F044FD2868C019000205
-:10255000000A6860002028726868082708300002B6
-:10256000000A68601098407AA8721098007A687221
-:1025700003280ED200280CD0FFF7D4FC002803D08B
-:1025800007E0002011B0F0BD02983A210F1A322066
-:102590000290A5480178012901D0032909D1417889
-:1025A0000298814205D9E078002802D10298081AE1
-:1025B000C71928689E4A801B844601026868090A78
-:1025C000801B03021B0A8F421AD81746914217D864
-:1025D000BB4215D8617A062916D0677A6146062271
-:1025E000039200923A4614235A43904BD2189368B0
-:1025F0009B1B8B4216D80397977C062FF2D177E06E
-:10260000049801F059F9BCE7059802220499027474
-:10261000627A062A00D0627A827461720120A07206
-:1026200011B0F0BD062F63D0002239469446142223
-:102630007E4B4A43D21853689B1B834229D2917B1D
-:10264000AB7A99421FD805980521049C7B4D0174F3
-:10265000287B0A2811D0287BE97A401C884203D1C4
-:102660007049774802F0B5FC287B2C54287B0A2857
-:1026700007D0287B401C287383E7E87A0028EFD036
-:10268000F2E70020F7E701218C46917C0629CED1A4
-:1026900002E0604600282AD03D46009114202A46D8
-:1026A000424362480621161831741038007B0A280C
-:1026B000624816D0017BC07A491C814203D161A1D6
-:1026C000634802F086FC5D48017B4554017B0A2982
-:1026D0000BD0017B491C0173B57C0098A842DDD169
-:1026E00006E0C07A0028EAD0EDE70021F3E7009782
-:1026F0000599022008744D4D607AB84207D10599BA
-:1027000000988874049860720120A07221E00398F8
-:10271000062F0FD0062803D14AA14E4802F059FCDB
-:102720000398142250434019049981740599009824
-:1027300088740EE0062803D142A1474802F049FC04
-:102740000398142250434019049981740599062076
-:102750008874012011B0F0BD70B50D4606463F49A2
-:1027600000242046891BA04103D236A13C4802F038
-:1027700030FC3C490020491BA04103D231A13A481A
-:1027800002F027FC394A70190021821A8C4101D3CA
-:102790003749401870BDF8B5401EC0B214214843F7
-:1027A00022494518687B062813D203007B441B7915
-:1027B000DB189F44020C0A080604002066E0B420DF
-:1027C00010E073200EE032200CE00A200AE0062020
-:1027D00008E0FF201BA1E23002F0FBFB697B002038
-:1027E000002953D0022140186968002440180C21A8
-:1027F00000026956000A00294ADBF1F77FFA174AFE
-:1028000006460C27EF570021101AA14103D20DA153
-:10281000134802F0DEFB13490020C91BA0412CD253
-:1028200008A127E07023010012010020B81C00203D
-:10283000FFFF3F00FFFFFF0014070000A81C00205F
-:10284000090200007372635C72656D2E6300000004
-:10285000C7030000DF030000E5030000FF7F841EC4
-:10286000F50300000020A107F60300000080841E8D
-:1028700000807BE1FB4802F0ACFBFB4AF019002131
-:10288000821A8C4101D3F9494018F8BD0421AAE706
-:10289000F1F734FA0C21695600224018F449091A5C
-:1028A000A241F2D24042F8BDF0B5064683B0F148ED
-:1028B0000190457A029534687068001B0702EE4863
-:1028C0003F0A001B0090062D2DD0142029464143BD
-:1028D000EA480122081884464168E748920586467E
-:1028E000081B904210D3631A93420DD302467046E0
-:1028F000724503D900984018401C05E073450ED975
-:10290000411A0819401C404200280CDA6046029522
-:10291000857C0198C0790028D5D003B0F0BDD84996
-:10292000D84802F056FB0298854226D0142148432D
-:10293000D2490123401802908068CF499B058C46FC
-:10294000011B8646994210D3221A9A420DD3634640
-:10295000614503D900997144491C06E01946624556
-:102960002DD9091A0819401C4142002905DD029899
-:10297000B17A807B814200D37446062D15D0BF49C1
-:102980001420454368184268121B1202120ABA4208
-:102990000BD2B27A837B9A4200D38468857C0198FB
-:1029A000C0790028B9D1062DEAD13068A042B4D050
-:1029B000E0190002000A3460706003B0F0BDB04955
-:1029C000B04802F006FBD8E7F0B5AF4904464868C6
-:1029D00085B0C005C00D1CD0103840B200280CDAFC
-:1029E0000207120F083A920892005118C96980072D
-:1029F000C00EC1400806800F09E08108A34A890083
-:102A0000891809688007C00EC1400806800F002899
-:102A100008D000262078002806D0012804D0002005
-:102A200005B0F0BD0126F5E72079062813D2030092
-:102A30007B441B79DB189F44020C0A080604002023
-:102A400018E0B42010E073200EE032200CE00A20E1
-:102A50000AE0062008E0FF208949E23002F0B9FAD6
-:102A600021790020002905D002214718814D002E30
-:102A700002D003E00421F8E70020E87102AA6946C9
-:102A8000A068F1F745F9694608228A56E06801A96D
-:102A90008018C01C01221F2801DA019209E003AA54
-:102AA000F1F736F96846007B002802D00198401CF7
-:102AB000019000990198401808300002000A019026
-:102AC000C81B0002000A009060796946887200986D
-:102AD0000390F1F7ACF8009A019B121A181A6C498E
-:102AE00012020002120A000A8A4216D8884214D83A
-:102AF0006846FFF7D9FE00990398814205D0C819AE
-:102B00000002000AF1F7FAF8A0600120E979002933
-:102B100086D0002EB0D005B0F0BD0020F6E7F3B5AA
-:102B20008FB05C480C460B9001F088F85A4A0F9918
-:102B3000504E5518203D594F00280BD05848007D65
-:102B4000002803D057A15A4802F043FA2078012800
-:102B50007DD05FE1787F0A280CD0787F397F401CD8
-:102B6000884203D14FA1534802F033FA207801285C
-:102B700004D00CE0387F0028F4D0F7E7E87F002885
-:102B800003D048A14C4802F024FA0120E877787F6E
-:102B90000F991422494D504340190174207802289E
-:102BA00023D0787F14214843451920792872607911
-:102BB00068722A460C322946A068F1F7A9F80C2061
-:102BC00028560F2804DD1F3828732868401C286009
-:102BD0000C22AA56281DE16802908818C01C1F28E4
-:102BE0003FDA029901200860FDE027494868C005E6
-:102BF000C00D20D0103840B200280CDA0207120FA6
-:102C0000083A920892005118C9698007C00EC14065
-:102C10000806800F09E081081C4A890089180968A4
-:102C20008007C00EC1400806800F002803D11DA1F7
-:102C3000234802F0CEF9787F14214843451900213A
-:102C4000E0686A460591117303AA05A900E0D8E07F
-:102C5000F1F75EF86A460C2010560F2832DD01208D
-:102C600031E0B3E0F60300000080841E00807BE1C9
-:102C7000FF7F841E3C1D0020FFFFFF00B81C0020CA
-:102C8000442801001407000000ED00E000E400E02B
-:102C9000FFFF3F00481D002016010020701C00208F
-:102CA000901C00207372635C72656D2E63000000DF
-:102CB00017050000F5040000FA040000B01B002016
-:102CC0000605000000200599401808900220A8720F
-:102CD0002079287260796872A068291DC01C039150
-:102CE0001F2801DA01200AE006AAF1F711F8684668
-:102CF000007E002804D0039803990068401C0860F7
-:102D0000287A062813D203007B441B79DB189F44E2
-:102D1000020C0A08060400200FE0B4200DE0732026
-:102D20000BE0322009E00A2007E0062005E0FF2042
-:102D3000FD49E23002F04DF900202179002943D00D
-:102D400002214118069168680831401808990590D9
-:102D500008180699401A0C900020F071F0F767FFF0
-:102D600004462860089820180002000AE860707A7B
-:102D7000062825D0707A14214843EC494018406851
-:102D80000090059940180002000A0190687A69468F
-:102D900088726846FFF788FD0098019A001B121B95
-:102DA00000021202E24B000A120A0C99984207D85C
-:102DB0008A4205D80099069808180002000A28607F
-:102DC000F0790028C8D110E00421BAE704AA0299DA
-:102DD000F0F79EFF6846007C002804D00298029914
-:102DE0000068401C08602078A872787F0A2806D006
-:102DF000787F401C78770B9800F038FF47E0002080
-:102E0000F8E7E87F002803D0CAA1CD4802F0E1F836
-:102E10000120E877CB490F9808742078022803D165
-:102E2000C4A1C94802F0D5F8C64D2079287260794E
-:102E300068722A460C322946A068F0F769FF0C2018
-:102E400028560F2804DD1F3828732868401C286086
-:102E50000C22AA56281DE16802908818C01C1F2861
-:102E600003DA0299012008600CE003AA0299F0F746
-:102E70004FFF6846007B002804D002980299006842
-:102E8000401C08602078A872AE4901200875797F3F
-:102E9000387F814223D0747A062C22D0F0F7C7FE07
-:102EA00014214C43A1496218117C042917D003292D
-:102EB00015D0536892681B1A101A1B0200029C4915
-:102EC0001B0A000A082B0AD30A468B4207D89042F5
-:102ED00005D8787F397F884201D0F0F7F4FE11B031
-:102EE000F0BD787F397F8842F7D111B0F0BD10B5C1
-:102EF0000020F0F7FAFD10BD10B50120F0F7F5FD48
-:102F000010BDF1B5009802281FD0904C607A0628B9
-:102F100003D188A18E4802F05CF80026A671012535
-:102F2000E572607A03211422804F5043C019017466
-:102F3000F0F7CEFE009800280CD001282AD00328F4
-:102F40007CD0B5207BA1C00044E082480078EFF738
-:102F50000DFEF8BD8048007F002803D075A17F4892
-:102F600002F037F865717C4D00202E60F0F7D0FD3F
-:102F7000A968481C04D0012300221846F0F7FEFD82
-:102F8000607A617A401CC0B2142251437A58012100
-:102F90009047F8BD0120F0F7BBFD607900280DD007
-:102FA0006D488068401C09D0607A617A401CC0B2CC
-:102FB000142251437A5806219047F8BD6648007F95
-:102FC00001280AD0022812D0032824D0042836D0A1
-:102FD00058A1634801F0FDFFF8BD2079002803D017
-:102FE0002671F0F77AFEE5705B480677F8BD207A27
-:102FF000002804D1FEF770FAEFF718FE2572607A08
-:10300000617A401CC0B2142251437A580021904783
-:1030100051480677F8BD504F0123397B786800226C
-:10302000411A1846F0F7AAFD2079002803D026712E
-:10303000F0F753FEE57002203877F8BD1BE0464EEE
-:10304000217870680123411A00221846F0F796FD96
-:10305000207A002804D1FEF73FFAEFF7E7FD25724A
-:10306000607A617A401CC0B2142251437A58002120
-:1030700090473577F8BD607A617A401CC0B214225F
-:1030800051437A5805219047F8BD10B52F4C607A0E
-:10309000062803D127A1334801F09BFF607A617AAB
-:1030A000401CC0B214225143204A52580421904778
-:1030B00010BDF0B583B006200290F0F7B8FD234CA8
-:1030C0000090617A28480190062920D0617A142066
-:1030D000414316480918097C042918D0617A142242
-:1030E00051430818007C03287BD00198009A03689C
-:1030F00040689B1A801A1B0200020D491B0A000A35
-:10310000082B6ED30A468B426BD8904269D812487E
-:103110008068401C03D007A1144801F05AFF00202A
-:103120006071607A062823E0A42C0100B81C0020FE
-:10313000FFFF3F007372635C72656D2E63000000D9
-:103140001E050000901C0020240500003C1D0020EE
-:1031500055050000100100201C1D00206105000025
-:103160009C050000AF0500002C1D0020EB050000B1
-:1031700007D16078002804D0FE48C178417081787A
-:103180000170607A062815D0607A1421FA4A484303
-:103190008018007C04280DD1607A0290617A0120A9
-:1031A0001423594389180874617A59438918897C12
-:1031B0006172A072F14D687F297FF14F884233D050
-:1031C000F04E287F142148438019007CC05D0128FF
-:1031D000287F07D048438019007CC05D02282FD08B
-:1031E00044E001E2142148438019807A01280AD082
-:1031F000287F0221142250438019007CC155287F6A
-:103200000A2808D009E0297F002014225143891997
-:10321000097CC8552AE0002001E0287F401C28775F
-:10322000687F297F8842CCD1D74D287D00284CD09B
-:10323000287CC15D012928D0C05D022830D03AE049
-:10324000287F142148438019807A012803D0CFA118
-:10325000D14801F0BEFE297F002014225143891974
-:103260008872297F51438919097CC855287F142108
-:1032700048438219287F48438019017C0098FEF753
-:10328000EBFF287F0A28C8D1C5E7A97A012904D015
-:103290000221C155002028750DE00021C1550AE02A
-:1032A000A87A012803D0B9A1BC4801F092FE002001
-:1032B000A872297CC855287D002806D0297CB24AEE
-:1032C0000098FEF7C9FF00202875029806281ED036
-:1032D00014214843A8494018017C012917D107212E
-:1032E000AF4D0174287B0A283CD0287BE97A401C2A
-:1032F000884203D1A5A1AB4801F06BFE297B02985F
-:103300006854287B0A2831D0287B401C2873607AB7
-:1033100006287DD0A07A00287BD00020A072617A98
-:10332000142041439448A04B0A18566891681D46E2
-:10333000D2687C35DE67AA6069609C4D697E002991
-:1033400016D00226617A14228B4851430818407B1C
-:1033500006281BD203007B441B79DB189F440A1408
-:1033600012100E0CE87A0028C4D0C7E70020CDE781
-:103370000426E7E700200FE0B4200DE073200BE007
-:10338000322009E00A2007E0062005E0FF207FA1A7
-:10339000E23001F01EFE00202873697E022901D070
-:1033A000012910D12969009A09188A1A1202120AF1
-:1033B0003A2A08D90320687632390802000A2861BF
-:1033C000322028730AE0322808D2207A00280ED151
-:1033D000FEF782F8EFF72AFC012007E0207A0028A8
-:1033E00005D0FEF798F8EFF74AFC002020726149FB
-:1033F0000822487820700978012901D0032906D1D4
-:1034000001212171297B884201D9421A083201E049
-:1034100091E0A1E0A378002B00D0921C2179002933
-:1034200001D1002B5DD09446614A00990092019A27
-:10343000176852687F1A511A3F0209023F0A090AA7
-:10344000BC451BD85A4A974218D8009A914215D8C1
-:10345000297B884223D92B69421A9A1A1202120A2E
-:10346000101880190002000A2A616860002914D02F
-:10347000032028770006000E3ED14CE0002020718A
-:10348000A070297B002925D02869401880190002E6
-:10349000000A6860022028772EE00120E9E78142D7
-:1034A0000BD92A69511889190902090A696000288B
-:1034B00001D00420DDE70220DBE7002B03D133A19C
-:1034C0003C4801F086FD286980190002000A686006
-:1034D000002004E0296989190902090A696028772E
-:1034E00019E0287B00280FD02969081880190002EC
-:1034F000000A6860022028772869012381190022C8
-:103500001846F0F73BFB09E0286980190002000A21
-:103510006860002028770120F0F7FAFA607A142119
-:10352000484315490C22401882560123002069683F
-:10353000F0F724FB10E00120F0F7EAFA0020F0F7A2
-:10354000E7FAF0F7CBFA207A002805D0FDF7E3FF81
-:10355000EFF795FB00202072A078002804D0F0F748
-:10356000BCFB0020E070A0706078002827D00148E4
-:10357000C17821E012010020B81C0020701C00203E
-:1035800015010020B01B0020901C00207372635CAA
-:1035900072656D2E630000000D0600002906000014
-:1035A000A81C00203B060000B01C00201C1D0020B1
-:1035B000FFFF3F008D060000417081780170207987
-:1035C000002806D00020CE49E0700978002900D1FB
-:1035D0002071CC48017BC07A814203D0CA48407830
-:1035E000EFF7C4FA0120E07103B0F0BDF0B5C74CAD
-:1035F0000746607A83B0062804D16F20C4A1000179
-:1036000001F0E7FC607A1421C44E48438019007C25
-:10361000032803D0BEA1C24801F0DBFCC14DA8685D
-:10362000401C03D0BAA1C04801F0D3FC607A142139
-:10363000484381190C20085600216A4600911171F7
-:10364000C01901AA6946F0F763FB6A4604201056C8
-:103650000F2801DD012000E0002000994018696872
-:1036600040180102090AA9606079002804D00123EA
-:1036700000221846F0F782FA03B0F0BD70B5AC4CEA
-:10368000AA4A0B1AA34214D3451AA54211D3934256
-:1036900003D9101A43185B1C0BE0954204D9511A48
-:1036A0000818401C434204E099A1A24801F091FC93
-:1036B0000023184670BD10B50146012300220220E8
-:1036C000F0F75CFA10BD10B50220F0F721FA10BD3A
-:1036D00010B5F0F7ACFA10BDF0B58C4D0446E87AA1
-:1036E00083B0002803D18AA1934801F072FC642CB6
-:1036F0004DD3924A00210846121B884147D3904877
-:10370000417F007F814242D18E48007D00283ED11A
-:10371000687A1421814F4843824EC519306801AA46
-:1037200000196946F0F7F4FA6946042008560028A3
-:1037300002DD0098401C0090A96800986B680A1888
-:10374000D21A1202804B120A9A4220D8AA7C062A68
-:1037500008D014235A43D2195268511A0902090A8F
-:10376000814214D3B068401C05D00120F0F7D0F995
-:103770000020C043B060306800193060A86800992C
-:1037800040180002000A7061012003B0F0BD002063
-:1037900003B0F0BDF8B50646401EC4B214205F4920
-:1037A00060434518287C002804D1772058A10001E7
-:1037B00001F00FFC6248017F407F81420CD0634AD8
-:1037C00014234B439B181B7CB3420CD00A290CD00A
-:1037D000491CC9B28142F3D15A48017D002961D008
-:1037E000007CB0425ED10020F8BD0021F1E7052940
-:1037F00003D0062901D0072928D101212974C17AD3
-:103800000023027B8A4221D00246565CA64201D1A7
-:10381000012301E0002B04D00A2911D04E1C965D33
-:1038200056540A290ED0491C167BC9B28E42ECD1DF
-:10383000002B0BD0117B002906D0117B491E04E020
-:103840000026ECE70021EFE70A211173697C0029CB
-:103850002AD06F74C17A0023027B8A4224D0425C52
-:10386000A24201D1012301E0002B04D00A2912D089
-:103870004A1C825C42540A290FD0491C027BC9B2FF
-:103880008A42ECD1002B0FD0027B0146002A06D0E1
-:103890000A7B521E04E00022EBE70021EEE70A2239
-:1038A0000A7301E017480027297C01299FD16A7C0F
-:1038B000002A9CD10120F8BD70B505461420174A96
-:1038C0000521684380180F4C0174207B0A2811D011
-:1038D000207BE17A401C884203D10DA11C4801F0F5
-:1038E00078FB207B2554207B0A2807D0207B401CB6
-:1038F000207370BDE07A0028EFD0F2E70020F7E7F0
-:1039000012010020A81C0020100100203C1D0020F6
-:103910007372635C72656D2E63000000B81C00203A
-:10392000F10600001C1D0020F2060000FF7F841E2F
-:103930000020A1071407000033070000FF1FA107A4
-:10394000701C0020901C0020FFFF3F00B01B0020D7
-:103950000902000010B501462022094801F09CF937
-:1039600007490020C877084610BD06490120486174
-:103970000548064A0168914201D100210160704763
-:103980004C1D0020000500401C010020BEBAFECAEC
-:10399000064A10705170704704481C22017841712A
-:1039A00042700170704770477047704720010020D7
-:1039B00030B50346002002460DE09C5C2546303DB4
-:1039C0000A2D02D30020C04330BD0A256843303899
-:1039D0002018521CD2B28A42EFD330BD70B50D46CA
-:1039E000144608E00A2101F0D1F92A193031203AB1
-:1039F000641ED177E4B2002CF4D170BD10B5002361
-:103A000010E0040A00020443A0B2CC5C444020064B
-:103A1000000F60400407240C44402006C00C6040A6
-:103A20005B1C9BB29342ECD310BD10B520380C4602
-:103A3000030001F0BFFB33E0DBE41B1F23272C3125
-:103A4000373C41474D5054585C606D7165697478DE
-:103A50007C8084888C9094989C9FA2A6AAAEB2B8D1
-:103A6000BCC0C5CACFE9F0F3D3D7F800206800F096
-:103A7000DDF8D6E0206800F0E1F8D2E0206800F040
-:103A8000F5F8CEE0207840B200F092FAC9E0207854
-:103A900040B200F0B0FAC4E02078616840B200F0B3
-:103AA000C3FABEE0207840B200F0D3FAB9E0207843
-:103AB00040B200F0DEFAB4E02078217940B200F0A4
-:103AC000E9FAAEE02078616840B200F013FBA8E0AC
-:103AD00000F01FFBA5E0206800F023FBA1E02078A8
-:103AE00000F038FB9DE02068FDF7F5FD99E02068C7
-:103AF000FDF7F5FD95E021792068FDF7F7FD90E0F1
-:103B00002068FDF73FFC8CE02068FDF740FC88E072
-:103B10002078FDF740FC84E0FDF74EFC81E0207842
-:103B2000FDF750FC7DE02078FDF762FC79E020682D
-:103B3000FDF77BFC75E02068FDF77DFC71E02068F7
-:103B4000FDF77FFC6DE02068FDF780FC69E02068F0
-:103B5000FDF782FC65E02068FDF784FC61E02068E9
-:103B6000FDF785FC5DE00846EDF7F0FA59E0EFF768
-:103B700070F856E0EFF79DF853E02068EFF7A5F8EE
-:103B80004FE0206800F080F84BE0206800F082F8F9
-:103B900047E0206800F083F843E02078A26861687D
-:103BA00000F082F83DE0207800F089F839E02078D4
-:103BB00000F091F835E02078616800F098F830E086
-:103BC0002078616800F09FF82BE02179207800F0E0
-:103BD000D5FB26E02068FDF778FE22E02068FEF79E
-:103BE0004DF91EE02068FEF731F91AE0204607C8BB
-:103BF00000F0B9FC15E0206800F00CFD11E06168F0
-:103C0000206800F037FD0CE0206800F029FF08E094
-:103C100009E003E0FFE700F03BFF02E0206800F06E
-:103C200073FF206010BD0120086010BD00210170ED
-:103C3000084670470146002008707047EFF3108176
-:103C4000C907C90F72B60278012A01D0012200E02B
-:103C5000002201230370002900D162B6002A01D09E
-:103C600000207047012040037047E7E7EFF3108121
-:103C7000C907C90F72B600220270002900D162B6CE
-:103C800000207047F2E7000038490968C9B20160B6
-:103C9000002070473549C0B2486000207047334962
-:103CA000C0B2886000207047082801D330487047B0
-:103CB000C3002E4818180161426100207047022895
-:103CC00002D32B48401C70472A4A0121C0008018AB
-:103CD000016000207047022802D32548401C70472D
-:103CE000244A0121C000801841600020704702284A
-:103CF00002D31F48401C70471F4A8000C9B2801879
-:103D0000016000207047022802D31948401C704708
-:103D1000194A800080180068C0B20860002070470F
-:103D200010B5FF20114AC043906008200021C30055
-:103D30009B1819615961401C1028F8D300200E4AC5
-:103D400005E0022803D383009B18196004E0830078
-:103D50009B181C68E4B21C60401C0428F1D310BD01
-:103D6000FF200249C04388607047000000F5014011
-:103D70000820000000F0014000F8014010B572B6C4
-:103D800000F0DEF800280BD0EDF78AFAFEF783F991
-:103D900000F0BBFA6F490020C86288626E49086073
-:103DA00062B6002010BDF3B5002501200007C06AEF
-:103DB00081B0C0430006000E04D168480068401C72
-:103DC00000D1012572B600F0BBF8002801D062B620
-:103DD00087E0EDF7D1F9EDF767FA614C614A002110
-:103DE0002368CB40DB071FD00346CB40DB0718D14D
-:103DF0004BB2002B07DA1E07360F083EB608B60096
-:103E0000B618F66904E09E08574FB600F6193668F2
-:103E10009B07DB0EDE4033069B0F012B04D0032BE8
-:103E200002D062B65148FEBD491C2029D8D3019C5E
-:103E300001204F49230001F0BDF914222424242439
-:103E4000242424240B0D1012142016181A1C1E2FC3
-:103E5000002400E00124C86314E00224FBE70324EB
-:103E6000F9E70424F7E70824F5E70924F3E70A242F
-:103E7000F1E70B24EFE70C24EDE70524EBE707243B
-:103E800000E00624D06901210002000AC9070843A6
-:103E9000D061002D04D009E062B601200003FEBD10
-:103EA0002C4D3448E862EDF7FFF9A8622A49324800
-:103EB0000860324902980860EDF7F6F9214600F0F3
-:103EC0000BFAFEF7AEF800F00DFC00F087FA01984F
-:103ED000EDF7B4F9040062B603D0FFF74FFF2046B8
-:103EE000FEBD0020FEBD10B5044600F029F80028F4
-:103EF00000D001202070002010BD21490860002062
-:103F0000704710B50C46102808D011280BD0122885
-:103F10000CD013280ED00120086010BD6168206805
-:103F2000FFF741FF0AE0FFF729FF07E02068FFF7EE
-:103F3000DAFF03E01249206808600020206010BD0D
-:103F400005480D490068884201D1012070470020D2
-:103F500070470000000500401C0100200010001008
-:103F600000E100E000ED00E000E400E001100000EE
-:103F70004000004000200000BEBAFECA2801002018
-:103F8000040000208107C90E002808DA0007000F8E
-:103F900008388008814A80008018C06904E08008E1
-:103FA0007F4A800080180068C8400006800F704774
-:103FB00010B5044600F0DBF8002813D02046FFF7C8
-:103FC000E1FFC0B200F0E1F800280DD07549E2062B
-:103FD0000B78D20E01209040002B08D04A68104385
-:103FE000486006E0704810BD6F48401C10BD6F4926
-:103FF0000860002010BD10B5044600F0B8F8002895
-:104000000BD06849E2060B78D20E01209040002BBD
-:1040100005D04A6882434A6004E0634810BD6349A2
-:1040200080310860002010BD70B50D46044600F0D8
-:104030009EF800280BD05E480068E206D20E0121EF
-:104040009140084000D001202860002070BD5648F3
-:1040500070BD10B5044600F08AF8002807D0E106CC
-:10406000C90E0120884052490860002010BD4E480A
-:1040700010BD10B5044600F07AF8002808D0E1061B
-:10408000C90E012088404A4980310860002010BDD7
-:10409000454810BD70B50D46044600F068F800288C
-:1040A00019D0284600F071F8002816D0A007C20EDB
-:1040B000FF209040A907090E9140002C10DA22073A
-:1040C000120F083A9308354A9B009B18DA6982431D
-:1040D0000A43DA610CE0344870BD3348401C70BDBF
-:1040E000A3082F4A9B009B181A6882430A431A6050
-:1040F000002070BD70B50C46054600F038F8002869
-:1041000005D02846FFF73EFF2070002070BD2648EE
-:1041100070BDBFF34F8F21492648C860BFF34F8F52
-:10412000FEE770B51F4C05462178012000290ED10D
-:10413000207072B600F0F8F81C4E8036316881436A
-:10414000616000F0F1F8C043306062B60020287072
-:10415000002070BD13490A78002A06D0002804D137
-:10416000124A48681060002008700020704710B59F
-:104170000446202805DA00F0D7F80121A1400842C2
-:1041800001D0002010BD012010BD012803D003285C
-:1041900001D00020704701207047000000ED00E0D2
-:1041A00000E400E02C0100200120000000E100E01C
-:1041B00000E200E00400FA05F8B504468007002597
-:1041C0000126002804DA5A48C563C66302208443E6
-:1041D000E00404D55748C563C66380148443600077
-:1041E00003D55548456080058443E00504D5534810
-:1041F000C563C66380158443A00404D55048C563D5
-:10420000C6634014844360042704C00FF90F88423A
-:1042100003D04CA1612000F0DCFEB80F0AD04E495B
-:10422000CD634E48C563C563CE63C663C6630320D2
-:104230008003844320050AD5494FFD632F20ECF706
-:10424000B3FFFE632F20ECF7AFFFF8148443002C7C
-:1042500003DAFFF765FD640064084248044203D0B6
-:1042600038A1902000F0B5FEF8BDF0B500210A4657
-:10427000FF230446CC40E4072AD04CB2E606F60EF3
-:104280000125B540384E3560384E3560002C11DAC6
-:1042900025072D0F083DAE08354DB6007619F56996
-:1042A000A407E70E1C46BC40A5431446BC4025436A
-:1042B000F5610DE0A6082F4DB60076193568A40704
-:1042C000E70E1C46BC40A5431446BC402543356060
-:1042D000491C2029CDD3F0BD70B5274C0D46206078
-:1042E000FFF76AFF2068FFF7C0FF2846EEF77AFD68
-:1042F000FDF7D6FAFDF782F9FFF712FDFDF7D5F8C5
-:10430000EEF7FEFB00F06AF870BD10B51A4C20689D
-:10431000FFF752FF2068FFF7A8FFFFF701FDEEF758
-:10432000E6FD0020206010BD1348006870470000C3
-:10433000C01F0040C0CF004000E50140C08F0040DA
-:10434000C0DF00407372635C736F635F636F6E66A0
-:1043500069672E6300000000C0EF0040C0FF00400E
-:10436000C0BF0040FEFF0FFC80E100E080E200E003
-:1043700000ED00E000E400E03401002070B500240E
-:1043800002460D4620462146002A1ED0012A04D0AE
-:10439000022A04D0032A1ED103E0012002E00220F9
-:1043A00013E003202B0000F005FF07160507090B9B
-:1043B0000D0F1600012108E0022106E0032104E0B0
-:1043C000042102E0052100E00621FDF7D9FE0028C6
-:1043D00001D0204670BD0724FBE70000B148002152
-:1043E00001708170704770B5AF4D01236B60AF4BAA
-:1043F0001C68002CFCD0002407E00E6806601E68D4
-:10440000002EFCD0001D091D641C9442F5D3002031
-:10441000686018680028FCD070BD70B5A14C0D46CE
-:104420006178884203D0A2A16C2000F0D2FD2B005D
-:1044300000F0C0FE094F0625254F4F4F4F464F0055
-:104440002078022803D09AA1702000F0C2FD03203A
-:104450002070A078022802D0012804D008E0A068CB
-:1044600000F0CEFB04E02269E168A068FFF7BBFF23
-:104470000020A070FDF724FE0420207070BDFDF721
-:10448000D4FE01466068FFF7F9F805462078022857
-:1044900003D087A1842000F09CFD894A89498A487D
-:1044A000954206D8401BC86086496078FEF737FB06
-:1044B00070BD854202D802224A71F3E7032003E06F
-:1044C000A0780028FAD10220FDF704FD00F0E0F802
-:1044D00070BD77A1AD2000F07CFD70BD70B50546C4
-:1044E000FDF7A3FE6F4C60602078012803D070A117
-:1044F000B42000F06EFD73490220087000220A719A
-:104500008D6003224A71704ACA6020706078FEF79D
-:1045100006FB70BD10B5634CA078002802D120784E
-:10452000002801D0112010BD6848FDF710FE607012
-:104530006078002803D001202070002010BD0320E7
-:1045400010BD10B50124020B64040121604BA04290
-:1045500002D29140186802E0203A58689140084021
-:1045600000D0012010BDF8B50E46910005464F1948
-:1045700014463F1F009100F054FB009980028919F6
-:10458000091FB14201D2012200E00022002C03D019
-:10459000FF2101318C4201D90920F8BD4D498D42DE
-:1045A00019D3AF4217D3854205D2874203D228469A
-:1045B0003043800701D01020F8BD8E420BD3002A73
-:1045C00009D12846FFF7BDFF002804D13846FFF780
-:1045D000B8FF002801D00F20F8BD3F483F490068D0
-:1045E000884205D0224631462846FFF7FCFE0FE000
-:1045F000FFF790FF0028EFD12A480121C6608560AF
-:10460000046181702046312148431430FFF766FF72
-:104610000020F8BD10B504462E48800A84420BD312
-:1046200000F0FFFAA04201D8102010BDA0020446FD
-:10463000FFF787FF002801D00F2010BD264827492B
-:104640000068884203D0204600F0DAFA0AE0FFF75B
-:1046500061FF0028F1D11348022184608170204855
-:10466000FFF73CFF002010BD1A48010B01208840D5
-:10467000401E704700B50B460246FFF7F5FF10429B
-:1046800001D00F2000BD124802604360002000BD31
-:1046900010B5044C6078FDF7AEFD00202070A070CE
-:1046A00010BD00003801002000E5014000E4014099
-:1046B0007372635C736F635F666C6173682E630013
-:1046C000307500006C1D0020D0FB01001B44010070
-:1046D00000060040006001001C010020BEBAFECAB6
-:1046E00010540000F74805218170002101704170CD
-:1046F000C1708160704710B5F3490A78022A07D06B
-:10470000CA681018C860C8689638FEF76FFF10BDF9
-:104710008A68101888608868F6E70378EB49EC4AE5
-:10472000002B02D0012B10D014E00379002B01D014
-:10473000012B0FD14379002B01D0012B0AD18368C3
-:10474000643B8B4206D2C06810E00379002B03D093
-:10475000012B01D0002070474379002B01D0012BA1
-:10476000F8D1C368643B8B42F4D280689042F1D8A0
-:1047700001207047F8B504460226FEF7BDFB00682D
-:10478000002803D0D3A1BE2000F023FC0127CD4D8B
-:10479000002C08D02078002817D0012805D0022846
-:1047A00011D0032813D02F710DE06068C82808D3FA
-:1047B000FEF792FF002804D06068FFF79CFF0126F7
-:1047C00003E0002601E000F0F9F93046F8BD287852
-:1047D0000028F8D16068FFF7A0FF0028E3D06068E8
-:1047E0000078002826D0A878042803D0B9A1F820A2
-:1047F00000F0EFFBB44F00203870606800790128AA
-:1048000000D00020387160684079002837D003203C
-:10481000787160688168E868FDF79EFFB86060683D
-:10482000C0689630F8600320A870A749E878FEF7C2
-:1048300076F9C8E7A4480221017061680979012965
-:1048400019D00021017161684979002915D003212F
-:10485000417161688968963181606168C968C16029
-:10486000C068984C14346060FDF7DFFC20606F7006
-:104870000220A870A7E70321E4E70221E8E702206D
-:10488000C6E7F8B58F4C0D46E178884204D0FF208A
-:1048900090A11A3000F09DFB28468A4F0025012682
-:1048A0001437030000F086FC090612375A7C8D97F6
-:1048B000C4A0C400A078032807D0A078022804D0A0
-:1048C000FF2084A11E3000F084FBF8BDA0780328EF
-:1048D00007D0A078022804D0FF207EA1223000F06B
-:1048E00078FB0420A07025712078002810D1FFF7F4
-:1048F00002FFE078FDF74FFFE0607D49886A7D4A5E
-:10490000024022617B4AD24310408862002050E07E
-:1049100000F054F9F8BDA078032807D0A078022849
-:1049200004D0FF206BA1453000F053FB2078002815
-:1049300002D000F04FF9F8BDA07803281FD1042061
-:104940002AE0091A6048C1600146E078FEF7E7F8FE
-:10495000F8BD0420FDF7BEFAA570F8BDA0780328C5
-:1049600007D0A078022804D0FF205AA1663000F0BA
-:1049700030FB20780028DCD1A07803280BD0FDF78D
-:1049800054FC01463868FEF779FE0028E1DB7968BF
-:104990008142DEDBD5E70520FDF79CFAA670F8BD65
-:1049A000A078042804D0FF204AA1873000F011FB32
-:1049B0000220A1688847FFF7DDFEFF260546C036C6
-:1049C00042E0A078042804D0FF2042A18C3000F0FF
-:1049D00000FB0120EDE7A078042899D0FF203DA13D
-:1049E000913000F0F6FA93E7A07804280AD06078B6
-:1049F000002802D0A078022804D0FF2035A19630EC
-:104A000000F0E7FA2078002893D12079002804D01C
-:104A10000620FDF75FFA2571C0E76078002805D011
-:104A20002949E078FEF77BF86570F8BD0720B3E709
-:104A3000FF2028A1B13046E7002D0AD0012D06D075
-:104A400024A1304600F0C5FA022DF5D1F8BD0420AE
-:104A500000E00320A1688847FFF78CFE0546F3E7D6
-:104A600070B5050005D0174CA078052803D011209B
-:104A700070BD102070BD2048FDF769FBE070E07844
-:104A8000002803D0A5600020A07070BD032070BD79
-:104A900010B50C480178002901D0112010BD817893
-:104AA00005292BD0817801292AD08178002927D0A7
-:104AB000012101708178012922D0807800281FD03F
-:104AC00020E000004C0100207C1D00203D860100FC
-:104AD000FF1FA1077372635C736F635F7261646928
-:104AE0006F5F74696D65736C6F742E6300000000F6
-:104AF0000005004002810080834801000F2010BDA6
-:104B000000F068F8002010BDF8B5394E0446B078C2
-:104B1000002801D001280DD1002C0DD02046FFF730
-:104B2000FCFD00280AD02078324D002808D0B0784B
-:104B3000012823D00F20F8BD1020F8BD0720F8BDB4
-:104B400002272F702079012814D000202871607965
-:104B5000002811D003206871A0689630A860E06832
-:104B6000E860E868224C14346060FDF75EFB20606A
-:104B7000B77019E00320E9E70220ECE70020287075
-:104B80002079012816D0002028716079002813D0E0
-:104B900003206871A168F068FDF7DEFDA860E06899
-:104BA0009630E8600320B0701249F078FDF7B7FF47
-:104BB0000020F8BD0320E7E70220EAE710B50E4821
-:104BC000816A0E4A11400A4A126911438162FDF757
-:104BD00077FA10BD10B5064CE078FDF70CFB082005
-:104BE000FDF778F90520A07000202070607010BDDE
-:104BF0004C0100207C1D002000050040FD7EFF7F51
-:104C00000A4A022151600A490B68002BFCD09060CF
-:104C100008680028FCD00020506008680028FCD0FC
-:104C200070470120000740697047000000E501401F
-:104C300000E4014070477047704770477047034673
-:104C400010B50B439B070FD1042A0DD308C810C918
-:104C5000121FA342F8D018BA21BA884201D9012004
-:104C600010BD0020C04310BD002A03D0D30703D0DD
-:104C7000521C07E0002010BD03780C78401C491C32
-:104C80001B1B07D103780C78401C491C1B1B01D14E
-:104C9000921EF1D1184610BDF8B5042A2CD3830713
-:104CA00012D00B78491C0370401C521E83070BD096
-:104CB0000B78491C0370401C521E830704D00B78EC
-:104CC000491C0370401C521E8B079B0F05D0C91A4C
-:104CD000DF002023DE1B08C90AE0ECF775FAF8BDF7
-:104CE0001D4608C9FD401C46B4402C4310C0121F8D
-:104CF000042AF5D2F308C91A521EF0D40B78491CC5
-:104D00000370401C521EEAD40B78491C0370401CEF
-:104D1000521EE4D409780170F8BD01E004C0091FF7
-:104D20000429FBD28B0701D50280801CC90700D063
-:104D30000270704700290BD0C30702D00270401CDC
-:104D4000491E022904D3830702D50280801C891ED4
-:104D5000E3E70022EEE70022DFE70378C278194696
-:104D6000437812061B0219438378C0781B04194349
-:104D700011430902090A000608437047020A087035
-:104D80004A70020C8A70020ECA7070470022030932
-:104D90008B4273D3030A8B4258D3030B8B423CD311
-:104DA000030C8B4221D312E003460B437FD4002235
-:104DB00043088B4274D303098B425FD3030A8B42AF
-:104DC00044D3030B8B4228D3030C8B420DD3FF2219
-:104DD000090212BA030C8B4202D31212090265D0E7
-:104DE000030B8B4219D300E0090AC30B8B4201D39A
-:104DF000CB03C01A5241830B8B4201D38B03C01AE1
-:104E00005241430B8B4201D34B03C01A5241030B57
-:104E10008B4201D30B03C01A5241C30A8B4201D308
-:104E2000CB02C01A5241830A8B4201D38B02C01AB3
-:104E30005241430A8B4201D34B02C01A5241030A2A
-:104E40008B4201D30B02C01A5241CDD2C3098B420F
-:104E500001D3CB01C01A524183098B4201D38B018C
-:104E6000C01A524143098B4201D34B01C01A52412F
-:104E700003098B4201D30B01C01A5241C3088B4274
-:104E800001D3CB00C01A524183088B4201D38B005F
-:104E9000C01A524143088B4201D34B00C01A524101
-:104EA000411A00D201465241104670475DE0CA0FD8
-:104EB00000D04942031000D34042534000229C4698
-:104EC00003098B422DD3030A8B4212D3FC228901A2
-:104ED00012BA030A8B420CD3890192118B4208D378
-:104EE000890192118B4204D389013AD0921100E0DA
-:104EF0008909C3098B4201D3CB01C01A52418309EE
-:104F00008B4201D38B01C01A524143098B4201D31A
-:104F10004B01C01A524103098B4201D30B01C01A45
-:104F20005241C3088B4201D3CB00C01A52418308BF
-:104F30008B4201D38B00C01A5241D9D243088B4215
-:104F400001D34B00C01A5241411A00D201466346B8
-:104F500052415B10104601D34042002B00D549421C
-:104F6000704763465B1000D3404201B50020C04645
-:104F7000C04602BD704770477047704710B500F0DB
-:104F800059F810BD30B58C180278401C13071B0F60
-:104F900001D10378401C120906D10278401C03E0BD
-:104FA0000578401C0D70491C5B1EF9D101E00B70A7
-:104FB000491C521EFBD1A142E6D3002030BD0000A7
-:104FC00001231B68134B1860134B1960134B1A60B5
-:104FD0007047134A134B13607246053AF0E7114AC3
-:104FE0000F4B1B689A420ED10D4B002018600198A0
-:104FF0000D4B04B598470CBC9E460246029800999A
-:105000000A4B1B68184706980599094B1B68DB6813
-:105010001847000070010020740100207801002072
-:1050200068010020EFBEADDE5539010028010020E7
-:10503000040000201D481E497047FFF7FBFFECF7F6
-:105040007DF800BD01200007C06AC0B2FF2804D16E
-:10505000184819490968884202D01848184901605F
-:10506000184819490968884203D1184A13605B68D7
-:10507000184700BD20BFFDE7124813490968884260
-:105080000ED1134B18680B498842F3D080F308887F
-:105090001049884204DD1048026802210A43026078
-:1050A0000E4880470E4880470E480047901D00205C
-:1050B000901D0020FFFFFFFF001000102C05004096
-:1050C0000800000000100000000000200400002084
-:1050D0000060010000200020240500406B39010021
-:1050E00045500100C14F01001348704502D1EFF354
-:1050F000098101E0EFF308818869023800781028FF
-:1051000014DB202810DB23280BDB0C4A12680C4B25
-:105110009A4203D1602804DB0A4A10470220086043
-:105120007047094A10470000084A1047084A1268A9
-:105130002C32126810470000FDFFFFFF1C01002009
-:10514000BEBAFECAAD1200002B3A0100033F0100B7
-:10515000040000200D4B0E4908470E4B0C49084730
-:105160000D4B0B4908470D4B094908470C4B0849A3
-:1051700008470C4B064908470B4B054908470B4BA2
-:10518000034908470A4B024908470000052E000062
-:10519000E13D0000BD2F0000873C0000353C0000D1
-:1051A000E9390000B912000063170000493D000012
-:1051B000AB2B000030B47446641E2578641CAB42EF
-:1051C00000D21D46635D5B00E31830BC1847000049
-:1051D00002490020C861203908727047E0030020AE
-:1051E00000020207FFFFFFFF0000FFFF01020408AB
-:1051F00010204080555555D6BE898E00F401FA0026
-:10520000960064004B0032001E00140001000300F1
-:10521000000001000000000000000000000000008D
-:1052200000000000870000000000000000000000F7
-:105230000000000000000203040500000E0F000043
-:10524000705201000800002010000000041100004E
-:10525000805201001800002064010000844F01000A
-:10526000A45201007C010020141C00002011000049
-:105270000249022208681042FCD0704700E200E0B8
-:10528000E1078F56FF9900CD29022B01360100015D
-:1052900000EC3720FB349B5F8074800010027001AB
-:0452A000E4C54F0111
-:00000001FF
--- a/TARGET_HRM1017/TARGET_NORDIC/TARGET_NRF51822/PeripheralNames.h	Fri Jul 25 09:46:51 2014 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,58 +0,0 @@
-/* mbed Microcontroller Library
- * Copyright (c) 2013 Nordic Semiconductor
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-#ifndef MBED_PERIPHERALNAMES_H
-#define MBED_PERIPHERALNAMES_H
-
-#include "cmsis.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define STDIO_UART_TX     TX_PIN_NUMBER
-#define STDIO_UART_RX     RX_PIN_NUMBER
-#define STDIO_UART        UART_0
-
-typedef enum {
-    UART_0 = (int)NRF_UART0_BASE
-} UARTName;
-
-
-typedef enum {
-    SPI_0 = (int)NRF_SPI0_BASE,
-    SPI_1 = (int)NRF_SPI1_BASE,
-    SPIS = (int)NRF_SPIS1_BASE
-} SPIName;
-
-typedef enum {
-    PWM_1 = 0,
-    PWM_2
-} PWMName;
-
-typedef enum {
-    I2C_0 = (int)NRF_TWI0_BASE,
-    I2C_1 = (int)NRF_TWI1_BASE
-} I2CName;
-
-typedef enum {
-    ADC0_0 = (int)NRF_ADC_BASE
-} ADCName;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
--- a/TARGET_HRM1017/TARGET_NORDIC/TARGET_NRF51822/PortNames.h	Fri Jul 25 09:46:51 2014 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,30 +0,0 @@
-/* mbed Microcontroller Library
- * Copyright (c) 2013 Nordic Semiconductor
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-#ifndef MBED_PORTNAMES_H
-#define MBED_PORTNAMES_H
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-typedef enum {
-    Port0 = 0 //GPIO pins 0-31
-} PortName;
-
-#ifdef __cplusplus
-}
-#endif
-#endif
--- a/TARGET_HRM1017/TARGET_NORDIC/TARGET_NRF51822/TARGET_HRM1017/PinNames.h	Fri Jul 25 09:46:51 2014 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,153 +0,0 @@
-/* mbed Microcontroller Library
- * Copyright (c) 2013 Nordic Semiconductor
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-#ifndef MBED_PINNAMES_H
-#define MBED_PINNAMES_H
-
-#include "cmsis.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-typedef enum {
-    PIN_INPUT,
-    PIN_OUTPUT
-} PinDirection;
-
-#define PORT_SHIFT  3
-
-typedef enum {
-    p0  = 0,
-    p1  = 1,
-    p2  = 2,
-    p3  = 3,
-    p4  = 4,
-    p5  = 5,
-    p6  = 6,
-    p7  = 7,
-    p8  = 8,
-    p9  = 9,
-    p10 = 10,
-    p11 = 11,
-    p12 = 12,
-    p13 = 13,
-    p14 = 14,
-    p15 = 15,
-    p16 = 16,
-    p17 = 17,
-    p18 = 18,
-    p19 = 19,
-    p20 = 20,
-    p21 = 21,
-    p22 = 22,
-    p23 = 23,
-    p24 = 24,
-    p25 = 25,
-    p26 = 26,
-    p27 = 27,
-    p28 = 28,
-    p29 = 29,
-    p30 = 30,
-//    p31=31,    
-    
-    P0_0  = p0,
-    P0_1  = p1,
-    P0_2  = p2,
-    P0_3  = p3,
-    P0_4  = p4,
-    P0_5  = p5,
-    P0_6  = p6,
-    P0_7  = p7,
-    
-    P0_8  = p8,
-    P0_9  = p9,
-    P0_10 = p10,
-    P0_11 = p11,
-    P0_12 = p12,
-    P0_13 = p13,
-    P0_14 = p14,
-    P0_15 = p15,
-    
-    P0_16 = p16,
-    P0_17 = p17,
-    P0_18 = p18,
-    P0_19 = p19,
-    P0_20 = p20,
-    P0_21 = p21,
-    P0_22 = p22,
-    P0_23 = p23,
-    
-    P0_24 = p24,
-    P0_25 = p25,
-    P0_26 = p26,
-    P0_27 = p27,
-    P0_28 = p28,
-    P0_29 = p29,
-    P0_30 = p30,
-    
-    LED1    = p18,
-    LED2    = p19,
-    LED3    = p18,
-    LED4    = p19,
-    
-    BUTTON1 = p16,
-    BUTTON2 = p17,
-        
-    RX_PIN_NUMBER = p11,
-    TX_PIN_NUMBER = p9,
-    CTS_PIN_NUMBER = p10,
-    RTS_PIN_NUMBER = p8,
-
-    // mBed interface Pins
-    USBTX = TX_PIN_NUMBER,
-    USBRX = RX_PIN_NUMBER,
-        
-    SPI_PSELMOSI0 = p20,
-    SPI_PSELMISO0 = p22,
-    SPI_PSELSS0 = p24,
-    SPI_PSELSCK0 = p25,
-        
-    SPI_PSELMOSI1 = p12,
-    SPI_PSELMISO1 = p13,
-    SPI_PSELSS1 = p14,
-    SPI_PSELSCK1 = p15,
-    
-    SPIS_PSELMOSI = p12,
-    SPIS_PSELMISO = p13,
-    SPIS_PSELSS = p14,    
-    SPIS_PSELSCK = p15,
-
-    I2C_SDA0 = p22,
-    I2C_SCL0 = p20,
-
-    I2C_SDA1 = p13,
-    I2C_SCL1 = p15,
-    // Not connected
-    NC = (int)0xFFFFFFFF
-} PinName;
-
-typedef enum {
-    PullNone = 0,
-    PullDown = 1,
-    PullUp = 3,
-    PullDefault = PullUp
-} PinMode;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
--- a/TARGET_HRM1017/TARGET_NORDIC/TARGET_NRF51822/TARGET_HRM1017/device.h	Fri Jul 25 09:46:51 2014 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,57 +0,0 @@
-/* mbed Microcontroller Library
- * Copyright (c) 2006-2013 ARM Limited
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-#ifndef MBED_DEVICE_H
-#define MBED_DEVICE_H
-
-#define DEVICE_PORTIN           1
-#define DEVICE_PORTOUT          1
-#define DEVICE_PORTINOUT        1
-
-#define DEVICE_INTERRUPTIN      1
-
-#define DEVICE_ANALOGIN         1
-#define DEVICE_ANALOGOUT        0
-
-#define DEVICE_SERIAL           1
-
-#define DEVICE_I2C              1
-#define DEVICE_I2CSLAVE         0
-
-#define DEVICE_SPI              1
-#define DEVICE_SPISLAVE         1
-
-#define DEVICE_CAN              0
-
-#define DEVICE_RTC              0
-
-#define DEVICE_ETHERNET         0
-
-#define DEVICE_PWMOUT           1
-
-#define DEVICE_SEMIHOST         0
-#define DEVICE_LOCALFILESYSTEM  0
-
-#define DEVICE_SLEEP            1
-
-#define DEVICE_DEBUG_AWARENESS  0
-
-#define DEVICE_STDIO_MESSAGES   0
-
-#define DEVICE_ERROR_PATTERN    1
-
-#include "objects.h"
-
-#endif
--- a/TARGET_HRM1017/TARGET_NORDIC/TARGET_NRF51822/gpio_object.h	Fri Jul 25 09:46:51 2014 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,52 +0,0 @@
-/* mbed Microcontroller Library
- * Copyright (c) 2006-2013 ARM Limited
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-#ifndef MBED_GPIO_OBJECT_H
-#define MBED_GPIO_OBJECT_H
-
-#include "mbed_assert.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-typedef struct {
-    PinName  pin;
-    uint32_t mask;
-
-    __IO uint32_t *reg_dir;
-    __IO uint32_t *reg_set;
-    __IO uint32_t *reg_clr;
-    __I  uint32_t *reg_in;
-} gpio_t;
-
-static inline void gpio_write(gpio_t *obj, int value) {
-    MBED_ASSERT(obj->pin != (PinName)NC);
-    if (value)
-        *obj->reg_set = obj->mask;
-    else
-        *obj->reg_clr = obj->mask;
-}
-
-static inline int gpio_read(gpio_t *obj) {
-    MBED_ASSERT(obj->pin != (PinName)NC);
-    return ((*obj->reg_in & obj->mask) ? 1 : 0);
-}
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
--- a/TARGET_HRM1017/TARGET_NORDIC/TARGET_NRF51822/objects.h	Fri Jul 25 09:46:51 2014 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,73 +0,0 @@
-/* mbed Microcontroller Library
- * Copyright (c) 2013 Nordic Semiconductor
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-#ifndef MBED_OBJECTS_H
-#define MBED_OBJECTS_H
-
-#include "cmsis.h"
-#include "PortNames.h"
-#include "PeripheralNames.h"
-#include "PinNames.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-struct serial_s {
-    NRF_UART_Type *uart;
-    int index;
-};
-
-struct spi_s {
-    NRF_SPI_Type *spi;
-    NRF_SPIS_Type *spis;
-};
-
-struct port_s {
-    __IO uint32_t *reg_cnf;
-    __IO uint32_t *reg_out;
-    __I  uint32_t *reg_in;
-    PortName port;
-    uint32_t mask;
-};
-
-struct pwmout_s {
-    PWMName pwm;
-    PinName pin;
-};
-
-struct i2c_s {
-    NRF_TWI_Type *i2c;
-    PinName sda;
-    PinName scl;
-    int freq;
-};
-
-struct analogin_s {
-    ADCName adc;
-    uint8_t adc_pin;
-};
-
-struct gpio_irq_s {
-    uint32_t ch;
-};
-
-#include "gpio_object.h"
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
Binary file TARGET_HRM1017/TOOLCHAIN_ARM_STD/board.o has changed
Binary file TARGET_HRM1017/TOOLCHAIN_ARM_STD/cmsis_nvic.o has changed
Binary file TARGET_HRM1017/TOOLCHAIN_ARM_STD/mbed.ar has changed
Binary file TARGET_HRM1017/TOOLCHAIN_ARM_STD/retarget.o has changed
Binary file TARGET_HRM1017/TOOLCHAIN_ARM_STD/startup_nRF51822.o has changed
Binary file TARGET_HRM1017/TOOLCHAIN_ARM_STD/sys.o has changed
Binary file TARGET_HRM1017/TOOLCHAIN_ARM_STD/system_nrf51822.o has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TARGET_HRM1017/TOOLCHAIN_GCC_ARM/NRF51822.ld	Fri Aug 15 15:28:31 2014 +0100
@@ -0,0 +1,151 @@
+/* Linker script to configure memory regions. */
+
+MEMORY
+{
+  FLASH (rx) : ORIGIN = 0x00016000, LENGTH = 0x2A000
+  RAM (rwx) :  ORIGIN = 0x20002000, LENGTH = 0x2000
+}
+
+OUTPUT_FORMAT ("elf32-littlearm", "elf32-bigarm", "elf32-littlearm")
+
+/* 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
+ */
+ENTRY(Reset_Handler)
+
+SECTIONS
+{
+	.text :
+	{
+		KEEP(*(.Vectors))
+		*(.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*))
+	} > FLASH
+
+
+	.ARM.extab :
+	{
+		*(.ARM.extab* .gnu.linkonce.armextab.*)
+	} > FLASH
+
+	__exidx_start = .;
+	.ARM.exidx :
+	{
+		*(.ARM.exidx* .gnu.linkonce.armexidx.*)
+	} > FLASH
+	__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 = .);
+
+		*(.jcr)
+		. = ALIGN(4);
+		/* All data end */
+		__data_end__ = .;
+
+	} > RAM
+
+	.bss :
+	{
+		. = ALIGN(4);
+		__bss_start__ = .;
+		*(.bss*)
+		*(COMMON)
+		. = ALIGN(4);
+		__bss_end__ = .;
+	} > RAM
+
+	.heap (COPY):
+	{
+		__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 (COPY):
+	{
+		*(.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")
+}
Binary file TARGET_HRM1017/TOOLCHAIN_GCC_ARM/board.o has changed
Binary file TARGET_HRM1017/TOOLCHAIN_GCC_ARM/cmsis_nvic.o has changed
Binary file TARGET_HRM1017/TOOLCHAIN_GCC_ARM/libmbed.a has changed
Binary file TARGET_HRM1017/TOOLCHAIN_GCC_ARM/retarget.o has changed
Binary file TARGET_HRM1017/TOOLCHAIN_GCC_ARM/startup_NRF51822.o has changed
Binary file TARGET_HRM1017/TOOLCHAIN_GCC_ARM/system_nrf51822.o has changed
Binary file TARGET_K20D50M/TOOLCHAIN_ARM_STD/board.o has changed
Binary file TARGET_K20D50M/TOOLCHAIN_ARM_STD/cmsis_nvic.o has changed
Binary file TARGET_K20D50M/TOOLCHAIN_ARM_STD/mbed.ar has changed
Binary file TARGET_K20D50M/TOOLCHAIN_ARM_STD/retarget.o has changed
Binary file TARGET_K20D50M/TOOLCHAIN_ARM_STD/sys.o has changed
Binary file TARGET_K20D50M/TOOLCHAIN_ARM_STD/system_MK20D5.o has changed
Binary file TARGET_K20D50M/TOOLCHAIN_GCC_ARM/libmbed.a has changed
Binary file TARGET_K20D50M/TOOLCHAIN_GCC_ARM/retarget.o has changed
--- a/TARGET_K64F/TARGET_Freescale/TARGET_KPSDK_MCUS/PeripheralNames.h	Fri Jul 25 09:46:51 2014 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,131 +0,0 @@
-/* mbed Microcontroller Library
- * Copyright (c) 2006-2013 ARM Limited
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-#ifndef MBED_PERIPHERALNAMES_H
-#define MBED_PERIPHERALNAMES_H
-
-#include "cmsis.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-typedef enum {
-    OSC32KCLK = 0,
-} RTCName;
-
-typedef enum {
-    UART_0 = 0,
-    UART_1 = 1,
-    UART_2 = 2,
-    UART_3 = 3,
-    UART_4 = 4,
-} UARTName;
-
-#define STDIO_UART_TX     USBTX
-#define STDIO_UART_RX     USBRX
-#define STDIO_UART        UART_0
-
-typedef enum {
-    I2C_0 = 0,
-    I2C_1 = 1,
-    I2C_2 = 2,
-} I2CName;
-
-#define TPM_SHIFT   8
-typedef enum {
-    PWM_1  = (0 << TPM_SHIFT) | (0),  // FTM0 CH0
-    PWM_2  = (0 << TPM_SHIFT) | (1),  // FTM0 CH1
-    PWM_3  = (0 << TPM_SHIFT) | (2),  // FTM0 CH2
-    PWM_4  = (0 << TPM_SHIFT) | (3),  // FTM0 CH3
-    PWM_5  = (0 << TPM_SHIFT) | (4),  // FTM0 CH4
-    PWM_6  = (0 << TPM_SHIFT) | (5),  // FTM0 CH5
-    PWM_7  = (0 << TPM_SHIFT) | (6),  // FTM0 CH6
-    PWM_8  = (0 << TPM_SHIFT) | (7),  // FTM0 CH7
-    PWM_9  = (1 << TPM_SHIFT) | (0),  // FTM1 CH0
-    PWM_10 = (1 << TPM_SHIFT) | (1),  // FTM1 CH1
-    PWM_11 = (1 << TPM_SHIFT) | (2),  // FTM1 CH2
-    PWM_12 = (1 << TPM_SHIFT) | (3),  // FTM1 CH3
-    PWM_13 = (1 << TPM_SHIFT) | (4),  // FTM1 CH4
-    PWM_14 = (1 << TPM_SHIFT) | (5),  // FTM1 CH5
-    PWM_15 = (1 << TPM_SHIFT) | (6),  // FTM1 CH6
-    PWM_16 = (1 << TPM_SHIFT) | (7),  // FTM1 CH7
-    PWM_17 = (2 << TPM_SHIFT) | (0),  // FTM2 CH0
-    PWM_18 = (2 << TPM_SHIFT) | (1),  // FTM2 CH1
-    PWM_19 = (2 << TPM_SHIFT) | (2),  // FTM2 CH2
-    PWM_20 = (2 << TPM_SHIFT) | (3),  // FTM2 CH3
-    PWM_21 = (2 << TPM_SHIFT) | (4),  // FTM2 CH4
-    PWM_22 = (2 << TPM_SHIFT) | (5),  // FTM2 CH5
-    PWM_23 = (2 << TPM_SHIFT) | (6),  // FTM2 CH6
-    PWM_24 = (2 << TPM_SHIFT) | (7),  // FTM2 CH7
-    // could be 4 or could be 3... not sure what register
-    //  this is for... too much abstraction
-    PWM_25 = (3 << TPM_SHIFT) | (0),  // FTM3 CH0
-    PWM_26 = (3 << TPM_SHIFT) | (1),  // FTM3 CH1
-    PWM_27 = (3 << TPM_SHIFT) | (2),  // FTM3 CH2
-    PWM_28 = (3 << TPM_SHIFT) | (3),  // FTM3 CH3
-    PWM_29 = (3 << TPM_SHIFT) | (4),  // FTM3 CH4
-    PWM_30 = (3 << TPM_SHIFT) | (5),  // FTM3 CH5
-    PWM_31 = (3 << TPM_SHIFT) | (6),  // FTM3 CH6
-    PWM_32 = (3 << TPM_SHIFT) | (7),  // FTM3 CH7
-} PWMName;
-
-#define ADC_INSTANCE_SHIFT           8
-#define ADC_B_CHANNEL_SHIFT          5
-typedef enum {
-    ADC0_SE4b = (0 << ADC_INSTANCE_SHIFT) | (1 << ADC_B_CHANNEL_SHIFT) | 4,
-    ADC0_SE5b = (0 << ADC_INSTANCE_SHIFT) | (1 << ADC_B_CHANNEL_SHIFT) | 5,
-    ADC0_SE6b = (0 << ADC_INSTANCE_SHIFT) | (1 << ADC_B_CHANNEL_SHIFT) | 6,
-    ADC0_SE7b = (0 << ADC_INSTANCE_SHIFT) | (1 << ADC_B_CHANNEL_SHIFT) | 7,
-    ADC0_SE8  = (0 << ADC_INSTANCE_SHIFT) | 8,
-    ADC0_SE9  = (0 << ADC_INSTANCE_SHIFT) | 9,
-    ADC0_SE12 = (0 << ADC_INSTANCE_SHIFT) | 12,
-    ADC0_SE13 = (0 << ADC_INSTANCE_SHIFT) | 13,
-    ADC0_SE14 = (0 << ADC_INSTANCE_SHIFT) | 14,
-    ADC0_SE15 = (0 << ADC_INSTANCE_SHIFT) | 15,
-    ADC0_SE16 = (0 << ADC_INSTANCE_SHIFT) | 16,
-    ADC0_SE17 = (0 << ADC_INSTANCE_SHIFT) | 17,
-    ADC0_SE18 = (0 << ADC_INSTANCE_SHIFT) | 18,
-    ADC1_SE4b = (1 << ADC_INSTANCE_SHIFT) | 4,
-    ADC1_SE5b = (1 << ADC_INSTANCE_SHIFT) | 5,
-    ADC1_SE6b = (1 << ADC_INSTANCE_SHIFT) | 6,
-    ADC1_SE7b = (1 << ADC_INSTANCE_SHIFT) | 7,
-    ADC1_SE8  = (1 << ADC_INSTANCE_SHIFT) | 8,
-    ADC1_SE9  = (1 << ADC_INSTANCE_SHIFT) | 9,
-    ADC1_SE12 = (1 << ADC_INSTANCE_SHIFT) | 12,
-    ADC1_SE13 = (1 << ADC_INSTANCE_SHIFT) | 13,
-    ADC1_SE14 = (1 << ADC_INSTANCE_SHIFT) | 14,
-    ADC1_SE15 = (1 << ADC_INSTANCE_SHIFT) | 15,
-    ADC1_SE16 = (1 << ADC_INSTANCE_SHIFT) | 16,
-    ADC1_SE17 = (1 << ADC_INSTANCE_SHIFT) | 17,
-    ADC1_SE18 = (1 << ADC_INSTANCE_SHIFT) | 18,
-} ADCName;
-
-typedef enum {
-    DAC_0 = 0
-} DACName;
-
-
-typedef enum {
-    SPI_0 = 0,
-    SPI_1 = 1,
-    SPI_2 = 2,
-} SPIName;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
--- a/TARGET_K64F/TARGET_Freescale/TARGET_KPSDK_MCUS/PortNames.h	Fri Jul 25 09:46:51 2014 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,35 +0,0 @@
-/* mbed Microcontroller Library
- * Copyright (c) 2006-2013 ARM Limited
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-#ifndef MBED_PORTNAMES_H
-#define MBED_PORTNAMES_H
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-typedef enum {
-    PortA = 0,
-    PortB = 1,
-    PortC = 2,
-    PortD = 3,
-    PortE = 4
-} PortName;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
--- a/TARGET_K64F/TARGET_Freescale/TARGET_KPSDK_MCUS/device.h	Fri Jul 25 09:46:51 2014 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,58 +0,0 @@
-/* mbed Microcontroller Library
- * Copyright (c) 2006-2013 ARM Limited
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-#ifndef MBED_DEVICE_H
-#define MBED_DEVICE_H
-
-#define DEVICE_PORTIN           1
-#define DEVICE_PORTOUT          1
-#define DEVICE_PORTINOUT        1
-
-#define DEVICE_INTERRUPTIN      1
-
-#define DEVICE_ANALOGIN         1
-#define DEVICE_ANALOGOUT        1
-
-#define DEVICE_SERIAL           1
-
-#define DEVICE_I2C              1
-#define DEVICE_I2CSLAVE         1
-
-#define DEVICE_SPI              1
-#define DEVICE_SPISLAVE         1
-
-#define DEVICE_CAN              0
-
-#define DEVICE_RTC              1
-
-#define DEVICE_ETHERNET         0
-
-#define DEVICE_PWMOUT           1
-
-#define DEVICE_SEMIHOST         0
-#define DEVICE_LOCALFILESYSTEM  0
-#define DEVICE_ID_LENGTH       24
-
-#define DEVICE_SLEEP            1
-
-#define DEVICE_DEBUG_AWARENESS  0
-
-#define DEVICE_STDIO_MESSAGES   1
-
-#define DEVICE_ERROR_RED        1
-
-#include "objects.h"
-
-#endif
--- a/TARGET_K64F/TARGET_Freescale/TARGET_KPSDK_MCUS/gpio_object.h	Fri Jul 25 09:46:51 2014 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,50 +0,0 @@
-/* mbed Microcontroller Library
- * Copyright (c) 2006-2013 ARM Limited
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-#ifndef MBED_GPIO_OBJECT_H
-#define MBED_GPIO_OBJECT_H
-
-#include "mbed_assert.h"
-#include "fsl_gpio_hal.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-typedef struct {
-    PinName pinName;
-} gpio_t;
-
-static inline void gpio_write(gpio_t *obj, int value) {
-    MBED_ASSERT(obj->pinName != (PinName)NC);
-    uint32_t port = obj->pinName >> GPIO_PORT_SHIFT;
-    uint32_t pin = obj->pinName & 0xFF;
-
-    gpio_hal_write_pin_output(port, pin, value);
-}
-
-static inline int gpio_read(gpio_t *obj) {
-    MBED_ASSERT(obj->pinName != (PinName)NC);
-    uint32_t port = obj->pinName >> GPIO_PORT_SHIFT;
-    uint32_t pin = obj->pinName & 0xFF;
-
-    return (int)gpio_hal_read_pin_input(port, pin);
-}
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
--- a/TARGET_K64F/TARGET_Freescale/TARGET_KPSDK_MCUS/objects.h	Fri Jul 25 09:46:51 2014 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,69 +0,0 @@
-/* mbed Microcontroller Library
- * Copyright (c) 2006-2013 ARM Limited
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-#ifndef MBED_OBJECTS_H
-#define MBED_OBJECTS_H
-
-#include "cmsis.h"
-#include "PortNames.h"
-#include "PeripheralNames.h"
-#include "PinNames.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-struct gpio_irq_s {
-    uint32_t port;
-    uint32_t pin;
-    uint32_t ch;
-};
-
-struct port_s {
-    PortName port;
-    uint32_t mask;
-};
-
-struct pwmout_s {
-    PWMName pwm_name;
-};
-
-struct serial_s {
-    int index;
-};
-
-struct analogin_s {
-    ADCName adc;
-};
-
-struct i2c_s {
-    uint32_t instance;
-};
-
-struct spi_s {
-    uint32_t instance;
-};
-
-struct dac_s {
-    DACName dac;
-};
-
-#include "gpio_object.h"
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
Binary file TARGET_K64F/TOOLCHAIN_ARM_STD/board.o has changed
Binary file TARGET_K64F/TOOLCHAIN_ARM_STD/cmsis_nvic.o has changed
Binary file TARGET_K64F/TOOLCHAIN_ARM_STD/mbed.ar has changed
Binary file TARGET_K64F/TOOLCHAIN_ARM_STD/mbed_overrides.o has changed
Binary file TARGET_K64F/TOOLCHAIN_ARM_STD/retarget.o has changed
Binary file TARGET_K64F/TOOLCHAIN_ARM_STD/sys.o has changed
Binary file TARGET_K64F/TOOLCHAIN_ARM_STD/system_MK64F12.o has changed
Binary file TARGET_K64F/TOOLCHAIN_GCC_ARM/board.o has changed
Binary file TARGET_K64F/TOOLCHAIN_GCC_ARM/libmbed.a has changed
Binary file TARGET_K64F/TOOLCHAIN_GCC_ARM/retarget.o has changed
Binary file TARGET_KL05Z/TOOLCHAIN_ARM_MICRO/board.o has changed
Binary file TARGET_KL05Z/TOOLCHAIN_ARM_MICRO/cmsis_nvic.o has changed
Binary file TARGET_KL05Z/TOOLCHAIN_ARM_MICRO/mbed.ar has changed
Binary file TARGET_KL05Z/TOOLCHAIN_ARM_MICRO/mbed_overrides.o has changed
Binary file TARGET_KL05Z/TOOLCHAIN_ARM_MICRO/retarget.o has changed
Binary file TARGET_KL05Z/TOOLCHAIN_ARM_MICRO/sys.o has changed
Binary file TARGET_KL05Z/TOOLCHAIN_ARM_MICRO/system_MKL05Z4.o has changed
Binary file TARGET_KL05Z/TOOLCHAIN_ARM_STD/board.o has changed
Binary file TARGET_KL05Z/TOOLCHAIN_ARM_STD/cmsis_nvic.o has changed
Binary file TARGET_KL05Z/TOOLCHAIN_ARM_STD/mbed.ar has changed
Binary file TARGET_KL05Z/TOOLCHAIN_ARM_STD/mbed_overrides.o has changed
Binary file TARGET_KL05Z/TOOLCHAIN_ARM_STD/retarget.o has changed
Binary file TARGET_KL05Z/TOOLCHAIN_ARM_STD/sys.o has changed
Binary file TARGET_KL05Z/TOOLCHAIN_ARM_STD/system_MKL05Z4.o has changed
Binary file TARGET_KL05Z/TOOLCHAIN_GCC_ARM/libmbed.a has changed
Binary file TARGET_KL05Z/TOOLCHAIN_GCC_ARM/retarget.o has changed
Binary file TARGET_KL25Z/TOOLCHAIN_ARM_STD/board.o has changed
Binary file TARGET_KL25Z/TOOLCHAIN_ARM_STD/cmsis_nvic.o has changed
Binary file TARGET_KL25Z/TOOLCHAIN_ARM_STD/mbed.ar has changed
Binary file TARGET_KL25Z/TOOLCHAIN_ARM_STD/mbed_overrides.o has changed
Binary file TARGET_KL25Z/TOOLCHAIN_ARM_STD/retarget.o has changed
Binary file TARGET_KL25Z/TOOLCHAIN_ARM_STD/sys.o has changed
Binary file TARGET_KL25Z/TOOLCHAIN_ARM_STD/system_MKL25Z4.o has changed
Binary file TARGET_KL25Z/TOOLCHAIN_GCC_ARM/libmbed.a has changed
Binary file TARGET_KL25Z/TOOLCHAIN_GCC_ARM/retarget.o has changed
Binary file TARGET_KL46Z/TOOLCHAIN_ARM_STD/board.o has changed
Binary file TARGET_KL46Z/TOOLCHAIN_ARM_STD/cmsis_nvic.o has changed
Binary file TARGET_KL46Z/TOOLCHAIN_ARM_STD/mbed.ar has changed
Binary file TARGET_KL46Z/TOOLCHAIN_ARM_STD/mbed_overrides.o has changed
Binary file TARGET_KL46Z/TOOLCHAIN_ARM_STD/retarget.o has changed
Binary file TARGET_KL46Z/TOOLCHAIN_ARM_STD/sys.o has changed
Binary file TARGET_KL46Z/TOOLCHAIN_ARM_STD/system_MKL46Z4.o has changed
Binary file TARGET_KL46Z/TOOLCHAIN_GCC_ARM/libmbed.a has changed
Binary file TARGET_KL46Z/TOOLCHAIN_GCC_ARM/retarget.o has changed
--- a/TARGET_LPC1114/TARGET_NXP/TARGET_LPC11XX_11CXX/TARGET_LPC11XX/device.h	Fri Jul 25 09:46:51 2014 +0100
+++ b/TARGET_LPC1114/TARGET_NXP/TARGET_LPC11XX_11CXX/TARGET_LPC11XX/device.h	Fri Aug 15 15:28:31 2014 +0100
@@ -41,8 +41,8 @@
 
 #define DEVICE_PWMOUT           1
 
-#define DEVICE_SEMIHOST         1
-#define DEVICE_LOCALFILESYSTEM  1
+#define DEVICE_SEMIHOST         0
+#define DEVICE_LOCALFILESYSTEM  0
 #define DEVICE_ID_LENGTH       32
 #define DEVICE_MAC_OFFSET      20
 
Binary file TARGET_LPC1114/TOOLCHAIN_ARM_MICRO/board.o has changed
Binary file TARGET_LPC1114/TOOLCHAIN_ARM_MICRO/cmsis_nvic.o has changed
Binary file TARGET_LPC1114/TOOLCHAIN_ARM_MICRO/mbed.ar has changed
Binary file TARGET_LPC1114/TOOLCHAIN_ARM_MICRO/retarget.o has changed
Binary file TARGET_LPC1114/TOOLCHAIN_ARM_MICRO/sys.o has changed
Binary file TARGET_LPC1114/TOOLCHAIN_ARM_MICRO/system_LPC11xx.o has changed
Binary file TARGET_LPC1114/TOOLCHAIN_GCC_ARM/libmbed.a has changed
Binary file TARGET_LPC1114/TOOLCHAIN_GCC_ARM/retarget.o has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TARGET_LPC11U24/TARGET_NXP/TARGET_LPC11UXX/PeripheralPins.h	Fri Aug 15 15:28:31 2014 +0100
@@ -0,0 +1,43 @@
+/* mbed Microcontroller Library
+ * Copyright (c) 2006-2013 ARM Limited
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ 
+#ifndef MBED_PERIPHERALPINS_H
+#define MBED_PERIPHERALPINS_H
+
+#include "pinmap.h"
+#include "PeripheralNames.h"
+
+/************ADC***************/
+extern const PinMap PinMap_ADC[];
+
+/************I2C***************/
+extern const PinMap PinMap_I2C_SDA[];
+extern const PinMap PinMap_I2C_SCL[];
+
+/************UART***************/
+extern const PinMap PinMap_UART_TX[];
+extern const PinMap PinMap_UART_RX[];
+
+/************SPI***************/
+extern const PinMap PinMap_SPI_SCLK[];
+extern const PinMap PinMap_SPI_MOSI[];
+extern const PinMap PinMap_SPI_MISO[];
+extern const PinMap PinMap_SPI_SSEL[];
+
+/************PWM***************/
+extern const PinMap PinMap_PWM[];
+
+#endif
Binary file TARGET_LPC11U24/TOOLCHAIN_ARM_MICRO/board.o has changed
Binary file TARGET_LPC11U24/TOOLCHAIN_ARM_MICRO/cmsis_nvic.o has changed
Binary file TARGET_LPC11U24/TOOLCHAIN_ARM_MICRO/mbed.ar has changed
Binary file TARGET_LPC11U24/TOOLCHAIN_ARM_MICRO/retarget.o has changed
Binary file TARGET_LPC11U24/TOOLCHAIN_ARM_MICRO/sys.o has changed
Binary file TARGET_LPC11U24/TOOLCHAIN_ARM_MICRO/system_LPC11Uxx.o has changed
Binary file TARGET_LPC11U24/TOOLCHAIN_ARM_STD/board.o has changed
Binary file TARGET_LPC11U24/TOOLCHAIN_ARM_STD/cmsis_nvic.o has changed
Binary file TARGET_LPC11U24/TOOLCHAIN_ARM_STD/mbed.ar has changed
Binary file TARGET_LPC11U24/TOOLCHAIN_ARM_STD/retarget.o has changed
Binary file TARGET_LPC11U24/TOOLCHAIN_ARM_STD/sys.o has changed
Binary file TARGET_LPC11U24/TOOLCHAIN_ARM_STD/system_LPC11Uxx.o has changed
Binary file TARGET_LPC11U24/TOOLCHAIN_GCC_ARM/libmbed.a has changed
Binary file TARGET_LPC11U24/TOOLCHAIN_GCC_ARM/retarget.o has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TARGET_LPC11U35_401/TARGET_NXP/TARGET_LPC11UXX/PeripheralPins.h	Fri Aug 15 15:28:31 2014 +0100
@@ -0,0 +1,43 @@
+/* mbed Microcontroller Library
+ * Copyright (c) 2006-2013 ARM Limited
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ 
+#ifndef MBED_PERIPHERALPINS_H
+#define MBED_PERIPHERALPINS_H
+
+#include "pinmap.h"
+#include "PeripheralNames.h"
+
+/************ADC***************/
+extern const PinMap PinMap_ADC[];
+
+/************I2C***************/
+extern const PinMap PinMap_I2C_SDA[];
+extern const PinMap PinMap_I2C_SCL[];
+
+/************UART***************/
+extern const PinMap PinMap_UART_TX[];
+extern const PinMap PinMap_UART_RX[];
+
+/************SPI***************/
+extern const PinMap PinMap_SPI_SCLK[];
+extern const PinMap PinMap_SPI_MOSI[];
+extern const PinMap PinMap_SPI_MISO[];
+extern const PinMap PinMap_SPI_SSEL[];
+
+/************PWM***************/
+extern const PinMap PinMap_PWM[];
+
+#endif
Binary file TARGET_LPC11U35_401/TOOLCHAIN_ARM_MICRO/board.o has changed
Binary file TARGET_LPC11U35_401/TOOLCHAIN_ARM_MICRO/cmsis_nvic.o has changed
Binary file TARGET_LPC11U35_401/TOOLCHAIN_ARM_MICRO/mbed.ar has changed
Binary file TARGET_LPC11U35_401/TOOLCHAIN_ARM_MICRO/retarget.o has changed
Binary file TARGET_LPC11U35_401/TOOLCHAIN_ARM_MICRO/sys.o has changed
Binary file TARGET_LPC11U35_401/TOOLCHAIN_ARM_MICRO/system_LPC11Uxx.o has changed
Binary file TARGET_LPC11U35_401/TOOLCHAIN_ARM_STD/board.o has changed
Binary file TARGET_LPC11U35_401/TOOLCHAIN_ARM_STD/cmsis_nvic.o has changed
Binary file TARGET_LPC11U35_401/TOOLCHAIN_ARM_STD/mbed.ar has changed
Binary file TARGET_LPC11U35_401/TOOLCHAIN_ARM_STD/retarget.o has changed
Binary file TARGET_LPC11U35_401/TOOLCHAIN_ARM_STD/sys.o has changed
Binary file TARGET_LPC11U35_401/TOOLCHAIN_ARM_STD/system_LPC11Uxx.o has changed
Binary file TARGET_LPC11U35_401/TOOLCHAIN_GCC_ARM/libmbed.a has changed
Binary file TARGET_LPC11U35_401/TOOLCHAIN_GCC_ARM/retarget.o has changed
Binary file TARGET_LPC11U35_401/TOOLCHAIN_GCC_CR/libmbed.a has changed
Binary file TARGET_LPC11U35_401/TOOLCHAIN_GCC_CR/retarget.o has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TARGET_LPC11U35_501/TARGET_NXP/TARGET_LPC11UXX/PeripheralPins.h	Fri Aug 15 15:28:31 2014 +0100
@@ -0,0 +1,43 @@
+/* mbed Microcontroller Library
+ * Copyright (c) 2006-2013 ARM Limited
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ 
+#ifndef MBED_PERIPHERALPINS_H
+#define MBED_PERIPHERALPINS_H
+
+#include "pinmap.h"
+#include "PeripheralNames.h"
+
+/************ADC***************/
+extern const PinMap PinMap_ADC[];
+
+/************I2C***************/
+extern const PinMap PinMap_I2C_SDA[];
+extern const PinMap PinMap_I2C_SCL[];
+
+/************UART***************/
+extern const PinMap PinMap_UART_TX[];
+extern const PinMap PinMap_UART_RX[];
+
+/************SPI***************/
+extern const PinMap PinMap_SPI_SCLK[];
+extern const PinMap PinMap_SPI_MOSI[];
+extern const PinMap PinMap_SPI_MISO[];
+extern const PinMap PinMap_SPI_SSEL[];
+
+/************PWM***************/
+extern const PinMap PinMap_PWM[];
+
+#endif
--- a/TARGET_LPC11U35_501/TARGET_NXP/TARGET_LPC11UXX/TARGET_LPC11U35_501/PeripheralNames.h	Fri Jul 25 09:46:51 2014 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,71 +0,0 @@
-/* mbed Microcontroller Library
- * Copyright (c) 2006-2013 ARM Limited
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-#ifndef MBED_PERIPHERALNAMES_H
-#define MBED_PERIPHERALNAMES_H
-
-#include "cmsis.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-typedef enum {
-    UART_0 = (int)LPC_USART_BASE
-} UARTName;
-
-typedef enum {
-    I2C_0 = (int)LPC_I2C_BASE
-} I2CName;
-
-typedef enum {
-    ADC0_0 = 0,
-    ADC0_1,
-    ADC0_2,
-    ADC0_3,
-    ADC0_4,
-    ADC0_5,
-    ADC0_6,
-    ADC0_7
-} ADCName;
-
-typedef enum {
-    SPI_0 = (int)LPC_SSP0_BASE,
-    SPI_1 = (int)LPC_SSP1_BASE
-} SPIName;
-
-typedef enum {
-    PWM_1 = 0,
-    PWM_2,
-    PWM_3,
-    PWM_4,
-    PWM_5,
-    PWM_6,
-    PWM_7,
-    PWM_8,
-    PWM_9,
-    PWM_10,
-    PWM_11
-} PWMName;
-
-#define STDIO_UART_TX     UART_TX
-#define STDIO_UART_RX     UART_RX
-#define STDIO_UART        UART_0
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
--- a/TARGET_LPC11U35_501/TARGET_NXP/TARGET_LPC11UXX/TARGET_LPC11U35_501/PinNames.h	Fri Jul 25 09:46:51 2014 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,176 +0,0 @@
-/* mbed Microcontroller Library
- * Copyright (c) 2006-2013 ARM Limited
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-#ifndef MBED_PINNAMES_H
-#define MBED_PINNAMES_H
-
-#include "cmsis.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-typedef enum {
-    PIN_INPUT,
-    PIN_OUTPUT
-} PinDirection;
-
-#define PORT_SHIFT  5
-
-typedef enum {
-    // LPC11U Pin Names
-    P0_0 = 0,
-    P0_1 = 1,
-    P0_2 = 2,
-    P0_3 = 3,
-    P0_4 = 4,
-    P0_5 = 5,
-    P0_6 = 6,
-    P0_7 = 7,
-    P0_8 = 8,
-    P0_9 = 9,
-    P0_10 = 10,
-    P0_11 = 11,
-    P0_12 = 12,
-    P0_13 = 13,
-    P0_14 = 14,
-    P0_15 = 15,
-    P0_16 = 16,
-    P0_17 = 17,
-    P0_18 = 18,
-    P0_19 = 19,
-    P0_20 = 20,
-    P0_21 = 21,
-    P0_22 = 22,
-    P0_23 = 23,
-    P0_24 = 24,
-    P0_25 = 25,
-    P0_26 = 26,
-    P0_27 = 27,
-
-    P1_0 = 32,
-    P1_1 = 33,
-    P1_2 = 34,
-    P1_3 = 35,
-    P1_4 = 36,
-    P1_5 = 37,
-    P1_6 = 38,
-    P1_7 = 39,
-    P1_8 = 40,
-    P1_9 = 41,
-    P1_10 = 42,
-    P1_11 = 43,
-    P1_12 = 44,
-    P1_13 = 45,
-    P1_14 = 46,
-    P1_15 = 47,
-    P1_16 = 48,
-    P1_17 = 49,
-    P1_18 = 50,
-    P1_19 = 51,
-    P1_20 = 52,
-    P1_21 = 53,
-    P1_22 = 54,
-    P1_23 = 55,
-    P1_24 = 56,
-    P1_25 = 57,
-    P1_26 = 58,
-    P1_27 = 59,
-    P1_28 = 60,
-    P1_29 = 61,
-
-    P1_31 = 63,
-
-    // mbed DIP Pin Names
-                    // CN1-1  (GND)
-                    // CN1-2  (EXTPOWER)
-                    // CN1-3  (NC)
-    p4 = P0_0,      // CN1-4
-    p5 = P0_9,      // CN1-5
-    p6 = P0_8,      // CN1-6
-    p7 = P0_10,     // CN1-7
-    p8 = P0_7,      // CN1-8
-    p9 = P0_19,     // CN1-9
-    p10 = P0_18,    // CN1-10
-    p11 = P0_21,    // CN1-11
-    p12 = P0_22,    // CN1-12
-    p13 = P1_15,    // CN1-13
-    p14 = P0_6,     // CN1-14
-    p15 = P0_11,    // CN1-15
-    p16 = P0_12,    // CN1-16
-    p17 = P0_13,    // CN1-17
-    p18 = P0_14,    // CN1-18
-    p19 = P0_15,    // CN1-19
-    p20 = P0_16,    // CN1-20
-
-    p21 = P0_14,    // CN2-20
-    p22 = P0_2,     // CN2-19
-    p23 = P0_23,    // CN2-18
-    p24 = P0_17,    // CN2-17
-    p25 = P0_20,    // CN2-16
-    p26 = P1_15,    // CN2-15
-    p27 = P0_4,     // CN2-14
-    p28 = P0_5,     // CN2-13
-    p29 = P1_19,    // CN2-12
-    p30 = P0_1,     // CN2-11
-                    // CN2-10 (D+USB)
-                    // CN2-9  (D-USB)
-    p33 = P0_3,     // CN2-8  (USB-VBUS)
-                    // CN2-7  (NC)
-                    // CN2-6  (NC)
-                    // CN2-5  (NC)
-                    // CN2-4  (NC)
-                    // CN2-3  (NC)
-                    // CN2-2  (VDD)
-                    // CN2-1  (VDD)
-
-    // Other mbed Pin Names
-    LED1 = P0_20,
-    LED2 = P0_21,
-    LED3 = P0_20,
-    LED4 = P0_21,
-
-    UART_TX = P0_19,
-    UART_RX = P0_18,
-
-    // Not connected
-    NC = (int)0xFFFFFFFF,
-} PinName;
-
-typedef enum {
-    CHANNEL0 = FLEX_INT0_IRQn,
-    CHANNEL1 = FLEX_INT1_IRQn,
-    CHANNEL2 = FLEX_INT2_IRQn,
-    CHANNEL3 = FLEX_INT3_IRQn,
-    CHANNEL4 = FLEX_INT4_IRQn,
-    CHANNEL5 = FLEX_INT5_IRQn,
-    CHANNEL6 = FLEX_INT6_IRQn,
-    CHANNEL7 = FLEX_INT7_IRQn
-} Channel;
-
-typedef enum {
-    PullUp = 2,
-    PullDown = 1,
-    PullNone = 0,
-    Repeater = 3,
-    OpenDrain = 4,
-    PullDefault = PullDown
-} PinMode;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
--- a/TARGET_LPC11U35_501/TARGET_NXP/TARGET_LPC11UXX/TARGET_LPC11U35_501/device.h	Fri Jul 25 09:46:51 2014 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,59 +0,0 @@
-/* mbed Microcontroller Library
- * Copyright (c) 2006-2013 ARM Limited
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-#ifndef MBED_DEVICE_H
-#define MBED_DEVICE_H
-
-#define DEVICE_PORTIN           1
-#define DEVICE_PORTOUT          1
-#define DEVICE_PORTINOUT        1
-
-#define DEVICE_INTERRUPTIN      1
-
-#define DEVICE_ANALOGIN         1
-#define DEVICE_ANALOGOUT        0
-
-#define DEVICE_SERIAL           1
-
-#define DEVICE_I2C              1
-#define DEVICE_I2CSLAVE         1
-
-#define DEVICE_SPI              1
-#define DEVICE_SPISLAVE         1
-
-#define DEVICE_CAN              0
-
-#define DEVICE_RTC              0
-
-#define DEVICE_ETHERNET         0
-
-#define DEVICE_PWMOUT           1
-
-#define DEVICE_SEMIHOST         0
-#define DEVICE_LOCALFILESYSTEM  0
-#define DEVICE_ID_LENGTH       32
-#define DEVICE_MAC_OFFSET      20
-
-#define DEVICE_SLEEP            1
-
-#define DEVICE_DEBUG_AWARENESS  0
-
-#define DEVICE_STDIO_MESSAGES   0
-
-#define DEVICE_ERROR_PATTERN    1
-
-#include "objects.h"
-
-#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TARGET_LPC11U35_501/TARGET_NXP/TARGET_LPC11UXX/TARGET_MCU_LPC11U35_501/PeripheralNames.h	Fri Aug 15 15:28:31 2014 +0100
@@ -0,0 +1,71 @@
+/* mbed Microcontroller Library
+ * Copyright (c) 2006-2013 ARM Limited
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+#ifndef MBED_PERIPHERALNAMES_H
+#define MBED_PERIPHERALNAMES_H
+
+#include "cmsis.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+typedef enum {
+    UART_0 = (int)LPC_USART_BASE
+} UARTName;
+
+typedef enum {
+    I2C_0 = (int)LPC_I2C_BASE
+} I2CName;
+
+typedef enum {
+    ADC0_0 = 0,
+    ADC0_1,
+    ADC0_2,
+    ADC0_3,
+    ADC0_4,
+    ADC0_5,
+    ADC0_6,
+    ADC0_7
+} ADCName;
+
+typedef enum {
+    SPI_0 = (int)LPC_SSP0_BASE,
+    SPI_1 = (int)LPC_SSP1_BASE
+} SPIName;
+
+typedef enum {
+    PWM_1 = 0,
+    PWM_2,
+    PWM_3,
+    PWM_4,
+    PWM_5,
+    PWM_6,
+    PWM_7,
+    PWM_8,
+    PWM_9,
+    PWM_10,
+    PWM_11
+} PWMName;
+
+#define STDIO_UART_TX     UART_TX
+#define STDIO_UART_RX     UART_RX
+#define STDIO_UART        UART_0
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TARGET_LPC11U35_501/TARGET_NXP/TARGET_LPC11UXX/TARGET_MCU_LPC11U35_501/TARGET_LPC11U35_501/PinNames.h	Fri Aug 15 15:28:31 2014 +0100
@@ -0,0 +1,176 @@
+/* mbed Microcontroller Library
+ * Copyright (c) 2006-2013 ARM Limited
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+#ifndef MBED_PINNAMES_H
+#define MBED_PINNAMES_H
+
+#include "cmsis.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+typedef enum {
+    PIN_INPUT,
+    PIN_OUTPUT
+} PinDirection;
+
+#define PORT_SHIFT  5
+
+typedef enum {
+    // LPC11U Pin Names
+    P0_0 = 0,
+    P0_1 = 1,
+    P0_2 = 2,
+    P0_3 = 3,
+    P0_4 = 4,
+    P0_5 = 5,
+    P0_6 = 6,
+    P0_7 = 7,
+    P0_8 = 8,
+    P0_9 = 9,
+    P0_10 = 10,
+    P0_11 = 11,
+    P0_12 = 12,
+    P0_13 = 13,
+    P0_14 = 14,
+    P0_15 = 15,
+    P0_16 = 16,
+    P0_17 = 17,
+    P0_18 = 18,
+    P0_19 = 19,
+    P0_20 = 20,
+    P0_21 = 21,
+    P0_22 = 22,
+    P0_23 = 23,
+    P0_24 = 24,
+    P0_25 = 25,
+    P0_26 = 26,
+    P0_27 = 27,
+
+    P1_0 = 32,
+    P1_1 = 33,
+    P1_2 = 34,
+    P1_3 = 35,
+    P1_4 = 36,
+    P1_5 = 37,
+    P1_6 = 38,
+    P1_7 = 39,
+    P1_8 = 40,
+    P1_9 = 41,
+    P1_10 = 42,
+    P1_11 = 43,
+    P1_12 = 44,
+    P1_13 = 45,
+    P1_14 = 46,
+    P1_15 = 47,
+    P1_16 = 48,
+    P1_17 = 49,
+    P1_18 = 50,
+    P1_19 = 51,
+    P1_20 = 52,
+    P1_21 = 53,
+    P1_22 = 54,
+    P1_23 = 55,
+    P1_24 = 56,
+    P1_25 = 57,
+    P1_26 = 58,
+    P1_27 = 59,
+    P1_28 = 60,
+    P1_29 = 61,
+
+    P1_31 = 63,
+
+    // mbed DIP Pin Names
+                    // CN1-1  (GND)
+                    // CN1-2  (EXTPOWER)
+                    // CN1-3  (NC)
+    p4 = P0_0,      // CN1-4
+    p5 = P0_9,      // CN1-5
+    p6 = P0_8,      // CN1-6
+    p7 = P0_10,     // CN1-7
+    p8 = P0_7,      // CN1-8
+    p9 = P0_19,     // CN1-9
+    p10 = P0_18,    // CN1-10
+    p11 = P0_21,    // CN1-11
+    p12 = P0_22,    // CN1-12
+    p13 = P1_15,    // CN1-13
+    p14 = P0_6,     // CN1-14
+    p15 = P0_11,    // CN1-15
+    p16 = P0_12,    // CN1-16
+    p17 = P0_13,    // CN1-17
+    p18 = P0_14,    // CN1-18
+    p19 = P0_15,    // CN1-19
+    p20 = P0_16,    // CN1-20
+
+    p21 = P0_14,    // CN2-20
+    p22 = P0_2,     // CN2-19
+    p23 = P0_23,    // CN2-18
+    p24 = P0_17,    // CN2-17
+    p25 = P0_20,    // CN2-16
+    p26 = P1_15,    // CN2-15
+    p27 = P0_4,     // CN2-14
+    p28 = P0_5,     // CN2-13
+    p29 = P1_19,    // CN2-12
+    p30 = P0_1,     // CN2-11
+                    // CN2-10 (D+USB)
+                    // CN2-9  (D-USB)
+    p33 = P0_3,     // CN2-8  (USB-VBUS)
+                    // CN2-7  (NC)
+                    // CN2-6  (NC)
+                    // CN2-5  (NC)
+                    // CN2-4  (NC)
+                    // CN2-3  (NC)
+                    // CN2-2  (VDD)
+                    // CN2-1  (VDD)
+
+    // Other mbed Pin Names
+    LED1 = P0_20,
+    LED2 = P0_21,
+    LED3 = P0_20,
+    LED4 = P0_21,
+
+    UART_TX = P0_19,
+    UART_RX = P0_18,
+
+    // Not connected
+    NC = (int)0xFFFFFFFF,
+} PinName;
+
+typedef enum {
+    CHANNEL0 = FLEX_INT0_IRQn,
+    CHANNEL1 = FLEX_INT1_IRQn,
+    CHANNEL2 = FLEX_INT2_IRQn,
+    CHANNEL3 = FLEX_INT3_IRQn,
+    CHANNEL4 = FLEX_INT4_IRQn,
+    CHANNEL5 = FLEX_INT5_IRQn,
+    CHANNEL6 = FLEX_INT6_IRQn,
+    CHANNEL7 = FLEX_INT7_IRQn
+} Channel;
+
+typedef enum {
+    PullUp = 2,
+    PullDown = 1,
+    PullNone = 0,
+    Repeater = 3,
+    OpenDrain = 4,
+    PullDefault = PullDown
+} PinMode;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TARGET_LPC11U35_501/TARGET_NXP/TARGET_LPC11UXX/TARGET_MCU_LPC11U35_501/TARGET_LPC11U35_501/device.h	Fri Aug 15 15:28:31 2014 +0100
@@ -0,0 +1,59 @@
+/* mbed Microcontroller Library
+ * Copyright (c) 2006-2013 ARM Limited
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+#ifndef MBED_DEVICE_H
+#define MBED_DEVICE_H
+
+#define DEVICE_PORTIN           1
+#define DEVICE_PORTOUT          1
+#define DEVICE_PORTINOUT        1
+
+#define DEVICE_INTERRUPTIN      1
+
+#define DEVICE_ANALOGIN         1
+#define DEVICE_ANALOGOUT        0
+
+#define DEVICE_SERIAL           1
+
+#define DEVICE_I2C              1
+#define DEVICE_I2CSLAVE         1
+
+#define DEVICE_SPI              1
+#define DEVICE_SPISLAVE         1
+
+#define DEVICE_CAN              0
+
+#define DEVICE_RTC              0
+
+#define DEVICE_ETHERNET         0
+
+#define DEVICE_PWMOUT           1
+
+#define DEVICE_SEMIHOST         0
+#define DEVICE_LOCALFILESYSTEM  0
+#define DEVICE_ID_LENGTH       32
+#define DEVICE_MAC_OFFSET      20
+
+#define DEVICE_SLEEP            1
+
+#define DEVICE_DEBUG_AWARENESS  0
+
+#define DEVICE_STDIO_MESSAGES   0
+
+#define DEVICE_ERROR_PATTERN    1
+
+#include "objects.h"
+
+#endif
Binary file TARGET_LPC11U35_501/TOOLCHAIN_ARM_MICRO/board.o has changed
Binary file TARGET_LPC11U35_501/TOOLCHAIN_ARM_MICRO/cmsis_nvic.o has changed
Binary file TARGET_LPC11U35_501/TOOLCHAIN_ARM_MICRO/mbed.ar has changed
Binary file TARGET_LPC11U35_501/TOOLCHAIN_ARM_MICRO/retarget.o has changed
Binary file TARGET_LPC11U35_501/TOOLCHAIN_ARM_MICRO/startup_LPC11xx.o has changed
Binary file TARGET_LPC11U35_501/TOOLCHAIN_ARM_MICRO/sys.o has changed
Binary file TARGET_LPC11U35_501/TOOLCHAIN_ARM_MICRO/system_LPC11Uxx.o has changed
Binary file TARGET_LPC11U35_501/TOOLCHAIN_ARM_STD/board.o has changed
Binary file TARGET_LPC11U35_501/TOOLCHAIN_ARM_STD/cmsis_nvic.o has changed
Binary file TARGET_LPC11U35_501/TOOLCHAIN_ARM_STD/mbed.ar has changed
Binary file TARGET_LPC11U35_501/TOOLCHAIN_ARM_STD/retarget.o has changed
Binary file TARGET_LPC11U35_501/TOOLCHAIN_ARM_STD/sys.o has changed
Binary file TARGET_LPC11U35_501/TOOLCHAIN_ARM_STD/system_LPC11Uxx.o has changed
Binary file TARGET_LPC11U35_501/TOOLCHAIN_GCC_ARM/libmbed.a has changed
Binary file TARGET_LPC11U35_501/TOOLCHAIN_GCC_ARM/retarget.o has changed
Binary file TARGET_LPC11U35_501/TOOLCHAIN_GCC_CR/libmbed.a has changed
Binary file TARGET_LPC11U35_501/TOOLCHAIN_GCC_CR/retarget.o has changed
Binary file TARGET_LPC11U68/TOOLCHAIN_ARM_MICRO/board.o has changed
Binary file TARGET_LPC11U68/TOOLCHAIN_ARM_MICRO/cmsis_nvic.o has changed
Binary file TARGET_LPC11U68/TOOLCHAIN_ARM_MICRO/mbed.ar has changed
Binary file TARGET_LPC11U68/TOOLCHAIN_ARM_MICRO/retarget.o has changed
Binary file TARGET_LPC11U68/TOOLCHAIN_ARM_MICRO/sys.o has changed
Binary file TARGET_LPC11U68/TOOLCHAIN_ARM_MICRO/system_LPC11U6x.o has changed
Binary file TARGET_LPC11U68/TOOLCHAIN_GCC_ARM/libmbed.a has changed
Binary file TARGET_LPC11U68/TOOLCHAIN_GCC_ARM/retarget.o has changed
Binary file TARGET_LPC11U68/TOOLCHAIN_GCC_CR/libmbed.a has changed
Binary file TARGET_LPC11U68/TOOLCHAIN_GCC_CR/retarget.o has changed
Binary file TARGET_LPC1347/TOOLCHAIN_ARM_STD/board.o has changed
Binary file TARGET_LPC1347/TOOLCHAIN_ARM_STD/cmsis_nvic.o has changed
Binary file TARGET_LPC1347/TOOLCHAIN_ARM_STD/mbed.ar has changed
Binary file TARGET_LPC1347/TOOLCHAIN_ARM_STD/retarget.o has changed
Binary file TARGET_LPC1347/TOOLCHAIN_ARM_STD/sys.o has changed
Binary file TARGET_LPC1347/TOOLCHAIN_ARM_STD/system_LPC13Uxx.o has changed
Binary file TARGET_LPC1549/TOOLCHAIN_ARM_MICRO/board.o has changed
Binary file TARGET_LPC1549/TOOLCHAIN_ARM_MICRO/cmsis_nvic.o has changed
Binary file TARGET_LPC1549/TOOLCHAIN_ARM_MICRO/mbed.ar has changed
Binary file TARGET_LPC1549/TOOLCHAIN_ARM_MICRO/retarget.o has changed
Binary file TARGET_LPC1549/TOOLCHAIN_ARM_MICRO/sys.o has changed
Binary file TARGET_LPC1549/TOOLCHAIN_ARM_MICRO/system_LPC15xx.o has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TARGET_LPC1549/TOOLCHAIN_GCC_ARM/LPC1549.ld	Fri Aug 15 15:28:31 2014 +0100
@@ -0,0 +1,154 @@
+/* Linker script for mbed LPC1549 */
+
+/* Linker script to configure memory regions. */
+MEMORY
+{
+  /* Define each memory region */
+  FLASH (rx) : ORIGIN = 0x00000000, LENGTH = 256K
+  Ram0_16 (rwx) : ORIGIN = 0x2000000 + 0x100, LENGTH = (16K - 0x100)
+  Ram1_16 (rwx) : ORIGIN = 0x2004000, LENGTH = 16K
+  Ram2_4 (rwx) : ORIGIN = 0x2008000, LENGTH = 4K
+
+}
+
+/* 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
+ */
+ENTRY(Reset_Handler)
+
+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*))
+    } > FLASH
+
+    .ARM.extab : 
+    {
+        *(.ARM.extab* .gnu.linkonce.armextab.*)
+    } > FLASH
+
+    __exidx_start = .;
+    .ARM.exidx :
+    {
+        *(.ARM.exidx* .gnu.linkonce.armexidx.*)
+    } > FLASH
+    __exidx_end = .;
+
+    __etext = .;
+        
+    .data : AT (__etext)
+    {
+        __data_start__ = .;
+        Image$$RW_IRAM1$$Base = .;
+        *(vtable)
+        *(.data*)
+
+        . = ALIGN(4);
+        /* preinit data */
+        PROVIDE (__preinit_array_start = .);
+        KEEP(*(.preinit_array))
+        PROVIDE (__preinit_array_end = .);
+
+        . = ALIGN(4);
+        /* init data */
+        PROVIDE (__init_array_start = .);
+        KEEP(*(SORT(.init_array.*)))
+        KEEP(*(.init_array))
+        PROVIDE (__init_array_end = .);
+
+
+        . = ALIGN(4);
+        /* finit data */
+        PROVIDE (__fini_array_start = .);
+        KEEP(*(SORT(.fini_array.*)))
+        KEEP(*(.fini_array))
+        PROVIDE (__fini_array_end = .);
+
+        . = ALIGN(4);
+        /* All data end */
+        __data_end__ = .;
+
+    } > Ram0_16
+
+    
+    .bss :
+    {
+        __bss_start__ = .;
+        *(.bss*)
+        *(COMMON)
+        __bss_end__ = .;
+        Image$$RW_IRAM1$$ZI$$Limit = . ;
+    } > Ram0_16
+
+    
+    .heap :
+    {
+        __end__ = .;
+        end = __end__;
+        *(.heap*)
+        __HeapLimit = .;
+    } > Ram0_16
+
+    /* .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 :
+    {
+        *(.stack)
+    } > Ram0_16
+
+    /* Set stack top to end of RAM, and stack limit move down by
+     * size of stack_dummy section */
+    __StackTop = ORIGIN(Ram0_16) + LENGTH(Ram0_16);
+    __StackLimit = __StackTop - SIZEOF(.stack_dummy);
+    PROVIDE(__stack = __StackTop);
+    
+    /* Check if data + heap + stack exceeds RAM limit */
+    ASSERT(__StackLimit >= __HeapLimit, "region RAM overflowed with stack")
+}
Binary file TARGET_LPC1549/TOOLCHAIN_GCC_ARM/board.o has changed
Binary file TARGET_LPC1549/TOOLCHAIN_GCC_ARM/cmsis_nvic.o has changed
Binary file TARGET_LPC1549/TOOLCHAIN_GCC_ARM/libmbed.a has changed
Binary file TARGET_LPC1549/TOOLCHAIN_GCC_ARM/retarget.o has changed
Binary file TARGET_LPC1549/TOOLCHAIN_GCC_ARM/startup_LPC15xx.o has changed
Binary file TARGET_LPC1549/TOOLCHAIN_GCC_ARM/system_LPC15xx.o has changed
Binary file TARGET_LPC1549/TOOLCHAIN_GCC_CR/libmbed.a has changed
Binary file TARGET_LPC1549/TOOLCHAIN_GCC_CR/retarget.o has changed
Binary file TARGET_LPC1768/TOOLCHAIN_ARM_STD/board.o has changed
Binary file TARGET_LPC1768/TOOLCHAIN_ARM_STD/cmsis_nvic.o has changed
Binary file TARGET_LPC1768/TOOLCHAIN_ARM_STD/mbed.ar has changed
Binary file TARGET_LPC1768/TOOLCHAIN_ARM_STD/retarget.o has changed
Binary file TARGET_LPC1768/TOOLCHAIN_ARM_STD/sys.o has changed
Binary file TARGET_LPC1768/TOOLCHAIN_ARM_STD/system_LPC17xx.o has changed
Binary file TARGET_LPC1768/TOOLCHAIN_GCC_ARM/libmbed.a has changed
Binary file TARGET_LPC1768/TOOLCHAIN_GCC_ARM/retarget.o has changed
Binary file TARGET_LPC1768/TOOLCHAIN_GCC_CR/libmbed.a has changed
Binary file TARGET_LPC1768/TOOLCHAIN_GCC_CR/retarget.o has changed
Binary file TARGET_LPC1768/TOOLCHAIN_GCC_CS/libmbed.a has changed
Binary file TARGET_LPC1768/TOOLCHAIN_GCC_CS/retarget.o has changed
Binary file TARGET_LPC1768/TOOLCHAIN_IAR/board.o has changed
Binary file TARGET_LPC1768/TOOLCHAIN_IAR/cmsis_nvic.o has changed
Binary file TARGET_LPC1768/TOOLCHAIN_IAR/mbed.a has changed
Binary file TARGET_LPC1768/TOOLCHAIN_IAR/retarget.o has changed
Binary file TARGET_LPC1768/TOOLCHAIN_IAR/startup_LPC17xx.o has changed
Binary file TARGET_LPC1768/TOOLCHAIN_IAR/system_LPC17xx.o has changed
Binary file TARGET_LPC2368/TOOLCHAIN_ARM_STD/board.o has changed
Binary file TARGET_LPC2368/TOOLCHAIN_ARM_STD/cmsis_nvic.o has changed
Binary file TARGET_LPC2368/TOOLCHAIN_ARM_STD/core_arm7.o has changed
Binary file TARGET_LPC2368/TOOLCHAIN_ARM_STD/mbed.ar has changed
Binary file TARGET_LPC2368/TOOLCHAIN_ARM_STD/retarget.o has changed
Binary file TARGET_LPC2368/TOOLCHAIN_ARM_STD/sys.o has changed
Binary file TARGET_LPC2368/TOOLCHAIN_ARM_STD/system_LPC23xx.o has changed
Binary file TARGET_LPC2368/TOOLCHAIN_ARM_STD/vector_realmonitor.o has changed
Binary file TARGET_LPC4088/TOOLCHAIN_ARM_STD/board.o has changed
Binary file TARGET_LPC4088/TOOLCHAIN_ARM_STD/cmsis_nvic.o has changed
Binary file TARGET_LPC4088/TOOLCHAIN_ARM_STD/mbed.ar has changed
Binary file TARGET_LPC4088/TOOLCHAIN_ARM_STD/retarget.o has changed
Binary file TARGET_LPC4088/TOOLCHAIN_ARM_STD/sys.o has changed
Binary file TARGET_LPC4088/TOOLCHAIN_ARM_STD/sys_helper.o has changed
Binary file TARGET_LPC4088/TOOLCHAIN_ARM_STD/system_LPC407x_8x_177x_8x.o has changed
Binary file TARGET_LPC4088/TOOLCHAIN_GCC_ARM/libmbed.a has changed
Binary file TARGET_LPC4088/TOOLCHAIN_GCC_ARM/retarget.o has changed
Binary file TARGET_LPC4088/TOOLCHAIN_GCC_CR/libmbed.a has changed
Binary file TARGET_LPC4088/TOOLCHAIN_GCC_CR/retarget.o has changed
Binary file TARGET_LPC812/TOOLCHAIN_ARM_MICRO/board.o has changed
Binary file TARGET_LPC812/TOOLCHAIN_ARM_MICRO/cmsis_nvic.o has changed
Binary file TARGET_LPC812/TOOLCHAIN_ARM_MICRO/mbed.ar has changed
Binary file TARGET_LPC812/TOOLCHAIN_ARM_MICRO/retarget.o has changed
Binary file TARGET_LPC812/TOOLCHAIN_ARM_MICRO/sys.o has changed
Binary file TARGET_LPC812/TOOLCHAIN_ARM_MICRO/system_LPC8xx.o has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TARGET_NRF51822/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/ble.h	Fri Aug 15 15:28:31 2014 +0100
@@ -0,0 +1,385 @@
+/* Copyright (c) 2011 Nordic Semiconductor. All Rights Reserved.
+ *
+ * The information contained herein is confidential property of Nordic Semiconductor. The use,
+ * copying, transfer or disclosure of such information is prohibited except by express written
+ * agreement with Nordic Semiconductor.
+ *
+ */
+/**
+  @addtogroup BLE_COMMON BLE SoftDevice Common
+  @{
+  @defgroup ble_api Events, type definitions and API calls
+  @{
+
+  @brief Module independent events, type definitions and API calls for the S110 SoftDevice.
+
+ */
+
+#ifndef BLE_H__
+#define BLE_H__
+
+#include "ble_ranges.h"
+#include "ble_types.h"
+#include "ble_gap.h"
+#include "ble_l2cap.h"
+#include "ble_gatt.h"
+#include "ble_gattc.h"
+#include "ble_gatts.h"
+
+/** @addtogroup BLE_COMMON_ENUMERATIONS Enumerations
+ * @{ */
+
+/**
+ * @brief Common API SVC numbers.
+ */
+enum BLE_COMMON_SVCS
+{
+  SD_BLE_ENABLE = BLE_SVC_BASE,         /**< Enable and initialize the BLE stack */
+  SD_BLE_EVT_GET,                       /**< Get an event from the pending events queue. */
+  SD_BLE_TX_BUFFER_COUNT_GET,           /**< Get the total number of available application transmission buffers from the stack. */
+  SD_BLE_UUID_VS_ADD,                   /**< Add a Vendor Specific UUID. */
+  SD_BLE_UUID_DECODE,                   /**< Decode UUID bytes. */
+  SD_BLE_UUID_ENCODE,                   /**< Encode UUID bytes. */
+  SD_BLE_VERSION_GET,                   /**< Get the local version information (company id, Link Layer Version, Link Layer Subversion). */
+  SD_BLE_USER_MEM_REPLY,                /**< User Memory Reply. */
+  SD_BLE_OPT_SET,                       /**< Set a BLE option. */
+  SD_BLE_OPT_GET,                       /**< Get a BLE option. */
+};
+
+/** @} */
+
+/** @addtogroup BLE_COMMON_DEFINES Defines
+ * @{ */
+
+/** @brief  Required pointer alignment for BLE Events.
+*/
+#define BLE_EVTS_PTR_ALIGNMENT    4
+
+/** @defgroup BLE_USER_MEM_TYPES User Memory Types
+ * @{ */
+#define BLE_USER_MEM_TYPE_INVALID               0x00  /**< Invalid User Memory Types. */
+#define BLE_USER_MEM_TYPE_GATTS_QUEUED_WRITES   0x01  /**< User Memory for GATTS queued writes. */
+/** @} */
+
+/** @brief  Maximum number of Vendor Specific UUIDs.
+*/
+#define BLE_UUID_VS_MAX_COUNT     10
+
+/** @} */
+
+/** @addtogroup BLE_COMMON_STRUCTURES Structures
+ * @{ */
+
+/**
+ * @brief BLE Module Independent Event IDs.
+ */
+enum BLE_COMMON_EVTS
+{
+  BLE_EVT_TX_COMPLETE  = BLE_EVT_BASE,  /**< Transmission Complete. */
+  BLE_EVT_USER_MEM_REQUEST,             /**< User Memory request. */
+  BLE_EVT_USER_MEM_RELEASE              /**< User Memory release. */
+};
+
+/**@brief User Memory Block. */
+typedef struct
+{
+  uint8_t*          p_mem;      /**< Pointer to the start of the user memory block. */
+  uint16_t          len;        /**< Length in bytes of the user memory block. */
+} ble_user_mem_block_t;
+
+/**
+ * @brief TX complete event.
+ */
+typedef struct
+{
+  uint8_t count;                        /**< Number of packets transmitted. */
+} ble_evt_tx_complete_t;
+
+/**@brief Event structure for BLE_EVT_USER_MEM_REQUEST. */
+typedef struct
+{
+  uint8_t                     type;     /**< User memory type, see @ref BLE_USER_MEM_TYPES. */
+} ble_evt_user_mem_request_t;
+
+/**@brief Event structure for BLE_EVT_USER_MEM_RELEASE. */
+typedef struct
+{
+  uint8_t                     type;       /**< User memory type, see @ref BLE_USER_MEM_TYPES. */
+  ble_user_mem_block_t        mem_block;  /**< User memory block */
+} ble_evt_user_mem_release_t;
+
+
+/**@brief Event structure for events not associated with a specific function module. */
+typedef struct
+{
+  uint16_t conn_handle;                 /**< Connection Handle on which this event occured. */
+  union
+  {
+    ble_evt_tx_complete_t           tx_complete;        /**< Transmission Complete. */
+    ble_evt_user_mem_request_t      user_mem_request;   /**< User Memory Request Event Parameters. */
+    ble_evt_user_mem_release_t      user_mem_release;   /**< User Memory Release Event Parameters. */
+  } params;
+} ble_common_evt_t;
+
+/**@brief BLE Event header. */
+typedef struct
+{
+  uint16_t evt_id;                      /**< Value from a BLE_<module>_EVT series. */
+  uint16_t evt_len;                     /**< Length in octets excluding this header. */
+} ble_evt_hdr_t;
+
+/**@brief Common BLE Event type, wrapping the module specific event reports. */
+typedef struct
+{
+  ble_evt_hdr_t header;                 /**< Event header. */
+  union
+  {
+    ble_common_evt_t  common_evt;         /**< Common Event, evt_id in BLE_EVT_* series. */
+    ble_gap_evt_t     gap_evt;            /**< GAP originated event, evt_id in BLE_GAP_EVT_* series. */
+    ble_l2cap_evt_t   l2cap_evt;          /**< L2CAP originated event, evt_id in BLE_L2CAP_EVT* series. */
+    ble_gattc_evt_t   gattc_evt;          /**< GATT client originated event, evt_id in BLE_GATTC_EVT* series. */
+    ble_gatts_evt_t   gatts_evt;          /**< GATT server originated event, evt_id in BLE_GATTS_EVT* series. */
+  } evt;
+} ble_evt_t;
+
+
+/**
+ * @brief Version Information.
+ */
+typedef struct
+{
+  uint8_t   version_number;             /**< Link Layer Version number for BT 4.1 spec is 7 (https://www.bluetooth.org/en-us/specification/assigned-numbers/link-layer). */
+  uint16_t  company_id;                 /**< Company ID, Nordic Semiconductor's company ID is 89 (0x0059) (https://www.bluetooth.org/apps/content/Default.aspx?doc_id=49708). */
+  uint16_t  subversion_number;          /**< Link Layer Sub Version number, corresponds to the SoftDevice Config ID or Firmware ID (FWID). */
+} ble_version_t;
+
+/**@brief Common BLE Option type, wrapping the module specific options. */
+typedef union
+{
+  ble_gap_opt_t     gap;            /**< GAP option, opt_id in BLE_GAP_OPT_* series. */
+} ble_opt_t;
+
+/**
+ * @brief BLE GATTS init options
+ */
+typedef struct
+{
+  ble_gatts_enable_params_t  gatts_enable_params; /**< GATTS init options @ref ble_gatts_enable_params_t. */  
+} ble_enable_params_t;
+
+/** @} */
+
+/** @addtogroup BLE_COMMON_FUNCTIONS Functions
+ * @{ */
+
+/**@brief Enable the bluetooth stack
+ *
+ * @param[in] p_ble_enable_params Pointer to ble_enable_params_t
+ *
+ * @details This call initializes the bluetooth stack, no other BLE related call can be called before this one has been executed.
+ *
+ * @return @ref NRF_SUCCESS BLE stack has been initialized successfully
+ * @return @ref NRF_ERROR_INVALID_ADDR Invalid or not sufficiently aligned pointer supplied.
+ */
+SVCALL(SD_BLE_ENABLE, uint32_t, sd_ble_enable(ble_enable_params_t * p_ble_enable_params));
+
+/**@brief Get an event from the pending events queue.
+ *
+ * @param[in] p_dest Pointer to buffer to be filled in with an event, or NULL to retrieve the event length. This buffer <b>must be 4-byte aligned in memory</b>.
+ * @param[in, out] p_len Pointer the length of the buffer, on return it is filled with the event length.
+ *
+ * @details This call allows the application to pull a BLE event from the BLE stack. The application is signalled that an event is 
+ * available from the BLE Stack by the triggering of the SD_EVT_IRQn interrupt (mapped to IRQ 22).
+ * The application is free to choose whether to call this function from thread mode (main context) or directly from the Interrupt Service Routine
+ * that maps to SD_EVT_IRQn. In any case however, and because the BLE stack runs at a higher priority than the application, this function should be called
+ * in a loop (until @ref NRF_ERROR_NOT_FOUND is returned) every time SD_EVT_IRQn is raised to ensure that all available events are pulled from the stack. 
+ * Failure to do so could potentially leave events in the internal queue without the application being aware of this fact.
+ * Sizing the p_dest buffer is equally important, since the application needs to provide all the memory necessary for the event to be copied into
+ * application memory. If the buffer provided is not large enough to fit the entire contents of the event, @ref NRF_ERROR_DATA_SIZE will be returned
+ * and the application can then call again with a larger buffer size.
+ * Please note that because of the variable length nature of some events, sizeof(ble_evt_t) will not always be large enough to fit certain events, 
+ * and so it is the application's responsability to provide an amount of memory large enough so that the relevant event is copied in full.
+ * The application may "peek" the event length by providing p_dest as a NULL pointer and inspecting the value of *p_len upon return.
+ *
+ * @note The pointer supplied must be aligned to the extend defined by @ref BLE_EVTS_PTR_ALIGNMENT
+ *
+ * @return @ref NRF_SUCCESS Event pulled and stored into the supplied buffer.
+ * @return @ref NRF_ERROR_INVALID_ADDR Invalid or not sufficiently aligned pointer supplied.
+ * @return @ref NRF_ERROR_NOT_FOUND No events ready to be pulled.
+ * @return @ref NRF_ERROR_DATA_SIZE Event ready but could not fit into the supplied buffer.
+ */
+SVCALL(SD_BLE_EVT_GET, uint32_t, sd_ble_evt_get(uint8_t* p_dest, uint16_t *p_len));
+
+
+/**@brief Get the total number of available application transmission buffers in the BLE stack.
+ *
+ * @details This call allows the application to obtain the total number of
+ *          transmission buffers available for application data. Please note that
+ *          this does not give the number of free buffers, but rather the total amount of them.
+ *          The application has two options to handle its own application transmission buffers:
+ *          - Use a simple arithmetic calculation: at boot time the application should use this function
+ *          to find out the total amount of buffers available to it and store it in a variable.
+ *          Every time a packet that consumes an application buffer is sent using any of the 
+ *          exposed functions in this BLE API, the application should decrement that variable.
+ *          Conversely, whenever a @ref BLE_EVT_TX_COMPLETE event is received by the application
+ *          it should retrieve the count field in such event and add that number to the same
+ *          variable storing the number of available packets.
+ *          This mechanism allows the application to be aware at any time of the number of
+ *          application packets available in the BLE stack's internal buffers, and therefore
+ *          it can know with certainty whether it is possible to send more data or it has to
+ *          wait for a @ref BLE_EVT_TX_COMPLETE event before it proceeds.
+ *          - Choose to simply not keep track of available buffers at all, and instead handle the 
+ *          @ref BLE_ERROR_NO_TX_BUFFERS error by queueing the packet to be transmitted and 
+ *          try again as soon as a @ref BLE_EVT_TX_COMPLETE event arrives.
+ *
+ *          The API functions that <b>may</b> consume an application buffer depending on 
+ *          the parameters supplied to them can be found below:
+ *
+ *          - @ref sd_ble_gattc_write (write witout response only)
+ *          - @ref sd_ble_gatts_hvx (notifications only)
+ *          - @ref sd_ble_l2cap_tx (all packets)
+ *
+ * @param[out] p_count Pointer to a uint8_t which will contain the number of application transmission buffers upon
+ *                     successful return.
+ *
+ * @return @ref NRF_SUCCESS Number of application transmission buffers retrieved successfully.
+ * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
+ */
+SVCALL(SD_BLE_TX_BUFFER_COUNT_GET, uint32_t, sd_ble_tx_buffer_count_get(uint8_t* p_count));
+
+
+/**@brief Add a Vendor Specific UUID.
+ *
+ * @details This call enables the application to add a vendor specific UUID to the BLE stack's table,
+ *          for later use all other modules and APIs. This then allows the application to use the shorter,
+ *          24-bit @ref ble_uuid_t format when dealing with both 16-bit and 128-bit UUIDs without having to
+ *          check for lengths and having split code paths. The way that this is accomplished is by extending the 
+ *          grouping mechanism that the Bluetooth SIG standard base UUID uses for all other 128-bit UUIDs. The 
+ *          type field in the @ref ble_uuid_t structure is an index (relative to @ref BLE_UUID_TYPE_VENDOR_BEGIN) 
+ *          to the table populated by multiple calls to this function, and the uuid field in the same structure 
+ *          contains the 2 bytes at indices 12 and 13. The number of possible 128-bit UUIDs available to the 
+ *          application is therefore the number of Vendor Specific UUIDs added with the help of this function times 65536, 
+ *          although restricted to modifying bytes 12 and 13 for each of the entries in the supplied array.
+ *
+ * @note Bytes 12 and 13 of the provided UUID will not be used internally, since those are always replaced by 
+ * the 16-bit uuid field in @ref ble_uuid_t.
+ *
+ *
+ * @param[in]  p_vs_uuid    Pointer to a 16-octet (128-bit) little endian Vendor Specific UUID disregarding
+ *                          bytes 12 and 13.
+ * @param[out] p_uuid_type  Pointer where the type field in @ref ble_uuid_t corresponding to this UUID will be stored.
+ *
+ * @return @ref NRF_SUCCESS Successfully added the Vendor Specific UUID.
+ * @return @ref NRF_ERROR_INVALID_ADDR If p_vs_uuid or p_uuid_type is NULL or invalid.
+ * @return @ref NRF_ERROR_NO_MEM If there are no more free slots for VS UUIDs.
+ * @return @ref NRF_ERROR_FORBIDDEN If p_vs_uuid has already been added to the VS UUID table.
+ */
+SVCALL(SD_BLE_UUID_VS_ADD, uint32_t, sd_ble_uuid_vs_add(ble_uuid128_t const * const p_vs_uuid, uint8_t * const p_uuid_type));
+
+
+/** @brief Decode little endian raw UUID bytes (16-bit or 128-bit) into a 24 bit @ref ble_uuid_t structure.
+ * 
+ * @details The raw UUID bytes excluding bytes 12 and 13 (i.e. bytes 0-11 and 14-15) of p_uuid_le are compared 
+ * to the corresponding ones in each entry of the table of vendor specific UUIDs pouplated with @ref sd_ble_uuid_vs_add 
+ * to look for a match. If there is such a match, bytes 12 and 13 are returned as p_uuid->uuid and the index 
+ * relative to @ref BLE_UUID_TYPE_VENDOR_BEGIN as p_uuid->type. 
+ *
+ * @note If the UUID length supplied is 2, then the type set by this call will always be @ref BLE_UUID_TYPE_BLE.
+ *
+ * @param[in]      uuid_le_len Length in bytes of the buffer pointed to by p_uuid_le (must be 2 or 16 bytes).
+ * @param[in]      p_uuid_le   Pointer pointing to little endian raw UUID bytes.
+ * @param[in,out]  p_uuid      Pointer to a @ref ble_uuid_t structure to be filled in.
+ *
+ * @return @ref NRF_SUCCESS Successfully decoded into the @ref ble_uuid_t structure.
+ * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
+ * @return @ref NRF_ERROR_INVALID_LENGTH Invalid UUID length.
+ * @return @ref NRF_ERROR_NOT_FOUND For a 128-bit UUID, no match in the populated table of UUIDs.
+ */                                                 
+SVCALL(SD_BLE_UUID_DECODE, uint32_t, sd_ble_uuid_decode(uint8_t uuid_le_len, uint8_t const * const p_uuid_le, ble_uuid_t * const p_uuid));
+
+
+/** @brief Encode a @ref ble_uuid_t structure into little endian raw UUID bytes (16-bit or 128-bit).
+ *
+ * @note The pointer to the destination buffer p_uuid_le may be NULL, in which case only the validitiy and size of p_uuid is computed.
+ *
+ * @param[in]      p_uuid        Pointer to a @ref ble_uuid_t structure that will be encoded into bytes.
+ * @param[out]     p_uuid_le_len Pointer to a uint8_t that will be filled with the encoded length (2 or 16 bytes).
+ * @param[out]     p_uuid_le     Pointer to a buffer where the little endian raw UUID bytes (2 or 16) will be stored.
+ *
+ * @return @ref NRF_SUCCESS Successfully encoded into the buffer.
+ * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
+ * @return @ref NRF_ERROR_INVALID_PARAM Invalid UUID type.
+ */
+SVCALL(SD_BLE_UUID_ENCODE, uint32_t, sd_ble_uuid_encode(ble_uuid_t const * const p_uuid, uint8_t * const  p_uuid_le_len, uint8_t * const p_uuid_le));
+
+
+/**@brief Get Version Information.
+ *
+ * @details This call allows the application to get the BLE stack version information.
+ *
+ * @param[in] p_version Pointer to ble_version_t structure to be filled in.
+ *
+ * @return @ref NRF_SUCCESS  Version information stored successfully.
+ * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
+ * @return @ref NRF_ERROR_BUSY The stack is busy (typically doing a locally-initiated disconnection procedure).
+ */
+SVCALL(SD_BLE_VERSION_GET, uint32_t, sd_ble_version_get(ble_version_t * p_version));
+
+
+/**@brief Provide a user memory block.
+ *
+ * @note This call can only be used as a response to a @ref BLE_EVT_USER_MEM_REQUEST event issued to the application.
+ *
+ * @param[in] conn_handle                 Connection handle.
+ * @param[in] p_block                     Pointer to a user memory block structure.
+ *
+ * @return @ref NRF_SUCCESS               Successfully queued a response to the peer.
+ * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid Connection Handle.
+ * @return @ref NRF_ERROR_INVALID_STATE   No execute write request pending.
+ */
+SVCALL(SD_BLE_USER_MEM_REPLY, uint32_t, sd_ble_user_mem_reply(uint16_t conn_handle, ble_user_mem_block_t *p_block));
+
+
+/**@brief Set a BLE option.
+ *
+ * @details This call allows the application to set the value of an option.
+ *
+ * @param[in] opt_id Option ID.
+ * @param[in] p_opt Pointer to a ble_opt_t structure containing the option value.
+ *
+ * @retval ::NRF_SUCCESS  Option set successfully.
+ * @retval ::NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
+ * @retval ::BLE_ERROR_INVALID_CONN_HANDLE Invalid Connection Handle.
+ * @retval ::NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied, check parameter limits and constraints.
+ * @retval ::NRF_ERROR_INVALID_STATE Unable to set the parameter at this time.
+ * @retval ::NRF_ERROR_BUSY The stack is busy or the previous procedure has not completed.
+ */
+SVCALL(SD_BLE_OPT_SET, uint32_t, sd_ble_opt_set(uint32_t opt_id, ble_opt_t const *p_opt));
+
+
+/**@brief Get a BLE option.
+ *
+ * @details This call allows the application to retrieve the value of an option.
+ *
+ * @param[in] opt_id Option ID.
+ * @param[out] p_opt Pointer to a ble_opt_t structure to be filled in.
+ *
+ * @retval ::NRF_SUCCESS  Option retrieved successfully.
+ * @retval ::NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
+ * @retval ::BLE_ERROR_INVALID_CONN_HANDLE Invalid Connection Handle.
+ * @retval ::NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied, check parameter limits and constraints.
+ * @retval ::NRF_ERROR_INVALID_STATE Unable to retrieve the parameter at this time.
+ * @retval ::NRF_ERROR_BUSY The stack is busy or the previous procedure has not completed.
+ * @retval ::NRF_ERROR_NOT_SUPPORTED This option is not supported.
+ *
+ */
+SVCALL(SD_BLE_OPT_GET, uint32_t, sd_ble_opt_get(uint32_t opt_id, ble_opt_t *p_opt));
+
+/** @} */
+
+#endif /* BLE_H__ */
+
+/**
+  @}
+  @}
+*/
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TARGET_NRF51822/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/ble_err.h	Fri Aug 15 15:28:31 2014 +0100
@@ -0,0 +1,54 @@
+/*
+ * Copyright (c) 2012 Nordic Semiconductor. All Rights Reserved.
+ *
+ * The information contained herein is confidential property of Nordic Semiconductor. The use,
+ * copying, transfer or disclosure of such information is prohibited except by express written
+ * agreement with Nordic Semiconductor.
+ *
+ */
+ /**
+  @addtogroup BLE_COMMON
+  @{
+  @addtogroup  nrf_error
+  @{
+    @ingroup BLE_COMMON
+  @}
+
+  @defgroup ble_err General error codes
+  @{
+
+  @brief General error code definitions for the BLE API.
+
+  @ingroup BLE_COMMON
+*/
+#ifndef NRF_BLE_ERR_H__
+#define NRF_BLE_ERR_H__
+
+#include "nrf_error.h"
+
+/* @defgroup BLE_ERRORS Error Codes
+ * @{ */
+#define BLE_ERROR_NOT_ENABLED            (NRF_ERROR_STK_BASE_NUM+0x001) /**< @ref sd_ble_enable has not been called. */
+#define BLE_ERROR_INVALID_CONN_HANDLE    (NRF_ERROR_STK_BASE_NUM+0x002) /**< Invalid connection handle. */
+#define BLE_ERROR_INVALID_ATTR_HANDLE    (NRF_ERROR_STK_BASE_NUM+0x003) /**< Invalid attribute handle. */
+#define BLE_ERROR_NO_TX_BUFFERS          (NRF_ERROR_STK_BASE_NUM+0x004) /**< Buffer capacity exceeded. */
+/** @} */
+
+
+/** @defgroup BLE_ERROR_SUBRANGES Module specific error code subranges
+ *  @brief Assignment of subranges for module specific error codes.
+ *  @note For specific error codes, see ble_<module>.h or ble_error_<module>.h.
+ * @{ */
+#define NRF_L2CAP_ERR_BASE             (NRF_ERROR_STK_BASE_NUM+0x100) /**< L2CAP specific errors. */
+#define NRF_GAP_ERR_BASE               (NRF_ERROR_STK_BASE_NUM+0x200) /**< GAP specific errors. */
+#define NRF_GATTC_ERR_BASE             (NRF_ERROR_STK_BASE_NUM+0x300) /**< GATT client specific errors. */
+#define NRF_GATTS_ERR_BASE             (NRF_ERROR_STK_BASE_NUM+0x400) /**< GATT server specific errors. */
+/** @} */
+
+#endif
+
+
+/**
+  @}
+  @}
+*/
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TARGET_NRF51822/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/ble_gap.h	Fri Aug 15 15:28:31 2014 +0100
@@ -0,0 +1,1032 @@
+/* Copyright (c) 2011 Nordic Semiconductor. All Rights Reserved.
+ *
+ * The information contained herein is confidential property of Nordic Semiconductor. The use,
+ * copying, transfer or disclosure of such information is prohibited except by express written
+ * agreement with Nordic Semiconductor.
+ *
+ */
+/**
+  @addtogroup BLE_GAP Generic Access Profile (GAP)
+  @{
+  @brief Definitions and prototypes for the GAP interface.
+ */
+
+#ifndef BLE_GAP_H__
+#define BLE_GAP_H__
+
+#include "ble_types.h"
+#include "ble_ranges.h"
+#include "nrf_svc.h"
+
+
+/**@addtogroup BLE_GAP_ENUMERATIONS Enumerations 
+ * @{ */
+
+/**@brief GAP API SVC numbers.
+ */
+enum BLE_GAP_SVCS
+{
+  SD_BLE_GAP_ADDRESS_SET  = BLE_GAP_SVC_BASE,  /**< Set own Bluetooth Address. */
+  SD_BLE_GAP_ADDRESS_GET,                      /**< Get own Bluetooth Address. */
+  SD_BLE_GAP_ADV_DATA_SET,                     /**< Set Advertisement Data. */
+  SD_BLE_GAP_ADV_START,                        /**< Start Advertising. */
+  SD_BLE_GAP_ADV_STOP,                         /**< Stop Advertising. */
+  SD_BLE_GAP_CONN_PARAM_UPDATE,                /**< Connection Parameter Update. */
+  SD_BLE_GAP_DISCONNECT,                       /**< Disconnect. */
+  SD_BLE_GAP_TX_POWER_SET,                     /**< Set TX Power. */
+  SD_BLE_GAP_APPEARANCE_SET,                   /**< Set Appearance. */
+  SD_BLE_GAP_APPEARANCE_GET,                   /**< Get Appearance. */
+  SD_BLE_GAP_PPCP_SET,                         /**< Set PPCP. */
+  SD_BLE_GAP_PPCP_GET,                         /**< Get PPCP. */
+  SD_BLE_GAP_DEVICE_NAME_SET,                  /**< Set Device Name. */
+  SD_BLE_GAP_DEVICE_NAME_GET,                  /**< Get Device Name. */
+  SD_BLE_GAP_AUTHENTICATE,                     /**< Initiate Pairing/Bonding. */
+  SD_BLE_GAP_SEC_PARAMS_REPLY,                 /**< Reply with Security Parameters. */
+  SD_BLE_GAP_AUTH_KEY_REPLY,                   /**< Reply with an authentication key. */
+  SD_BLE_GAP_SEC_INFO_REPLY,                   /**< Reply with Security Information. */
+  SD_BLE_GAP_CONN_SEC_GET,                     /**< Obtain connection security level. */
+  SD_BLE_GAP_RSSI_START,                       /**< Start reporting of changes in RSSI. */ 
+  SD_BLE_GAP_RSSI_STOP,                        /**< Stop reporting of changes in RSSI. */ 
+};
+/**@} */
+
+/**@addtogroup BLE_GAP_DEFINES Defines
+ * @{ */
+
+/**@defgroup BLE_ERRORS_GAP SVC return values specific to GAP
+ * @{ */
+#define BLE_ERROR_GAP_UUID_LIST_MISMATCH            (NRF_GAP_ERR_BASE + 0x000)  /**< UUID list does not contain an integral number of UUIDs. */
+#define BLE_ERROR_GAP_DISCOVERABLE_WITH_WHITELIST   (NRF_GAP_ERR_BASE + 0x001)  /**< Use of Whitelist not permitted with discoverable advertising. */
+#define BLE_ERROR_GAP_INVALID_BLE_ADDR              (NRF_GAP_ERR_BASE + 0x002)  /**< The upper two bits of the address do not correspond to the specified address type. */
+/**@} */
+
+
+/**@defgroup BLE_GAP_ROLES GAP Roles
+ * @note Not explicitly used in peripheral API, but will be relevant for central API.
+ * @{ */
+#define BLE_GAP_ROLE_INVALID     0x0            /**< Invalid Role. */
+#define BLE_GAP_ROLE_PERIPH      0x1            /**< Peripheral Role. */
+#define BLE_GAP_ROLE_CENTRAL     0x2            /**< Central Role. */
+/**@} */
+
+
+/**@defgroup BLE_GAP_TIMEOUT_SOURCES GAP Timeout sources
+ * @{ */
+#define BLE_GAP_TIMEOUT_SRC_ADVERTISEMENT              0x00 /**< Advertisement timeout. */
+#define BLE_GAP_TIMEOUT_SRC_SECURITY_REQUEST           0x01 /**< Security request timeout. */
+/**@} */
+
+
+/**@defgroup BLE_GAP_ADDR_TYPES GAP Address types
+ * @{ */
+#define BLE_GAP_ADDR_TYPE_PUBLIC                        0x00 /**< Public address. */
+#define BLE_GAP_ADDR_TYPE_RANDOM_STATIC                 0x01 /**< Random Static address. */
+#define BLE_GAP_ADDR_TYPE_RANDOM_PRIVATE_RESOLVABLE     0x02 /**< Private Resolvable address. */
+#define BLE_GAP_ADDR_TYPE_RANDOM_PRIVATE_NON_RESOLVABLE 0x03 /**< Private Non-Resolvable address. */
+/**@} */
+
+/**@defgroup BLE_GAP_ADDR_CYCLE_MODES GAP Address cycle modes
+ * @{ */
+#define BLE_GAP_ADDR_CYCLE_MODE_NONE      0x00 /**< Set addresses directly, no automatic address cycling. */
+#define BLE_GAP_ADDR_CYCLE_MODE_AUTO      0x01 /**< Automatically generate and update private addresses. */
+/** @} */
+
+/**@brief The default interval in seconds at which a private address is refreshed when address cycle mode is @ref BLE_GAP_ADDR_CYCLE_MODE_AUTO.  */
+#define BLE_GAP_DEFAULT_PRIVATE_ADDR_CYCLE_INTERVAL_S (60 * 15)
+
+/** @brief BLE address length. */
+#define BLE_GAP_ADDR_LEN            6
+
+
+/**@defgroup BLE_GAP_AD_TYPE_DEFINITIONS GAP Advertising and Scan Response Data format
+ * @note Found at https://www.bluetooth.org/Technical/AssignedNumbers/generic_access_profile.htm
+ * @{ */
+#define BLE_GAP_AD_TYPE_FLAGS                               0x01 /**< Flags for discoverability. */
+#define BLE_GAP_AD_TYPE_16BIT_SERVICE_UUID_MORE_AVAILABLE   0x02 /**< Partial list of 16 bit service UUIDs. */
+#define BLE_GAP_AD_TYPE_16BIT_SERVICE_UUID_COMPLETE         0x03 /**< Complete list of 16 bit service UUIDs. */
+#define BLE_GAP_AD_TYPE_32BIT_SERVICE_UUID_MORE_AVAILABLE   0x04 /**< Partial list of 32 bit service UUIDs. */
+#define BLE_GAP_AD_TYPE_32BIT_SERVICE_UUID_COMPLETE         0x05 /**< Complete list of 32 bit service UUIDs. */
+#define BLE_GAP_AD_TYPE_128BIT_SERVICE_UUID_MORE_AVAILABLE  0x06 /**< Partial list of 128 bit service UUIDs. */
+#define BLE_GAP_AD_TYPE_128BIT_SERVICE_UUID_COMPLETE        0x07 /**< Complete list of 128 bit service UUIDs. */
+#define BLE_GAP_AD_TYPE_SHORT_LOCAL_NAME                    0x08 /**< Short local device name. */
+#define BLE_GAP_AD_TYPE_COMPLETE_LOCAL_NAME                 0x09 /**< Complete local device name. */
+#define BLE_GAP_AD_TYPE_TX_POWER_LEVEL                      0x0A /**< Transmit power level. */
+#define BLE_GAP_AD_TYPE_CLASS_OF_DEVICE                     0x0D /**< Class of device. */
+#define BLE_GAP_AD_TYPE_SIMPLE_PAIRING_HASH_C               0x0E /**< Simple Pairing Hash C. */
+#define BLE_GAP_AD_TYPE_SIMPLE_PAIRING_RANDOMIZER_R         0x0F /**< Simple Pairing Randomizer R. */
+#define BLE_GAP_AD_TYPE_SECURITY_MANAGER_TK_VALUE           0x10 /**< Security Manager TK Value. */
+#define BLE_GAP_AD_TYPE_SECURITY_MANAGER_OOB_FLAGS          0x11 /**< Security Manager Out Of Band Flags. */
+#define BLE_GAP_AD_TYPE_SLAVE_CONNECTION_INTERVAL_RANGE     0x12 /**< Slave Connection Interval Range. */
+#define BLE_GAP_AD_TYPE_SOLICITED_SERVICE_UUIDS_16BIT       0x14 /**< List of 16-bit Service Solicitation UUIDs. */
+#define BLE_GAP_AD_TYPE_SOLICITED_SERVICE_UUIDS_128BIT      0x15 /**< List of 128-bit Service Solicitation UUIDs. */
+#define BLE_GAP_AD_TYPE_SERVICE_DATA                        0x16 /**< Service Data - 16-bit UUID. */
+#define BLE_GAP_AD_TYPE_PUBLIC_TARGET_ADDRESS               0x17 /**< Public Target Address. */
+#define BLE_GAP_AD_TYPE_RANDOM_TARGET_ADDRESS               0x18 /**< Random Target Address. */
+#define BLE_GAP_AD_TYPE_APPEARANCE                          0x19 /**< Appearance. */
+#define BLE_GAP_AD_TYPE_ADVERTISING_INTERVAL                0x1A /**< Advertising Interval. */ 
+#define BLE_GAP_AD_TYPE_LE_BLUETOOTH_DEVICE_ADDRESS         0x1B /**< LE Bluetooth Device Address. */
+#define BLE_GAP_AD_TYPE_LE_ROLE                             0x1C /**< LE Role. */
+#define BLE_GAP_AD_TYPE_SIMPLE_PAIRING_HASH_C256            0x1D /**< Simple Pairing Hash C-256. */
+#define BLE_GAP_AD_TYPE_SIMPLE_PAIRING_RANDOMIZER_R256      0x1E /**< Simple Pairing Randomizer R-256. */
+#define BLE_GAP_AD_TYPE_SERVICE_DATA_32BIT_UUID             0x20 /**< Service Data - 32-bit UUID. */
+#define BLE_GAP_AD_TYPE_SERVICE_DATA_128BIT_UUID            0x21 /**< Service Data - 128-bit UUID. */
+#define BLE_GAP_AD_TYPE_3D_INFORMATION_DATA                 0x3D /**< 3D Information Data. */
+#define BLE_GAP_AD_TYPE_MANUFACTURER_SPECIFIC_DATA          0xFF /**< Manufacturer Specific Data. */
+/**@} */
+
+
+/**@defgroup BLE_GAP_ADV_FLAGS GAP Advertisement Flags
+ * @{ */
+#define BLE_GAP_ADV_FLAG_LE_LIMITED_DISC_MODE         (0x01)   /**< LE Limited Discoverable Mode. */
+#define BLE_GAP_ADV_FLAG_LE_GENERAL_DISC_MODE         (0x02)   /**< LE General Discoverable Mode. */
+#define BLE_GAP_ADV_FLAG_BR_EDR_NOT_SUPPORTED         (0x04)   /**< BR/EDR not supported. */
+#define BLE_GAP_ADV_FLAG_LE_BR_EDR_CONTROLLER         (0x08)   /**< Simultaneous LE and BR/EDR, Controller. */
+#define BLE_GAP_ADV_FLAG_LE_BR_EDR_HOST               (0x10)   /**< Simultaneous LE and BR/EDR, Host. */
+#define BLE_GAP_ADV_FLAGS_LE_ONLY_LIMITED_DISC_MODE   (BLE_GAP_ADV_FLAG_LE_LIMITED_DISC_MODE | BLE_GAP_ADV_FLAG_BR_EDR_NOT_SUPPORTED)   /**< LE Limited Discoverable Mode, BR/EDR not supported. */
+#define BLE_GAP_ADV_FLAGS_LE_ONLY_GENERAL_DISC_MODE   (BLE_GAP_ADV_FLAG_LE_GENERAL_DISC_MODE | BLE_GAP_ADV_FLAG_BR_EDR_NOT_SUPPORTED)   /**< LE General Discoverable Mode, BR/EDR not supported. */
+/**@} */
+
+
+/**@defgroup BLE_GAP_ADV_INTERVALS GAP Advertising interval max and min
+ * @{ */
+#define BLE_GAP_ADV_INTERVAL_MIN        0x0020 /**< Minimum Advertising interval in 625 us units, i.e. 20 ms. */
+#define BLE_GAP_ADV_NONCON_INTERVAL_MIN 0x00A0 /**< Minimum Advertising interval in 625 us units for non connectable mode, i.e. 100 ms. */
+#define BLE_GAP_ADV_INTERVAL_MAX        0x4000 /**< Maximum Advertising interval in 625 us units, i.e. 10.24 s. */
+ /**@}  */
+
+
+/**@brief Maximum size of advertising data in octets. */
+#define  BLE_GAP_ADV_MAX_SIZE       31
+
+
+/**@defgroup BLE_GAP_ADV_TYPES GAP Advertising types
+ * @{ */
+#define BLE_GAP_ADV_TYPE_ADV_IND          0x00   /**< Connectable undirected. */
+#define BLE_GAP_ADV_TYPE_ADV_DIRECT_IND   0x01   /**< Connectable directed. */
+#define BLE_GAP_ADV_TYPE_ADV_SCAN_IND     0x02   /**< Scannable undirected. */
+#define BLE_GAP_ADV_TYPE_ADV_NONCONN_IND  0x03   /**< Non connectable undirected. */
+/**@} */
+
+
+/**@defgroup BLE_GAP_ADV_FILTER_POLICIES GAP Advertising filter policies
+ * @{ */
+#define BLE_GAP_ADV_FP_ANY                0x00   /**< Allow scan requests and connect requests from any device. */
+#define BLE_GAP_ADV_FP_FILTER_SCANREQ     0x01   /**< Filter scan requests with whitelist. */
+#define BLE_GAP_ADV_FP_FILTER_CONNREQ     0x02   /**< Filter connect requests with whitelist. */
+#define BLE_GAP_ADV_FP_FILTER_BOTH        0x03   /**< Filter both scan and connect requests with whitelist. */
+/**@} */
+
+
+/**@defgroup BLE_GAP_ADV_TIMEOUT_VALUES GAP Advertising timeout values
+ * @{ */
+#define BLE_GAP_ADV_TIMEOUT_LIMITED_MAX      180 /**< Maximum advertising time in limited discoverable mode (TGAP(lim_adv_timeout) = 180s in spec (Addendum 2)). */
+#define BLE_GAP_ADV_TIMEOUT_GENERAL_UNLIMITED  0 /**< Unlimited advertising in general discoverable mode. */
+/**@} */
+
+
+/**@defgroup BLE_GAP_DISC_MODES GAP Discovery modes
+ * @{ */
+#define BLE_GAP_DISC_MODE_NOT_DISCOVERABLE  0x00   /**< Not discoverable discovery Mode. */
+#define BLE_GAP_DISC_MODE_LIMITED           0x01   /**< Limited Discovery Mode. */
+#define BLE_GAP_DISC_MODE_GENERAL           0x02   /**< General Discovery Mode. */
+/**@} */
+
+/**@defgroup BLE_GAP_IO_CAPS GAP IO Capabilities
+ * @{ */
+#define BLE_GAP_IO_CAPS_DISPLAY_ONLY      0x00   /**< Display Only. */
+#define BLE_GAP_IO_CAPS_DISPLAY_YESNO     0x01   /**< Display and Yes/No entry. */
+#define BLE_GAP_IO_CAPS_KEYBOARD_ONLY     0x02   /**< Keyboard Only. */
+#define BLE_GAP_IO_CAPS_NONE              0x03   /**< No I/O capabilities. */
+#define BLE_GAP_IO_CAPS_KEYBOARD_DISPLAY  0x04   /**< Keyboard and Display. */
+/**@} */
+
+
+/**@defgroup BLE_GAP_AUTH_KEY_TYPES GAP Authentication Key Types
+ * @{ */
+#define BLE_GAP_AUTH_KEY_TYPE_NONE        0x00   /**< No key (may be used to reject). */
+#define BLE_GAP_AUTH_KEY_TYPE_PASSKEY     0x01   /**< 6-digit Passkey. */
+#define BLE_GAP_AUTH_KEY_TYPE_OOB         0x02   /**< Out Of Band data. */
+/**@} */
+
+/**@defgroup BLE_GAP_SEC_STATUS GAP Security status
+ * @{ */
+#define BLE_GAP_SEC_STATUS_SUCCESS                0x00  /**< Successful parameters. */
+#define BLE_GAP_SEC_STATUS_TIMEOUT                0x01  /**< Procedure timed out. */
+#define BLE_GAP_SEC_STATUS_PDU_INVALID            0x02  /**< Invalid PDU received. */
+#define BLE_GAP_SEC_STATUS_PASSKEY_ENTRY_FAILED   0x81  /**< Passkey entry failed (user cancelled or other). */
+#define BLE_GAP_SEC_STATUS_OOB_NOT_AVAILABLE      0x82  /**< Out of Band Key not available. */
+#define BLE_GAP_SEC_STATUS_AUTH_REQ               0x83  /**< Authentication requirements not met. */
+#define BLE_GAP_SEC_STATUS_CONFIRM_VALUE          0x84  /**< Confirm value failed. */
+#define BLE_GAP_SEC_STATUS_PAIRING_NOT_SUPP       0x85  /**< Pairing not supported.  */
+#define BLE_GAP_SEC_STATUS_ENC_KEY_SIZE           0x86  /**< Encryption key size. */
+#define BLE_GAP_SEC_STATUS_SMP_CMD_UNSUPPORTED    0x87  /**< Unsupported SMP command. */
+#define BLE_GAP_SEC_STATUS_UNSPECIFIED            0x88  /**< Unspecified reason. */
+#define BLE_GAP_SEC_STATUS_REPEATED_ATTEMPTS      0x89  /**< Too little time elapsed since last attempt. */
+#define BLE_GAP_SEC_STATUS_INVALID_PARAMS         0x8A  /**< Invalid parameters. */
+/**@} */
+
+/**@defgroup BLE_GAP_SEC_STATUS_SOURCES GAP Security status sources
+ * @{ */
+#define BLE_GAP_SEC_STATUS_SOURCE_LOCAL           0x00  /**< Local failure. */
+#define BLE_GAP_SEC_STATUS_SOURCE_REMOTE          0x01  /**< Remote failure. */
+/**@} */
+
+/**@defgroup BLE_GAP_CP_LIMITS GAP Connection Parameters Limits
+ * @{ */
+#define BLE_GAP_CP_MIN_CONN_INTVL_NONE           0xFFFF  /**< No new minimum connction interval specified in connect parameters. */
+#define BLE_GAP_CP_MIN_CONN_INTVL_MIN            0x0006  /**< Lowest mimimum connection interval permitted, in units of 1.25 ms, i.e. 7.5 ms. */
+#define BLE_GAP_CP_MIN_CONN_INTVL_MAX            0x0C80  /**< Highest minimum connection interval permitted, in units of 1.25 ms, i.e. 4 s. */
+#define BLE_GAP_CP_MAX_CONN_INTVL_NONE           0xFFFF  /**< No new maximum connction interval specified in connect parameters. */
+#define BLE_GAP_CP_MAX_CONN_INTVL_MIN            0x0006  /**< Lowest maximum connection interval permitted, in units of 1.25 ms, i.e. 7.5 ms. */
+#define BLE_GAP_CP_MAX_CONN_INTVL_MAX            0x0C80  /**< Highest maximum connection interval permitted, in units of 1.25 ms, i.e. 4 s. */
+#define BLE_GAP_CP_SLAVE_LATENCY_MAX             0x03E8  /**< Highest slave latency permitted, in connection events. */
+#define BLE_GAP_CP_CONN_SUP_TIMEOUT_NONE         0xFFFF  /**< No new supervision timeout specified in connect parameters. */
+#define BLE_GAP_CP_CONN_SUP_TIMEOUT_MIN          0x000A  /**< Lowest supervision timeout permitted, in units of 10 ms, i.e. 100 ms. */
+#define BLE_GAP_CP_CONN_SUP_TIMEOUT_MAX          0x0C80  /**< Highest supervision timeout permitted, in units of 10 ms, i.e. 32 s. */
+/**@} */
+
+
+/**@brief GAP device name maximum length. */
+#define BLE_GAP_DEVNAME_MAX_LEN           31
+
+
+/**@defgroup BLE_GAP_CONN_SEC_MODE_SET_MACROS GAP attribute security requirement setters
+ *
+ * See @ref ble_gap_conn_sec_mode_t.
+ * @{ */
+/**@brief Set sec_mode pointed to by ptr to have no access rights.*/
+#define BLE_GAP_CONN_SEC_MODE_SET_NO_ACCESS(ptr)         do {(ptr)->sm = 0; (ptr)->lv = 0;} while(0)
+/**@brief Set sec_mode pointed to by ptr to require no protection, open link.*/
+#define BLE_GAP_CONN_SEC_MODE_SET_OPEN(ptr)              do {(ptr)->sm = 1; (ptr)->lv = 1;} while(0)
+/**@brief Set sec_mode pointed to by ptr to require encryption, but no MITM protection.*/
+#define BLE_GAP_CONN_SEC_MODE_SET_ENC_NO_MITM(ptr)       do {(ptr)->sm = 1; (ptr)->lv = 2;} while(0)
+/**@brief Set sec_mode pointed to by ptr to require encryption and MITM protection.*/
+#define BLE_GAP_CONN_SEC_MODE_SET_ENC_WITH_MITM(ptr)     do {(ptr)->sm = 1; (ptr)->lv = 3;} while(0)
+/**@brief Set sec_mode pointed to by ptr to require signing or encryption, no MITM protection needed.*/
+#define BLE_GAP_CONN_SEC_MODE_SET_SIGNED_NO_MITM(ptr)    do {(ptr)->sm = 2; (ptr)->lv = 1;} while(0)
+/**@brief Set sec_mode pointed to by ptr to require signing or encryption with MITM protection.*/
+#define BLE_GAP_CONN_SEC_MODE_SET_SIGNED_WITH_MITM(ptr)  do {(ptr)->sm = 2; (ptr)->lv = 2;} while(0)
+/**@} */
+
+
+/**@brief GAP Security Key Length. */
+#define BLE_GAP_SEC_KEY_LEN 16
+
+/**@brief GAP Passkey Length. */
+#define BLE_GAP_PASSKEY_LEN 6
+
+/**@brief Maximum amount of addresses in a whitelist. */
+#define BLE_GAP_WHITELIST_ADDR_MAX_COUNT (8)
+
+/**@brief Maximum amount of IRKs in a whitelist.
+ * @note  The number of IRKs is limited to 8, even if the hardware supports more.
+ */
+#define BLE_GAP_WHITELIST_IRK_MAX_COUNT (8)
+
+/**@defgroup GAP_SEC_MODES GAP Security Modes
+ * @{ */
+#define BLE_GAP_SEC_MODE 0x00 /**< No key (may be used to reject). */
+/**@} */
+
+/**@} */
+
+/**@addtogroup BLE_GAP_STRUCTURES Structures
+ * @{ */
+
+/**@brief Bluetooth Low Energy address. */
+typedef struct
+{
+  uint8_t addr_type;                    /**< See @ref BLE_GAP_ADDR_TYPES. */
+  uint8_t addr[BLE_GAP_ADDR_LEN];       /**< 48-bit address, LSB format. */
+} ble_gap_addr_t;
+
+
+/**@brief GAP connection parameters.
+ *
+ * @note  When ble_conn_params_t is received in an event, both min_conn_interval and
+ *        max_conn_interval will be equal to the connection interval set by the central.
+ */
+typedef struct
+{
+  uint16_t min_conn_interval;         /**< Minimum Connection Interval in 1.25 ms units, see @ref BLE_GAP_CP_LIMITS.*/
+  uint16_t max_conn_interval;         /**< Maximum Connection Interval in 1.25 ms units, see @ref BLE_GAP_CP_LIMITS.*/
+  uint16_t slave_latency;             /**< Slave Latency in number of connection events, see @ref BLE_GAP_CP_LIMITS.*/
+  uint16_t conn_sup_timeout;          /**< Connection Supervision Timeout in 10 ms units, see @ref BLE_GAP_CP_LIMITS.*/
+} ble_gap_conn_params_t;
+
+
+/**@brief GAP link requirements.
+ *
+ * See Bluetooth Core specification, Volume 3 Part C 10.2 for details.
+ *
+ * Security Mode 0 Level 0: No access permissions at all (this level is not defined by the Bluetooth Core specification).\n
+ * Security Mode 1 Level 1: No security is needed (aka open link).\n
+ * Security Mode 1 Level 2: Encrypted link required, MITM protection not necessary.\n
+ * Security Mode 1 Level 3: MITM protected encrypted link required.\n
+ * Security Mode 2 Level 1: Signing or encryption required, MITM protection not necessary.\n
+ * Security Mode 2 Level 2: MITM protected signing required, unless link is MITM protected encrypted.\n
+ */
+typedef struct
+{
+  uint8_t sm : 4;                     /**< Security Mode (1 or 2), 0 for no permissions at all. */
+  uint8_t lv : 4;                     /**< Level (1, 2 or 3), 0 for no permissions at all. */
+
+} ble_gap_conn_sec_mode_t;
+
+
+/**@brief GAP connection security status.*/
+typedef struct
+{
+  ble_gap_conn_sec_mode_t sec_mode;           /**< Currently active security mode for this connection.*/
+  uint8_t                 encr_key_size;      /**< Length of currently active encryption key, 7 to 16 octets (only applicable for bonding procedures). */
+} ble_gap_conn_sec_t;
+
+
+/**@brief Identity Resolving Key. */
+typedef struct
+{
+  uint8_t irk[BLE_GAP_SEC_KEY_LEN];   /**< Array containing IRK. */
+} ble_gap_irk_t;
+
+
+/**@brief Whitelist structure. */
+typedef struct
+{
+  ble_gap_addr_t   ** pp_addrs;        /**< Pointer to array of device address pointers, pointing to addresses to be used in whitelist. NULL if none are given. */
+  uint8_t             addr_count;      /**< Count of device addresses in array, up to @ref BLE_GAP_WHITELIST_ADDR_MAX_COUNT. */
+  ble_gap_irk_t    ** pp_irks;         /**< Pointer to array of Identity Resolving Key (IRK) pointers, each pointing to an IRK in the whitelist. NULL if none are given. */
+  uint8_t             irk_count;       /**< Count of IRKs in array, up to @ref BLE_GAP_WHITELIST_IRK_MAX_COUNT. */
+} ble_gap_whitelist_t;
+
+
+/**@brief GAP advertising parameters.*/
+typedef struct
+{
+  uint8_t               type;                 /**< See @ref BLE_GAP_ADV_TYPES. */
+  ble_gap_addr_t*       p_peer_addr;          /**< For BLE_GAP_CONN_MODE_DIRECTED mode only, known peer address. */
+  uint8_t               fp;                   /**< Filter Policy, see @ref BLE_GAP_ADV_FILTER_POLICIES. */
+  ble_gap_whitelist_t * p_whitelist;          /**< Pointer to whitelist, NULL if none is given. */
+  uint16_t              interval;             /**< Advertising interval between 0x0020 and 0x4000 in 0.625 ms units (20ms to 10.24s), see @ref BLE_GAP_ADV_INTERVALS. This parameter must be set to 0 if type equals @ref BLE_GAP_ADV_TYPE_ADV_DIRECT_IND. */
+  uint16_t              timeout;              /**< Advertising timeout between 0x0001 and 0x3FFF in seconds, 0x0000 disables timeout. See also @ref BLE_GAP_ADV_TIMEOUT_VALUES. This parameter must be set to 0 if type equals @ref BLE_GAP_ADV_TYPE_ADV_DIRECT_IND. */
+} ble_gap_adv_params_t;
+
+
+/**@brief GAP scanning parameters. */
+typedef struct
+{
+  uint8_t    filter;                    /**< Filter based on discovery mode, see @ref BLE_GAP_DISC_MODES. */
+  uint8_t    active    : 1;             /**< If 1, perform active scanning (scan requests). */
+  uint8_t    selective : 1;             /**< If 1, ignore unknown devices (non whitelisted). */
+  uint16_t   interval;                  /**< Scan interval between 0x0020 and 0x4000 in 0.625ms units (20ms to 10.24s). */
+  uint16_t   window;                    /**< Scan window between 0x0004 and 0x4000 in 0.625ms units (2.5ms to 10.24s). */
+  uint16_t   timeout;                   /**< Scan timeout between 0x0001 and 0x3FFF in seconds, 0x0000 disables timeout. */
+} ble_gap_scan_params_t;
+
+
+/**@brief GAP security parameters. */
+typedef struct
+{
+  uint16_t   timeout;                   /**< Timeout for SMP transactions or Security Request in seconds, see @ref sd_ble_gap_authenticate and @ref sd_ble_gap_sec_params_reply for more information. */
+  uint8_t    bond    : 1;               /**< Perform bonding. */
+  uint8_t    mitm    : 1;               /**< Man In The Middle protection required. */
+  uint8_t    io_caps : 3;               /**< IO capabilities, see @ref BLE_GAP_IO_CAPS. */
+  uint8_t    oob     : 1;               /**< Out Of Band data available. */
+  uint8_t    min_key_size;              /**< Minimum encryption key size in octets between 7 and 16. */
+  uint8_t    max_key_size;              /**< Maximum encryption key size in octets between min_key_size and 16. */
+} ble_gap_sec_params_t;
+
+
+/**@brief GAP Encryption Information. */
+typedef struct
+{
+  uint16_t  div;                        /**< Encryption Diversifier. */
+  uint8_t   ltk[BLE_GAP_SEC_KEY_LEN];   /**< Long Term Key. */
+  uint8_t   auth : 1;                   /**< Authenticated Key. */
+  uint8_t   ltk_len : 7;                /**< LTK length in octets. */
+} ble_gap_enc_info_t;
+
+
+/**@brief GAP Master Identification. */
+typedef struct
+{
+  uint16_t  ediv;                       /**< Encrypted Diversifier. */
+  uint8_t   rand[8];                    /**< Random Number. */
+} ble_gap_master_id_t;
+
+
+/**@brief GAP Identity Information. */
+typedef struct
+{
+  ble_gap_addr_t  addr;                       /**< Bluetooth address to which this key applies. */
+  uint8_t         irk[BLE_GAP_SEC_KEY_LEN];   /**< Identity Resolution Key. */
+} ble_gap_id_info_t;
+
+
+/**@brief GAP Signing Information. */
+typedef struct
+{
+  uint8_t   csrk[BLE_GAP_SEC_KEY_LEN]; /* Connection Signature Resolving Key. */
+} ble_gap_sign_info_t;
+
+
+/**@brief GAP Event IDs.
+ * Those IDs uniquely identify an event coming from the stack to the application.
+ */
+enum BLE_GAP_EVTS
+{
+  BLE_GAP_EVT_CONNECTED  = BLE_GAP_EVT_BASE,    /**< Connection established. */
+  BLE_GAP_EVT_DISCONNECTED,                     /**< Disconnected from peer. */
+  BLE_GAP_EVT_CONN_PARAM_UPDATE,                /**< Connection Parameters updated. */
+  BLE_GAP_EVT_SEC_PARAMS_REQUEST,               /**< Request to provide security parameters. */
+  BLE_GAP_EVT_SEC_INFO_REQUEST,                 /**< Request to provide security information. */
+  BLE_GAP_EVT_PASSKEY_DISPLAY,                  /**< Request to display a passkey to the user. */
+  BLE_GAP_EVT_AUTH_KEY_REQUEST,                 /**< Request to provide an authentication key. */
+  BLE_GAP_EVT_AUTH_STATUS,                      /**< Authentication procedure completed with status. */
+  BLE_GAP_EVT_CONN_SEC_UPDATE,                  /**< Connection security updated. */
+  BLE_GAP_EVT_TIMEOUT,                          /**< Timeout expired. */
+  BLE_GAP_EVT_RSSI_CHANGED,                     /**< Signal strength measurement report. */
+};
+
+
+/**
+ * @brief GAP Option IDs.
+ * IDs that uniquely identify a GAP option.
+ */
+enum BLE_GAP_OPTS
+{
+  BLE_GAP_OPT_LOCAL_CONN_LATENCY  = BLE_GAP_OPT_BASE,    /**< Local connection latency. */
+  BLE_GAP_OPT_PASSKEY,                                   /**< Set passkey to be used during pairing. This option can be used to make the SoftDevice use an application provided passkey instead of generating a random passkey.*/
+  BLE_GAP_OPT_PRIVACY,                                   /**< Set or get custom IRK or custom private address cycle interval. */
+};
+/**@} */
+
+
+/**@brief Event data for connected event. */
+typedef struct
+{
+  ble_gap_addr_t        peer_addr;              /**< Bluetooth address of the peer device. */
+  uint8_t               irk_match :1;           /**< If 1, peer device's address resolved using an IRK. */
+  uint8_t               irk_match_idx  :7;      /**< Index in IRK list where the address was matched. */
+  ble_gap_conn_params_t conn_params;            /**< GAP Connection Parameters. */
+} ble_gap_evt_connected_t;
+
+
+/**@brief Event data for disconnected event. */
+typedef struct
+{
+  uint8_t reason;                               /**< HCI error code. */
+} ble_gap_evt_disconnected_t;
+
+
+/**@brief Event data for connection parameter update event. */
+typedef struct
+{
+  ble_gap_conn_params_t conn_params;            /**<  GAP Connection Parameters. */
+} ble_gap_evt_conn_param_update_t;
+
+
+/**@brief Event data for security parameters request event. */
+typedef struct
+{
+  ble_gap_sec_params_t peer_params;             /**< Initiator Security Parameters. */
+} ble_gap_evt_sec_params_request_t;
+
+
+/**@brief Event data for security info request event. */
+typedef struct
+{
+  ble_gap_addr_t peer_addr;                     /**< Bluetooth address of the peer device. */
+  uint16_t       div;                           /**< Encryption diversifier for LTK lookup. */
+  uint8_t        enc_info  : 1;                 /**< If 1, Encryption Information required. */
+  uint8_t        id_info   : 1;                 /**< If 1, Identity Information required. */
+  uint8_t        sign_info : 1;                 /**< If 1, Signing Information required. */
+} ble_gap_evt_sec_info_request_t;
+
+
+/**@brief Event data for passkey display event. */
+typedef struct
+{
+  uint8_t passkey[BLE_GAP_PASSKEY_LEN];         /**< 6-digit passkey in ASCII ('0'-'9' digits only). */
+} ble_gap_evt_passkey_display_t;
+
+
+/**@brief Event data for authentication key request event. */
+typedef struct
+{
+  uint8_t key_type;                             /**< See @ref BLE_GAP_AUTH_KEY_TYPES. */
+} ble_gap_evt_auth_key_request_t;
+
+
+/**@brief Security levels supported.
+ * @note See Bluetooth Specification Version 4.1 Volume 3, Part C, Chapter 10.
+*/
+typedef struct
+{
+  uint8_t lv1 : 1;                              /**< If 1: Level 1 is supported. */
+  uint8_t lv2 : 1;                              /**< If 1: Level 2 is supported. */
+  uint8_t lv3 : 1;                              /**< If 1: Level 3 is supported. */
+} ble_gap_sec_levels_t;
+
+
+/**@brief Keys that have been exchanged. */
+typedef struct
+{
+  uint8_t ltk       : 1;                        /**< Long Term Key. */
+  uint8_t ediv_rand : 1;                        /**< Encrypted Diversifier and Random value. */
+  uint8_t irk       : 1;                        /**< Identity Resolving Key. */
+  uint8_t address   : 1;                        /**< Public or static random address. */
+  uint8_t csrk      : 1;                        /**< Connection Signature Resolving Key. */
+} ble_gap_sec_keys_t;
+
+
+/**@brief Event data for authentication status event. */
+typedef struct
+{
+  uint8_t               auth_status;            /**< Authentication status, see @ref BLE_GAP_SEC_STATUS. */
+  uint8_t               error_src;              /**< On error, source that caused the failure, see @ref BLE_GAP_SEC_STATUS_SOURCES. */
+  ble_gap_sec_levels_t  sm1_levels;             /**< Levels supported in Security Mode 1. */
+  ble_gap_sec_levels_t  sm2_levels;             /**< Levels supported in Security Mode 2. */
+  ble_gap_sec_keys_t    periph_kex;             /**< Bitmap stating which keys were exchanged (distributed) by the peripheral. */
+  ble_gap_sec_keys_t    central_kex;            /**< Bitmap stating which keys were exchanged (distributed) by the central. */
+  struct periph_keys_t
+  {
+    ble_gap_enc_info_t    enc_info;             /**< Peripheral's Encryption information. */
+  } periph_keys;                                /**< Actual keys distributed from the Peripheral to the Central. */ 
+  struct central_keys_t
+  {
+    ble_gap_irk_t         irk;                  /**< Central's IRK. */
+    ble_gap_addr_t        id_info;              /**< Central's Identity Info. */
+  } central_keys;                               /**< Actual keys distributed from the Central to the Peripheral. */
+} ble_gap_evt_auth_status_t;
+
+
+/**@brief Event data for connection security update event. */
+typedef struct
+{
+  ble_gap_conn_sec_t conn_sec;                  /**< Connection security level. */
+} ble_gap_evt_conn_sec_update_t;
+
+
+/**@brief Event data for timeout event. */
+typedef struct
+{
+  uint8_t src;                                  /**< Source of timeout event, see @ref BLE_GAP_TIMEOUT_SOURCES. */
+} ble_gap_evt_timeout_t;
+
+
+/**@brief Event data for advertisement report event. */
+typedef struct
+{
+  int8_t  rssi;                               /**< Received Signal Strength Indication in dBm. */
+} ble_gap_evt_rssi_changed_t;
+
+
+/**@brief GAP event callback event structure. */
+typedef struct
+{
+  uint16_t conn_handle;                                     /**< Connection Handle on which event occured. */
+  union                                                     /**< union alternative identified by evt_id in enclosing struct. */
+  {
+    ble_gap_evt_connected_t          connected;             /**< Connected Event Parameters. */
+    ble_gap_evt_disconnected_t       disconnected;          /**< Disconnected Event Parameters. */
+    ble_gap_evt_conn_param_update_t  conn_param_update;     /**< Connection Parameter Update Parameters. */
+    ble_gap_evt_sec_params_request_t sec_params_request;    /**< Security Parameters Request Event Parameters. */
+    ble_gap_evt_sec_info_request_t   sec_info_request;      /**< Security Information Request Event Parameters. */
+    ble_gap_evt_passkey_display_t    passkey_display;       /**< Passkey Display Event Parameters. */
+    ble_gap_evt_auth_key_request_t   auth_key_request;      /**< Authentication Key Request Event Parameters. */
+    ble_gap_evt_auth_status_t        auth_status;           /**< Authentication Status Event Parameters. */
+    ble_gap_evt_conn_sec_update_t    conn_sec_update;       /**< Connection Security Update Event Parameters. */
+    ble_gap_evt_timeout_t            timeout;               /**< Timeout Event Parameters. */
+    ble_gap_evt_rssi_changed_t       rssi_changed;          /**< RSSI Event parameters. */
+  } params;
+
+} ble_gap_evt_t;
+
+
+/**@brief Local connection latency option.
+ *
+ *         Local connection latency is a feature which enables the slave to improve
+ *         current consumption by ignoring the slave latency set by the peer. The
+ *         local connection latency can only be set to a multiple of the slave latency,
+ *         and cannot be longer than half of the supervision timeout.
+ *
+ *         Used with @ref sd_ble_opt_set to set the local connection latency. The
+ *         @ref sd_ble_opt_get is not supported for this option, but the actual 
+ *         local connection latency (unless set to NULL) is set as a return parameter
+ *         when setting the option.
+ *
+ *  @note  The latency set will be truncated down to the closest slave latency event
+ *         multiple, or the nearest multiple before half of the supervision timeout.
+ *
+ *  @note  The local connection latency is default off, and needs to be set for new
+ *         connections and whenever the connection is updated.
+ *
+ *  @retval ::NRF_SUCCESS Set successfully.
+ *  @retval ::NRF_ERROR_NOT_SUPPORTED Get is not supported.
+ *  @retval ::BLE_ERROR_INVALID_CONN_HANDLE Invalid connection handle parameter.
+ */
+typedef struct
+{
+  uint16_t   conn_handle;                       /**< Connection Handle */
+  uint16_t   requested_latency;                 /**< Requested local connection latency. */
+  uint16_t * p_actual_latency;                  /**< Pointer to storage for the actual local connection latency (can be set to NULL to skip return value). */
+} ble_gap_opt_local_conn_latency_t;
+
+
+/**@brief Passkey Option.
+ *
+ *        Structure containing the passkey to be used during pairing. This can be used with @ref
+ *        sd_ble_opt_set to make the SoftDevice use a pre-programmed passkey for authentication
+ *        instead of generating a random one.
+ *
+ * @note  @ref sd_ble_opt_get is not supported for this option.
+ *
+ */
+typedef struct
+{
+  uint8_t * p_passkey;                          /**< Pointer to 6-digit ASCII string (digit 0..9 only, no NULL termination) passkey to be used during pairing. If this is NULL, the SoftDevice will generate a random passkey if required.*/
+} ble_gap_opt_passkey_t;
+
+
+/**@brief Custom Privacy Options.
+ *
+ * @note The specified address cycle interval is used when the address cycle mode is
+ * @ref BLE_GAP_ADDR_CYCLE_MODE_AUTO. If 0 is given, the address will not be refreshed at any
+ * interval, and not at start of advertising. A new address can be generated manually by calling
+ * @ref sd_ble_gap_address_set with the same type again. The default interval is
+ * @ref BLE_GAP_DEFAULT_PRIVATE_ADDR_CYCLE_INTERVAL_S.
+ *
+ * @note If cycle mode is @ref BLE_GAP_ADDR_CYCLE_MODE_AUTO, the address will immediately be
+ * refreshed when this option is set.
+ */
+typedef struct
+{
+  ble_gap_irk_t * p_irk;        /**< When input: Pointer to custom IRK, or NULL to use/reset to the device's default IRK. When output: Pointer to where the current IRK is to be stored, or NULL to not read out the IRK. */
+  uint16_t        interval_s;   /**< When input: Custom private address cycle interval in seconds. When output: The current private address cycle interval. */
+} ble_gap_opt_privacy_t;
+
+
+/**@brief Option structure for GAP options. */
+typedef union
+{
+  ble_gap_opt_local_conn_latency_t local_conn_latency;  /**< Local connection latency. */
+  ble_gap_opt_passkey_t            passkey;             /**< Passkey to be used for pairing.*/
+  ble_gap_opt_privacy_t            privacy;             /**< Custom privacy options. */
+} ble_gap_opt_t;
+/**@} */
+
+
+/**@addtogroup BLE_GAP_FUNCTIONS Functions
+ * @{ */
+
+/**@brief Set local Bluetooth address.
+ *
+ * If the address cycle mode is @ref BLE_GAP_ADDR_CYCLE_MODE_AUTO, the address type is required to
+ * be @ref BLE_GAP_ADDR_TYPE_RANDOM_PRIVATE_RESOLVABLE or
+ * @ref BLE_GAP_ADDR_TYPE_RANDOM_PRIVATE_NON_RESOLVABLE. The given address is ignored and the
+ * SoftDevice will generate a new private address automatically every time advertising is
+ * (re)started, and every @ref BLE_GAP_DEFAULT_PRIVATE_ADDR_CYCLE_INTERVAL_S seconds. If this API
+ * call is used again with the same parameters while advertising, the SoftDevice will immediately
+ * generate a new private address to replace the current address.
+ *
+ * If the application wishes to use a @ref BLE_GAP_ADDR_TYPE_PUBLIC or
+ * @ref BLE_GAP_ADDR_TYPE_RANDOM_STATIC address, the cycle mode must be
+ * @ref BLE_GAP_ADDR_CYCLE_MODE_NONE.
+ *
+ * If this API function is called while advertising, the softdevice will immediately update the
+ * advertising address without the need to stop advertising in the following cases:
+ *   - If the previously set address is of type @ref BLE_GAP_ADDR_TYPE_PUBLIC and the new address
+ *   is also of type @ref BLE_GAP_ADDR_TYPE_PUBLIC
+ *   - If the previously set address is not @ref BLE_GAP_ADDR_TYPE_PUBLIC and the new address is
+ *   also not @ref BLE_GAP_ADDR_TYPE_PUBLIC.
+ *
+ * If the address is changed from a @ref BLE_GAP_ADDR_TYPE_PUBLIC address to another type or from
+ * another type to a @ref BLE_GAP_ADDR_TYPE_PUBLIC address, the change will take effect the next
+ * time advertising is started.
+ *
+ * @note If the address cycle mode is @ref BLE_GAP_ADDR_CYCLE_MODE_NONE and the application is
+ *       using privacy, the application must take care to generate and set new private addresses
+ *       periodically to comply with the Privacy specification in Bluetooth Core Spec.
+ *
+ * @param[in] addr_cycle_mode Address cycle mode, see @ref BLE_GAP_ADDR_CYCLE_MODES.
+ * @param[in] p_addr          Pointer to address structure.
+ *
+ * @return @ref NRF_SUCCESS Address successfully set.
+ * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
+ * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameters.
+ * @return @ref BLE_ERROR_GAP_INVALID_BLE_ADDR Invalid address.
+ * @return @ref NRF_ERROR_BUSY The stack is busy, process pending events and retry.
+ */
+SVCALL(SD_BLE_GAP_ADDRESS_SET, uint32_t, sd_ble_gap_address_set(uint8_t addr_cycle_mode, ble_gap_addr_t const * const p_addr));
+
+
+/**@brief Get local Bluetooth address.
+ *
+ * @param[out] p_addr Pointer to address structure.
+ *
+ * @return @ref NRF_SUCCESS Address successfully retrieved.
+ * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
+ */
+SVCALL(SD_BLE_GAP_ADDRESS_GET, uint32_t, sd_ble_gap_address_get(ble_gap_addr_t * const p_addr));
+
+
+/**@brief Set, clear or update advertisement and scan response data.
+ *
+ * @note The format of the advertisement data will be checked by this call to ensure interoperability.
+ *       Limitations imposed by this API call to the data provided include having a flags data type in the scan response data and
+ *       duplicating the local name in the advertisement data and scan response data. 
+ *
+ * @note: To clear the advertisement data and set it to a 0-length packet, simply provide a valid pointer (p_data/p_sr_data) with its corresponding 
+ *        length (dlen/srdlen) set to 0.
+ *
+ * @note: The call will fail if p_data and p_sr_data are both NULL since this would have no effect.
+ *
+ * @param[in] p_data    Raw data to be placed in advertisement packet. If NULL, no changes are made to the current advertisement packet data.
+ * @param[in] dlen      Data length for p_data. Max size: @ref BLE_GAP_ADV_MAX_SIZE octets. Should be 0 if p_data is NULL, can be 0 if p_data is not NULL.
+ * @param[in] p_sr_data Raw data to be placed in scan response packet. If NULL, no changes are made to the current scan response packet data.
+ * @param[in] srdlen    Data length for p_sr_data. Max size: @ref BLE_GAP_ADV_MAX_SIZE octets. Should be 0 if p_sr_data is NULL, can be 0 if p_data is not NULL.
+ *
+ * @return @ref NRF_SUCCESS Advertisement data successfully updated or cleared.
+ * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
+ * @return @ref NRF_ERROR_INVALID_FLAGS Invalid combination of advertising flags supplied.
+ * @return @ref NRF_ERROR_INVALID_DATA Invalid data type(s) supplied, check the advertising data format specification.
+ * @return @ref NRF_ERROR_INVALID_LENGTH Invalid data length(s) supplied.
+ * @return @ref BLE_ERROR_GAP_UUID_LIST_MISMATCH Invalid UUID list supplied.
+ * @return @ref NRF_ERROR_BUSY The stack is busy, process pending events and retry.
+ */
+SVCALL(SD_BLE_GAP_ADV_DATA_SET, uint32_t, sd_ble_gap_adv_data_set(uint8_t const * const p_data, uint8_t dlen, uint8_t const * const p_sr_data, uint8_t srdlen));
+
+
+/**@brief Start advertising (GAP Discoverable, Connectable modes, Broadcast Procedure).
+ *
+ * @param[in] p_adv_params Pointer to advertising parameters structure.
+ *
+ * @return @ref NRF_SUCCESS The BLE stack has started advertising.
+ * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
+ * @return @ref NRF_ERROR_INVALID_STATE Invalid state to perform operation.
+ * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied, check the accepted ranges and limits.
+ * @return @ref BLE_ERROR_GAP_INVALID_BLE_ADDR Invalid Bluetooth address supplied.
+ * @return @ref BLE_ERROR_GAP_DISCOVERABLE_WITH_WHITELIST Discoverable mode and whitelist incompatible.
+ */
+SVCALL(SD_BLE_GAP_ADV_START, uint32_t, sd_ble_gap_adv_start(ble_gap_adv_params_t const * const p_adv_params));
+
+
+/**@brief Stop advertising (GAP Discoverable, Connectable modes, Broadcast Procedure).
+ *
+ * @return @ref NRF_SUCCESS The BLE stack has stopped advertising.
+ * @return @ref NRF_ERROR_INVALID_STATE Invalid state to perform operation (most probably not in advertising state).
+ */
+SVCALL(SD_BLE_GAP_ADV_STOP, uint32_t, sd_ble_gap_adv_stop(void));
+
+
+/**@brief Update connection parameters.
+ *
+ * @details In the central role this will initiate a Link Layer connection parameter update procedure,
+ *          otherwise in the peripheral role, this will send the corresponding L2CAP request and wait for
+ *          the central to perform the procedure. In both cases, and regardless of success or failure, the application
+ *          will be informed of the result with a @ref BLE_GAP_EVT_CONN_PARAM_UPDATE event.
+ *
+ * @note If both a connection supervision timeout and a maximum connection interval are specified, then the following constraint
+ *       applies: (conn_sup_timeout * 8) >= (max_conn_interval * (slave_latency + 1))
+ *
+ * @param[in] conn_handle Connection handle.
+ * @param[in] p_conn_params  Pointer to desired connection parameters. If NULL is provided on a peripheral role,
+ *                           the parameters in the PPCP characteristic of the GAP service will be used instead.
+ *
+ * @return @ref NRF_SUCCESS The Connection Update procedure has been started successfully.
+ * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
+ * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied, check parameter limits and constraints.
+ * @return @ref NRF_ERROR_BUSY Procedure already in progress or not allowed at this time, process pending events and retry.
+ * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid connection handle supplied.
+ * @return @ref NRF_ERROR_NO_MEM Not enough memory to complete operation.
+ */
+SVCALL(SD_BLE_GAP_CONN_PARAM_UPDATE, uint32_t, sd_ble_gap_conn_param_update(uint16_t conn_handle, ble_gap_conn_params_t const * const p_conn_params));
+
+
+/**@brief Disconnect (GAP Link Termination).
+ *
+ * @details This call initiates the disconnection procedure, and its completion will be communicated to the application
+ *          with a BLE_GAP_EVT_DISCONNECTED event.
+ *
+ * @param[in] conn_handle Connection handle.
+ * @param[in] hci_status_code HCI status code, see @ref BLE_HCI_STATUS_CODES (accepted values are BTLE_REMOTE_USER_TERMINATED_CONNECTION and BTLE_CONN_INTERVAL_UNACCEPTABLE).
+ *
+ * @return @ref NRF_SUCCESS The disconnection procedure has been started successfully.
+ * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied.
+ * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid connection handle supplied.
+ * @return @ref NRF_ERROR_INVALID_STATE Invalid state to perform operation (disconnection is already in progress or not connected at all).
+ */
+SVCALL(SD_BLE_GAP_DISCONNECT, uint32_t, sd_ble_gap_disconnect(uint16_t conn_handle, uint8_t hci_status_code));
+
+
+/**@brief Set the radio's transmit power.
+ *
+ * @param[in] tx_power Radio transmit power in dBm (accepted values are -40, -30, -20, -16, -12, -8, -4, 0, and 4 dBm).
+ *
+ * @note -40 dBm will not actually give -40 dBm, but will instead be remapped to -30 dBm.
+ *
+ * @return @ref NRF_SUCCESS Successfully changed the transmit power.
+ * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied.
+ * @return @ref NRF_ERROR_BUSY The stack is busy, process pending events and retry.
+ */
+SVCALL(SD_BLE_GAP_TX_POWER_SET, uint32_t, sd_ble_gap_tx_power_set(int8_t tx_power));
+
+
+/**@brief Set GAP Appearance value.
+ *
+ * @param[in] appearance Appearance (16-bit), see @ref BLE_APPEARANCES.
+ *
+ * @return @ref NRF_SUCCESS  Appearance value set successfully.
+ * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied.
+ */
+SVCALL(SD_BLE_GAP_APPEARANCE_SET, uint32_t, sd_ble_gap_appearance_set(uint16_t appearance));
+
+
+/**@brief Get GAP Appearance value.
+ *
+ * @param[out] p_appearance Appearance (16-bit), see @ref BLE_APPEARANCES.
+ *
+ * @return @ref NRF_SUCCESS Appearance value retrieved successfully.
+ * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
+ */
+SVCALL(SD_BLE_GAP_APPEARANCE_GET, uint32_t, sd_ble_gap_appearance_get(uint16_t * const p_appearance));
+
+
+/**@brief Set GAP Peripheral Preferred Connection Parameters.
+ *
+ * @param[in] p_conn_params Pointer to a @ref ble_gap_conn_params_t structure with the desired parameters.
+ *
+ * @return @ref NRF_SUCCESS Peripheral Preferred Connection Parameters set successfully.
+ * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
+ * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied.
+ */
+SVCALL(SD_BLE_GAP_PPCP_SET, uint32_t, sd_ble_gap_ppcp_set(ble_gap_conn_params_t const * const p_conn_params));
+
+
+/**@brief Get GAP Peripheral Preferred Connection Parameters.
+ *
+ * @param[out] p_conn_params Pointer to a @ref ble_gap_conn_params_t structure where the parameters will be stored.
+ *
+ * @return @ref NRF_SUCCESS Peripheral Preferred Connection Parameters retrieved successfully.
+ * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
+ */
+SVCALL(SD_BLE_GAP_PPCP_GET, uint32_t, sd_ble_gap_ppcp_get(ble_gap_conn_params_t * const p_conn_params));
+
+
+/**@brief Set GAP device name.
+ *
+ * @param[in] p_write_perm Write permissions for the Device Name characteristic see @ref ble_gap_conn_sec_mode_t.
+ * @param[in] p_dev_name Pointer to a UTF-8 encoded, <b>non NULL-terminated</b> string.
+ * @param[in] len   Length of the UTF-8, <b>non NULL-terminated</b> string pointed to by p_dev_name in octets (must be smaller or equal than @ref BLE_GAP_DEVNAME_MAX_LEN).
+ *
+ * @return @ref NRF_SUCCESS GAP device name and permissions set successfully.
+ * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
+ * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied.
+ * @return @ref NRF_ERROR_DATA_SIZE Invalid data size(s) supplied.
+ */
+SVCALL(SD_BLE_GAP_DEVICE_NAME_SET, uint32_t, sd_ble_gap_device_name_set(ble_gap_conn_sec_mode_t const * const p_write_perm, uint8_t const * const p_dev_name, uint16_t len));
+
+
+/**@brief Get GAP device name.
+ *
+ * @param[in]     p_dev_name Pointer to an empty buffer where the UTF-8 <b>non NULL-terminated</b> string will be placed. Set to NULL to obtain the complete device name length.
+ * @param[in,out] p_len      Length of the buffer pointed by p_dev_name, complete device name length on output.
+ *
+ * @note          If the device name is longer than the size of the supplied buffer,
+ *                p_len will return the complete device name length,
+ *                and not the number of bytes actually returned in p_dev_name.
+ *                The application may use this information to allocate a suitable buffer size.
+ *
+ * @return @ref NRF_SUCCESS GAP device name retrieved successfully.
+ * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
+ * @return @ref NRF_ERROR_DATA_SIZE Invalid data size(s) supplied.
+ */
+SVCALL(SD_BLE_GAP_DEVICE_NAME_GET, uint32_t, sd_ble_gap_device_name_get(uint8_t * const p_dev_name, uint16_t * const p_len));
+
+
+/**@brief Initiate GAP Authentication procedure.
+ *
+ * @param[in] conn_handle Connection handle.
+ * @param[in] p_sec_params Pointer to the @ref ble_gap_sec_params_t structure with the security parameters to be used during the pairing procedure.
+ *
+ * @details In the central role, this function will send an SMP Pairing Request, otherwise in the peripheral role, an SMP Security Request will be sent.
+ *          In the peripheral role, only the timeout, bond and mitm fields of @ref ble_gap_sec_params_t are used.
+ *
+ * @note    The GAP Authentication procedure may be triggered by the central without calling this function when accessing a secure service.
+ * @note    Calling this function may result in the following events depending on the outcome and parameters: @ref BLE_GAP_EVT_SEC_PARAMS_REQUEST,
+ *          @ref BLE_GAP_EVT_SEC_INFO_REQUEST, @ref BLE_GAP_EVT_AUTH_KEY_REQUEST, @ref BLE_GAP_EVT_AUTH_STATUS.
+ * @note    The timeout parameter in @ref ble_gap_sec_params_t is interpreted here as the Security Request timeout
+ *
+ *
+ * @return @ref NRF_SUCCESS Successfully initiated authentication procedure.
+ * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
+ * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied.
+ * @return @ref NRF_ERROR_INVALID_STATE Invalid state to perform operation.
+ * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid connection handle supplied.
+ */
+SVCALL(SD_BLE_GAP_AUTHENTICATE, uint32_t, sd_ble_gap_authenticate(uint16_t conn_handle, ble_gap_sec_params_t const * const p_sec_params));
+
+
+/**@brief Reply with GAP security parameters.
+ *
+ * @param[in] conn_handle Connection handle.
+ * @param[in] sec_status Security status, see @ref BLE_GAP_SEC_STATUS.
+ * @param[in] p_sec_params Pointer to a @ref ble_gap_sec_params_t security parameters structure.
+ *
+ * @details This function is only used to reply to a @ref BLE_GAP_EVT_SEC_PARAMS_REQUEST, calling it at other times will result in an NRF_ERROR_INVALID_STATE.
+ * @note    If the call returns an error code, the request is still pending, and the reply call may be repeated with corrected parameters.
+ * @note    The timeout parameter in @ref ble_gap_sec_params_t is interpreted here as the SMP procedure timeout, and must be 30 seconds. The function will fail
+ *          if the application supplies a different value.
+ *
+ * @return @ref NRF_SUCCESS Successfully accepted security parameter from the application.
+ * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
+ * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied.
+ * @return @ref NRF_ERROR_INVALID_STATE Invalid state to perform operation.
+ * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid connection handle supplied.
+ */
+SVCALL(SD_BLE_GAP_SEC_PARAMS_REPLY, uint32_t, sd_ble_gap_sec_params_reply(uint16_t conn_handle, uint8_t sec_status, ble_gap_sec_params_t const * const p_sec_params));
+
+
+/**@brief Reply with an authentication key.
+ *
+ * @param[in] conn_handle Connection handle.
+ * @param[in] key_type See @ref BLE_GAP_AUTH_KEY_TYPES.
+ * @param[in] key If key type is BLE_GAP_AUTH_KEY_TYPE_NONE, then NULL.
+ *                If key type is BLE_GAP_AUTH_KEY_TYPE_PASSKEY, then a 6-byte ASCII string (digit 0..9 only, no NULL termination).
+ *                If key type is BLE_GAP_AUTH_KEY_TYPE_OOB, then a 16-byte OOB key value in Little Endian format.
+ *
+ * @details This function is only used to reply to a @ref BLE_GAP_EVT_AUTH_KEY_REQUEST, calling it at other times will result in an NRF_ERROR_INVALID_STATE.
+ * @note    If the call returns an error code, the request is still pending, and the reply call may be repeated with corrected parameters.
+ *
+ * @return @ref NRF_SUCCESS Authentication key successfully set.
+ * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
+ * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied.
+ * @return @ref NRF_ERROR_INVALID_STATE Invalid state to perform operation.
+ * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid connection handle supplied.
+ */
+SVCALL(SD_BLE_GAP_AUTH_KEY_REPLY, uint32_t, sd_ble_gap_auth_key_reply(uint16_t conn_handle, uint8_t key_type, uint8_t const * const key));
+
+
+/**@brief Reply with GAP security information.
+ *
+ * @param[in] conn_handle Connection handle.
+ * @param[in] p_enc_info Pointer to a @ref ble_gap_enc_info_t encryption information structure. May be NULL to signal none is available.
+ * @param[in] p_sign_info Pointer to a @ref ble_gap_sign_info_t signing information structure. May be NULL to signal none is available.
+ *
+ * @details This function is only used to reply to a @ref BLE_GAP_EVT_SEC_INFO_REQUEST, calling it at other times will result in NRF_ERROR_INVALID_STATE.
+ * @note    If the call returns an error code, the request is still pending, and the reply call may be repeated with corrected parameters.
+ * @note    Data signing is not implemented yet. p_sign_info must therefore be NULL.
+ *
+ * @return @ref NRF_SUCCESS Successfully accepted security information.
+ * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied.
+ * @return @ref NRF_ERROR_INVALID_STATE Invalid state to perform operation.
+ * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid connection handle supplied.
+ * @return @ref NRF_ERROR_BUSY The stack is busy, process pending events and retry.
+ */
+SVCALL(SD_BLE_GAP_SEC_INFO_REPLY, uint32_t, sd_ble_gap_sec_info_reply(uint16_t conn_handle, ble_gap_enc_info_t const * const p_enc_info, ble_gap_sign_info_t const * const p_sign_info));
+
+
+/**@brief Get the current connection security.
+ *
+ * @param[in]  conn_handle Connection handle.
+ * @param[out] p_conn_sec  Pointer to a @ref ble_gap_conn_sec_t structure to be filled in.
+ *
+ * @return @ref NRF_SUCCESS Current connection security successfully retrieved.
+ * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
+ * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid connection handle supplied.
+ */
+SVCALL(SD_BLE_GAP_CONN_SEC_GET, uint32_t, sd_ble_gap_conn_sec_get(uint16_t conn_handle, ble_gap_conn_sec_t * const p_conn_sec));
+
+
+/**@brief Start reporting the received signal strength to the application. 
+ *
+ * A new event is reported whenever the RSSI value changes, until @ref sd_ble_gap_rssi_stop is called.
+ *
+ * @param[in] conn_handle Connection handle.
+ *
+ * @return @ref NRF_SUCCESS Successfully activated RSSI reporting.
+ * @return @ref NRF_ERROR_INVALID_STATE Invalid state to perform operation.
+ * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid connection handle supplied.
+ */
+SVCALL(SD_BLE_GAP_RSSI_START, uint32_t, sd_ble_gap_rssi_start(uint16_t conn_handle));
+
+
+/**@brief Stop reporting the received singnal strength. 
+ *
+ * An RSSI change detected before the call but not yet received by the application 
+ * may be reported after @ref sd_ble_gap_rssi_stop has been called.
+ *
+ * @param[in] conn_handle Connection handle.
+ *
+ * @return @ref NRF_SUCCESS Successfully deactivated RSSI reporting.
+ * @return @ref NRF_ERROR_INVALID_STATE Invalid state to perform operation.
+ * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid connection handle supplied.
+ */
+SVCALL(SD_BLE_GAP_RSSI_STOP, uint32_t, sd_ble_gap_rssi_stop(uint16_t conn_handle));
+/**@} */
+
+#endif // BLE_GAP_H__
+
+/**
+  @}
+*/
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TARGET_NRF51822/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/ble_gatt.h	Fri Aug 15 15:28:31 2014 +0100
@@ -0,0 +1,171 @@
+/* Copyright (c) 2012 Nordic Semiconductor. All Rights Reserved.
+ *
+ * The information contained herein is confidential property of Nordic Semiconductor. The use,
+ * copying, transfer or disclosure of such information is prohibited except by express written
+ * agreement with Nordic Semiconductor.
+ *
+ */
+ /**
+  @addtogroup BLE_GATT Generic Attribute Profile (GATT) Common
+  @{
+  @brief  Common definitions and prototypes for the GATT interfaces.
+ */
+
+#ifndef BLE_GATT_H__
+#define BLE_GATT_H__
+
+#include "ble_types.h"
+#include "ble_ranges.h"
+
+
+/** @addtogroup BLE_GATT_DEFINES Defines
+ * @{ */
+
+/** @brief Default MTU size. */
+#define GATT_MTU_SIZE_DEFAULT 23
+
+/** @brief Only the default MTU size of 23 is currently supported. */
+#define GATT_RX_MTU 23
+
+
+/**@brief Invalid Attribute Handle. */
+#define BLE_GATT_HANDLE_INVALID            0x0000
+
+/** @defgroup BLE_GATT_TIMEOUT_SOURCES GATT Timeout sources
+ * @{ */
+#define BLE_GATT_TIMEOUT_SRC_PROTOCOL                  0x00 /**< ATT Protocol timeout. */
+/** @} */
+
+/** @defgroup BLE_GATT_WRITE_OPS GATT Write operations
+ * @{ */
+#define BLE_GATT_OP_INVALID                0x00  /**< Invalid Operation. */
+#define BLE_GATT_OP_WRITE_REQ              0x01  /**< Write Request. */
+#define BLE_GATT_OP_WRITE_CMD              0x02  /**< Write Command. */
+#define BLE_GATT_OP_SIGN_WRITE_CMD         0x03  /**< Signed Write Command. */
+#define BLE_GATT_OP_PREP_WRITE_REQ         0x04  /**< Prepare Write Request. */
+#define BLE_GATT_OP_EXEC_WRITE_REQ         0x05  /**< Execute Write Request. */
+/** @} */
+
+/** @defgroup BLE_GATT_EXEC_WRITE_FLAGS GATT Execute Write flags
+ * @{ */
+#define BLE_GATT_EXEC_WRITE_FLAG_PREPARED_CANCEL 0x00
+#define BLE_GATT_EXEC_WRITE_FLAG_PREPARED_WRITE  0x01
+/** @} */
+
+/** @defgroup BLE_GATT_HVX_TYPES GATT Handle Value operations
+ * @{ */
+#define BLE_GATT_HVX_INVALID               0x00  /**< Invalid Operation. */
+#define BLE_GATT_HVX_NOTIFICATION          0x01  /**< Handle Value Notification. */
+#define BLE_GATT_HVX_INDICATION            0x02  /**< Handle Value Indication. */
+/** @} */
+
+/** @defgroup BLE_GATT_STATUS_CODES GATT Status Codes
+ * @{ */
+#define BLE_GATT_STATUS_SUCCESS                           0x0000  /**< Success. */
+#define BLE_GATT_STATUS_UNKNOWN                           0x0001  /**< Unknown or not applicable status. */
+#define BLE_GATT_STATUS_ATTERR_INVALID                    0x0100  /**< ATT Error: Invalid Error Code. */
+#define BLE_GATT_STATUS_ATTERR_INVALID_HANDLE             0x0101  /**< ATT Error: Invalid Attribute Handle. */
+#define BLE_GATT_STATUS_ATTERR_READ_NOT_PERMITTED         0x0102  /**< ATT Error: Read not permitted. */
+#define BLE_GATT_STATUS_ATTERR_WRITE_NOT_PERMITTED        0x0103  /**< ATT Error: Write not permitted. */
+#define BLE_GATT_STATUS_ATTERR_INVALID_PDU                0x0104  /**< ATT Error: Used in ATT as Invalid PDU. */
+#define BLE_GATT_STATUS_ATTERR_INSUF_AUTHENTICATION       0x0105  /**< ATT Error: Authenticated link required. */
+#define BLE_GATT_STATUS_ATTERR_REQUEST_NOT_SUPPORTED      0x0106  /**< ATT Error: Used in ATT as Request Not Supported. */
+#define BLE_GATT_STATUS_ATTERR_INVALID_OFFSET             0x0107  /**< ATT Error: Offset specified was past the end of the attribute. */
+#define BLE_GATT_STATUS_ATTERR_INSUF_AUTHORIZATION        0x0108  /**< ATT Error: Used in ATT as Insufficient Authorisation. */
+#define BLE_GATT_STATUS_ATTERR_PREPARE_QUEUE_FULL         0x0109  /**< ATT Error: Used in ATT as Prepare Queue Full. */
+#define BLE_GATT_STATUS_ATTERR_ATTRIBUTE_NOT_FOUND        0x010A  /**< ATT Error: Used in ATT as Attribute not found. */
+#define BLE_GATT_STATUS_ATTERR_ATTRIBUTE_NOT_LONG         0x010B  /**< ATT Error: Attribute cannot be read or written using read/write blob requests. */
+#define BLE_GATT_STATUS_ATTERR_INSUF_ENC_KEY_SIZE         0x010C  /**< ATT Error: Encryption key size used is insufficient. */
+#define BLE_GATT_STATUS_ATTERR_INVALID_ATT_VAL_LENGTH     0x010D  /**< ATT Error: Invalid value size. */
+#define BLE_GATT_STATUS_ATTERR_UNLIKELY_ERROR             0x010E  /**< ATT Error: Very unlikely error. */
+#define BLE_GATT_STATUS_ATTERR_INSUF_ENCRYPTION           0x010F  /**< ATT Error: Encrypted link required. */
+#define BLE_GATT_STATUS_ATTERR_UNSUPPORTED_GROUP_TYPE     0x0110  /**< ATT Error: Attribute type is not a supported grouping attribute. */
+#define BLE_GATT_STATUS_ATTERR_INSUF_RESOURCES            0x0111  /**< ATT Error: Encrypted link required. */
+#define BLE_GATT_STATUS_ATTERR_RFU_RANGE1_BEGIN           0x0112  /**< ATT Error: Reserved for Future Use range #1 begin. */
+#define BLE_GATT_STATUS_ATTERR_RFU_RANGE1_END             0x017F  /**< ATT Error: Reserved for Future Use range #1 end. */
+#define BLE_GATT_STATUS_ATTERR_APP_BEGIN                  0x0180  /**< ATT Error: Application range begin. */
+#define BLE_GATT_STATUS_ATTERR_APP_END                    0x019F  /**< ATT Error: Application range end. */
+#define BLE_GATT_STATUS_ATTERR_RFU_RANGE2_BEGIN           0x01A0  /**< ATT Error: Reserved for Future Use range #2 begin. */
+#define BLE_GATT_STATUS_ATTERR_RFU_RANGE2_END             0x01DF  /**< ATT Error: Reserved for Future Use range #2 end. */
+#define BLE_GATT_STATUS_ATTERR_RFU_RANGE3_BEGIN           0x01E0  /**< ATT Error: Reserved for Future Use range #3 begin. */
+#define BLE_GATT_STATUS_ATTERR_RFU_RANGE3_END             0x01FC  /**< ATT Error: Reserved for Future Use range #3 end. */
+#define BLE_GATT_STATUS_ATTERR_CPS_CCCD_CONFIG_ERROR      0x01FD  /**< ATT Common Profile and Service Error: Client Characteristic Configuration Descriptor improperly configured. */
+#define BLE_GATT_STATUS_ATTERR_CPS_PROC_ALR_IN_PROG       0x01FE  /**< ATT Common Profile and Service Error: Procedure Already in Progress. */
+#define BLE_GATT_STATUS_ATTERR_CPS_OUT_OF_RANGE           0x01FF  /**< ATT Common Profile and Service Error: Out Of Range. */
+/** @} */
+
+
+/** @defgroup BLE_GATT_CPF_FORMATS Characteristic Presentation Formats
+ *  @note Found at http://developer.bluetooth.org/gatt/descriptors/Pages/DescriptorViewer.aspx?u=org.bluetooth.descriptor.gatt.characteristic_presentation_format.xml
+ * @{ */
+#define BLE_GATT_CPF_FORMAT_RFU                 0x00 /**< Reserved For Future Use. */
+#define BLE_GATT_CPF_FORMAT_BOOLEAN             0x01 /**< Boolean. */
+#define BLE_GATT_CPF_FORMAT_2BIT                0x02 /**< Unsigned 2-bit integer. */
+#define BLE_GATT_CPF_FORMAT_NIBBLE              0x03 /**< Unsigned 4-bit integer. */
+#define BLE_GATT_CPF_FORMAT_UINT8               0x04 /**< Unsigned 8-bit integer. */
+#define BLE_GATT_CPF_FORMAT_UINT12              0x05 /**< Unsigned 12-bit integer. */
+#define BLE_GATT_CPF_FORMAT_UINT16              0x06 /**< Unsigned 16-bit integer. */
+#define BLE_GATT_CPF_FORMAT_UINT24              0x07 /**< Unsigned 24-bit integer. */
+#define BLE_GATT_CPF_FORMAT_UINT32              0x08 /**< Unsigned 32-bit integer. */
+#define BLE_GATT_CPF_FORMAT_UINT48              0x09 /**< Unsigned 48-bit integer. */
+#define BLE_GATT_CPF_FORMAT_UINT64              0x0A /**< Unsigned 64-bit integer. */
+#define BLE_GATT_CPF_FORMAT_UINT128             0x0B /**< Unsigned 128-bit integer. */
+#define BLE_GATT_CPF_FORMAT_SINT8               0x0C /**< Signed 2-bit integer. */
+#define BLE_GATT_CPF_FORMAT_SINT12              0x0D /**< Signed 12-bit integer. */
+#define BLE_GATT_CPF_FORMAT_SINT16              0x0E /**< Signed 16-bit integer. */
+#define BLE_GATT_CPF_FORMAT_SINT24              0x0F /**< Signed 24-bit integer. */
+#define BLE_GATT_CPF_FORMAT_SINT32              0x10 /**< Signed 32-bit integer. */
+#define BLE_GATT_CPF_FORMAT_SINT48              0x11 /**< Signed 48-bit integer. */
+#define BLE_GATT_CPF_FORMAT_SINT64              0x12 /**< Signed 64-bit integer. */
+#define BLE_GATT_CPF_FORMAT_SINT128             0x13 /**< Signed 128-bit integer. */
+#define BLE_GATT_CPF_FORMAT_FLOAT32             0x14 /**< IEEE-754 32-bit floating point. */
+#define BLE_GATT_CPF_FORMAT_FLOAT64             0x15 /**< IEEE-754 64-bit floating point. */
+#define BLE_GATT_CPF_FORMAT_SFLOAT              0x16 /**< IEEE-11073 16-bit SFLOAT. */
+#define BLE_GATT_CPF_FORMAT_FLOAT               0x17 /**< IEEE-11073 32-bit FLOAT. */
+#define BLE_GATT_CPF_FORMAT_DUINT16             0x18 /**< IEEE-20601 format. */
+#define BLE_GATT_CPF_FORMAT_UTF8S               0x19 /**< UTF-8 string. */
+#define BLE_GATT_CPF_FORMAT_UTF16S              0x1A /**< UTF-16 string. */
+#define BLE_GATT_CPF_FORMAT_STRUCT              0x1B /**< Opaque Structure. */
+/** @} */
+
+/** @defgroup BLE_GATT_CPF_NAMESPACES GATT Bluetooth Namespaces
+ * @{
+ */
+#define BLE_GATT_CPF_NAMESPACE_BTSIG            0x01
+#define BLE_GATT_CPF_NAMESPACE_DESCRIPTION_UNKNOWN 0x0000
+/** @} */
+
+/** @} */
+
+/** @addtogroup BLE_GATT_STRUCTURES Structures
+ * @{ */
+
+/**@brief GATT Characteristic Properties. */
+typedef struct
+{
+  /* Standard properties */
+  uint8_t broadcast       :1; /**< Broadcasting of value permitted. */
+  uint8_t read            :1; /**< Reading value permitted. */
+  uint8_t write_wo_resp   :1; /**< Writing value with Write Command permitted. */
+  uint8_t write           :1; /**< Writing value with Write Request permitted. */
+  uint8_t notify          :1; /**< Notications of value permitted. */
+  uint8_t indicate        :1; /**< Indications of value permitted. */
+  uint8_t auth_signed_wr  :1; /**< Writing value with Signed Write Command permitted. */
+} ble_gatt_char_props_t;
+
+/**@brief GATT Characteristic Extended Properties. */
+typedef struct
+{
+  /* Extended properties */
+  uint8_t reliable_wr     :1; /**< Writing value with Queued Write Request permitted. */
+  uint8_t wr_aux          :1; /**< Writing the Characteristic User Description permitted. */
+} ble_gatt_char_ext_props_t;
+
+#endif // BLE_GATT_H__
+
+/** @} */
+
+/**
+  @}
+  @}
+*/
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TARGET_NRF51822/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/ble_gattc.h	Fri Aug 15 15:28:31 2014 +0100
@@ -0,0 +1,406 @@
+/* Copyright (c) 2012 Nordic Semiconductor. All Rights Reserved.
+ *
+ * The information contained herein is confidential property of Nordic Semiconductor. The use,
+ * copying, transfer or disclosure of such information is prohibited except by express written
+ * agreement with Nordic Semiconductor.
+ *
+ */
+/**
+  @addtogroup BLE_GATTC Generic Attribute Profile (GATT) Client
+  @{
+  @brief  Definitions and prototypes for the GATT Client interface.
+ */
+
+#ifndef BLE_GATTC_H__
+#define BLE_GATTC_H__
+
+#include "ble_gatt.h"
+#include "ble_types.h"
+#include "ble_ranges.h"
+#include "nrf_svc.h"
+
+/** @addtogroup BLE_GATTC_ENUMERATIONS Enumerations
+ * @{ */
+
+/**@brief GATTC API SVC numbers. */
+enum BLE_GATTC_SVCS
+{
+  SD_BLE_GATTC_PRIMARY_SERVICES_DISCOVER = BLE_GATTC_SVC_BASE, /**< Primary Service Discovery. */
+  SD_BLE_GATTC_RELATIONSHIPS_DISCOVER,                         /**< Relationship Discovery. */
+  SD_BLE_GATTC_CHARACTERISTICS_DISCOVER,                       /**< Characteristic Discovery. */
+  SD_BLE_GATTC_DESCRIPTORS_DISCOVER,                           /**< Characteristic Descriptor Discovery. */
+  SD_BLE_GATTC_CHAR_VALUE_BY_UUID_READ,                        /**< Read Characteristic Value by UUID. */
+  SD_BLE_GATTC_READ,                                           /**< Generic read. */
+  SD_BLE_GATTC_CHAR_VALUES_READ,                               /**< Read multiple Characteristic Values. */
+  SD_BLE_GATTC_WRITE,                                          /**< Generic write. */
+  SD_BLE_GATTC_HV_CONFIRM                                      /**< Handle Value Confirmation. */
+};
+
+/** @} */
+
+/** @addtogroup BLE_GATTC_DEFINES Defines
+ * @{ */
+
+/** @defgroup BLE_ERRORS_GATTC SVC return values specific to GATTC
+ * @{ */
+#define BLE_ERROR_GATTC_PROC_NOT_PERMITTED    (NRF_GATTC_ERR_BASE + 0x000)
+/** @} */
+
+/**@brief Last Attribute Handle. */
+#define BLE_GATTC_HANDLE_END                0xFFFF
+
+/** @} */
+
+/** @addtogroup BLE_GATTC_STRUCTURES Structures
+ * @{ */
+
+/**@brief Operation Handle Range. */
+typedef struct
+{
+  uint16_t          start_handle; /**< Start Handle. */
+  uint16_t          end_handle;   /**< End Handle. */
+} ble_gattc_handle_range_t;
+
+
+/**@brief GATT service. */
+typedef struct
+{
+  ble_uuid_t               uuid;          /**< Service UUID. */
+  ble_gattc_handle_range_t handle_range;  /**< Service Handle Range. */
+} ble_gattc_service_t;
+
+
+/**@brief  GATT include. */
+typedef struct
+{
+  uint16_t            handle;           /**< Include Handle. */
+  ble_gattc_service_t included_srvc;    /**< Handle of the included service. */
+} ble_gattc_include_t;
+
+
+/**@brief GATT characteristic. */
+typedef struct
+{
+  ble_uuid_t              uuid;                 /**< Characteristic UUID. */
+  ble_gatt_char_props_t   char_props;           /**< Characteristic Properties. */
+  uint8_t                 char_ext_props : 1;   /**< Extended properties present. */
+  uint16_t                handle_decl;          /**< Handle of the Characteristic Declaration. */
+  uint16_t                handle_value;         /**< Handle of the Characteristic Value. */
+} ble_gattc_char_t;
+
+
+/**@brief GATT descriptor. */
+typedef struct
+{
+  uint16_t          handle;         /**< Descriptor Handle. */
+  ble_uuid_t        uuid;           /**< Descriptor UUID. */
+} ble_gattc_desc_t;
+
+
+/**@brief Write Parameters. */
+typedef struct
+{
+  uint8_t    write_op;                 /**< Write Operation to be performed, see @ref BLE_GATT_WRITE_OPS. */
+  uint16_t   handle;                   /**< Handle to the attribute to be written. */
+  uint16_t   offset;                   /**< Offset in bytes. @note For WRITE_CMD and WRITE_REQ, offset must be 0. */
+  uint16_t   len;                      /**< Length of data in bytes. */
+  uint8_t*   p_value;                  /**< Pointer to the value data. */
+  uint8_t    flags;                    /**< Flags, see @ref BLE_GATT_EXEC_WRITE_FLAGS. */
+} ble_gattc_write_params_t;
+
+
+/**
+ * @brief GATT Client Event IDs.
+ */
+enum BLE_GATTC_EVTS
+{
+  BLE_GATTC_EVT_PRIM_SRVC_DISC_RSP = BLE_GATTC_EVT_BASE,  /**< Primary Service Discovery Response event.  */
+  BLE_GATTC_EVT_REL_DISC_RSP,                             /**< Relationship Discovery Response event. */
+  BLE_GATTC_EVT_CHAR_DISC_RSP,                            /**< Characteristic Discovery Response event. */
+  BLE_GATTC_EVT_DESC_DISC_RSP,                            /**< Descriptor Discovery Response event. */
+  BLE_GATTC_EVT_CHAR_VAL_BY_UUID_READ_RSP,                /**< Read By UUID Response event. */
+  BLE_GATTC_EVT_READ_RSP,                                 /**< Read Response event. */
+  BLE_GATTC_EVT_CHAR_VALS_READ_RSP,                       /**< Read multiple Response event. */
+  BLE_GATTC_EVT_WRITE_RSP,                                /**< Write Response event. */
+  BLE_GATTC_EVT_HVX,                                      /**< Handle Value Notification or Indication event. */
+  BLE_GATTC_EVT_TIMEOUT                                   /**< Timeout event. */
+};
+
+/**@brief Event structure for BLE_GATTC_EVT_PRIM_SRVC_DISC_RSP. */
+typedef struct
+{
+  uint16_t             count;           /**< Service count. */
+  ble_gattc_service_t services[1];      /**< Service data, variable length. */
+} ble_gattc_evt_prim_srvc_disc_rsp_t;
+
+/**@brief Event structure for BLE_GATTC_EVT_REL_DISC_RSP. */
+typedef struct
+{
+  uint16_t             count;           /**< Include count. */
+  ble_gattc_include_t includes[1];      /**< Include data, variable length. */
+} ble_gattc_evt_rel_disc_rsp_t;
+
+/**@brief Event structure for BLE_GATTC_EVT_CHAR_DISC_RSP. */
+typedef struct
+{
+  uint16_t            count;          /**< Characteristic count. */
+  ble_gattc_char_t    chars[1];       /**< Characteristic data, variable length. */
+} ble_gattc_evt_char_disc_rsp_t;
+
+/**@brief Event structure for BLE_GATTC_EVT_DESC_DISC_RSP. */
+typedef struct
+{
+  uint16_t            count;          /**< Descriptor count. */
+  ble_gattc_desc_t    descs[1];       /**< Descriptor data, variable length. */
+} ble_gattc_evt_desc_disc_rsp_t;
+
+/**@brief GATT read by UUID handle value pair. */
+typedef struct 
+{
+  uint16_t            handle;          /**< Attribute Handle. */
+  uint8_t             *p_value;        /**< Pointer to value, variable length (length available as value_len in ble_gattc_evt_read_by_uuid_rsp_t). 
+                                            Please note that this pointer is absolute to the memory provided by the user when retrieving the event,
+                                            so it will effectively point to a location inside the handle_value array. */
+} ble_gattc_handle_value_t;
+
+/**@brief Event structure for BLE_GATTC_EVT_CHAR_VAL_BY_UUID_READ_RSP. */
+typedef struct
+{
+  uint16_t                  count;            /**< Handle-Value Pair Count. */
+  uint16_t                  value_len;        /**< Length of the value in Handle-Value(s) list. */
+  ble_gattc_handle_value_t  handle_value[1];  /**< Handle-Value(s) list, variable length. */
+} ble_gattc_evt_char_val_by_uuid_read_rsp_t;
+
+/**@brief Event structure for BLE_GATTC_EVT_READ_RSP. */
+typedef struct
+{
+  uint16_t            handle;         /**< Attribute Handle. */
+  uint16_t            offset;         /**< Offset of the attribute data. */
+  uint16_t            len;            /**< Attribute data length. */
+  uint8_t             data[1];        /**< Attribute data, variable length. */
+} ble_gattc_evt_read_rsp_t;
+
+/**@brief Event structure for BLE_GATTC_EVT_CHAR_VALS_READ_RSP. */
+typedef struct
+{
+  uint16_t            len;            /**< Concatenated Attribute values length. */
+  uint8_t             values[1];      /**< Attribute values, variable length. */
+} ble_gattc_evt_char_vals_read_rsp_t;
+
+/**@brief Event structure for BLE_GATTC_EVT_WRITE_RSP. */
+typedef struct
+{
+  uint16_t            handle;           /**< Attribute Handle. */
+  uint8_t             write_op;         /**< Type of write operation, see @ref BLE_GATT_WRITE_OPS. */
+  uint16_t            offset;           /**< Data Offset. */
+  uint16_t            len;              /**< Data length. */
+  uint8_t             data[1];          /**< Data, variable length. */
+} ble_gattc_evt_write_rsp_t;
+
+/**@brief Event structure for BLE_GATTC_EVT_HVX. */
+typedef struct
+{
+  uint16_t            handle;         /**< Handle to which the HVx operation applies. */
+  uint8_t             type;           /**< Indication or Notification, see @ref BLE_GATT_HVX_TYPES. */
+  uint16_t            len;            /**< Attribute data length. */
+  uint8_t             data[1];        /**< Attribute data, variable length. */
+} ble_gattc_evt_hvx_t;
+
+/**@brief Event structure for BLE_GATTC_EVT_TIMEOUT. */
+typedef struct
+{
+  uint8_t          src;                       /**< Timeout source, see @ref BLE_GATT_TIMEOUT_SOURCES. */
+} ble_gattc_evt_timeout_t;
+
+/**@brief GATTC event type. */
+typedef struct
+{
+  uint16_t            conn_handle;                /**< Connection Handle on which event occured. */
+  uint16_t            gatt_status;                /**< GATT status code for the operation, see @ref BLE_GATT_STATUS_CODES. */
+  uint16_t            error_handle;               /**< In case of error: The handle causing the error. In all other cases BLE_GATT_HANDLE_INVALID. */
+  union
+  {
+    ble_gattc_evt_prim_srvc_disc_rsp_t          prim_srvc_disc_rsp;         /**< Primary Service Discovery Response Event Parameters. */
+    ble_gattc_evt_rel_disc_rsp_t                rel_disc_rsp;               /**< Relationship Discovery Response Event Parameters. */
+    ble_gattc_evt_char_disc_rsp_t               char_disc_rsp;              /**< Characteristic Discovery Response Event Parameters. */
+    ble_gattc_evt_desc_disc_rsp_t               desc_disc_rsp;              /**< Descriptor Discovery Response Event Parameters. */
+    ble_gattc_evt_char_val_by_uuid_read_rsp_t   char_val_by_uuid_read_rsp;  /**< Characteristic Value Read by UUID Response Event Parameters. */
+    ble_gattc_evt_read_rsp_t                    read_rsp;                   /**< Read Response Event Parameters. */
+    ble_gattc_evt_char_vals_read_rsp_t          char_vals_read_rsp;         /**< Characteristic Values Read Response Event Parameters. */
+    ble_gattc_evt_write_rsp_t                   write_rsp;                  /**< Write Response Event Parameters. */
+    ble_gattc_evt_hvx_t                         hvx;                        /**< Handle Value Notification/Indication Event Parameters. */
+    ble_gattc_evt_timeout_t                     timeout;                    /**< Timeout Event Parameters. */
+  } params;                                                                 /**< Event Parameters. @note Only valid if @ref gatt_status == BLE_GATT_STATUS_SUCCESS. */
+} ble_gattc_evt_t;
+/** @} */
+
+/** @addtogroup BLE_GATTC_FUNCTIONS Functions
+ * @{ */
+
+/**@brief Initiate or continue a GATT Primary Service Discovery procedure.
+ *
+ * @details This function initiates a Primary Service discovery, starting from the supplied handle. 
+ *          If the last service has not been reached, this must be called again with an updated start handle value to continue the search.
+ *
+ * @note If any of the discovered services have 128-bit UUIDs which are not present in the table provided to ble_vs_uuids_assign, a UUID structure with
+ *       type BLE_UUID_TYPE_UNKNOWN will be received in the corresponding event.
+ *
+ * @param[in] conn_handle The connection handle identifying the connection to perform this procedure on.
+ * @param[in] start_handle Handle to start searching from.
+ * @param[in] p_srvc_uuid Pointer to the service UUID to be found. If it is NULL, all primary services will be returned.
+ *
+ * @return @ref NRF_SUCCESS Successfully started or resumed the Primary Service Discovery procedure.
+ * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid Connection Handle.
+ * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied.
+ * @return @ref NRF_ERROR_BUSY Client procedure already in progress.
+ */
+SVCALL(SD_BLE_GATTC_PRIMARY_SERVICES_DISCOVER, uint32_t, sd_ble_gattc_primary_services_discover(uint16_t conn_handle, uint16_t start_handle, ble_uuid_t const * const p_srvc_uuid));
+
+
+/**@brief Initiate or continue a GATT Relationship Discovery procedure.
+ *
+ * @details This function initiates the Find Included Services sub-procedure. If the last included service has not been reached,
+ *          this must be called again with an updated handle range to continue the search.
+ *
+ * @param[in] conn_handle The connection handle identifying the connection to perform this procedure on.
+ * @param[in] p_handle_range A pointer to the range of handles of the Service to perform this procedure on.
+ *
+ * @return @ref NRF_SUCCESS Successfully started or resumed the Relationship Discovery procedure.
+ * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid Connection Handle.
+ * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
+ * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied.
+ * @return @ref NRF_ERROR_BUSY Client procedure already in progress.
+ */
+SVCALL(SD_BLE_GATTC_RELATIONSHIPS_DISCOVER, uint32_t, sd_ble_gattc_relationships_discover(uint16_t conn_handle, ble_gattc_handle_range_t const * const p_handle_range));
+
+
+/**@brief Initiate or continue a GATT Characteristic Discovery procedure.
+ *
+ * @details This function initiates a Characteristic discovery procedure. If the last Characteristic has not been reached,
+ *          this must be called again with an updated handle range to continue the discovery.
+ *
+ * @note If any of the discovered characteristics have 128-bit UUIDs which are not present in the table provided to ble_vs_uuids_assign, a UUID structure with
+ *       type BLE_UUID_TYPE_UNKNOWN will be received in the corresponding event.
+ *
+ * @param[in] conn_handle The connection handle identifying the connection to perform this procedure on.
+ * @param[in] p_handle_range A pointer to the range of handles of the Service to perform this procedure on.
+ *
+ * @return @ref NRF_SUCCESS Successfully started or resumed the Characteristic Discovery procedure.
+ * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid Connection Handle.
+ * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
+ * @return @ref NRF_ERROR_BUSY Client procedure already in progress.
+ */
+SVCALL(SD_BLE_GATTC_CHARACTERISTICS_DISCOVER, uint32_t, sd_ble_gattc_characteristics_discover(uint16_t conn_handle, ble_gattc_handle_range_t const * const p_handle_range));
+
+
+/**@brief Initiate or continue a GATT Characteristic Descriptor Discovery procedure.
+ *
+ * @details This function initiates the Characteristic Descriptor discovery procedure. If the last Descriptor has not been reached,
+ *          this must be called again with an updated handle range to continue the discovery.
+ *
+ * @param[in] conn_handle The connection handle identifying the connection to perform this procedure on.
+ * @param[in] p_handle_range A pointer to the range of handles of the Characteristic to perform this procedure on.
+ *
+ * @return @ref NRF_SUCCESS Successfully started or resumed the Descriptor Discovery procedure.
+ * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid Connection Handle.
+ * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
+ * @return @ref NRF_ERROR_BUSY Client procedure already in progress.
+ */
+SVCALL(SD_BLE_GATTC_DESCRIPTORS_DISCOVER, uint32_t, sd_ble_gattc_descriptors_discover(uint16_t conn_handle, ble_gattc_handle_range_t const * const p_handle_range));
+
+
+/**@brief Initiate or continue a GATT Read using Characteristic UUID procedure.
+ *
+ * @details This function initiates the Read using Characteristic UUID procedure. If the last Characteristic has not been reached,
+ *          this must be called again with an updated handle range to continue the discovery.
+ *
+ * @param[in] conn_handle The connection handle identifying the connection to perform this procedure on.
+ * @param[in] p_uuid Pointer to a Characteristic value UUID to read.
+ * @param[in] p_handle_range A pointer to the range of handles to perform this procedure on.
+ *
+ * @return @ref NRF_SUCCESS Successfully started or resumed the Read using Characteristic UUID procedure.
+ * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid Connection Handle.
+ * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
+ * @return @ref NRF_ERROR_BUSY Client procedure already in progress.
+ */
+SVCALL(SD_BLE_GATTC_CHAR_VALUE_BY_UUID_READ, uint32_t, sd_ble_gattc_char_value_by_uuid_read(uint16_t conn_handle, ble_uuid_t const * const p_uuid, ble_gattc_handle_range_t const * const p_handle_range));
+
+
+/**@brief Initiate or continue a GATT Read (Long) Characteristic or Descriptor procedure.
+ *
+ * @details This function initiates a GATT Read (Long) Characteristic or Descriptor procedure. If the Characteristic or Descriptor
+ *          to be read is longer than GATT_MTU - 1, this function must be called multiple times with appropriate offset to read the 
+ *          complete value.
+ *
+ * @param[in] conn_handle The connection handle identifying the connection to perform this procedure on.
+ * @param[in] handle The handle of the attribute to be read.
+ * @param[in] offset Offset into the attribute value to be read.
+ *
+ * @return @ref NRF_SUCCESS Successfully started or resumed the Read (Long) procedure.
+ * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid Connection Handle.
+ * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
+ * @return @ref NRF_ERROR_BUSY Client procedure already in progress.
+ */
+SVCALL(SD_BLE_GATTC_READ, uint32_t, sd_ble_gattc_read(uint16_t conn_handle, uint16_t handle, uint16_t offset));
+
+
+/**@brief Initiate a GATT Read Multiple Characteristic Values procedure.
+ *
+ * @details This function initiates a GATT Read Multiple Characteristic Values procedure. 
+ *
+ * @param[in] conn_handle The connection handle identifying the connection to perform this procedure on.
+ * @param[in] p_handles A pointer to the handle(s) of the attribute(s) to be read.
+ * @param[in] handle_count The number of handles in p_handles.
+ *
+ * @return @ref NRF_SUCCESS Successfully started the Read Multiple Characteristic Values procedure.
+ * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid Connection Handle.
+ * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
+ * @return @ref NRF_ERROR_BUSY Client procedure already in progress.
+ */
+SVCALL(SD_BLE_GATTC_CHAR_VALUES_READ, uint32_t, sd_ble_gattc_char_values_read(uint16_t conn_handle, uint16_t const * const p_handles, uint16_t handle_count));
+
+
+/**@brief Perform a Write (Characteristic Value or Descriptor, with or without response, signed or not, long or reliable) procedure.
+ *
+ * @details This function can perform all write procedures described in GATT. 
+ *
+ * @note    It is important to note that a write without response will <b>consume an application buffer</b>, and will therefore 
+ *          generate a @ref BLE_EVT_TX_COMPLETE event when the packet has been transmitted. A write on the other hand will use the 
+ *          standard client internal buffer and thus will only generate a @ref BLE_GATTC_EVT_WRITE_RSP event as soon as the write response 
+ *          has been received from the peer. Please see the documentation of @ref sd_ble_tx_buffer_count_get for more details.
+ *
+ * @param[in] conn_handle The connection handle identifying the connection to perform this procedure on.
+ * @param[in] p_write_params A pointer to a write parameters structure.
+ *
+ * @return @ref NRF_SUCCESS Successfully started the Write procedure.
+ * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid Connection Handle.
+ * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
+ * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied.
+ * @return @ref NRF_ERROR_DATA_SIZE Invalid data size(s) supplied.
+ * @return @ref NRF_ERROR_BUSY Procedure already in progress.
+ * @return @ref BLE_ERROR_NO_TX_BUFFERS There are no available buffers left.
+ */
+SVCALL(SD_BLE_GATTC_WRITE, uint32_t, sd_ble_gattc_write(uint16_t conn_handle, ble_gattc_write_params_t const * const p_write_params));
+
+
+/**@brief Send a Handle Value Confirmation to the GATT Server.
+ *
+ * @param[in] conn_handle The connection handle identifying the connection to perform this procedure on.
+ * @param[in] handle The handle of the attribute in the indication.
+ *
+ * @return @ref NRF_SUCCESS Successfully queued the Handle Value Confirmation for transmission.
+ * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid Connection Handle.
+ * @return @ref NRF_ERROR_INVALID_STATE No Indication pending to be confirmed.
+ * @return @ref BLE_ERROR_INVALID_ATTR_HANDLE Invalid attribute handle.
+ * @return @ref BLE_ERROR_NO_TX_BUFFERS There are no available buffers left.
+ */
+SVCALL(SD_BLE_GATTC_HV_CONFIRM, uint32_t, sd_ble_gattc_hv_confirm(uint16_t conn_handle, uint16_t handle));
+
+/** @} */
+
+#endif /* BLE_GATTC_H__ */
+
+/**
+  @}
+  @}
+*/
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TARGET_NRF51822/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/ble_gatts.h	Fri Aug 15 15:28:31 2014 +0100
@@ -0,0 +1,566 @@
+/* Copyright (c) 2011 Nordic Semiconductor. All Rights Reserved.
+ *
+ * The information contained herein is confidential property of Nordic Semiconductor. The use,
+ * copying, transfer or disclosure of such information is prohibited except by express written
+ * agreement with Nordic Semiconductor.
+ *
+ */
+/**
+  @addtogroup BLE_GATTS Generic Attribute Profile (GATT) Server
+  @{
+  @brief  Definitions and prototypes for the GATTS interface.
+ */
+
+#ifndef BLE_GATTS_H__
+#define BLE_GATTS_H__
+
+#include "ble_types.h"
+#include "ble_ranges.h"
+#include "ble_l2cap.h"
+#include "ble_gap.h"
+#include "ble_gatt.h"
+#include "nrf_svc.h"
+
+/** @addtogroup BLE_GATTS_ENUMERATIONS Enumerations
+ * @{ */
+
+/**
+ * @brief GATTS API SVC numbers.
+ */
+enum BLE_GATTS_SVCS
+{
+  SD_BLE_GATTS_SERVICE_ADD = BLE_GATTS_SVC_BASE, /**< Add a service. */
+  SD_BLE_GATTS_INCLUDE_ADD,                      /**< Add an included service. */
+  SD_BLE_GATTS_CHARACTERISTIC_ADD,               /**< Add a characteristic. */
+  SD_BLE_GATTS_DESCRIPTOR_ADD,                   /**< Add a generic attribute. */
+  SD_BLE_GATTS_VALUE_SET,                        /**< Set an attribute value. */
+  SD_BLE_GATTS_VALUE_GET,                        /**< Get an attribute value. */
+  SD_BLE_GATTS_HVX,                              /**< Handle Value Notification or Indication. */
+  SD_BLE_GATTS_SERVICE_CHANGED,                  /**< Perform a Service Changed Indication to one or more peers. */
+  SD_BLE_GATTS_RW_AUTHORIZE_REPLY,               /**< Reply to an authorization request for a read or write operation on one or more attributes. */ 
+  SD_BLE_GATTS_SYS_ATTR_SET,                     /**< Set the persistent system attributes for a connection. */  
+  SD_BLE_GATTS_SYS_ATTR_GET,                     /**< Get updated persistent system attributes after terminating a connection. */
+};
+
+/** @} */
+
+/** @addtogroup BLE_GATTS_DEFINES Defines
+ * @{ */
+
+/** @brief Only the default MTU size of 23 is currently supported. */
+#define GATT_RX_MTU 23
+
+/** @defgroup BLE_ERRORS_GATTS SVC return values specific to GATTS
+ * @{ */
+#define BLE_ERROR_GATTS_INVALID_ATTR_TYPE   (NRF_GATTS_ERR_BASE + 0x000) /**< Invalid attribute type. */
+#define BLE_ERROR_GATTS_SYS_ATTR_MISSING    (NRF_GATTS_ERR_BASE + 0x001) /**< System Attributes missing. */
+/** @} */
+
+/** @defgroup BLE_GATTS_ATTR_LENS_MAX Maximum attribute lengths
+ * @{ */
+#define BLE_GATTS_FIX_ATTR_LEN_MAX (510)  /**< Maximum length for fixed length Attribute Values. */
+#define BLE_GATTS_VAR_ATTR_LEN_MAX (512)  /**< Maximum length for variable length Attribute Values. */ 
+/** @} */
+
+/** @defgroup BLE_GATTS_SRVC_TYPES GATT Server Service Types
+ * @{ */
+#define BLE_GATTS_SRVC_TYPE_INVALID          0x00  /**< Invalid Service Type. */
+#define BLE_GATTS_SRVC_TYPE_PRIMARY          0x01  /**< Primary Service. */
+#define BLE_GATTS_SRVC_TYPE_SECONDARY        0x02  /**< Secondary Type. */
+/** @} */
+
+
+/** @defgroup BLE_GATTS_ATTR_TYPES GATT Server Attribute Types
+ * @{ */
+#define BLE_GATTS_ATTR_TYPE_INVALID         0x00  /**< Invalid Attribute Type. */
+#define BLE_GATTS_ATTR_TYPE_PRIM_SRVC_DECL  0x01  /**< Primary Service Declaration. */
+#define BLE_GATTS_ATTR_TYPE_SEC_SRVC_DECL   0x02  /**< Secondary Service Declaration. */
+#define BLE_GATTS_ATTR_TYPE_INC_DECL        0x03  /**< Include Declaration. */
+#define BLE_GATTS_ATTR_TYPE_CHAR_DECL       0x04  /**< Characteristic Declaration. */
+#define BLE_GATTS_ATTR_TYPE_CHAR_VAL        0x05  /**< Characteristic Value. */
+#define BLE_GATTS_ATTR_TYPE_DESC            0x06  /**< Descriptor. */
+#define BLE_GATTS_ATTR_TYPE_OTHER           0x07  /**< Other, non-GATT specific type. */
+/** @} */
+
+
+/** @defgroup BLE_GATTS_OPS GATT Server Operations
+ * @{ */
+#define BLE_GATTS_OP_INVALID                0x00  /**< Invalid Operation. */
+#define BLE_GATTS_OP_WRITE_REQ              0x01  /**< Write Request. */
+#define BLE_GATTS_OP_WRITE_CMD              0x02  /**< Write Command. */
+#define BLE_GATTS_OP_SIGN_WRITE_CMD         0x03  /**< Signed Write Command. */
+#define BLE_GATTS_OP_PREP_WRITE_REQ         0x04  /**< Prepare Write Request. */
+#define BLE_GATTS_OP_EXEC_WRITE_REQ_CANCEL  0x05  /**< Execute Write Request: Cancel all prepared writes. */
+#define BLE_GATTS_OP_EXEC_WRITE_REQ_NOW     0x06  /**< Execute Write Request: Immediately execute all prepared writes. */
+/** @} */
+
+/** @defgroup BLE_GATTS_VLOCS GATT Value Locations
+ * @{ */
+#define BLE_GATTS_VLOC_INVALID       0x00  /**< Invalid Location. */
+#define BLE_GATTS_VLOC_STACK         0x01  /**< Attribute Value is located in stack memory, no user memory is required. */
+#define BLE_GATTS_VLOC_USER          0x02  /**< Attribute Value is located in user memory. This requires the user to maintain a valid buffer through the lifetime of the attribute, since the stack
+                                                will read and write directly to the memory using the pointer provided in the APIs. There are no alignment requirements for the buffer. */
+/** @} */
+
+/** @defgroup BLE_GATTS_AUTHORIZE_TYPES GATT Server Authorization Types
+ * @{ */
+#define BLE_GATTS_AUTHORIZE_TYPE_INVALID    0x00  /**< Invalid Type. */
+#define BLE_GATTS_AUTHORIZE_TYPE_READ       0x01  /**< Authorize a Read Operation. */
+#define BLE_GATTS_AUTHORIZE_TYPE_WRITE      0x02  /**< Authorize a Write Request Operation. */
+/** @} */
+
+
+/** @} */
+
+/** @addtogroup BLE_GATTS_STRUCTURES Structures
+ * @{ */
+
+/**
+ * @brief BLE GATTS init options
+ */
+typedef struct
+{
+  uint8_t   service_changed:1;             /**< Include the Service Changed characteristic in the local attributes. */
+} ble_gatts_enable_params_t;
+
+/**@brief Attribute metadata. */
+typedef struct
+{
+  ble_gap_conn_sec_mode_t read_perm;       /**< Read permissions. */
+  ble_gap_conn_sec_mode_t write_perm;      /**< Write permissions. */
+  uint8_t                 vlen       :1;   /**< Variable length attribute. */
+  uint8_t                 vloc       :2;   /**< Value location, see @ref BLE_GATTS_VLOCS.*/
+  uint8_t                 rd_auth    :1;   /**< Read Authorization and value will be requested from the application on every read operation. */ 
+  uint8_t                 wr_auth    :1;   /**< Write Authorization will be requested from the application on every Write Request operation (but not Write Command). */
+} ble_gatts_attr_md_t;
+
+
+/**@brief GATT Attribute. */
+typedef struct
+{
+  ble_uuid_t*          p_uuid;          /**< Pointer to the attribute UUID. */
+  ble_gatts_attr_md_t* p_attr_md;       /**< Pointer to the attribute metadata structure. */
+  uint16_t             init_len;        /**< Initial attribute value length in bytes. */
+  uint16_t             init_offs;       /**< Initial attribute value offset in bytes. If different from zero, the first init_offs bytes of the attribute value will be left uninitialized. */
+  uint16_t             max_len;         /**< Maximum attribute value length in bytes, see @ref BLE_GATTS_ATTR_LENS_MAX for maximum values. */
+  uint8_t*             p_value;         /**< Pointer to the attribute data. Please note that if the @ref BLE_GATTS_VLOC_USER value location is selected in the attribute metadata, this will have to point to a buffer
+                                             that remains valid through the lifetime of the attribute. This excludes usage of automatic variables that may go out of scope or any other temporary location. 
+                                             The stack may access that memory directly without the application's knowledge. */
+} ble_gatts_attr_t;
+
+
+/**@brief GATT Attribute Context. */
+typedef struct
+{
+  ble_uuid_t           srvc_uuid;       /**< Service UUID. */
+  ble_uuid_t           char_uuid;       /**< Characteristic UUID if applicable (BLE_UUID_TYPE_UNKNOWN if N/A). */
+  ble_uuid_t           desc_uuid;       /**< Descriptor UUID if applicable (BLE_UUID_TYPE_UNKNOWN if N/A). */
+  uint16_t             srvc_handle;     /**< Service Handle. */
+  uint16_t             value_handle;    /**< Characteristic Handle if applicable (BLE_GATT_HANDLE_INVALID if N/A). */
+  uint8_t              type;            /**< Attribute Type, see @ref BLE_GATTS_ATTR_TYPES. */
+} ble_gatts_attr_context_t;
+
+
+/**@brief GATT Characteristic Presentation Format. */
+typedef struct
+{
+  uint8_t          format;      /**< Format of the value, see @ref BLE_GATT_CPF_FORMATS. */
+  int8_t           exponent;    /**< Exponent for integer data types. */
+  uint16_t         unit;        /**< UUID from Bluetooth Assigned Numbers. */
+  uint8_t          name_space;  /**< Namespace from Bluetooth Assigned Numbers, see @ref BLE_GATT_CPF_NAMESPACES. */
+  uint16_t         desc;        /**< Namespace description from Bluetooth Assigned Numbers, see @ref BLE_GATT_CPF_NAMESPACES. */
+} ble_gatts_char_pf_t;
+
+
+/**@brief GATT Characteristic metadata. */
+typedef struct
+{
+  ble_gatt_char_props_t       char_props;               /**< Characteristic Properties. */
+  ble_gatt_char_ext_props_t   char_ext_props;           /**< Characteristic Extended Properties. */
+  uint8_t*                    p_char_user_desc;         /**< Pointer to a UTF-8, NULL if the descriptor is not required. */
+  uint16_t                    char_user_desc_max_size;  /**< The maximum size in bytes of the user description descriptor. */
+  uint16_t                    char_user_desc_size;      /**< The size of the user description, must be smaller or equal to char_user_desc_max_size. */ 
+  ble_gatts_char_pf_t*        p_char_pf;                /**< Pointer to a presentation format structure or NULL if the descriptor is not required. */
+  ble_gatts_attr_md_t*        p_user_desc_md;           /**< Attribute metadata for the User Description descriptor, or NULL for default values. */
+  ble_gatts_attr_md_t*        p_cccd_md;                /**< Attribute metadata for the Client Characteristic Configuration Descriptor, or NULL for default values. */
+  ble_gatts_attr_md_t*        p_sccd_md;                /**< Attribute metadata for the Server Characteristic Configuration Descriptor, or NULL for default values. */
+} ble_gatts_char_md_t;
+
+
+/**@brief GATT Characteristic Definition Handles. */
+typedef struct
+{
+  uint16_t          value_handle;       /**< Handle to the characteristic value. */
+  uint16_t          user_desc_handle;   /**< Handle to the User Description descriptor, or BLE_GATT_HANDLE_INVALID if not present. */
+  uint16_t          cccd_handle;        /**< Handle to the Client Characteristic Configuration Descriptor, or BLE_GATT_HANDLE_INVALID if not present. */
+  uint16_t          sccd_handle;        /**< Handle to the Server Characteristic Configuration Descriptor, or BLE_GATT_HANDLE_INVALID if not present. */
+} ble_gatts_char_handles_t;
+
+
+/**@brief GATT HVx parameters. */
+typedef struct
+{
+  uint16_t          handle;             /**< Characteristic Value Handle. */
+  uint8_t           type;               /**< Indication or Notification, see @ref BLE_GATT_HVX_TYPES. */
+  uint16_t          offset;             /**< Offset within the attribute value. */
+  uint16_t*         p_len;              /**< Length in bytes to be written, length in bytes written after successful return. */
+  uint8_t*          p_data;             /**< Actual data content, use NULL to use the current attribute value. */
+} ble_gatts_hvx_params_t;
+
+/**@brief GATT Read Authorization parameters. */
+typedef struct
+{
+  uint16_t          gatt_status;        /**< GATT status code for the operation, see @ref BLE_GATT_STATUS_CODES. */
+  uint8_t           update : 1;         /**< If set, data supplied in p_data will be used in the ATT response. */
+  uint16_t          offset;             /**< Offset of the attribute value being updated. */
+  uint16_t          len;                /**< Length in bytes of the value in p_data pointer, see @ref BLE_GATTS_ATTR_LENS_MAX. */
+  uint8_t*          p_data;             /**< Pointer to new value used to update the attribute value. */
+} ble_gatts_read_authorize_params_t;
+
+/**@brief GATT Write Authorisation parameters. */
+typedef struct
+{
+  uint16_t          gatt_status;        /**< GATT status code for the operation, see @ref BLE_GATT_STATUS_CODES. */
+} ble_gatts_write_authorize_params_t;
+
+/**@brief GATT Read or Write Authorize Reply parameters. */
+typedef struct
+{
+  uint8_t                               type;   /**< Type of authorize operation, see @ref BLE_GATTS_AUTHORIZE_TYPES. */
+  union {
+    ble_gatts_read_authorize_params_t   read;   /**< Read authorization parameters. */
+    ble_gatts_write_authorize_params_t  write;  /**< Write authorization parameters. */
+  } params;
+} ble_gatts_rw_authorize_reply_params_t;
+
+
+/**
+ * @brief GATT Server Event IDs.
+ */
+enum BLE_GATTS_EVTS
+{
+  BLE_GATTS_EVT_WRITE = BLE_GATTS_EVT_BASE,       /**< Write operation performed. */
+  BLE_GATTS_EVT_RW_AUTHORIZE_REQUEST,             /**< Read/Write Authorization request. */
+  BLE_GATTS_EVT_SYS_ATTR_MISSING,                 /**< A persistent system attribute access is pending, awaiting a sd_ble_gatts_sys_attr_set(). */
+  BLE_GATTS_EVT_HVC,                              /**< Handle Value Confirmation. */
+  BLE_GATTS_EVT_SC_CONFIRM,                       /**< Service Changed Confirmation. */
+  BLE_GATTS_EVT_TIMEOUT                           /**< Timeout. */
+};
+
+
+/**@brief Event structure for BLE_GATTS_EVT_WRITE. */
+typedef struct
+{
+  uint16_t                    handle;             /**< Attribute Handle. */
+  uint8_t                     op;                 /**< Type of write operation, see @ref BLE_GATTS_OPS. */
+  ble_gatts_attr_context_t    context;            /**< Attribute Context. */
+  uint16_t                    offset;             /**< Offset for the write operation. */
+  uint16_t                    len;                /**< Length of the incoming data. */
+  uint8_t                     data[1];            /**< Incoming data, variable length. */
+} ble_gatts_evt_write_t;
+
+/**@brief Event structure for authorize read request. */
+typedef struct
+{
+  uint16_t                    handle;             /**< Attribute Handle. */
+  ble_gatts_attr_context_t    context;            /**< Attribute Context. */
+  uint16_t                    offset;             /**< Offset for the read operation. */
+} ble_gatts_evt_read_t;
+
+/**@brief Event structure for BLE_GATTS_EVT_RW_AUTHORIZE_REQUEST. */
+typedef struct
+{
+  uint8_t                     type;             /**< Type of authorize operation, see @ref BLE_GATTS_AUTHORIZE_TYPES. */
+  union {
+    ble_gatts_evt_read_t      read;             /**< Attribute Read Parameters. */
+    ble_gatts_evt_write_t     write;            /**< Attribute Write Parameters. */
+  } request;
+} ble_gatts_evt_rw_authorize_request_t;
+
+/**@brief Event structure for BLE_GATTS_EVT_SYS_ATTR_MISSING. */
+typedef struct
+{
+  uint8_t hint;
+} ble_gatts_evt_sys_attr_missing_t;
+
+
+/**@brief Event structure for BLE_GATTS_EVT_HVC. */
+typedef struct
+{
+  uint16_t          handle;                       /**< Attribute Handle. */
+} ble_gatts_evt_hvc_t;
+
+/**@brief Event structure for BLE_GATTS_EVT_TIMEOUT. */
+typedef struct
+{
+  uint8_t          src;                       /**< Timeout source, see @ref BLE_GATT_TIMEOUT_SOURCES. */
+} ble_gatts_evt_timeout_t;
+
+
+/**@brief GATT Server event callback event structure. */
+typedef struct
+{
+  uint16_t conn_handle;                                       /**< Connection Handle on which event occurred. */
+  union
+  {
+    ble_gatts_evt_write_t                 write;              /**< Write Event Parameters. */
+    ble_gatts_evt_rw_authorize_request_t  authorize_request;  /**< Read or Write Authorize Request Parameters. */
+    ble_gatts_evt_sys_attr_missing_t      sys_attr_missing;   /**< System attributes missing. */
+    ble_gatts_evt_hvc_t                   hvc;                /**< Handle Value Confirmation Event Parameters. */
+    ble_gatts_evt_timeout_t               timeout;            /**< Timeout Event. */
+  } params;
+} ble_gatts_evt_t;
+
+/** @} */
+
+/** @addtogroup BLE_GATTS_FUNCTIONS Functions
+ * @{ */
+
+/**@brief Add a service declaration to the local server ATT table.
+ *
+ * @param[in] type      Toggles between primary and secondary services, see @ref BLE_GATTS_SRVC_TYPES.
+ * @param[in] p_uuid    Pointer to service UUID.
+ * @param[out] p_handle Pointer to a 16-bit word where the assigned handle will be stored.
+ *
+ * @note Secondary Services are only relevant in the context of the entity that references them, it is therefore forbidden to
+ *       add a secondary service declaration that is not referenced by another service later in the ATT table.
+ *
+ * @return @ref NRF_SUCCESS Successfully added a service declaration.
+ * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
+ * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied, Vendor Specific UUIDs need to be present in the table.
+ * @return @ref NRF_ERROR_FORBIDDEN Forbidden value supplied, certain UUIDs are reserved for the stack.
+ * @return @ref NRF_ERROR_NO_MEM Not enough memory to complete operation.
+ */
+SVCALL(SD_BLE_GATTS_SERVICE_ADD, uint32_t, sd_ble_gatts_service_add(uint8_t type, ble_uuid_t const*const p_uuid, uint16_t *const p_handle));
+
+
+/**@brief Add an include declaration to the local server ATT table.
+ *
+ * @note It is currently only possible to add an include declaration to the last added service (i.e. only sequential addition is supported at this time). 
+ *
+ * @note The included service must already be present in the ATT table prior to this call.
+ *
+ * @param[in] service_handle    Handle of the service where the included service is to be placed, if BLE_GATT_HANDLE_INVALID is used, it will be placed sequentially.
+ * @param[in] inc_srvc_handle   Handle of the included service.
+ * @param[out] p_include_handle Pointer to a 16-bit word where the assigned handle will be stored.
+ *
+ * @return @ref NRF_SUCCESS Successfully added an include declaration.
+ * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
+ * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied, handle values need to match previously added services.
+ * @return @ref NRF_ERROR_INVALID_STATE Invalid state to perform operation.
+ * @return @ref NRF_ERROR_FORBIDDEN Forbidden value supplied, self inclusions are not allowed.
+ * @return @ref NRF_ERROR_NO_MEM Not enough memory to complete operation.
+ * @return @ref NRF_ERROR_NOT_FOUND Attribute not found.
+ */
+SVCALL(SD_BLE_GATTS_INCLUDE_ADD, uint32_t, sd_ble_gatts_include_add(uint16_t service_handle, uint16_t inc_srvc_handle, uint16_t *const p_include_handle));
+
+
+/**@brief Add a characteristic declaration, a characteristic value declaration and optional characteristic descriptor declarations to the local server ATT table.
+ *
+ * @note It is currently only possible to add a characteristic to the last added service (i.e. only sequential addition is supported at this time). 
+ *
+ * @note Several restrictions apply to the parameters, such as matching permissions between the user description descriptor and the writeable auxiliaries bits,
+ *       readable (no security) and writeable (selectable) CCCDs and SCCDs and valid presentation format values.
+ *
+ * @note If no metadata is provided for the optional descriptors, their permissions will be derived from the characteristic permissions.
+ *
+ * @param[in] service_handle    Handle of the service where the characteristic is to be placed, if BLE_GATT_HANDLE_INVALID is used, it will be placed sequentially.
+ * @param[in] p_char_md         Characteristic metadata.
+ * @param[in] p_attr_char_value Pointer to the attribute structure corresponding to the characteristic value.
+ * @param[out] p_handles        Pointer to the structure where the assigned handles will be stored.
+ *
+ * @return @ref NRF_SUCCESS Successfully added a characteristic.
+ * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
+ * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied, service handle, Vendor Specific UUIDs, lengths, and permissions need to adhere to the constraints.
+ * @return @ref NRF_ERROR_INVALID_STATE Invalid state to perform operation, a service context is required.
+ * @return @ref NRF_ERROR_FORBIDDEN Forbidden value supplied, certain UUIDs are reserved for the stack.
+ * @return @ref NRF_ERROR_NO_MEM Not enough memory to complete operation.
+ * @return @ref NRF_ERROR_DATA_SIZE Invalid data size(s) supplied, attribute lengths are restricted by @ref BLE_GATTS_ATTR_LENS_MAX.
+ */
+SVCALL(SD_BLE_GATTS_CHARACTERISTIC_ADD, uint32_t, sd_ble_gatts_characteristic_add(uint16_t service_handle, ble_gatts_char_md_t const*const p_char_md, ble_gatts_attr_t const*const p_attr_char_value, ble_gatts_char_handles_t *const p_handles));
+
+
+/**@brief Add a descriptor to the local server ATT table.
+ *
+ * @note It is currently only possible to add a descriptor to the last added characteristic (i.e. only sequential addition is supported at this time). 
+ *
+ * @param[in] char_handle   Handle of the characteristic where the descriptor is to be placed, if BLE_GATT_HANDLE_INVALID is used, it will be placed sequentially.
+ * @param[in] p_attr        Pointer to the attribute structure.
+ * @param[out] p_handle     Pointer to a 16-bit word where the assigned handle will be stored.
+ *
+ * @return @ref NRF_SUCCESS Successfully added a descriptor.
+ * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
+ * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied, characteristic handle, Vendor Specific UUIDs, lengths, and permissions need to adhere to the constraints.
+ * @return @ref NRF_ERROR_INVALID_STATE Invalid state to perform operation, a characteristic context is required.
+ * @return @ref NRF_ERROR_FORBIDDEN Forbidden value supplied, certain UUIDs are reserved for the stack.
+ * @return @ref NRF_ERROR_NO_MEM Not enough memory to complete operation.
+ * @return @ref NRF_ERROR_DATA_SIZE Invalid data size(s) supplied, attribute lengths are restricted by @ref BLE_GATTS_ATTR_LENS_MAX.
+ */
+SVCALL(SD_BLE_GATTS_DESCRIPTOR_ADD, uint32_t, sd_ble_gatts_descriptor_add(uint16_t char_handle, ble_gatts_attr_t const * const p_attr, uint16_t* const p_handle));
+
+/**@brief Set the value of a given attribute.
+ *
+ * @param[in] handle    Attribute handle.
+ * @param[in] offset    Offset in bytes to write from.
+ * @param[in,out] p_len Length in bytes to be written, length in bytes written after successful return.
+ * @param[in] p_value   Pointer to a buffer (at least len bytes long) containing the desired attribute value. If value is stored in user memory, only the attribute length is updated when p_value == NULL.
+ *
+ * @return @ref NRF_SUCCESS Successfully set the value of the attribute.
+ * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
+ * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied.
+ * @return @ref NRF_ERROR_NOT_FOUND Attribute not found.
+ * @return @ref NRF_ERROR_FORBIDDEN Forbidden handle supplied, certain attributes are not modifiable by the application.
+ * @return @ref NRF_ERROR_DATA_SIZE Invalid data size(s) supplied, attribute lengths are restricted by @ref BLE_GATTS_ATTR_LENS_MAX.
+ */
+SVCALL(SD_BLE_GATTS_VALUE_SET, uint32_t, sd_ble_gatts_value_set(uint16_t handle, uint16_t offset, uint16_t* const p_len, uint8_t const * const p_value));
+
+/**@brief Get the value of a given attribute.
+ *
+ * @param[in] handle     Attribute handle.
+ * @param[in] offset     Offset in bytes to read from.
+ * @param[in,out] p_len  Length in bytes to be read, total length of attribute value (in bytes, starting from offset) after successful return.
+ * @param[in,out] p_data Pointer to a buffer (at least len bytes long) where to store the attribute value. Set to NULL to obtain the complete length of attribute value.
+ *
+ * @note                 If the attribute value is longer than the size of the supplied buffer,
+ *                       p_len will return the total attribute value length (excluding offset),
+ *                       and not the number of bytes actually returned in p_data.
+ *                       The application may use this information to allocate a suitable buffer size.
+ * 
+ * @return @ref NRF_SUCCESS Successfully retrieved the value of the attribute.
+ * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
+ * @return @ref NRF_ERROR_NOT_FOUND Attribute not found.
+ */
+SVCALL(SD_BLE_GATTS_VALUE_GET, uint32_t, sd_ble_gatts_value_get(uint16_t handle, uint16_t offset, uint16_t *const p_len, uint8_t* const p_data));
+
+/**@brief Notify or Indicate an attribute value.
+ *
+ * @details This function checks for the relevant Client Characteristic Configuration descriptor value to verify that the relevant operation
+ *          (notification or indication) has been enabled by the client. It is also able to update the attribute value before issuing the PDU, so that
+ *          the application can atomically perform a value update and a server initiated transaction with a single API call.
+ *          If the application chooses to indicate an attribute value, a @ref BLE_GATTS_EVT_HVC will be sent up as soon as the confirmation arrives from
+ *          the peer.
+ *
+ * @note    The local attribute value may be updated even if an outgoing packet is not sent to the peer due to an error during execution. 
+ *          When receiveing the error codes @ref NRF_ERROR_INVALID_STATE, @ref NRF_ERROR_BUSY, @ref BLE_ERROR_GATTS_SYS_ATTR_MISSING and 
+ *          @ref BLE_ERROR_NO_TX_BUFFERS the ATT table has been updated.
+ *          The caller can check whether the value has been updated by looking at the contents of *(p_hvx_params->p_len).
+ *
+ * @note    It is important to note that a notification will <b>consume an application buffer</b>, and will therefore 
+ *          generate a @ref BLE_EVT_TX_COMPLETE event when the packet has been transmitted. An indication on the other hand will use the 
+ *          standard server internal buffer and thus will only generate a @ref BLE_GATTS_EVT_HVC event as soon as the confirmation 
+ *          has been received from the peer. Please see the documentation of @ref sd_ble_tx_buffer_count_get for more details.
+ *
+ * @param[in] conn_handle  Connection handle.
+ * @param[in] p_hvx_params Pointer to an HVx parameters structure. If the p_data member contains a non-NULL pointer the attribute value will be updated with
+ *                         the contents pointed by it before sending the notification or indication.
+ *
+ * @return @ref NRF_SUCCESS Successfully queued a notification or indication for transmission, and optionally updated the attribute value.
+ * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid Connection Handle.
+ * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
+ * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied.
+ * @return @ref BLE_ERROR_INVALID_ATTR_HANDLE Invalid attribute handle(s) supplied. Only attributes added directly by the application are available to notify and indicate.
+ * @return @ref BLE_ERROR_GATTS_INVALID_ATTR_TYPE Invalid attribute type(s) supplied, only characteristic values may be notified and indicated.
+ * @return @ref NRF_ERROR_NOT_FOUND Attribute not found.
+ * @return @ref NRF_ERROR_DATA_SIZE Invalid data size(s) supplied.
+ * @return @ref NRF_ERROR_INVALID_STATE Invalid state to perform operation, notifications or indications must be enabled in the CCCD.
+ * @return @ref NRF_ERROR_BUSY Procedure already in progress.
+ * @return @ref BLE_ERROR_GATTS_SYS_ATTR_MISSING System attributes missing, use @ref sd_ble_gatts_sys_attr_set to set them to a known value.
+ * @return @ref BLE_ERROR_NO_TX_BUFFERS There are no available buffers to send the data, applies only to notifications.
+ */
+SVCALL(SD_BLE_GATTS_HVX, uint32_t, sd_ble_gatts_hvx(uint16_t conn_handle, ble_gatts_hvx_params_t const*const p_hvx_params));
+
+/**@brief Indicate the Service Changed attribute value.
+ *
+ * @details This call will send a Handle Value Indication to one or more peers connected to inform them that the attribute
+ *          table layout has changed. As soon as the peer has confirmed the indication, a @ref BLE_GATTS_EVT_SC_CONFIRM event will
+ *          be issued.
+ *
+ * @note    Some of the restrictions and limitations that apply to @ref sd_ble_gatts_hvx also apply here.
+ *
+ * @param[in] conn_handle  Connection handle.
+ * @param[in] start_handle Start of affected attribute handle range.
+ * @param[in] end_handle   End of affected attribute handle range.
+ *
+ * @return @ref NRF_SUCCESS Successfully queued the Service Changed indication for transmission.
+ * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid Connection Handle.
+ * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied.
+ * @return @ref BLE_ERROR_INVALID_ATTR_HANDLE Invalid attribute handle(s) supplied, handles must be in the range populated by the application.
+ * @return @ref NRF_ERROR_INVALID_STATE Invalid state to perform operation, notifications or indications must be enabled in the CCCD.
+ * @return @ref NRF_ERROR_BUSY Procedure already in progress.
+ * @return @ref BLE_ERROR_GATTS_SYS_ATTR_MISSING System attributes missing, use @ref sd_ble_gatts_sys_attr_set to set them to a known value.
+ */
+SVCALL(SD_BLE_GATTS_SERVICE_CHANGED, uint32_t, sd_ble_gatts_service_changed(uint16_t conn_handle, uint16_t start_handle, uint16_t end_handle));
+
+/**@brief Respond to a Read/Write authorization request.
+ *
+ * @note This call should only be used as a response to a @ref BLE_GATTS_EVT_RW_AUTHORIZE_REQUEST event issued to the application.
+ *
+ * @param[in] conn_handle                 Connection handle.
+ * @param[in] p_rw_authorize_reply_params Pointer to a structure with the attribute provided by the application.
+ *
+ * @return @ref NRF_SUCCESS               Successfully queued a response to the peer, and in the case of a write operation, ATT table updated.
+ * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid Connection Handle.
+ * @return @ref NRF_ERROR_INVALID_STATE   No authorization request pending.
+ * @return @ref NRF_ERROR_INVALID_PARAM   Authorization op invalid,
+ *                                         or for Read Authorization reply: requested handles not replied with,
+ *                                         or for Write Authorization reply: handle supplied does not match requested handle.
+ */
+SVCALL(SD_BLE_GATTS_RW_AUTHORIZE_REPLY, uint32_t, sd_ble_gatts_rw_authorize_reply(uint16_t conn_handle, ble_gatts_rw_authorize_reply_params_t const*const p_rw_authorize_reply_params));
+
+
+/**@brief Update persistent system attribute information.
+ *
+ * @details Supply to the stack information about persistent system attributes.
+ *          This call is legal in the connected state only, and is usually 
+ *          made immediately after a connection is established and the bond identified.
+ *          usually as a response to a BLE_GATTS_EVT_SYS_ATTR_MISSING.
+ *
+ *          p_sysattrs may point directly to the application's stored copy of the struct.
+ *          If the pointer is NULL, the system attribute info is initialized, assuming that
+ *          the application does not have any previously saved data for this bond.
+ *
+ * @note The state of persistent system attributes is reset upon connection and then remembered for its duration. 
+ *
+ * @note If this call returns with an error code different from @ref NRF_SUCCESS, the storage of persistent system attributes may have been completed only partially.
+ *       This means that the state of the attribute table is undefined, and the application should either provide a new set of attributes using this same call or
+ *       reset the SoftDevice to return to a known state.
+ *
+ * @param[in]  conn_handle        Connection handle.
+ * @param[in]  p_sys_attr_data    Pointer to a saved copy of system attributes supplied to the stack, or NULL.
+ * @param[in]  len                Size of data pointed by p_sys_attr_data, in octets. 
+ *
+ * @return @ref NRF_SUCCESS Successfully set the system attribute information.
+ * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid Connection Handle.
+ * @return @ref NRF_ERROR_INVALID_DATA Invalid data supplied, the data should be exactly the same as retrieved with @ref sd_ble_gatts_sys_attr_get.
+ * @return @ref NRF_ERROR_NO_MEM Not enough memory to complete operation.
+ */ 
+SVCALL(SD_BLE_GATTS_SYS_ATTR_SET, uint32_t, sd_ble_gatts_sys_attr_set(uint16_t conn_handle, uint8_t const*const p_sys_attr_data, uint16_t len)); 
+
+ 
+/**@brief Retrieve persistent system attribute information from the stack.
+ *
+ * @details This call is used to retrieve information about values to be stored perisistently by the application
+ *          after a connection has been terminated. When a new connection is made to the same bond, the values
+ *          should be restored using @ref sd_ble_gatts_sys_attr_set.
+ *          The data should be read before any new advertising is started, or any new connection established. The connection handle for
+ *          the previous now defunct connection will remain valid until a new one is created to allow this API call to refer to it.
+ *
+ * @param[in]     conn_handle       Connection handle of the recently terminated connection.
+ * @param[in]     p_sys_attr_data   Pointer to a buffer where updated information about system attributes will be filled in. NULL can be provided to 
+ *                                  obtain the length of the data
+ * @param[in,out] p_len             Size of application buffer if p_sys_attr_data is not NULL. Unconditially updated to actual length of system attribute data.
+ *
+ * @return @ref NRF_SUCCESS Successfully retrieved the system attribute information.
+ * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid Connection Handle.
+ * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
+ * @return @ref NRF_ERROR_DATA_SIZE The system attribute information did not fit into the provided buffer.
+ */ 
+SVCALL(SD_BLE_GATTS_SYS_ATTR_GET, uint32_t, sd_ble_gatts_sys_attr_get(uint16_t conn_handle, uint8_t * const p_sys_attr_data, uint16_t* const p_len)); 
+
+/** @} */
+
+#endif // BLE_GATTS_H__
+
+/**
+  @}
+*/
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TARGET_NRF51822/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/ble_hci.h	Fri Aug 15 15:28:31 2014 +0100
@@ -0,0 +1,96 @@
+/*
+  Copyright (c) 2012 Nordic Semiconductor. All Rights Reserved.
+
+  The information contained herein is confidential property of Nordic Semiconductor. The use,
+  copying, transfer or disclosure of such information is prohibited except by express written
+  agreement with Nordic Semiconductor.
+ */
+/**
+  @addtogroup BLE_COMMON 
+  @{
+*/
+
+
+#ifndef BLE_HCI_H__
+#define BLE_HCI_H__ 
+
+/** @defgroup BLE_HCI_STATUS_CODES Bluetooth status codes
+ * @{ */
+
+#define BLE_HCI_STATUS_CODE_SUCCESS                        0x00
+#define BLE_HCI_STATUS_CODE_UNKNOWN_BTLE_COMMAND           0x01
+#define BLE_HCI_STATUS_CODE_UNKNOWN_CONNECTION_IDENTIFIER  0x02 
+/*0x03 Hardware Failure
+0x04 Page Timeout
+*/
+#define BLE_HCI_AUTHENTICATION_FAILURE                     0x05
+#define BLE_HCI_STATUS_CODE_PIN_OR_KEY_MISSING             0x06
+#define BLE_HCI_MEMORY_CAPACITY_EXCEEDED                   0x07
+#define BLE_HCI_CONNECTION_TIMEOUT                         0x08
+/*0x09 Connection Limit Exceeded
+0x0A Synchronous Connection Limit To A Device Exceeded
+0x0B ACL Connection Already Exists*/
+#define BLE_HCI_STATUS_CODE_COMMAND_DISALLOWED             0x0C
+/*0x0D Connection Rejected due to Limited Resources
+0x0E Connection Rejected Due To Security Reasons
+0x0F Connection Rejected due to Unacceptable BD_ADDR
+0x10 Connection Accept Timeout Exceeded
+0x11 Unsupported Feature or Parameter Value*/
+#define BLE_HCI_STATUS_CODE_INVALID_BTLE_COMMAND_PARAMETERS 0x12
+#define BLE_HCI_REMOTE_USER_TERMINATED_CONNECTION           0x13
+#define BLE_HCI_REMOTE_DEV_TERMINATION_DUE_TO_LOW_RESOURCES 0x14
+#define BLE_HCI_REMOTE_DEV_TERMINATION_DUE_TO_POWER_OFF     0x15
+#define BLE_HCI_LOCAL_HOST_TERMINATED_CONNECTION            0x16
+/*
+0x17 Repeated Attempts
+0x18 Pairing Not Allowed
+0x19 Unknown LMP PDU
+*/
+#define BLE_HCI_UNSUPPORTED_REMOTE_FEATURE 0x1A
+/*
+0x1B SCO Offset Rejected
+0x1C SCO Interval Rejected
+0x1D SCO Air Mode Rejected*/
+#define BLE_HCI_STATUS_CODE_INVALID_LMP_PARAMETERS     0x1E
+#define BLE_HCI_STATUS_CODE_UNSPECIFIED_ERROR          0x1F
+/*0x20 Unsupported LMP Parameter Value
+0x21 Role Change Not Allowed
+*/
+#define BLE_HCI_STATUS_CODE_LMP_RESPONSE_TIMEOUT       0x22
+/*0x23 LMP Error Transaction Collision*/
+#define BLE_HCI_STATUS_CODE_LMP_PDU_NOT_ALLOWED        0x24
+/*0x25 Encryption Mode Not Acceptable
+0x26 Link Key Can Not be Changed
+0x27 Requested QoS Not Supported
+*/
+#define BLE_HCI_INSTANT_PASSED                         0x28
+#define BLE_HCI_PAIRING_WITH_UNIT_KEY_UNSUPPORTED      0x29
+#define BLE_HCI_DIFFERENT_TRANSACTION_COLLISION        0x2A
+/*
+0x2B Reserved
+0x2C QoS Unacceptable Parameter
+0x2D QoS Rejected
+0x2E Channel Classification Not Supported
+0x2F Insufficient Security
+0x30 Parameter Out Of Mandatory Range
+0x31 Reserved
+0x32 Role Switch Pending
+0x33 Reserved
+0x34 Reserved Slot Violation
+0x35 Role Switch Failed
+0x36 Extended Inquiry Response Too Large
+0x37 Secure Simple Pairing Not Supported By Host.
+0x38 Host Busy - Pairing
+0x39 Connection Rejected due to No Suitable Channel Found*/
+#define BLE_HCI_CONTROLLER_BUSY                        0x3A
+#define BLE_HCI_CONN_INTERVAL_UNACCEPTABLE             0x3B
+#define BLE_HCI_DIRECTED_ADVERTISER_TIMEOUT            0x3C
+#define BLE_HCI_CONN_TERMINATED_DUE_TO_MIC_FAILURE     0x3D
+#define BLE_HCI_CONN_FAILED_TO_BE_ESTABLISHED          0x3E
+
+/** @} */
+
+
+#endif // BLE_HCI_H__
+
+/** @} */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TARGET_NRF51822/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/ble_l2cap.h	Fri Aug 15 15:28:31 2014 +0100
@@ -0,0 +1,144 @@
+/* Copyright (c) 2011 Nordic Semiconductor. All Rights Reserved.
+ *
+ * The information contained herein is confidential property of Nordic Semiconductor. The use,
+ * copying, transfer or disclosure of such information is prohibited except by express written
+ * agreement with Nordic Semiconductor.
+ *
+ */
+/**
+  @addtogroup BLE_L2CAP Logical Link Control and Adaptation Protocol (L2CAP)
+  @{
+  @brief Definitions and prototypes for the L2CAP interface.
+ */
+
+#ifndef BLE_L2CAP_H__
+#define BLE_L2CAP_H__ 
+
+#include "ble_types.h"
+#include "ble_ranges.h"
+#include "ble_err.h"
+#include "nrf_svc.h"
+
+/**@addtogroup BLE_L2CAP_ENUMERATIONS Enumerations
+ * @{ */
+
+/**@brief L2CAP API SVC numbers. */
+enum BLE_L2CAP_SVCS 
+{
+  SD_BLE_L2CAP_CID_REGISTER = BLE_L2CAP_SVC_BASE,  /**< Register a CID. */
+  SD_BLE_L2CAP_CID_UNREGISTER,                     /**< Unregister a CID. */
+  SD_BLE_L2CAP_TX                                  /**< Transmit a packet. */
+};
+
+/** @} */
+
+/**@addtogroup BLE_L2CAP_DEFINES Defines
+ * @{ */
+
+/**@defgroup BLE_ERRORS_L2CAP SVC return values specific to L2CAP
+ * @{ */
+#define BLE_ERROR_L2CAP_CID_IN_USE            (NRF_L2CAP_ERR_BASE + 0x000)  /**< CID already in use. */
+/** @} */
+
+/**@brief Default L2CAP MTU. */
+#define BLE_L2CAP_MTU_DEF           (23)    
+
+/**@brief Invalid Channel Identifier. */
+#define BLE_L2CAP_CID_INVALID       (0x0000) 
+
+/**@brief Dynamic Channel Identifier base. */
+#define BLE_L2CAP_CID_DYN_BASE      (0x0040) 
+
+/**@brief Maximum amount of dynamic CIDs. */
+#define BLE_L2CAP_CID_DYN_MAX       (8) 
+
+/** @} */
+
+/**@addtogroup BLE_L2CAP_STRUCTURES Structures
+ * @{ */
+
+/**@brief Packet header format for L2CAP transmission. */
+typedef struct
+{
+  uint16_t   len;                                 /**< Length of valid info in data member. */
+  uint16_t   cid;                                 /**< Channel ID on which packet is transmitted. */
+} ble_l2cap_header_t;
+
+/**@brief L2CAP Event IDs. */
+enum BLE_L2CAP_EVTS 
+{
+  BLE_L2CAP_EVT_RX  = BLE_L2CAP_EVT_BASE          /**< L2CAP packet received. */
+};
+
+
+/**@brief L2CAP Received packet event report. */
+typedef struct
+{
+  ble_l2cap_header_t header;                      /** L2CAP packet header. */
+  uint8_t    data[1];                             /**< Packet data, variable length. */
+} ble_l2cap_evt_rx_t;
+
+
+/**@brief L2CAP event callback event structure. */
+typedef struct
+{
+  uint16_t conn_handle;                           /**< Connection Handle on which event occured. */
+  union
+  {
+    ble_l2cap_evt_rx_t rx;                        /**< RX Event parameters. */
+  } params;
+} ble_l2cap_evt_t;
+
+
+/**@brief Register a CID with L2CAP.
+ *
+ * @details This registers a higher protocol layer with the L2CAP multiplexer, and is requried prior to all operations on the CID.
+ *          
+ * @param[in] cid L2CAP CID.
+ *
+ * @return @ref NRF_SUCCESS Successfully registered a CID with the L2CAP layer.
+ * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied, CID must be above @ref BLE_L2CAP_CID_DYN_BASE.
+ * @return @ref BLE_ERROR_L2CAP_CID_IN_USE L2CAP CID already in use.
+ * @return @ref NRF_ERROR_NO_MEM Not enough memory to complete operation.
+ */
+SVCALL(SD_BLE_L2CAP_CID_REGISTER, uint32_t, sd_ble_l2cap_cid_register(uint16_t cid));
+
+/**@brief Unregister a CID with L2CAP.
+ *
+ * @details This unregisters a previously registerd higher protocol layer with the L2CAP multiplexer.
+ *          
+ * @param[in] cid L2CAP CID.
+ *
+ * @return @ref NRF_SUCCESS Successfully unregistered the CID.
+ * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied.
+ * @return @ref NRF_ERROR_NOT_FOUND CID not previously registered.
+ */
+SVCALL(SD_BLE_L2CAP_CID_UNREGISTER, uint32_t, sd_ble_l2cap_cid_unregister(uint16_t cid));
+
+/**@brief Transmit an L2CAP packet.
+ *
+ * @note    It is important to note that a call to this function will <b>consume an application buffer</b>, and will therefore 
+ *          generate a @ref BLE_EVT_TX_COMPLETE event when the packet has been transmitted. 
+ *          Please see the documentation of @ref sd_ble_tx_buffer_count_get for more details.
+ *
+ * @param[in] conn_handle Connection Handle.
+ * @param[in] p_header    Pointer to a packet header containing length and CID.
+ * @param[in] p_data      Pointer to the data to be transmitted.
+ *
+ * @return @ref NRF_SUCCESS Successfully queued an L2CAP packet for transmission.
+ * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
+ * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied, CIDs must be registered beforehand with @ref sd_ble_l2cap_cid_register.
+ * @return @ref NRF_ERROR_NOT_FOUND CID not found.
+ * @return @ref NRF_ERROR_NO_MEM Not enough memory to complete operation.
+ * @return @ref BLE_ERROR_NO_TX_BUFFERS Not enough application buffers available.
+ * @return @ref NRF_ERROR_DATA_SIZE Invalid data size(s) supplied, see @ref BLE_L2CAP_MTU_DEF.
+ */
+SVCALL(SD_BLE_L2CAP_TX, uint32_t, sd_ble_l2cap_tx(uint16_t conn_handle, ble_l2cap_header_t const * const p_header, uint8_t const * const p_data));
+
+/** @} */
+
+#endif // BLE_L2CAP_H__
+
+/**
+  @}
+*/
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TARGET_NRF51822/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/ble_ranges.h	Fri Aug 15 15:28:31 2014 +0100
@@ -0,0 +1,89 @@
+/*
+  Copyright (c) 2012 Nordic Semiconductor. All Rights Reserved.
+
+  The information contained herein is confidential property of Nordic Semiconductor. The use,
+  copying, transfer or disclosure of such information is prohibited except by express written
+  agreement with Nordic Semiconductor.
+ */
+/**
+  @addtogroup BLE_COMMON
+  @{
+  @defgroup ble_ranges Module specific SVC and event number subranges
+  @{
+
+  @brief Definition of SVC and event number subranges for each API module.
+
+  @note
+  SVCs and event numbers are split into subranges for each API module.
+  Each module receives its entire allocated range of SVC calls, whether implemented or not,
+  but return BLE_ERROR_NOT_SUPPORTED for unimplemented or undefined calls in its range.
+
+  Note that the symbols BLE_<module>_SVC_LAST is the end of the allocated SVC range,
+  rather than the last SVC function call actually defined and implemented.
+
+  Specific SVC and event values are defined in each module's ble_<module>.h file,
+  which defines names of each individual SVC code based on the range start value.
+*/
+
+#ifndef BLE_RANGES_H__
+#define BLE_RANGES_H__
+
+#define BLE_SVC_BASE           0x60
+#define BLE_SVC_LAST           0x6B       /* Total: 12. */
+
+#define BLE_RESERVED_SVC_BASE  0x6C
+#define BLE_RESERVED_SVC_LAST  0x6F       /* Total: 4. */
+
+#define BLE_GAP_SVC_BASE       0x70
+#define BLE_GAP_SVC_LAST       0x8F       /* Total: 32. */
+
+#define BLE_GATTC_SVC_BASE     0x90
+#define BLE_GATTC_SVC_LAST     0x9F       /* Total: 16. */
+
+#define BLE_GATTS_SVC_BASE     0xA0
+#define BLE_GATTS_SVC_LAST     0xAF       /* Total: 16. */
+
+#define BLE_L2CAP_SVC_BASE     0xB0
+#define BLE_L2CAP_SVC_LAST     0xBF       /* Total: 16. */
+
+
+#define BLE_EVT_INVALID        0x00
+
+#define BLE_EVT_BASE           0x01
+#define BLE_EVT_LAST           0x0F       /* Total: 15. */
+
+#define BLE_GAP_EVT_BASE       0x10
+#define BLE_GAP_EVT_LAST       0x2F       /* Total: 32. */
+
+#define BLE_GATTC_EVT_BASE     0x30
+#define BLE_GATTC_EVT_LAST     0x4F       /* Total: 32. */
+
+#define BLE_GATTS_EVT_BASE     0x50
+#define BLE_GATTS_EVT_LAST     0x6F       /* Total: 32. */
+
+#define BLE_L2CAP_EVT_BASE     0x70
+#define BLE_L2CAP_EVT_LAST     0x8F       /* Total: 32.  */
+
+#define BLE_OPT_INVALID        0x00       /**< Invalid BLE Option. */
+
+#define BLE_OPT_BASE           0x01       /**< Common BLE Option base. */
+#define BLE_OPT_LAST           0x1F       /**< Total: 31. */
+
+#define BLE_GAP_OPT_BASE       0x20       /**< GAP BLE Option base. */
+#define BLE_GAP_OPT_LAST       0x3F       /**< Total: 32. */
+
+#define BLE_GATTC_OPT_BASE     0x40       /**< GATTC BLE Option base. */
+#define BLE_GATTC_OPT_LAST     0x5F       /**< Total: 32. */
+
+#define BLE_GATTS_OPT_BASE     0x60       /**< GATTS BLE Option base. */
+#define BLE_GATTS_OPT_LAST     0x7F       /**< Total: 32. */
+
+#define BLE_L2CAP_OPT_BASE     0x80       /**< L2CAP BLE Option base. */
+#define BLE_L2CAP_OPT_LAST     0x9F       /**< Total: 32.  */
+
+#endif /* BLE_RANGES_H__ */
+
+/**
+  @}
+  @}
+*/
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TARGET_NRF51822/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/ble_types.h	Fri Aug 15 15:28:31 2014 +0100
@@ -0,0 +1,169 @@
+/* Copyright (c) 2011 Nordic Semiconductor. All Rights Reserved.
+ *
+ * The information contained herein is confidential property of Nordic Semiconductor. The use,
+ * copying, transfer or disclosure of such information is prohibited except by express written
+ * agreement with Nordic Semiconductor.
+ *
+ */
+/**
+  @addtogroup BLE_COMMON
+  @{
+  @defgroup ble_types Common types and macro definitions
+  @{
+
+  @brief Common types and macro definitions for the S110 SoftDevice.
+ */
+
+#ifndef BLE_TYPES_H__
+#define BLE_TYPES_H__
+
+#include <stdint.h>
+
+/** @addtogroup BLE_COMMON_DEFINES Defines
+ * @{ */
+
+/** @defgroup BLE_CONN_HANDLES BLE Connection Handles
+ * @{ */
+#define BLE_CONN_HANDLE_INVALID 0xFFFF  /**< Invalid Connection Handle. */
+#define BLE_CONN_HANDLE_ALL     0xFFFE  /**< Applies to all Connection Handles. */
+/** @} */
+
+
+/** @defgroup BLE_UUID_VALUES Assigned Values for BLE UUIDs
+ * @{ */
+/* Generic UUIDs, applicable to all services */
+#define BLE_UUID_UNKNOWN                              0x0000 /**< Reserved UUID. */
+#define BLE_UUID_SERVICE_PRIMARY                      0x2800 /**< Primary Service. */
+#define BLE_UUID_SERVICE_SECONDARY                    0x2801 /**< Secondary Service. */
+#define BLE_UUID_SERVICE_INCLUDE                      0x2802 /**< Include. */
+#define BLE_UUID_CHARACTERISTIC                       0x2803 /**< Characteristic. */
+#define BLE_UUID_DESCRIPTOR_CHAR_EXT_PROP             0x2900 /**< Characteristic Extended Properties Descriptor. */
+#define BLE_UUID_DESCRIPTOR_CHAR_USER_DESC            0x2901 /**< Characteristic User Description Descriptor. */
+#define BLE_UUID_DESCRIPTOR_CLIENT_CHAR_CONFIG        0x2902 /**< Client Characteristic Configuration Descriptor. */
+#define BLE_UUID_DESCRIPTOR_SERVER_CHAR_CONFIG        0x2903 /**< Server Characteristic Configuration Descriptor. */
+#define BLE_UUID_DESCRIPTOR_CHAR_PRESENTATION_FORMAT  0x2904 /**< Characteristic Presentation Format Descriptor. */
+#define BLE_UUID_DESCRIPTOR_CHAR_AGGREGATE_FORMAT     0x2905 /**< Characteristic Aggregate Format Descriptor. */
+/* GATT specific UUIDs */
+#define BLE_UUID_GATT                                 0x1801 /**< Generic Attribute Profile. */
+#define BLE_UUID_GATT_CHARACTERISTIC_SERVICE_CHANGED  0x2A05 /**< Service Changed Characteristic. */
+/* GAP specific UUIDs */
+#define BLE_UUID_GAP                                  0x1800 /**< Generic Access Profile. */
+#define BLE_UUID_GAP_CHARACTERISTIC_DEVICE_NAME       0x2A00 /**< Device Name Characteristic. */
+#define BLE_UUID_GAP_CHARACTERISTIC_APPEARANCE        0x2A01 /**< Appearance Characteristic. */
+#define BLE_UUID_GAP_CHARACTERISTIC_PPF               0x2A02 /**< Peripheral Privacy Flag Characteristic. */
+#define BLE_UUID_GAP_CHARACTERISTIC_RECONN_ADDR       0x2A03 /**< Reconnection Address Characteristic. */
+#define BLE_UUID_GAP_CHARACTERISTIC_PPCP              0x2A04 /**< Peripheral Preferred Connection Parameters Characteristic. */
+/** @} */
+
+
+/** @defgroup BLE_UUID_TYPES Types of UUID
+ * @{ */
+#define BLE_UUID_TYPE_UNKNOWN       0x00 /**< Invalid UUID type. */
+#define BLE_UUID_TYPE_BLE           0x01 /**< Bluetooth SIG UUID (16-bit). */
+#define BLE_UUID_TYPE_VENDOR_BEGIN  0x02 /**< Vendor UUID types start at this index (128-bit). */
+/** @} */
+
+
+/** @defgroup BLE_APPEARANCES Bluetooth Appearance values
+ *  @note Retrieved from http://developer.bluetooth.org/gatt/characteristics/Pages/CharacteristicViewer.aspx?u=org.bluetooth.characteristic.gap.appearance.xml
+ * @{ */
+#define BLE_APPEARANCE_UNKNOWN                                0 /**< Unknown. */
+#define BLE_APPEARANCE_GENERIC_PHONE                         64 /**< Generic Phone. */
+#define BLE_APPEARANCE_GENERIC_COMPUTER                     128 /**< Generic Computer. */
+#define BLE_APPEARANCE_GENERIC_WATCH                        192 /**< Generic Watch. */
+#define BLE_APPEARANCE_WATCH_SPORTS_WATCH                   193 /**< Watch: Sports Watch. */
+#define BLE_APPEARANCE_GENERIC_CLOCK                        256 /**< Generic Clock. */
+#define BLE_APPEARANCE_GENERIC_DISPLAY                      320 /**< Generic Display. */
+#define BLE_APPEARANCE_GENERIC_REMOTE_CONTROL               384 /**< Generic Remote Control. */
+#define BLE_APPEARANCE_GENERIC_EYE_GLASSES                  448 /**< Generic Eye-glasses. */
+#define BLE_APPEARANCE_GENERIC_TAG                          512 /**< Generic Tag. */
+#define BLE_APPEARANCE_GENERIC_KEYRING                      576 /**< Generic Keyring. */
+#define BLE_APPEARANCE_GENERIC_MEDIA_PLAYER                 640 /**< Generic Media Player. */
+#define BLE_APPEARANCE_GENERIC_BARCODE_SCANNER              704 /**< Generic Barcode Scanner. */
+#define BLE_APPEARANCE_GENERIC_THERMOMETER                  768 /**< Generic Thermometer. */
+#define BLE_APPEARANCE_THERMOMETER_EAR                      769 /**< Thermometer: Ear. */
+#define BLE_APPEARANCE_GENERIC_HEART_RATE_SENSOR            832 /**< Generic Heart rate Sensor. */
+#define BLE_APPEARANCE_HEART_RATE_SENSOR_HEART_RATE_BELT    833 /**< Heart Rate Sensor: Heart Rate Belt. */
+#define BLE_APPEARANCE_GENERIC_BLOOD_PRESSURE               896 /**< Generic Blood Pressure. */
+#define BLE_APPEARANCE_BLOOD_PRESSURE_ARM                   897 /**< Blood Pressure: Arm. */
+#define BLE_APPEARANCE_BLOOD_PRESSURE_WRIST                 898 /**< Blood Pressure: Wrist. */
+#define BLE_APPEARANCE_GENERIC_HID                          960 /**< Human Interface Device (HID). */
+#define BLE_APPEARANCE_HID_KEYBOARD                         961 /**< Keyboard (HID Subtype). */
+#define BLE_APPEARANCE_HID_MOUSE                            962 /**< Mouse (HID Subtype). */
+#define BLE_APPEARANCE_HID_JOYSTICK                         963 /**< Joystiq (HID Subtype). */
+#define BLE_APPEARANCE_HID_GAMEPAD                          964 /**< Gamepad (HID Subtype). */
+#define BLE_APPEARANCE_HID_DIGITIZERSUBTYPE                 965 /**< Digitizer Tablet (HID Subtype). */
+#define BLE_APPEARANCE_HID_CARD_READER                      966 /**< Card Reader (HID Subtype). */
+#define BLE_APPEARANCE_HID_DIGITAL_PEN                      967 /**< Digital Pen (HID Subtype). */
+#define BLE_APPEARANCE_HID_BARCODE                          968 /**< Barcode Scanner (HID Subtype). */
+#define BLE_APPEARANCE_GENERIC_GLUCOSE_METER               1024 /**< Generic Glucose Meter. */
+#define BLE_APPEARANCE_GENERIC_RUNNING_WALKING_SENSOR      1088 /**< Generic Running Walking Sensor. */
+#define BLE_APPEARANCE_RUNNING_WALKING_SENSOR_IN_SHOE      1089 /**< Running Walking Sensor: In-Shoe. */
+#define BLE_APPEARANCE_RUNNING_WALKING_SENSOR_ON_SHOE      1090 /**< Running Walking Sensor: On-Shoe. */
+#define BLE_APPEARANCE_RUNNING_WALKING_SENSOR_ON_HIP       1091 /**< Running Walking Sensor: On-Hip. */
+#define BLE_APPEARANCE_GENERIC_CYCLING                     1152 /**< Generic Cycling. */
+#define BLE_APPEARANCE_CYCLING_CYCLING_COMPUTER            1153 /**< Cycling: Cycling Computer. */
+#define BLE_APPEARANCE_CYCLING_SPEED_SENSOR                1154 /**< Cycling: Speed Sensor. */
+#define BLE_APPEARANCE_CYCLING_CADENCE_SENSOR              1155 /**< Cycling: Cadence Sensor. */
+#define BLE_APPEARANCE_CYCLING_POWER_SENSOR                1156 /**< Cycling: Power Sensor. */
+#define BLE_APPEARANCE_CYCLING_SPEED_CADENCE_SENSOR        1157 /**< Cycling: Speed and Cadence Sensor. */
+#define BLE_APPEARANCE_GENERIC_PULSE_OXIMETER              3136 /**< Generic Pulse Oximeter. */
+#define BLE_APPEARANCE_PULSE_OXIMETER_FINGERTIP            3137 /**< Fingertip (Pulse Oximeter subtype). */
+#define BLE_APPEARANCE_PULSE_OXIMETER_WRIST_WORN           3138 /**< Wrist Worn(Pulse Oximeter subtype). */
+#define BLE_APPEARANCE_GENERIC_WEIGHT_SCALE                3200 /**< Generic Weight Scale. */
+#define BLE_APPEARANCE_GENERIC_OUTDOOR_SPORTS_ACT          5184 /**< Generic Outdoor Sports Activity. */
+#define BLE_APPEARANCE_OUTDOOR_SPORTS_ACT_LOC_DISP         5185 /**< Location Display Device (Outdoor Sports Activity subtype). */
+#define BLE_APPEARANCE_OUTDOOR_SPORTS_ACT_LOC_AND_NAV_DISP 5186 /**< Location and Navigation Display Device (Outdoor Sports Activity subtype). */
+#define BLE_APPEARANCE_OUTDOOR_SPORTS_ACT_LOC_POD          5187 /**< Location Pod (Outdoor Sports Activity subtype). */
+#define BLE_APPEARANCE_OUTDOOR_SPORTS_ACT_LOC_AND_NAV_POD  5188 /**< Location and Navigation Pod (Outdoor Sports Activity subtype). */
+/** @} */
+
+/** @brief Set .type and .uuid fields of ble_uuid_struct to specified uuid value. */
+#define BLE_UUID_BLE_ASSIGN(instance, value) do {\
+            instance.type = BLE_UUID_TYPE_BLE; \
+            instance.uuid = value;} while(0)
+
+/** @brief Copy type and uuid members from src to dst ble_uuid_t pointer. Both pointers must be valid/non-null. */
+#define BLE_UUID_COPY_PTR(dst, src) do {\
+            (dst)->type = (src)->type; \
+            (dst)->uuid = (src)->uuid;} while(0)
+
+/** @brief Copy type and uuid members from src to dst ble_uuid_t struct. */
+#define BLE_UUID_COPY_INST(dst, src) do {\
+            (dst).type = (src).type; \
+            (dst).uuid = (src).uuid;} while(0)
+
+/** @brief Compare for equality both type and uuid members of two (valid, non-null) ble_uuid_t pointers. */
+#define BLE_UUID_EQ(p_uuid1, p_uuid2) \
+            (((p_uuid1)->type == (p_uuid2)->type) && ((p_uuid1)->uuid == (p_uuid2)->uuid))
+
+/** @brief Compare for difference both type and uuid members of two (valid, non-null) ble_uuid_t pointers. */
+#define BLE_UUID_NEQ(p_uuid1, p_uuid2) \
+            (((p_uuid1)->type != (p_uuid2)->type) || ((p_uuid1)->uuid != (p_uuid2)->uuid))
+
+/** @} */
+
+/** @addtogroup BLE_TYPES_STRUCTURES Structures
+ * @{ */
+
+/** @brief 128 bit UUID values. */
+typedef struct
+{ 
+    unsigned char uuid128[16];
+} ble_uuid128_t;
+
+/** @brief  Bluetooth Low Energy UUID type, encapsulates both 16-bit and 128-bit UUIDs. */
+typedef struct
+{
+    uint16_t    uuid; /**< 16-bit UUID value or octets 12-13 of 128-bit UUID. */
+    uint8_t     type; /**< UUID type, see @ref BLE_UUID_TYPES. If type is BLE_UUID_TYPE_UNKNOWN, the value of uuid is undefined. */
+} ble_uuid_t;
+
+/** @} */
+
+#endif /* BLE_TYPES_H__ */
+
+/**
+  @}
+  @}
+*/
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TARGET_NRF51822/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/nrf_error.h	Fri Aug 15 15:28:31 2014 +0100
@@ -0,0 +1,51 @@
+/*
+ * Copyright (c) 2012 Nordic Semiconductor. All Rights Reserved.
+ *
+ * The information contained herein is confidential property of Nordic Semiconductor. The use,
+ * copying, transfer or disclosure of such information is prohibited except by express written
+ * agreement with Nordic Semiconductor.
+ *
+ */
+ /**
+  @defgroup nrf_error SoftDevice Global Error Codes
+  @{
+   
+  @brief Global Error definitions
+*/
+
+/* Header guard */
+#ifndef NRF_ERROR_H__
+#define NRF_ERROR_H__
+
+/** @defgroup NRF_ERRORS_BASE Error Codes Base number definitions
+ * @{ */
+#define NRF_ERROR_BASE_NUM      (0x0)       ///< Global error base
+#define NRF_ERROR_SDM_BASE_NUM  (0x1000)    ///< SDM error base
+#define NRF_ERROR_SOC_BASE_NUM  (0x2000)    ///< SoC error base
+#define NRF_ERROR_STK_BASE_NUM  (0x3000)    ///< STK error base
+/** @} */
+
+#define NRF_SUCCESS                           (NRF_ERROR_BASE_NUM + 0)  ///< Successful command
+#define NRF_ERROR_SVC_HANDLER_MISSING         (NRF_ERROR_BASE_NUM + 1)  ///< SVC handler is missing
+#define NRF_ERROR_SOFTDEVICE_NOT_ENABLED      (NRF_ERROR_BASE_NUM + 2)  ///< SoftDevice has not been enabled
+#define NRF_ERROR_INTERNAL                    (NRF_ERROR_BASE_NUM + 3)  ///< Internal Error
+#define NRF_ERROR_NO_MEM                      (NRF_ERROR_BASE_NUM + 4)  ///< No Memory for operation
+#define NRF_ERROR_NOT_FOUND                   (NRF_ERROR_BASE_NUM + 5)  ///< Not found
+#define NRF_ERROR_NOT_SUPPORTED               (NRF_ERROR_BASE_NUM + 6)  ///< Not supported
+#define NRF_ERROR_INVALID_PARAM               (NRF_ERROR_BASE_NUM + 7)  ///< Invalid Parameter
+#define NRF_ERROR_INVALID_STATE               (NRF_ERROR_BASE_NUM + 8)  ///< Invalid state, operation disallowed in this state
+#define NRF_ERROR_INVALID_LENGTH              (NRF_ERROR_BASE_NUM + 9)  ///< Invalid Length
+#define NRF_ERROR_INVALID_FLAGS               (NRF_ERROR_BASE_NUM + 10) ///< Invalid Flags
+#define NRF_ERROR_INVALID_DATA                (NRF_ERROR_BASE_NUM + 11) ///< Invalid Data
+#define NRF_ERROR_DATA_SIZE                   (NRF_ERROR_BASE_NUM + 12) ///< Data size exceeds limit
+#define NRF_ERROR_TIMEOUT                     (NRF_ERROR_BASE_NUM + 13) ///< Operation timed out
+#define NRF_ERROR_NULL                        (NRF_ERROR_BASE_NUM + 14) ///< Null Pointer
+#define NRF_ERROR_FORBIDDEN                   (NRF_ERROR_BASE_NUM + 15) ///< Forbidden Operation
+#define NRF_ERROR_INVALID_ADDR                (NRF_ERROR_BASE_NUM + 16) ///< Bad Memory Address
+#define NRF_ERROR_BUSY                        (NRF_ERROR_BASE_NUM + 17) ///< Busy
+
+#endif // NRF_ERROR_H__
+
+/**
+  @}
+*/
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TARGET_NRF51822/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/nrf_error_sdm.h	Fri Aug 15 15:28:31 2014 +0100
@@ -0,0 +1,33 @@
+/*
+ * Copyright (c) 2012 Nordic Semiconductor. All Rights Reserved.
+ *
+ * The information contained herein is confidential property of Nordic Semiconductor. The use,
+ * copying, transfer or disclosure of such information is prohibited except by express written
+ * agreement with Nordic Semiconductor.
+ *
+ */
+ /**
+  @addtogroup nrf_sdm_api
+  @{
+  @defgroup nrf_sdm_error SoftDevice Manager Error Codes
+  @{
+     
+  @brief Error definitions for the SDM API
+*/
+
+/* Header guard */
+#ifndef NRF_ERROR_SDM_H__
+#define NRF_ERROR_SDM_H__
+
+#include "nrf_error.h"
+
+#define NRF_ERROR_SDM_LFCLK_SOURCE_UNKNOWN              (NRF_ERROR_SDM_BASE_NUM + 0)  ///< Unknown lfclk source
+#define NRF_ERROR_SDM_INCORRECT_INTERRUPT_CONFIGURATION (NRF_ERROR_SDM_BASE_NUM + 1)  ///< Incorrect interrupt configuration (can be caused by using illegal priority levels, or having enabled SoftDevice interrupts)
+#define NRF_ERROR_SDM_INCORRECT_CLENR0                  (NRF_ERROR_SDM_BASE_NUM + 2)  ///< Incorrect CLENR0 (can be caused by erronous SoftDevice flashing)
+
+#endif // NRF_ERROR_SDM_H__
+
+/**
+  @}
+  @}
+*/
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TARGET_NRF51822/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/nrf_error_soc.h	Fri Aug 15 15:28:31 2014 +0100
@@ -0,0 +1,49 @@
+/*
+ * Copyright (c) 2012 Nordic Semiconductor. All Rights Reserved.
+ *
+ * The information contained herein is confidential property of Nordic Semiconductor. The use,
+ * copying, transfer or disclosure of such information is prohibited except by express written
+ * agreement with Nordic Semiconductor.
+ *
+ */
+ /**
+  @addtogroup nrf_soc_api
+  @{
+  @defgroup nrf_soc_error SoC Library Error Codes
+  @{
+     
+  @brief Error definitions for the SoC library
+
+*/
+
+/* Header guard */
+#ifndef NRF_ERROR_SOC_H__
+#define NRF_ERROR_SOC_H__
+
+#include "nrf_error.h"
+
+/* Mutex Errors */
+#define NRF_ERROR_SOC_MUTEX_ALREADY_TAKEN                 (NRF_ERROR_SOC_BASE_NUM + 0)  ///< Mutex already taken
+
+/* NVIC errors */
+#define NRF_ERROR_SOC_NVIC_INTERRUPT_NOT_AVAILABLE        (NRF_ERROR_SOC_BASE_NUM + 1)  ///< NVIC interrupt not available
+#define NRF_ERROR_SOC_NVIC_INTERRUPT_PRIORITY_NOT_ALLOWED (NRF_ERROR_SOC_BASE_NUM + 2)  ///< NVIC interrupt priority not allowed
+#define NRF_ERROR_SOC_NVIC_SHOULD_NOT_RETURN              (NRF_ERROR_SOC_BASE_NUM + 3)  ///< NVIC should not return
+
+/* Power errors */
+#define NRF_ERROR_SOC_POWER_MODE_UNKNOWN                  (NRF_ERROR_SOC_BASE_NUM + 4)  ///< Power mode unknown
+#define NRF_ERROR_SOC_POWER_POF_THRESHOLD_UNKNOWN         (NRF_ERROR_SOC_BASE_NUM + 5)  ///< Power POF threshold unknown
+#define NRF_ERROR_SOC_POWER_OFF_SHOULD_NOT_RETURN         (NRF_ERROR_SOC_BASE_NUM + 6)  ///< Power off should not return
+
+/* Rand errors */
+#define NRF_ERROR_SOC_RAND_NOT_ENOUGH_VALUES              (NRF_ERROR_SOC_BASE_NUM + 7)  ///< RAND not enough values
+
+/* PPI errors */
+#define NRF_ERROR_SOC_PPI_INVALID_CHANNEL                 (NRF_ERROR_SOC_BASE_NUM + 8)  ///< Invalid PPI Channel
+#define NRF_ERROR_SOC_PPI_INVALID_GROUP                   (NRF_ERROR_SOC_BASE_NUM + 9)  ///< Invalid PPI Group
+
+#endif // NRF_ERROR_SOC_H__
+/**
+  @}
+  @}
+*/
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TARGET_NRF51822/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/nrf_mbr.h	Fri Aug 15 15:28:31 2014 +0100
@@ -0,0 +1,155 @@
+/*
+ * Copyright (c) 2014 Nordic Semiconductor. All Rights Reserved.
+ *
+ * The information contained herein is confidential property of Nordic Semiconductor. The use,
+ * copying, transfer or disclosure of such information is prohibited except by express written
+ * agreement with Nordic Semiconductor.
+ *
+ */
+/**
+  @defgroup nrf_mbr_api Master Boot Record API
+  @{
+     
+  @brief APIs for updating SoftDevice and BootLoader
+ 
+*/
+
+/* Header guard */
+#ifndef NRF_MBR_H__
+#define NRF_MBR_H__
+
+#include "nrf_svc.h"
+#include <stdint.h>
+
+
+/** @addtogroup NRF_MBR_DEFINES Defines
+ * @{ */
+
+/**@brief MBR SVC Base number. */
+#define MBR_SVC_BASE 0x18   
+/** @} */
+
+/** @addtogroup NRF_MBR_ENUMS Enumerations
+ * @{ */
+
+/**@brief nRF Master Boot Record API SVC numbers. */
+enum NRF_MBR_SVCS
+{
+  SD_MBR_COMMAND = MBR_SVC_BASE, /**< ::sd_mbr_command */
+};
+
+/**@brief Possible values for ::sd_mbr_command_t.command */
+enum NRF_MBR_COMMANDS
+{
+  SD_MBR_COMMAND_COPY_BL,               /**< Copy a new a new BootLoader. @see sd_mbr_command_copy_bl_t */
+  SD_MBR_COMMAND_COPY_SD,               /**< Copy a new SoftDevice. @see ::sd_mbr_command_copy_sd_t*/
+  SD_MBR_COMMAND_INIT_SD,               /**< Init forwarding interrupts to SD, and run reset function in SD*/
+  SD_MBR_COMMAND_COMPARE,               /**< This command works like memcmp. @see ::sd_mbr_command_compare_t*/
+  SD_MBR_COMMAND_VECTOR_TABLE_BASE_SET, /**< Start forwarding all exception to this address @see ::sd_mbr_command_vector_table_base_set_t*/
+};
+
+/** @} */
+
+/** @addtogroup NRF_MBR_TYPES Types
+ * @{ */
+
+/**@brief This command copies part of a new SoftDevice
+ * The destination area is erased before copying. 
+ * If dst is in the middle of a flash page, that whole flash page will be erased.
+ * If (dst+len) is in the middle of a flash page, that whole flash page will be erased.
+ * 
+ * The user of this function is responsible for setting the PROTENSET registers.
+ * 
+ * @retval ::NRF_SUCCESS indicates that the contents of the memory blocks where copied correctly.
+ * @retval ::NRF_ERROR_INTERNAL indicates that the contents of the memory blocks where not verified correctly after copying.
+ */
+typedef struct
+{
+  uint32_t *src;  /**< Pointer to the source of data to be copied.*/
+  uint32_t *dst;  /**< Pointer to the destination where the content is to be copied.*/
+  uint32_t len;   /**< Number of 32 bit words to copy. Must be a multiple of 256 words*/
+}sd_mbr_command_copy_sd_t;
+
+
+/**@brief This command works like memcmp, but takes the length in words.
+ *
+ * @retval ::NRF_SUCCESS indicates that the contents of both memory blocks are equal.
+ * @retval ::NRF_ERROR_NULL indicates that the contents of the memory blocks are not equal.
+ */
+typedef struct
+{
+  uint32_t *ptr1; /**< Pointer to block of memory */
+  uint32_t *ptr2; /**< Pointer to block of memory */
+  uint32_t len;   /**< Number of 32 bit words to compare*/
+}sd_mbr_command_compare_t;
+
+
+/**@brief This command copies a new BootLoader.
+ *  With this command, destination of BootLoader is always the address written in NRF_UICR->BOOTADDR.
+ *
+ *  Destination is erased by this function.
+ *  If (destination+bl_len) is in the middle of a flash page, that whole flash page will be erased.
+ *
+ *  This function will use PROTENSET to protect the flash that is not intended to be written.
+ * 
+ *  On Success, this function will not return. It will start the new BootLoader from reset-vector as normal.
+ *
+ * @retval ::NRF_ERROR_INVALID_STATE indicates that something was wrong.
+ * @retval ::NRF_ERROR_INTERNAL indicates an internal error that should not happen.
+ * @retval ::NRF_ERROR_FORBIDDEN if NRF_UICR->BOOTADDR is not set
+ * @retval ::NRF_ERROR_INVALID_LENGTH is invalid.
+ */
+typedef struct
+{
+  uint32_t *bl_src;  /**< Pointer to the source of the Bootloader to be be copied.*/
+  uint32_t bl_len;   /**< Number of 32 bit words to copy for BootLoader */
+}sd_mbr_command_copy_bl_t;
+
+/**@brief Sets the base address of the interrupt vector table for interrupts forwarded from the MBR
+ * 
+ * Once this function has been called, this address is where the MBR will start to forward interrupts to after a reset.
+ *
+ * To restore default forwarding thiss function should be called with @param address set to 0.
+ * The MBR will then start forwarding to interrupts to the adress in NFR_UICR->BOOTADDR or to the SoftDevice if the BOOTADDR is not set.
+ *
+ * @retval ::NRF_SUCCESS
+ */
+typedef struct
+{ 
+  uint32_t address; /**< The base address of the interrupt vector table for forwarded interrupts.*/
+}sd_mbr_command_vector_table_base_set_t;
+
+typedef struct
+{
+  uint32_t command;  /**< type of command to be issued see @ref NRF_MBR_COMMANDS. */
+  union 
+  {
+    sd_mbr_command_copy_sd_t copy_sd;  /**< Parameters for copy*/
+    sd_mbr_command_copy_bl_t copy_bl;  /**< Parameters for copy SoftDevice and BootLoader*/
+    sd_mbr_command_compare_t compare;  /**< Parameters for verify*/
+    sd_mbr_command_vector_table_base_set_t base_set; /**< Parameters for vector table base set.*/
+  } params;
+}sd_mbr_command_t;
+
+/** @} */
+
+/** @addtogroup NRF_MBR_FUNCTIONS Functions
+ * @{ */
+
+/**@brief Issue Master Boot Record commands
+ *
+ * Commands used when updating a SoftDevice and bootloader
+ *
+ * @param[in]  param Pointer to a struct describing the command
+ *
+ *@note for retvals see ::sd_mbr_command_copy_sd_t ::sd_mbr_command_copy_bl_t ::sd_mbr_command_compare_t
+
+*/
+SVCALL(SD_MBR_COMMAND, uint32_t, sd_mbr_command(sd_mbr_command_t* param));
+
+/** @} */
+#endif // NRF_MBR_H__
+
+/**
+  @}
+*/
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TARGET_NRF51822/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/nrf_sdm.h	Fri Aug 15 15:28:31 2014 +0100
@@ -0,0 +1,167 @@
+/*
+ * Copyright (c) 2011 Nordic Semiconductor. All Rights Reserved.
+ *
+ * The information contained herein is confidential property of Nordic Semiconductor. The use,
+ * copying, transfer or disclosure of such information is prohibited except by express written
+ * agreement with Nordic Semiconductor.
+ *
+ */
+/**
+  @defgroup nrf_sdm_api SoftDevice Manager API
+  @{
+     
+  @brief APIs for SoftDevice management.
+ 
+*/
+
+/* Header guard */
+#ifndef NRF_SDM_H__
+#define NRF_SDM_H__
+
+#include "nrf_svc.h"
+#include "nrf51.h"
+#include "nrf_soc.h"
+#include "nrf_error_sdm.h"
+
+/** @addtogroup NRF_SDM_DEFINES Defines
+ * @{ */
+
+/**@brief SoftDevice Manager SVC Base number. */
+#define SDM_SVC_BASE  (0x10)
+
+/** @} */
+
+/** @addtogroup NRF_SDM_ENUMS Enumerations
+ * @{ */
+
+/**@brief nRF SoftDevice Manager API SVC numbers. */
+enum NRF_SD_SVCS
+{
+  SD_SOFTDEVICE_ENABLE = SDM_SVC_BASE, /**< ::sd_softdevice_enable */
+  SD_SOFTDEVICE_DISABLE,               /**< ::sd_softdevice_disable */
+  SD_SOFTDEVICE_IS_ENABLED,            /**< ::sd_softdevice_is_enabled */
+  SD_SOFTDEVICE_VECTOR_TABLE_BASE_SET, /**< ::sd_softdevice_vector_table_base_set */
+  SVC_SDM_LAST                         /**< Placeholder for last SDM SVC */
+};
+
+/**@brief Possible lfclk oscillator sources. */
+enum NRF_CLOCK_LFCLKSRCS
+{
+  NRF_CLOCK_LFCLKSRC_SYNTH_250_PPM,                       /**< LFCLK Synthesized from HFCLK.                    */
+  NRF_CLOCK_LFCLKSRC_XTAL_500_PPM,                        /**< LFCLK crystal oscillator 500 PPM accuracy.       */
+  NRF_CLOCK_LFCLKSRC_XTAL_250_PPM,                        /**< LFCLK crystal oscillator 250 PPM accuracy.       */
+  NRF_CLOCK_LFCLKSRC_XTAL_150_PPM,                        /**< LFCLK crystal oscillator 150 PPM accuracy.       */
+  NRF_CLOCK_LFCLKSRC_XTAL_100_PPM,                        /**< LFCLK crystal oscillator 100 PPM accuracy.       */
+  NRF_CLOCK_LFCLKSRC_XTAL_75_PPM,                         /**< LFCLK crystal oscillator 75 PPM accuracy.        */
+  NRF_CLOCK_LFCLKSRC_XTAL_50_PPM,                         /**< LFCLK crystal oscillator 50 PPM accuracy.        */
+  NRF_CLOCK_LFCLKSRC_XTAL_30_PPM,                         /**< LFCLK crystal oscillator 30 PPM accuracy.        */
+  NRF_CLOCK_LFCLKSRC_XTAL_20_PPM,                         /**< LFCLK crystal oscillator 20 PPM accuracy.        */
+  NRF_CLOCK_LFCLKSRC_RC_250_PPM_250MS_CALIBRATION,        /**< LFCLK RC oscillator, 250ms  calibration interval.*/
+  NRF_CLOCK_LFCLKSRC_RC_250_PPM_500MS_CALIBRATION,        /**< LFCLK RC oscillator, 500ms  calibration interval.*/
+  NRF_CLOCK_LFCLKSRC_RC_250_PPM_1000MS_CALIBRATION,       /**< LFCLK RC oscillator, 1000ms calibration interval.*/
+  NRF_CLOCK_LFCLKSRC_RC_250_PPM_2000MS_CALIBRATION,       /**< LFCLK RC oscillator, 2000ms calibration interval.*/
+  NRF_CLOCK_LFCLKSRC_RC_250_PPM_4000MS_CALIBRATION,       /**< LFCLK RC oscillator, 4000ms calibration interval.*/
+  NRF_CLOCK_LFCLKSRC_RC_250_PPM_8000MS_CALIBRATION,       /**< LFCLK RC oscillator, 8000ms calibration interval.*/
+  NRF_CLOCK_LFCLKSRC_RC_250_PPM_TEMP_1000MS_CALIBRATION,  /**< LFCLK RC oscillator. Temperature checked every 1000ms, if changed above a threshold, a calibration is done.*/
+  NRF_CLOCK_LFCLKSRC_RC_250_PPM_TEMP_2000MS_CALIBRATION,  /**< LFCLK RC oscillator. Temperature checked every 2000ms, if changed above a threshold, a calibration is done.*/
+  NRF_CLOCK_LFCLKSRC_RC_250_PPM_TEMP_4000MS_CALIBRATION,  /**< LFCLK RC oscillator. Temperature checked every 4000ms, if changed above a threshold, a calibration is done.*/
+  NRF_CLOCK_LFCLKSRC_RC_250_PPM_TEMP_8000MS_CALIBRATION,  /**< LFCLK RC oscillator. Temperature checked every 8000ms, if changed above a threshold, a calibration is done.*/
+  NRF_CLOCK_LFCLKSRC_RC_250_PPM_TEMP_16000MS_CALIBRATION, /**< LFCLK RC oscillator. Temperature checked every 16000ms, if changed above a threshold, a calibration is done.*/
+};
+
+/** @} */
+
+/** @addtogroup NRF_SDM_TYPES Types
+ * @{ */
+
+/**@brief Type representing lfclk oscillator source. */
+typedef uint32_t nrf_clock_lfclksrc_t;
+
+
+/**@brief SoftDevice Assertion Handler type.
+ *
+ * When an unexpected error occurs within the SoftDevice it will call the SoftDevice assertion handler callback.
+ * The protocol stack will be in an undefined state when this happens and the only way to recover will be to
+ * perform a reset, using e.g. CMSIS NVIC_SystemReset().
+ *
+ * @note This callback is executed in HardFault context, thus SVC functions cannot be called from the SoftDevice assert callback.
+ *       
+ * @param[in] pc The program counter of the failed assert.
+ * @param[in] line_number Line number where the assert failed.
+ * @param[in] file_name File name where the assert failed.
+ */
+typedef void (*softdevice_assertion_handler_t)(uint32_t pc, uint16_t line_number, const uint8_t * p_file_name);
+
+/** @} */
+
+/** @addtogroup NRF_SDM_FUNCTIONS Functions
+ * @{ */
+
+/**@brief Enables the SoftDevice and by extension the protocol stack.
+ *
+ * Idempotent function to enable the SoftDevice.
+ *
+ * @note Some care must be taken if a low frequency clock source is already running when calling this function:
+ *       If the LF clock has a different source then the one currently running, it will be stopped. Then, the new
+ *       clock source will be started.
+ *
+ * @note This function has no effect when returning with an error.
+ *
+ * @post If return code is ::NRF_SUCCESS 
+ *       - SoC library and protocol stack APIs are made available
+ *       - A portion of RAM will be unavailable (see relevant SDS documentation)
+ *       - Some peripherals will be unavailable or available only through the SoC API (see relevant SDS documentation)
+ *       - Interrupts will not arrive from protected peripherals or interrupts
+ *       - nrf_nvic_ functions must be used instead of CMSIS NVIC_ functions for reliable usage of the softdevice.
+ *       - Interrupt latency may be affected by the SoftDevice  (see relevant SDS documentation)
+ *       - Chosen low frequency clock source will be running
+ *
+ * @param clock_source Low frequency clock source and accuracy. (Note: In the case of XTAL source, the PPM accuracy of the chosen clock source must be greater than or equal to the actual characteristics of your XTAL clock).
+ * @param assertion_handler Callback for SoftDevice assertions.
+ *
+ * @retval ::NRF_SUCCESS
+ * @retval ::NRF_ERROR_SDM_INCORRECT_INTERRUPT_CONFIGURATION SoftDeviceinterrupt is already enabled, or an enabled interrupt has an illegal priority level
+ * @retval ::NRF_ERROR_SDM_LFCLK_SOURCE_UNKNOWN Unknown low frequency clock source selected
+ */
+SVCALL(SD_SOFTDEVICE_ENABLE, uint32_t, sd_softdevice_enable(nrf_clock_lfclksrc_t clock_source, softdevice_assertion_handler_t assertion_handler));
+
+/**@brief Disables the SoftDevice and by extension the protocol stack.
+ * 
+ * Idempotent function to disable the SoftDevice.
+ *
+ * @post SoC library and protocol stack APIs are made unavailable.
+ * @post All interrupts that was protected by the SoftDevice will be disabled and initialized to priority 0 (highest).
+ * @post All peripherals used by the SoftDevice will be reset to default values.
+ * @post All of RAM become available.
+ * @post All interrupts are forwarded to the application.
+ * @post LFCLK source chosen in ::sd_softdevice_enable will be left running.
+ *
+ * @retval ::NRF_SUCCESS
+ */
+SVCALL(SD_SOFTDEVICE_DISABLE, uint32_t, sd_softdevice_disable(void));
+
+/**@brief Check if the SoftDevice is enabled.
+ *
+ * @param[out]  p_softdevice_enabled If the SoftDevice is enabled: 1 else 0.
+ *
+ * @retval ::NRF_SUCCESS
+ */
+SVCALL(SD_SOFTDEVICE_IS_ENABLED, uint32_t, sd_softdevice_is_enabled(uint8_t * p_softdevice_enabled));
+
+/**@brief Sets the base address of the interrupt vector table for interrupts forwarded from the SoftDevice
+ * 
+ * This function is only intended to be called when a bootloader is enabled.
+ *
+ * @param[in] address The base address of the interrupt vector table for forwarded interrupts.
+ 
+ * @retval ::NRF_SUCCESS
+ */
+SVCALL(SD_SOFTDEVICE_VECTOR_TABLE_BASE_SET, uint32_t, sd_softdevice_vector_table_base_set(uint32_t address)); 
+
+/** @} */
+
+#endif // NRF_SDM_H__
+
+/**
+  @}
+*/
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TARGET_NRF51822/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/nrf_soc.h	Fri Aug 15 15:28:31 2014 +0100
@@ -0,0 +1,958 @@
+/* Copyright (c) 2011 Nordic Semiconductor. All Rights Reserved.
+ *
+ * The information contained herein is confidential property of Nordic Semiconductor. The use,
+ * copying, transfer or disclosure of such information is prohibited except by express written
+ * agreement with Nordic Semiconductor.
+ *
+ */
+ 
+/**
+ * @defgroup nrf_soc_api SoC Library API
+ * @{
+ * 
+ * @brief APIs for the SoC library.
+ * 
+*/
+
+#ifndef NRF_SOC_H__
+#define NRF_SOC_H__
+
+#include <stdint.h>
+#include <stdbool.h>
+#include "nrf_svc.h"
+#include "nrf51.h"
+#include "nrf51_bitfields.h"
+#include "nrf_error_soc.h"
+
+/** @addtogroup NRF_SOC_DEFINES Defines
+ * @{ */
+
+/**@brief The number of the lowest SVC number reserved for the SoC library. */
+#define SOC_SVC_BASE               (0x20)
+#define SOC_SVC_BASE_NOT_AVAILABLE (0x23)
+
+/**@brief Guranteed time for application to process radio inactive notification. */
+#define NRF_RADIO_NOTIFICATION_INACTIVE_GUARANTEED_TIME_US  (62)
+
+/**@brief The minimum allowed timeslot extension time. */
+#define NRF_RADIO_MINIMUM_TIMESLOT_LENGTH_EXTENSION_TIME_US (200)
+
+#define SOC_ECB_KEY_LENGTH            (16)                       /**< ECB key length. */
+#define SOC_ECB_CLEARTEXT_LENGTH      (16)                       /**< ECB cleartext length. */
+#define SOC_ECB_CIPHERTEXT_LENGTH     (SOC_ECB_CLEARTEXT_LENGTH) /**< ECB ciphertext length. */
+
+#define SD_EVT_IRQn                   (SWI2_IRQn)        /**< SoftDevice Event IRQ number. Used for both protocol events and SoC events. */
+#define SD_EVT_IRQHandler             (SWI2_IRQHandler)  /**< SoftDevice Event IRQ handler. Used for both protocol events and SoC events. */
+#define RADIO_NOTIFICATION_IRQn       (SWI1_IRQn)        /**< The radio notification IRQ number. */
+#define RADIO_NOTIFICATION_IRQHandler (SWI1_IRQHandler)  /**< The radio notification IRQ handler. */
+
+#define NRF_RADIO_LENGTH_MIN_US       (100)               /**< The shortest allowed radio timeslot, in microseconds. */
+#define NRF_RADIO_LENGTH_MAX_US       (100000)            /**< The longest allowed radio timeslot, in microseconds. */
+
+#define NRF_RADIO_DISTANCE_MAX_US         (128000000UL - 1UL) /**< The longest timeslot distance, in microseconds, allowed for the distance parameter (see @ref nrf_radio_request_normal_t) in the request. */
+
+#define NRF_RADIO_EARLIEST_TIMEOUT_MAX_US (128000000UL - 1UL) /**< The longest timeout, in microseconds, allowed when requesting the earliest possible timeslot. */
+
+#define NRF_RADIO_START_JITTER_US     (2)                 /**< The maximum jitter in NRF_RADIO_CALLBACK_SIGNAL_TYPE_START relative to the requested start time. */
+
+/** @} */
+
+/** @addtogroup NRF_SOC_TYPES Types
+ * @{ */
+
+/**@brief The SVC numbers used by the SVC functions in the SoC library. */
+enum NRF_SOC_SVCS
+{
+  SD_FLASH_PAGE_ERASE = SOC_SVC_BASE,
+  SD_FLASH_WRITE,
+  SD_FLASH_PROTECT,
+  SD_MUTEX_NEW = SOC_SVC_BASE_NOT_AVAILABLE,
+  SD_MUTEX_ACQUIRE,
+  SD_MUTEX_RELEASE,
+  SD_NVIC_ENABLEIRQ,
+  SD_NVIC_DISABLEIRQ,
+  SD_NVIC_GETPENDINGIRQ,
+  SD_NVIC_SETPENDINGIRQ,
+  SD_NVIC_CLEARPENDINGIRQ,
+  SD_NVIC_SETPRIORITY,
+  SD_NVIC_GETPRIORITY,
+  SD_NVIC_SYSTEMRESET,
+  SD_NVIC_CRITICAL_REGION_ENTER,
+  SD_NVIC_CRITICAL_REGION_EXIT,
+  SD_RAND_APPLICATION_POOL_CAPACITY,
+  SD_RAND_APPLICATION_BYTES_AVAILABLE,
+  SD_RAND_APPLICATION_GET_VECTOR,
+  SD_POWER_MODE_SET,
+  SD_POWER_SYSTEM_OFF,
+  SD_POWER_RESET_REASON_GET,
+  SD_POWER_RESET_REASON_CLR,
+  SD_POWER_POF_ENABLE,
+  SD_POWER_POF_THRESHOLD_SET,
+  SD_POWER_RAMON_SET,
+  SD_POWER_RAMON_CLR,
+  SD_POWER_RAMON_GET,
+  SD_POWER_GPREGRET_SET,
+  SD_POWER_GPREGRET_CLR,
+  SD_POWER_GPREGRET_GET,
+  SD_POWER_DCDC_MODE_SET,
+  SD_APP_EVT_WAIT,
+  SD_CLOCK_HFCLK_REQUEST,
+  SD_CLOCK_HFCLK_RELEASE,
+  SD_CLOCK_HFCLK_IS_RUNNING,
+  SD_PPI_CHANNEL_ENABLE_GET,
+  SD_PPI_CHANNEL_ENABLE_SET,
+  SD_PPI_CHANNEL_ENABLE_CLR,
+  SD_PPI_CHANNEL_ASSIGN,
+  SD_PPI_GROUP_TASK_ENABLE,
+  SD_PPI_GROUP_TASK_DISABLE,
+  SD_PPI_GROUP_ASSIGN,
+  SD_PPI_GROUP_GET,
+  SD_RADIO_NOTIFICATION_CFG_SET,
+  SD_ECB_BLOCK_ENCRYPT,
+  SD_RADIO_SESSION_OPEN,
+  SD_RADIO_SESSION_CLOSE,
+  SD_RADIO_REQUEST,
+  SD_EVT_GET,
+  SD_TEMP_GET,
+  SVC_SOC_LAST
+};
+
+/**@brief Possible values of a ::nrf_mutex_t. */
+enum NRF_MUTEX_VALUES
+{
+  NRF_MUTEX_FREE,
+  NRF_MUTEX_TAKEN
+};
+
+/**@brief Possible values of ::nrf_app_irq_priority_t. */
+enum NRF_APP_PRIORITIES
+{
+  NRF_APP_PRIORITY_HIGH = 1,
+  NRF_APP_PRIORITY_LOW = 3
+};
+
+/**@brief Possible values of ::nrf_power_mode_t. */
+enum NRF_POWER_MODES
+{
+  NRF_POWER_MODE_CONSTLAT,  /**< Constant latency mode. See power management in the reference manual. */
+  NRF_POWER_MODE_LOWPWR     /**< Low power mode. See power management in the reference manual. */
+};
+
+
+/**@brief Possible values of ::nrf_power_failure_threshold_t */
+enum NRF_POWER_THRESHOLDS
+{
+  NRF_POWER_THRESHOLD_V21,  /**< 2.1 Volts power failure threshold. */
+  NRF_POWER_THRESHOLD_V23,  /**< 2.3 Volts power failure threshold. */
+  NRF_POWER_THRESHOLD_V25,  /**< 2.5 Volts power failure threshold. */ 
+  NRF_POWER_THRESHOLD_V27   /**< 2.7 Volts power failure threshold. */
+};
+
+
+/**@brief Possible values of ::nrf_power_dcdc_mode_t. */
+enum NRF_POWER_DCDC_MODES
+{
+  NRF_POWER_DCDC_MODE_OFF,          /**< The DCDC is always off. */
+  NRF_POWER_DCDC_MODE_ON,           /**< The DCDC is always on. */
+  NRF_POWER_DCDC_MODE_AUTOMATIC     /**< The DCDC is automatically managed. */
+};
+
+/**@brief Possible values of ::nrf_radio_notification_distance_t. */
+enum NRF_RADIO_NOTIFICATION_DISTANCES
+{
+  NRF_RADIO_NOTIFICATION_DISTANCE_NONE = 0, /**< The event does not have a notification. */
+  NRF_RADIO_NOTIFICATION_DISTANCE_800US,    /**< The distance from the active notification to start of radio activity. */
+  NRF_RADIO_NOTIFICATION_DISTANCE_1740US,   /**< The distance from the active notification to start of radio activity. */
+  NRF_RADIO_NOTIFICATION_DISTANCE_2680US,   /**< The distance from the active notification to start of radio activity. */
+  NRF_RADIO_NOTIFICATION_DISTANCE_3620US,   /**< The distance from the active notification to start of radio activity. */
+  NRF_RADIO_NOTIFICATION_DISTANCE_4560US,   /**< The distance from the active notification to start of radio activity. */
+  NRF_RADIO_NOTIFICATION_DISTANCE_5500US    /**< The distance from the active notification to start of radio activity. */
+};
+
+
+/**@brief Possible values of ::nrf_radio_notification_type_t. */
+enum NRF_RADIO_NOTIFICATION_TYPES
+{
+  NRF_RADIO_NOTIFICATION_TYPE_NONE = 0,        /**< The event does not have a radio notification signal. */
+  NRF_RADIO_NOTIFICATION_TYPE_INT_ON_ACTIVE,   /**< Using interrupt for notification when the radio will be enabled. */
+  NRF_RADIO_NOTIFICATION_TYPE_INT_ON_INACTIVE, /**< Using interrupt for notification when the radio has been disabled. */
+  NRF_RADIO_NOTIFICATION_TYPE_INT_ON_BOTH,     /**< Using interrupt for notification both when the radio will be enabled and disabled. */
+};
+
+/**@brief SoC Events. */
+enum NRF_SOC_EVTS
+{
+  NRF_EVT_HFCLKSTARTED,                         /**< Event indicating that the HFCLK has started. */
+  NRF_EVT_POWER_FAILURE_WARNING,                /**< Event indicating that a power failure warning has occurred. */
+  NRF_EVT_FLASH_OPERATION_SUCCESS,              /**< Event indicating that the ongoing flash operation has completed successfully. */
+  NRF_EVT_FLASH_OPERATION_ERROR,                /**< Event indicating that the ongoing flash operation has timed out with an error. */
+  NRF_EVT_RADIO_BLOCKED,                        /**< Event indicating that a radio timeslot was blocked. */
+  NRF_EVT_RADIO_CANCELED,                       /**< Event indicating that a radio timeslot was canceled by SoftDevice. */
+  NRF_EVT_RADIO_SIGNAL_CALLBACK_INVALID_RETURN, /**< Event indicating that a radio signal callback handler return was invalid. */
+  NRF_EVT_RADIO_SESSION_IDLE,                   /**< Event indicating that a radio session is idle. */
+  NRF_EVT_RADIO_SESSION_CLOSED,                 /**< Event indicating that a radio session is closed. */
+  NRF_EVT_NUMBER_OF_EVTS
+};
+
+/** @} */
+
+/** @addtogroup NRF_SOC_TYPES Types
+ * @{ */
+
+/**@brief Represents a mutex for use with the nrf_mutex functions.
+ * @note Accessing the value directly is not safe, use the mutex functions!
+ */
+typedef volatile uint8_t nrf_mutex_t;
+
+/**@brief The interrupt priorities available to the application while the softdevice is active. */
+typedef uint8_t nrf_app_irq_priority_t;
+
+/**@brief Represents a power mode, used in power mode functions */
+typedef uint8_t nrf_power_mode_t;
+
+/**@brief Represents a power failure threshold value. */
+typedef uint8_t nrf_power_failure_threshold_t;
+
+/**@brief Represents a DCDC mode value. */
+typedef uint32_t nrf_power_dcdc_mode_t;
+
+/**@brief Radio notification distances. */
+typedef uint8_t nrf_radio_notification_distance_t;
+
+/**@brief Radio notification types. */
+typedef uint8_t nrf_radio_notification_type_t;
+
+/** @brief The Radio signal callback types. */
+enum NRF_RADIO_CALLBACK_SIGNAL_TYPE
+{
+  NRF_RADIO_CALLBACK_SIGNAL_TYPE_START,            /**< This signal indicates the start of the radio timeslot. */
+  NRF_RADIO_CALLBACK_SIGNAL_TYPE_TIMER0,            /**< This signal indicates the NRF_TIMER0 interrupt. */
+  NRF_RADIO_CALLBACK_SIGNAL_TYPE_RADIO,             /**< This signal indicates the NRF_RADIO interrupt. */
+  NRF_RADIO_CALLBACK_SIGNAL_TYPE_EXTEND_FAILED,     /**< This signal indicates extend action failed. */
+  NRF_RADIO_CALLBACK_SIGNAL_TYPE_EXTEND_SUCCEEDED   /**< This signal indicates extend action succeeded. */
+};
+
+/** @brief The actions requested by the signal callback.
+ *
+ *  This code gives the SOC instructions about what action to take when the signal callback has
+ *  returned.
+ */
+enum NRF_RADIO_SIGNAL_CALLBACK_ACTION
+{
+  NRF_RADIO_SIGNAL_CALLBACK_ACTION_NONE,            /**< Return without action. */
+  NRF_RADIO_SIGNAL_CALLBACK_ACTION_EXTEND,          /**< Request an extension of the current timeslot (maximum execution time for this action is when the extension succeeded). */
+  NRF_RADIO_SIGNAL_CALLBACK_ACTION_END,             /**< End the current radio timeslot. */
+  NRF_RADIO_SIGNAL_CALLBACK_ACTION_REQUEST_AND_END  /**< Request a new radio timeslot and end the current timeslot. */
+};
+
+/**@brief Radio timeslot high frequency clock source configuration. */
+enum NRF_RADIO_HFCLK_CFG
+{
+  NRF_RADIO_HFCLK_CFG_DEFAULT,                      /**< Use the currently selected oscillator as HF clock source during the timeslot (i.e. the source is not specified). */
+  NRF_RADIO_HFCLK_CFG_FORCE_XTAL,                   /**< Force external crystal to be used as HF clock source during whole the timeslot. */
+};
+
+/** @brief Radio timeslot priorities. */
+enum NRF_RADIO_PRIORITY
+{
+  NRF_RADIO_PRIORITY_HIGH,                          /**< High (equal priority as the normal connection priority of the SoftDevice stack(s)). */
+  NRF_RADIO_PRIORITY_NORMAL,                        /**< Normal (equal priority as the priority of secondary activites of the SoftDevice stack(s)). */
+};
+
+/** @brief Radio timeslot request type. */
+enum NRF_RADIO_REQUEST_TYPE
+{
+  NRF_RADIO_REQ_TYPE_EARLIEST,                      /**< Request timeslot as early as possible. This should always be used for the first request in a session. */
+  NRF_RADIO_REQ_TYPE_NORMAL                         /**< Normal timeslot request. */
+};
+
+/** @brief Parameters for a request for a timeslot as early as possible. */
+typedef struct
+{
+  uint8_t       hfclk;                              /**< High frequency clock source, see @ref NRF_RADIO_HFCLK_CFG. */
+  uint8_t       priority;                           /**< The radio timeslot priority, see @ref NRF_RADIO_PRIORITY. */
+  uint32_t      length_us;                          /**< The radio timeslot length (in the range 100 to 100,000] microseconds). */
+  uint32_t      timeout_us;                         /**< Longest acceptable delay until the start of the requested timeslot (up to @ref NRF_RADIO_EARLIEST_TIMEOUT_MAX_US microseconds). */
+} nrf_radio_request_earliest_t;
+
+/** @brief Parameters for a normal radio request. */
+typedef struct
+{
+  uint8_t       hfclk;                              /**< High frequency clock source, see @ref NRF_RADIO_HFCLK_CFG. */
+  uint8_t       priority;                           /**< The radio timeslot priority, see @ref NRF_RADIO_PRIORITY. */
+  uint32_t      distance_us;                        /**< Distance from the start of the previous radio timeslot (up to @ref NRF_RADIO_DISTANCE_MAX_US microseconds). */
+  uint32_t      length_us;                          /**< The radio timeslot length (in the range [100..100,000] microseconds). */
+} nrf_radio_request_normal_t;
+
+/** @brief Radio request parameters. */
+typedef struct
+{
+  uint8_t                         request_type;     /**< Type of request, see @ref NRF_RADIO_REQUEST_TYPE. */
+  union
+  {
+    nrf_radio_request_earliest_t  earliest;         /**< Parameters for a request for a timeslot as early as possible. */
+    nrf_radio_request_normal_t    normal;           /**< Parameters for a normal radio request. */
+  } params;
+} nrf_radio_request_t;
+
+/**@brief Return parameters of the radio timeslot signal callback. */
+typedef struct
+{
+  uint8_t               callback_action;            /**< The action requested by the application when returning from the signal callback, see @ref NRF_RADIO_SIGNAL_CALLBACK_ACTION. */
+  union
+  {
+    struct
+    {
+      nrf_radio_request_t * p_next;                 /**< The request parameters for the next radio timeslot. */
+    } request;                                      /**< Additional parameters for return_code @ref NRF_RADIO_SIGNAL_CALLBACK_ACTION_REQUEST_AND_END. */
+    struct
+    {
+      uint32_t              length_us;              /**< Requested extension of the timeslot duration (microseconds) (for minimum time see @ref NRF_RADIO_MINIMUM_TIMESLOT_LENGTH_EXTENSION_TIME_US). */
+    } extend;                                       /**< Additional parameters for return_code @ref NRF_RADIO_SIGNAL_CALLBACK_ACTION_EXTEND. */
+  } params;
+} nrf_radio_signal_callback_return_param_t;
+
+/**@brief The radio signal callback type.
+ *
+ * @note In case of invalid return parameters, the radio timeslot will automatically end
+ *       immediately after returning from the signal callback and the
+ *       @ref NRF_EVT_RADIO_SIGNAL_CALLBACK_INVALID_RETURN event will be sent.
+ * @note The returned struct pointer must remain valid after the signal callback
+ *       function returns. For instance, this means that it must not point to a stack variable.
+ *
+ * @param[in] signal_type Type of signal, see @ref NRF_RADIO_CALLBACK_SIGNAL_TYPE.
+ *
+ * @return Pointer to structure containing action requested by the application.
+ */
+typedef nrf_radio_signal_callback_return_param_t * (*nrf_radio_signal_callback_t) (uint8_t signal_type);
+
+/**@brief AES ECB data structure */
+typedef struct
+{
+  uint8_t key[SOC_ECB_KEY_LENGTH];                  /**< Encryption key. */
+  uint8_t cleartext[SOC_ECB_CLEARTEXT_LENGTH];      /**< Clear Text data. */
+  uint8_t ciphertext[SOC_ECB_CIPHERTEXT_LENGTH];    /**< Cipher Text data. */
+} nrf_ecb_hal_data_t;
+
+/** @} */
+
+/** @addtogroup NRF_SOC_FUNCTIONS Functions
+ * @{ */
+
+/**@brief Initialize a mutex.
+ *
+ * @param[in] p_mutex Pointer to the mutex to initialize.
+ *
+ * @retval ::NRF_SUCCESS
+ */
+SVCALL(SD_MUTEX_NEW, uint32_t, sd_mutex_new(nrf_mutex_t * p_mutex));
+
+/**@brief Attempt to acquire a mutex.
+ *
+ * @param[in] p_mutex Pointer to the mutex to acquire.
+ *
+ * @retval ::NRF_SUCCESS The mutex was successfully acquired.
+ * @retval ::NRF_ERROR_SOC_MUTEX_ALREADY_TAKEN The mutex could not be acquired.
+ */
+SVCALL(SD_MUTEX_ACQUIRE, uint32_t, sd_mutex_acquire(nrf_mutex_t * p_mutex));
+
+/**@brief Release a mutex.
+ *
+ * @param[in] p_mutex Pointer to the mutex to release.
+ *
+ * @retval ::NRF_SUCCESS
+ */
+SVCALL(SD_MUTEX_RELEASE, uint32_t, sd_mutex_release(nrf_mutex_t * p_mutex));
+
+/**@brief Enable External Interrupt.
+ * @note Corresponds to NVIC_EnableIRQ in CMSIS.
+ *
+ * @pre{IRQn is valid and not reserved by the stack}
+ *
+ * @param[in] IRQn See the NVIC_EnableIRQ documentation in CMSIS.
+ *
+ * @retval ::NRF_SUCCESS The interrupt was enabled.
+ * @retval ::NRF_ERROR_SOC_NVIC_INTERRUPT_NOT_AVAILABLE The interrupt is not available for the application.
+ * @retval ::NRF_ERROR_SOC_NVIC_INTERRUPT_PRIORITY_NOT_ALLOWED The interrupt has a priority not available for the application.
+ */
+SVCALL(SD_NVIC_ENABLEIRQ, uint32_t, sd_nvic_EnableIRQ(IRQn_Type IRQn));
+
+/**@brief  Disable External Interrupt.
+ * @note Corresponds to NVIC_DisableIRQ in CMSIS.
+ *
+ * @pre{IRQn is valid and not reserved by the stack}
+ *
+ * @param[in] IRQn See the NVIC_DisableIRQ documentation in CMSIS
+ *
+ * @retval ::NRF_SUCCESS The interrupt was disabled.
+ * @retval ::NRF_ERROR_SOC_NVIC_INTERRUPT_NOT_AVAILABLE The interrupt is not available for the application.
+ */
+SVCALL(SD_NVIC_DISABLEIRQ, uint32_t, sd_nvic_DisableIRQ(IRQn_Type IRQn));
+
+/**@brief  Get Pending Interrupt.
+ * @note Corresponds to NVIC_GetPendingIRQ in CMSIS.
+ *
+ * @pre{IRQn is valid and not reserved by the stack}
+ *
+ * @param[in]   IRQn          See the NVIC_GetPendingIRQ documentation in CMSIS.
+ * @param[out]  p_pending_irq Return value from NVIC_GetPendingIRQ.
+ *
+ * @retval ::NRF_SUCCESS The interrupt is available for the application.
+ * @retval ::NRF_ERROR_SOC_NVIC_INTERRUPT_NOT_AVAILABLE IRQn is not available for the application.
+ */
+SVCALL(SD_NVIC_GETPENDINGIRQ, uint32_t, sd_nvic_GetPendingIRQ(IRQn_Type IRQn, uint32_t * p_pending_irq));
+
+/**@brief  Set Pending Interrupt.
+ * @note Corresponds to NVIC_SetPendingIRQ in CMSIS.
+ *
+ * @pre{IRQn is valid and not reserved by the stack}
+ *
+ * @param[in] IRQn See the NVIC_SetPendingIRQ documentation in CMSIS.
+ *
+ * @retval ::NRF_SUCCESS The interrupt is set pending.
+ * @retval ::NRF_ERROR_SOC_NVIC_INTERRUPT_NOT_AVAILABLE IRQn is not available for the application.
+ */
+SVCALL(SD_NVIC_SETPENDINGIRQ, uint32_t, sd_nvic_SetPendingIRQ(IRQn_Type IRQn));
+
+/**@brief  Clear Pending Interrupt.
+ * @note Corresponds to NVIC_ClearPendingIRQ in CMSIS.
+ *
+ * @pre{IRQn is valid and not reserved by the stack}
+ *
+ * @param[in] IRQn See the NVIC_ClearPendingIRQ documentation in CMSIS.
+ *
+ * @retval ::NRF_SUCCESS The interrupt pending flag is cleared.
+ * @retval ::NRF_ERROR_SOC_NVIC_INTERRUPT_NOT_AVAILABLE IRQn is not available for the application.
+ */
+SVCALL(SD_NVIC_CLEARPENDINGIRQ, uint32_t, sd_nvic_ClearPendingIRQ(IRQn_Type IRQn));
+
+/**@brief Set Interrupt Priority.
+ * @note Corresponds to NVIC_SetPriority in CMSIS.
+ *
+ * @pre{IRQn is valid and not reserved by the stack}
+ * @pre{priority is valid and not reserved by the stack}
+ *
+ * @param[in] IRQn      See the NVIC_SetPriority documentation in CMSIS.
+ * @param[in] priority  A valid IRQ priority for use by the application.
+ *
+ * @retval ::NRF_SUCCESS The interrupt and priority level is available for the application.
+ * @retval ::NRF_ERROR_SOC_NVIC_INTERRUPT_NOT_AVAILABLE IRQn is not available for the application.
+ * @retval ::NRF_ERROR_SOC_NVIC_INTERRUPT_PRIORITY_NOT_ALLOWED The interrupt priority is not available for the application.
+ */
+SVCALL(SD_NVIC_SETPRIORITY, uint32_t, sd_nvic_SetPriority(IRQn_Type IRQn, nrf_app_irq_priority_t priority));
+
+/**@brief Get Interrupt Priority.
+ * @note Corresponds to NVIC_GetPriority in CMSIS.
+ *
+ * @pre{IRQn is valid and not reserved by the stack}
+ *
+ * @param[in]  IRQn         See the NVIC_GetPriority documentation in CMSIS.
+ * @param[out] p_priority   Return value from NVIC_GetPriority.
+ *
+ * @retval ::NRF_SUCCESS The interrupt priority is returned in p_priority.
+ * @retval ::NRF_ERROR_SOC_NVIC_INTERRUPT_NOT_AVAILABLE - IRQn is not available for the application.
+ */
+SVCALL(SD_NVIC_GETPRIORITY, uint32_t, sd_nvic_GetPriority(IRQn_Type IRQn, nrf_app_irq_priority_t * p_priority));
+
+/**@brief System Reset.
+ * @note Corresponds to NVIC_SystemReset in CMSIS.
+ *
+ * @retval ::NRF_ERROR_SOC_NVIC_SHOULD_NOT_RETURN
+ */
+SVCALL(SD_NVIC_SYSTEMRESET, uint32_t, sd_nvic_SystemReset(void));
+
+/**@brief Enters critical region.
+ *
+ * @post Application interrupts will be disabled.
+ * @sa sd_nvic_critical_region_exit
+ *
+ * @param[out]  p_is_nested_critical_region  1: If in a nested critical region.
+ *                                           0: Otherwise.
+ *
+ * @retval ::NRF_SUCCESS
+ */
+SVCALL(SD_NVIC_CRITICAL_REGION_ENTER, uint32_t, sd_nvic_critical_region_enter(uint8_t * p_is_nested_critical_region));
+
+/**@brief Exit critical region.
+ *
+ * @pre Application has entered a critical region using ::sd_nvic_critical_region_enter.
+ * @post If not in a nested critical region, the application interrupts will restored to the state before ::sd_nvic_critical_region_enter was called. 
+ *
+ * @param[in] is_nested_critical_region If this is set to 1, the critical region won't be exited. @sa sd_nvic_critical_region_enter.
+ *
+ * @retval ::NRF_SUCCESS
+ */
+SVCALL(SD_NVIC_CRITICAL_REGION_EXIT, uint32_t, sd_nvic_critical_region_exit(uint8_t is_nested_critical_region));
+
+/**@brief Query the capacity of the application random pool.
+ *
+ * @param[out] p_pool_capacity The capacity of the pool.
+ *
+ * @retval ::NRF_SUCCESS
+ */
+SVCALL(SD_RAND_APPLICATION_POOL_CAPACITY, uint32_t, sd_rand_application_pool_capacity_get(uint8_t * p_pool_capacity));
+
+/**@brief Get number of random bytes available to the application.
+ *
+ * @param[out] p_bytes_available The number of bytes currently available in the pool.
+ *
+ * @retval ::NRF_SUCCESS
+ */
+SVCALL(SD_RAND_APPLICATION_BYTES_AVAILABLE, uint32_t, sd_rand_application_bytes_available_get(uint8_t * p_bytes_available));
+
+/**@brief Get random bytes from the application pool.
+ *
+ * @param[out]  p_buff  Pointer to unit8_t buffer for storing the bytes.
+ * @param[in]   length  Number of bytes to take from pool and place in p_buff.
+ *
+ * @retval ::NRF_SUCCESS The requested bytes were written to p_buff.
+ * @retval ::NRF_ERROR_SOC_RAND_NOT_ENOUGH_VALUES No bytes were written to the buffer, because there were not enough bytes available.
+*/
+SVCALL(SD_RAND_APPLICATION_GET_VECTOR, uint32_t, sd_rand_application_vector_get(uint8_t * p_buff, uint8_t length));
+
+/**@brief Gets the reset reason register. 
+ *
+ * @param[out]  p_reset_reason  Contents of the NRF_POWER->RESETREAS register.
+ *
+ * @retval ::NRF_SUCCESS
+ */
+SVCALL(SD_POWER_RESET_REASON_GET, uint32_t, sd_power_reset_reason_get(uint32_t * p_reset_reason));
+
+/**@brief Clears the bits of the reset reason register. 
+ *
+ * @param[in] reset_reason_clr_msk Contains the bits to clear from the reset reason register.
+ *
+ * @retval ::NRF_SUCCESS
+ */
+SVCALL(SD_POWER_RESET_REASON_CLR, uint32_t, sd_power_reset_reason_clr(uint32_t reset_reason_clr_msk));
+
+/**@brief Sets the power mode when in CPU sleep.
+ *
+ * @param[in] power_mode The power mode to use when in CPU sleep. @sa sd_app_evt_wait
+ *
+ * @retval ::NRF_SUCCESS The power mode was set.
+ * @retval ::NRF_ERROR_SOC_POWER_MODE_UNKNOWN The power mode was unknown.
+ */
+SVCALL(SD_POWER_MODE_SET, uint32_t, sd_power_mode_set(nrf_power_mode_t power_mode));
+
+/**@brief Puts the chip in System OFF mode. 
+ *
+ * @retval ::NRF_ERROR_SOC_POWER_OFF_SHOULD_NOT_RETURN
+ */
+SVCALL(SD_POWER_SYSTEM_OFF, uint32_t, sd_power_system_off(void));
+
+/**@brief Enables or disables the power-fail comparator.
+ *
+ * Enabling this will give a softdevice event (NRF_EVT_POWER_FAILURE_WARNING) when the power failure warning occurs.
+ * The event can be retrieved with sd_evt_get();
+ *
+ * @param[in] pof_enable    True if the power-fail comparator should be enabled, false if it should be disabled.
+ *
+ * @retval ::NRF_SUCCESS
+ */
+SVCALL(SD_POWER_POF_ENABLE, uint32_t, sd_power_pof_enable(uint8_t pof_enable));
+
+/**@brief Sets the power-fail threshold value.
+ *
+ * @param[in] threshold The power-fail threshold value to use.
+ *
+ * @retval ::NRF_SUCCESS The power failure threshold was set.
+ * @retval ::NRF_ERROR_SOC_POWER_POF_THRESHOLD_UNKNOWN The power failure threshold is unknown.
+ */
+SVCALL(SD_POWER_POF_THRESHOLD_SET, uint32_t, sd_power_pof_threshold_set(nrf_power_failure_threshold_t threshold));
+
+/**@brief Sets bits in the NRF_POWER->RAMON register.
+ *
+ * @param[in] ramon Contains the bits needed to be set in the NRF_POWER->RAMON register.
+ *
+ * @retval ::NRF_SUCCESS
+ */
+SVCALL(SD_POWER_RAMON_SET, uint32_t, sd_power_ramon_set(uint32_t ramon));
+
+/** @brief Clears bits in the NRF_POWER->RAMON register.
+ *
+ * @param ramon Contains the bits needed to be cleared in the NRF_POWER->RAMON register.
+ *
+ * @retval ::NRF_SUCCESS
+ */
+SVCALL(SD_POWER_RAMON_CLR, uint32_t, sd_power_ramon_clr(uint32_t ramon));
+
+/**@brief Get contents of NRF_POWER->RAMON register, indicates power status of ram blocks.
+ *
+ * @param[out] p_ramon Content of NRF_POWER->RAMON register.
+ *
+ * @retval ::NRF_SUCCESS
+ */
+SVCALL(SD_POWER_RAMON_GET, uint32_t, sd_power_ramon_get(uint32_t * p_ramon));
+
+/**@brief Set bits in the NRF_POWER->GPREGRET register.
+ *
+ * @param[in] gpregret_msk Bits to be set in the GPREGRET register.
+ *
+ * @retval ::NRF_SUCCESS
+ */
+SVCALL(SD_POWER_GPREGRET_SET, uint32_t, sd_power_gpregret_set(uint32_t gpregret_msk));
+
+/**@brief Clear bits in the NRF_POWER->GPREGRET register.
+ *
+ * @param[in] gpregret_msk Bits to be clear in the GPREGRET register.
+ *
+ * @retval ::NRF_SUCCESS
+ */
+SVCALL(SD_POWER_GPREGRET_CLR, uint32_t, sd_power_gpregret_clr(uint32_t gpregret_msk));
+
+/**@brief Get contents of the NRF_POWER->GPREGRET register.
+ *
+ * @param[out] p_gpregret Contents of the GPREGRET register.
+ *
+ * @retval ::NRF_SUCCESS
+ */
+SVCALL(SD_POWER_GPREGRET_GET, uint32_t, sd_power_gpregret_get(uint32_t *p_gpregret));
+
+/**@brief Sets the DCDC mode.
+ *
+ * Depending on the internal state of the SoftDevice, the mode change may not happen immediately.
+ * The DCDC mode switch will be blocked when occurring in close proximity to radio transmissions. When
+ * the radio transmission is done, the last mode will be used.
+ *
+ * @param[in] dcdc_mode The mode of the DCDC.
+ *
+ * @retval ::NRF_SUCCESS
+ * @retval ::NRF_ERROR_INVALID_PARAM The DCDC mode is invalid.
+ */
+SVCALL(SD_POWER_DCDC_MODE_SET, uint32_t, sd_power_dcdc_mode_set(nrf_power_dcdc_mode_t dcdc_mode));
+
+/**@brief Request the high frequency crystal oscillator.
+ *
+ * Will start the high frequency crystal oscillator, the startup time of the crystal varies
+ * and the ::sd_clock_hfclk_is_running function can be polled to check if it has started.
+ *
+ * @see sd_clock_hfclk_is_running
+ * @see sd_clock_hfclk_release
+ *
+ * @retval ::NRF_SUCCESS
+ */
+SVCALL(SD_CLOCK_HFCLK_REQUEST, uint32_t, sd_clock_hfclk_request(void));
+
+/**@brief Releases the high frequency crystal oscillator.
+ *
+ * Will stop the high frequency crystal oscillator, this happens immediately.
+ *
+ * @see sd_clock_hfclk_is_running
+ * @see sd_clock_hfclk_request
+ *
+ * @retval ::NRF_SUCCESS
+ */
+SVCALL(SD_CLOCK_HFCLK_RELEASE, uint32_t, sd_clock_hfclk_release(void));
+
+/**@brief Checks if the high frequency crystal oscillator is running.
+ *
+ * @see sd_clock_hfclk_request
+ * @see sd_clock_hfclk_release
+ *
+ * @param[out] p_is_running 1 if the external crystal oscillator is running, 0 if not.
+ *
+ * @retval ::NRF_SUCCESS
+ */
+SVCALL(SD_CLOCK_HFCLK_IS_RUNNING, uint32_t, sd_clock_hfclk_is_running(uint32_t * p_is_running));
+
+/**@brief Waits for an application event.
+ * 
+ * An application event is either an application interrupt or a pended interrupt when the
+ * interrupt is disabled. When the interrupt is enabled it will be taken immediately since
+ * this function will wait in thread mode, then the execution will return in the application's
+ * main thread. When an interrupt is disabled and gets pended it will return to the application's 
+ * thread main. The application must ensure that the pended flag is cleared using 
+ * ::sd_nvic_ClearPendingIRQ in order to sleep using this function. This is only necessary for
+ * disabled interrupts, as the interrupt handler will clear the pending flag automatically for
+ * enabled interrupts.
+ *
+ * In order to wake up from disabled interrupts, the SEVONPEND flag has to be set in the Cortex-M0
+ * System Control Register (SCR). @sa CMSIS_SCB
+ *
+ * @note If an application interrupt has happened since the last time sd_app_evt_wait was
+ *       called this function will return immediately and not go to sleep. This is to avoid race
+ *       conditions that can occur when a flag is updated in the interrupt handler and processed
+ *       in the main loop.
+ *
+ * @post An application interrupt has happened or a interrupt pending flag is set.
+ *
+ * @retval ::NRF_SUCCESS
+ */
+SVCALL(SD_APP_EVT_WAIT, uint32_t, sd_app_evt_wait(void));
+
+/**@brief Get PPI channel enable register contents.
+ *
+ * @param[out] p_channel_enable The contents of the PPI CHEN register.
+ *
+ * @retval ::NRF_SUCCESS
+ */
+SVCALL(SD_PPI_CHANNEL_ENABLE_GET, uint32_t, sd_ppi_channel_enable_get(uint32_t * p_channel_enable));
+
+/**@brief Set PPI channel enable register.
+ *
+ * @param[in] channel_enable_set_msk Mask containing the bits to set in the PPI CHEN register.
+ *
+ * @retval ::NRF_SUCCESS
+ */
+SVCALL(SD_PPI_CHANNEL_ENABLE_SET, uint32_t, sd_ppi_channel_enable_set(uint32_t channel_enable_set_msk));
+
+/**@brief Clear PPI channel enable register.
+ *
+ * @param[in] channel_enable_clr_msk Mask containing the bits to clear in the PPI CHEN register.
+ *
+ * @retval ::NRF_SUCCESS
+ */
+SVCALL(SD_PPI_CHANNEL_ENABLE_CLR, uint32_t, sd_ppi_channel_enable_clr(uint32_t channel_enable_clr_msk));
+
+/**@brief Assign endpoints to a PPI channel.
+ *
+ * @param[in] channel_num Number of the PPI channel to assign.
+ * @param[in] evt_endpoint Event endpoint of the PPI channel.
+ * @param[in] task_endpoint Task endpoint of the PPI channel.
+ *
+ * @retval ::NRF_ERROR_SOC_PPI_INVALID_CHANNEL The channel number is invalid.
+ * @retval ::NRF_SUCCESS
+ */
+SVCALL(SD_PPI_CHANNEL_ASSIGN, uint32_t, sd_ppi_channel_assign(uint8_t channel_num, const volatile void * evt_endpoint, const volatile void * task_endpoint));
+
+/**@brief Task to enable a channel group.
+ *
+ * @param[in] group_num Number of the channel group.
+ *
+ * @retval ::NRF_ERROR_SOC_PPI_INVALID_GROUP The group number is invalid
+ * @retval ::NRF_SUCCESS
+ */
+SVCALL(SD_PPI_GROUP_TASK_ENABLE, uint32_t, sd_ppi_group_task_enable(uint8_t group_num));
+
+/**@brief Task to disable a channel group.
+ *
+ * @param[in] group_num Number of the PPI group.
+ *
+ * @retval ::NRF_ERROR_SOC_PPI_INVALID_GROUP The group number is invalid.
+ * @retval ::NRF_SUCCESS
+ */
+SVCALL(SD_PPI_GROUP_TASK_DISABLE, uint32_t, sd_ppi_group_task_disable(uint8_t group_num));
+
+/**@brief Assign PPI channels to a channel group.
+ *
+ * @param[in] group_num Number of the channel group.
+ * @param[in] channel_msk Mask of the channels to assign to the group.
+ *
+ * @retval ::NRF_ERROR_SOC_PPI_INVALID_GROUP The group number is invalid.
+ * @retval ::NRF_SUCCESS
+ */
+SVCALL(SD_PPI_GROUP_ASSIGN, uint32_t, sd_ppi_group_assign(uint8_t group_num, uint32_t channel_msk));
+
+/**@brief Gets the PPI channels of a channel group.
+ *
+ * @param[in]   group_num Number of the channel group.
+ * @param[out]  p_channel_msk Mask of the channels assigned to the group.
+ *
+ * @retval ::NRF_ERROR_SOC_PPI_INVALID_GROUP The group number is invalid.
+ * @retval ::NRF_SUCCESS
+ */
+SVCALL(SD_PPI_GROUP_GET, uint32_t, sd_ppi_group_get(uint8_t group_num, uint32_t * p_channel_msk));
+
+/**@brief Configures the Radio Notification signal.
+ *
+ * @note
+ *      - The notification signal latency depends on the interrupt priority settings of SWI used
+ *        for notification signal.
+ *      - In the period between the ACTIVE signal and the start of the Radio Event, the SoftDevice
+ *        will interrupt the application to do Radio Event preparation.
+ *      - Using the Radio Notification feature may limit the bandwidth, as the SoftDevice may have
+ *        to shorten the connection events to have time for the Radio Notification signals.
+ *
+ * @param[in]  type      Type of notification signal.
+ *                       @ref NRF_RADIO_NOTIFICATION_TYPE_NONE shall be used to turn off radio
+ *                       notification. Using @ref NRF_RADIO_NOTIFICATION_DISTANCE_NONE is
+ *                       recommended (but not required) to be used with
+ *                       @ref NRF_RADIO_NOTIFICATION_TYPE_NONE.
+ *
+ * @param[in]  distance  Distance between the notification signal and start of radio activity.
+ *                       This parameter is ignored when @ref NRF_RADIO_NOTIFICATION_TYPE_NONE or 
+ *                       @ref NRF_RADIO_NOTIFICATION_TYPE_INT_ON_INACTIVE is used.
+ *
+ * @retval ::NRF_ERROR_INVALID_PARAM The group number is invalid.
+ * @retval ::NRF_SUCCESS
+ */
+SVCALL(SD_RADIO_NOTIFICATION_CFG_SET, uint32_t, sd_radio_notification_cfg_set(nrf_radio_notification_type_t type, nrf_radio_notification_distance_t distance));
+
+/**@brief Encrypts a block according to the specified parameters.
+ *
+ * 128-bit AES encryption.
+ *
+ * @param[in, out] p_ecb_data Pointer to the ECB parameters' struct (two input
+ *                            parameters and one output parameter).
+ *
+ * @retval ::NRF_SUCCESS
+ */
+SVCALL(SD_ECB_BLOCK_ENCRYPT, uint32_t, sd_ecb_block_encrypt(nrf_ecb_hal_data_t * p_ecb_data));
+
+/**@brief Gets any pending events generated by the SoC API.
+ *
+ * The application should keep calling this function to get events, until ::NRF_ERROR_NOT_FOUND is returned.
+ *
+ * @param[out] p_evt_id Set to one of the values in @ref NRF_SOC_EVTS, if any events are pending.
+ *
+ * @retval ::NRF_SUCCESS An event was pending. The event id is written in the p_evt_id parameter.
+ * @retval ::NRF_ERROR_NOT_FOUND No pending events. 
+ */
+SVCALL(SD_EVT_GET, uint32_t, sd_evt_get(uint32_t * p_evt_id));
+
+/**@brief Get the temperature measured on the chip
+ * 
+ * This function will block until the temperature measurement is done.
+ * It takes around 50us from call to return.
+ *
+ * @note Pan #28 in PAN-028 v 1.6 "Negative measured values are not represented correctly" is corrected by this function.
+ *
+ * @param[out] p_temp Result of temperature measurement. Die temperature in 0.25 degrees celsius.
+ *
+ * @retval ::NRF_SUCCESS A temperature measurement was done, and the temperature was written to temp
+ */
+SVCALL(SD_TEMP_GET, uint32_t, sd_temp_get(int32_t * p_temp));
+
+/**@brief Flash Write
+ *
+ * Commands to write a buffer to flash
+ *
+ * This call initiates the flash access command, and its completion will be communicated to the
+ * application with exactly one of the following events:
+ *      - NRF_EVT_FLASH_OPERATION_SUCCESS - The command was successfully completed.
+ *      - NRF_EVT_FLASH_OPERATION_ERROR   - The command could not be started.
+ *
+ * @note
+ *      - This call takes control over the radio and the CPU during flash erase and write to make sure that
+ *        they will not interfere with the flash access. This means that all interrupts will be blocked
+ *        for a predictable time (depending on the NVMC specification in nRF51 Series Reference Manual
+ *        and the command parameters).
+ *
+ *
+ * @param[in]  p_dst Pointer to start of flash location to be written.
+ * @param[in]  p_src Pointer to buffer with data to be written
+ * @param[in]  size  Number of 32-bit words to write. Maximum size is 256 32bit words.
+ *
+ * @retval ::NRF_ERROR_INVALID_ADDR   Tried to write to a non existing flash address, or p_dst or p_src was unaligned.
+ * @retval ::NRF_ERROR_BUSY           The previous command has not yet completed.
+ * @retval ::NRF_ERROR_INVALID_LENGTH Size was 0, or more than 256 words.
+ * @retval ::NRF_ERROR_FORBIDDEN      Tried to write to or read from protected location.
+ * @retval ::NRF_SUCCESS              The command was accepted.
+ */
+SVCALL(SD_FLASH_WRITE, uint32_t, sd_flash_write(uint32_t * const p_dst, uint32_t const * const p_src, uint32_t size));
+
+
+/**@brief Flash Erase page
+ *
+ * Commands to erase a flash page
+ *
+ * This call initiates the flash access command, and its completion will be communicated to the
+ * application with exactly one of the following events:
+ *      - NRF_EVT_FLASH_OPERATION_SUCCESS - The command was successfully completed.
+ *      - NRF_EVT_FLASH_OPERATION_ERROR   - The command could not be started.
+ *
+ * @note
+ *      - This call takes control over the radio and the CPU during flash erase and write to make sure that
+ *        they will not interfere with the flash access. This means that all interrupts will be blocked
+ *        for a predictable time (depending on the NVMC specification in nRF51 Series Reference Manual
+ *        and the command parameters).
+ *
+ *
+ * @param[in]  page_number Pagenumber of the page to erase
+ * @retval ::NRF_ERROR_INTERNAL      If a new session could not be opened due to an internal error.
+ * @retval ::NRF_ERROR_INVALID_ADDR  Tried to erase to a non existing flash page.
+ * @retval ::NRF_ERROR_BUSY          The previous command has not yet completed.
+ * @retval ::NRF_ERROR_FORBIDDEN     Tried to erase a protected page.
+ * @retval ::NRF_SUCCESS             The command was accepted.
+ */
+SVCALL(SD_FLASH_PAGE_ERASE, uint32_t, sd_flash_page_erase(uint32_t page_number));
+
+
+/**@brief Flash Protection set
+ *
+ * Commands to set the flash protection registers PROTENSETx
+ *
+ * @note To read the values in PROTENSETx you can read them directly. They are only write-protected.
+ *
+ * @param[in]  protenset0 Value to be written to PROTENSET0
+ * @param[in]  protenset1 Value to be written to PROTENSET1
+ *
+ * @retval ::NRF_ERROR_FORBIDDEN Tried to protect the SoftDevice
+ * @retval ::NRF_SUCCESS Values successfully written to PROTENSETx
+ */
+SVCALL(SD_FLASH_PROTECT, uint32_t, sd_flash_protect(uint32_t protenset0, uint32_t protenset1));
+
+/**@brief Opens a session for radio requests.
+ *
+ * @note Only one session can be open at a time.
+ * @note p_radio_signal_callback(NRF_RADIO_CALLBACK_SIGNAL_TYPE_START) will be called when the radio timeslot
+ *       starts. From this point the NRF_RADIO and NRF_TIMER0 peripherals can be freely accessed
+ *       by the application.
+ * @note p_radio_signal_callback(NRF_RADIO_CALLBACK_SIGNAL_TYPE_TIMER0) is called whenever the NRF_TIMER0
+ *       interrupt occurs.
+ * @note p_radio_signal_callback(NRF_RADIO_CALLBACK_SIGNAL_TYPE_RADIO) is called whenever the NRF_RADIO
+ *       interrupt occurs.
+ * @note p_radio_signal_callback() will be called at ARM interrupt priority level 0. This
+ *       implies that none of the sd_* API calls can be used from p_radio_signal_callback().
+ *
+ * @param[in] p_radio_signal_callback The signal callback.
+ *
+ * @retval ::NRF_ERROR_INVALID_ADDR p_radio_signal_callback is an invalid function pointer.
+ * @retval ::NRF_ERROR_BUSY If session cannot be opened.
+ * @retval ::NRF_ERROR_INTERNAL If a new session could not be opened due to an internal error.
+ * @retval ::NRF_SUCCESS Otherwise.
+ */
+ SVCALL(SD_RADIO_SESSION_OPEN, uint32_t, sd_radio_session_open(nrf_radio_signal_callback_t p_radio_signal_callback));
+
+/**@brief Closes a session for radio requests.
+ *
+ * @note Any current radio timeslot will be finished before the session is closed.
+ * @note If a radio timeslot is scheduled when the session is closed, it will be canceled.
+ * @note The application cannot consider the session closed until the NRF_EVT_RADIO_SESSION_CLOSED
+ *       event is received.
+ *
+ * @retval ::NRF_ERROR_FORBIDDEN If session not opened.
+ * @retval ::NRF_ERROR_BUSY If session is currently being closed.
+ * @retval ::NRF_SUCCESS Otherwise.
+ */
+ SVCALL(SD_RADIO_SESSION_CLOSE, uint32_t, sd_radio_session_close(void));
+
+ /**@brief Requests a radio timeslot.
+ *
+ * @note The timing of the radio timeslot is specified by p_request->distance_us. For the first
+ *       request in a session, p_request->distance_us is required to be 0 by convention, and
+ *       the timeslot is scheduled at the first possible opportunity. All following radio timeslots are
+ *       requested with a distance of p_request->distance_us measured from the start of the
+ *       previous radio timeslot.
+ * @note A too small p_request->distance_us will lead to a NRF_EVT_RADIO_BLOCKED event.
+ * @note Timeslots scheduled too close will lead to a NRF_EVT_RADIO_BLOCKED event.
+ * @note See the SoftDevice Specification for more on radio timeslot scheduling, distances and lengths.
+ * @note If an opportunity for the first radio timeslot is not found before 100ms after the call to this
+ *       function, it is not scheduled, and instead a NRF_EVT_RADIO_BLOCKED event is sent.
+ *       The application may then try to schedule the first radio timeslot again.
+ * @note Successful requests will result in nrf_radio_signal_callback_t(NRF_RADIO_CALLBACK_SIGNAL_TYPE_START).
+ *       Unsuccessful requests will result in a NRF_EVT_RADIO_BLOCKED event, see @ref NRF_SOC_EVTS.
+ * @note The jitter in the start time of the radio timeslots is +/- NRF_RADIO_START_JITTER_US us.
+ * @note The nrf_radio_signal_callback_t(NRF_RADIO_CALLBACK_SIGNAL_TYPE_START) call has a latency relative to the
+ *       specified radio timeslot start, but this does not affect the actual start time of the timeslot.
+ * @note NRF_TIMER0 is reset at the start of the radio timeslot, and is clocked at 1MHz from the high frequency
+ *       (16 MHz) clock source. If p_request->hfclk_force_xtal is true, the high frequency clock is 
+ *       guaranteed to be clocked from the external crystal.
+ * @note The SoftDevice will neither access the NRF_RADIO peripheral nor the NRF_TIMER0 peripheral
+ *       during the radio timeslot.
+ *
+ * @param[in] p_request Pointer to the request parameters.
+ *
+ * @retval ::NRF_ERROR_FORBIDDEN If session not opened or the session is not IDLE.
+ * @retval ::NRF_ERROR_INVALID_ADDR If the p_request pointer is invalid.
+ * @retval ::NRF_ERROR_INVALID_PARAM If the parameters of p_request are not valid.
+ * @retval ::NRF_SUCCESS Otherwise.
+ */
+ SVCALL(SD_RADIO_REQUEST, uint32_t, sd_radio_request(nrf_radio_request_t * p_request ));
+
+/** @} */
+
+#endif // NRF_SOC_H__
+
+/**@} */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TARGET_NRF51822/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/nrf_svc.h	Fri Aug 15 15:28:31 2014 +0100
@@ -0,0 +1,33 @@
+#ifndef NRF_SVC__
+#define NRF_SVC__
+
+#ifdef SVCALL_AS_NORMAL_FUNCTION
+#define SVCALL(number, return_type, signature) return_type signature
+#else
+
+#ifndef SVCALL
+#if defined (__CC_ARM)
+#define SVCALL(number, return_type, signature) return_type __svc(number) signature
+#elif defined (__GNUC__)
+#define SVCALL(number, return_type, signature) \
+  _Pragma("GCC diagnostic ignored \"-Wreturn-type\"") \
+  _Pragma("GCC diagnostic ignored \"-Wunused-function\"") \
+  __attribute__((naked)) static return_type signature \
+  { \
+    __asm( \
+        "svc %0\n" \
+        "bx r14" : : "I" (number) : "r0" \
+    ); \
+  }
+#elif defined (__ICCARM__)
+#define PRAGMA(x) _Pragma(#x)
+#define SVCALL(number, return_type, signature) \
+PRAGMA(swi_number = number) \
+ __swi return_type signature;
+#else
+#define SVCALL(number, return_type, signature) return_type signature  
+#endif
+#endif  // SVCALL
+
+#endif  // SVCALL_AS_NORMAL_FUNCTION
+#endif  // NRF_SVC__
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TARGET_NRF51822/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/softdevice_assert.h	Fri Aug 15 15:28:31 2014 +0100
@@ -0,0 +1,46 @@
+/*
+ * Copyright (c) 2012 Nordic Semiconductor. All Rights Reserved.
+ *
+ * The information contained herein is confidential property of Nordic Semiconductor. The use,
+ * copying, transfer or disclosure of such information is prohibited except by express written
+ * agreement with Nordic Semiconductor.
+ *
+ */
+
+/** @brief Utilities for verifying program logic
+ */
+
+#ifndef SOFTDEVICE_ASSERT_H_
+#define SOFTDEVICE_ASSERT_H_
+
+#include <stdint.h>
+
+/** @brief This function handles assertions.
+ *
+ *
+ * @note
+ * This function is called when an assertion has triggered.
+ * 
+ *
+ * @param line_num The line number where the assertion is called
+ * @param file_name Pointer to the file name
+ */
+void assert_softdevice_callback(uint16_t line_num, const uint8_t *file_name);
+
+
+/*lint -emacro(506, ASSERT) */ /* Suppress "Constant value Boolean */ 
+/*lint -emacro(774, ASSERT) */ /* Suppress "Boolean within 'if' always evaluates to True" */ \
+/** @brief Check intended for production code
+ *
+ * Check passes if "expr" evaluates to true. */
+#define ASSERT(expr) \
+if (expr)                                                                     \
+{                                                                             \
+}                                                                             \
+else                                                                          \
+{                                                                             \
+  assert_softdevice_callback((uint16_t)__LINE__, (uint8_t *)__FILE__);        \
+  /*lint -unreachable */                                                      \
+}
+
+#endif /* SOFTDEVICE_ASSERT_H_ */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TARGET_NRF51822/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_softdevice.hex	Fri Aug 15 15:28:31 2014 +0100
@@ -0,0 +1,5290 @@
+:020000040000FA
+:10000000C0070000D1060000D1000000B1060000CA
+:1000100000000000000000000000000000000000E0
+:100020000000000000000000000000005107000078
+:100030000000000000000000DB000000E500000000
+:10004000EF000000F9000000030100000D010000B6
+:1000500017010000210100002B0100003501000004
+:100060003F01000049010000530100005D01000054
+:1000700067010000710100007B01000085010000A4
+:100080008F01000099010000A3010000AD010000F4
+:10009000B7010000C1010000CB010000D501000044
+:1000A000DF010000E9010000F3010000FD01000094
+:1000B00007020000110200001B02000025020000E0
+:1000C0001FB5C046C04600F0EFFA04B00FB41FBD24
+:1000D00008205A49096809580847382057490968CB
+:1000E000095808473C2055490968095808474020E5
+:1000F0005249096809580847442050490968095875
+:10010000084748204D490968095808474C204B4981
+:10011000096809580847502048490968095808479C
+:100120005420464909680958084758204349096836
+:10013000095808475C204149096809580847602068
+:100140003E4909680958084764203C49096809582C
+:100150000847682039490968095808476C20374919
+:100160000968095808477020344909680958084740
+:100170007420324909680958084778202F490968CE
+:10018000095808477C202D490968095808478020EC
+:100190002A490968095808478420284909680958E4
+:1001A0000847882025490968095808478C202349B1
+:1001B00009680958084790202049096809580847E4
+:1001C00094201E4909680958084798201B49096866
+:1001D000095808479C201949096809580847A02070
+:1001E0001649096809580847A4201449096809589C
+:1001F0000847A8201149096809580847AC200F4949
+:10020000096809580847B0200C4909680958084787
+:10021000B4200A49096809580847B82007490968FD
+:1002200009580847BC2005490968095808470000D3
+:1002300003480449024A034B7047000000000020B5
+:10024000C0070000C00700000122D84B5A6000BF61
+:10025000D74A1268002AFBD0016000BFD44A126856
+:10026000002AFBD00022D14B5A6000BFD04A12684E
+:10027000002AFBD07047F0B505460E46174600240D
+:1002800006E0A200B158A2005019FFF7DDFF641C80
+:10029000BC42F6D30020F0BD0120C043C549086030
+:1002A000401048607047014601229204086890425D
+:1002B00001D9102070470020FCE7F0B505460C4638
+:1002C0001646002706E028462168FFF7BDFF2D1DD2
+:1002D000241D7F1CB742F6D3F0BD70B505460C4611
+:1002E0002E460BE0304600F075F9FF2C01D80024B3
+:1002F00001E0FF3C013C012080023618002CF1D1C6
+:1003000070BD0146012292044868904201D909203B
+:100310007047A9484069401C01D10F20F8E7002030
+:10032000F6E7FEB504462068030000F037FA05043E
+:100330002B4249598B00201DFFF7E3FF0546002D96
+:1003400001D02846FEBDFFF7A7FF0120C00200F044
+:1003500041F9042221469948FFF78DFF002801D07A
+:100360000320EFE708222146944800F06DF90028A9
+:1003700006D1002192480068FFF766FF00F00CF9F3
+:100380000320DFE7A768E6686068019031463846D9
+:10039000FFF7A3FF324638460199FFF78EFFB20000
+:1003A0003846019900F050F9002800D1CAE703202F
+:1003B000C8E700F0E3F9834800688349086041E03A
+:1003C00060680190E668A0680090B200009901980A
+:1003D00000F03AF90746002F00D1B3E70E20B1E74D
+:1003E000201DFFF760FF0546002D01D02846A9E734
+:1003F0006068002807D1FFF74FFF0320800200F05C
+:10040000E9F800F0C9F8FFF747FF0120C00200F04B
+:10041000E1F8042221466948FFF72DFF002801D0AA
+:1004200003208FE708222146644800F00DF90028D8
+:1004300006D1002162480068FFF706FF00F0ACF823
+:1004400003207FE700BF00207CE770B505460C461F
+:10045000182D04D12068FFF764FF206002E001201E
+:10046000206000BF00BF70BDF0B589B05248406940
+:1004700003905248806881000398081802900398FE
+:10048000000B01900121090302984018401E000B47
+:1004900000900124002520462946019A00F0C4F866
+:1004A0000022401E91410791069001260027304608
+:1004B0003946009A00F0B8F80022401E914105919B
+:1004C0000490049BDB43059AD2430698184307998E
+:1004D00011430791069037490698086007984860CD
+:1004E00009B0F0BD70B53448446934488568466841
+:1004F000AA003146204600F0A7F8002801D00020CD
+:1005000070BD0120FCE72D484068002801D0012083
+:1005100000E000200546FFF7E5FF002807D0FFF7C1
+:10052000BBFE0320800200F055F800F035F8FFF71D
+:100530009BFF002D0ED020484669204884684768FC
+:1005400021463046FFF7C9FE224639463046FFF7BE
+:10055000B4FE00BF00F020F810B5184844681A48EF
+:100560000460204600F0DCF810BD15480068006803
+:10057000401C01D100BFFEE710480068002802D0EF
+:10058000042806D101E0FFF7BEFFFFF7E5FF00BF3B
+:10059000FEE700BF00BFFEE7BFF34F8F0B480C49DB
+:1005A000C860BFF34F8F00BFFEE7000000E50140C9
+:1005B00000E40140000600400010001000080000A8
+:1005C000B8070000BC070000000000200400FA0586
+:1005D00000ED00E010B50146104B1A6808460223F2
+:1005E0000F4C636000BF0F4B1B68002BFBD0531CEC
+:1005F00004D0904202D20A4B186101E0084B986087
+:1006000000BF084B1B68002BFBD00023044C636029
+:1006100000BF044B1B68002BFBD010BD0010001066
+:1006200000E5014000E4014010B5202A04DB01464A
+:10063000203A9140002010BD914020239C1A03468F
+:10064000E3401943904010BD034610B50B439B0790
+:100650000FD1042A0DD308C810C9121FA342F8D025
+:1006600018BA21BA884201D9012010BD0020C04328
+:1006700010BD002A03D0D30703D0521C07E000208E
+:1006800010BD03780C78401C491C1B1B07D1037854
+:100690000C78401C491C1B1B01D1921EF1D118463D
+:1006A00010BD70477047704710B500F007F810BDD7
+:1006B000014B1B68DB6818470000002019481A49E5
+:1006C0007047FFF7FBFFFFF7FBFC00BD20BFFDE716
+:1006D0001649174C24688C420BD1164B1B68994263
+:1006E0000CD1154B154A1360186810498842EDD09B
+:1006F0000AE0134880F30888124B18470F4A13602A
+:1007000018680A498842E1D080F308880E49884277
+:1007100004DD0E48026802210A4302605B68184744
+:100720000346DFE7C0070000C0070000FFFFFFFF30
+:10073000000C000014100010001000000000002049
+:10074000000400206B05000000200020240500406C
+:100750000D48704502D1EFF3098101E0EFF3088104
+:10076000886902380078182802D1C046074A104725
+:10077000074A12682C3212681047000000B5054B7A
+:10078000054A9B58984700BDFDFFFFFF4B04000042
+:1007900000000020001000000400000030B4744687
+:1007A000641E2578641CAB4204D3635D5B00E318D0
+:1007B00030BC18471D46F8E7000C00000010000090
+:10100000901D002079500100ED3D0000DF4F0100F0
+:1010100000000000000000000000000000000000D0
+:10102000000000000000000000000000E950010086
+:101030000000000000000000ED3D0000ED3D00005C
+:10104000555101005B510100ED3D0000ED3D0000F8
+:10105000ED3D0000ED3D0000ED3D0000ED3D0000E8
+:1010600061510100ED3D0000ED3D000067510100C0
+:10107000ED3D00006D5101007351010079510100F7
+:10108000ED3D0000ED3D0000ED3D0000ED3D0000B8
+:10109000ED3D0000ED3D0000ED3D0000ED3D0000A8
+:1010A0007F51010085510100ED3D0000ED3D000044
+:1010B000ED3D0000ED3D0000ED3D0000ED3D000088
+:1010C00000F002F813F0B9FF0CA030C8083824185B
+:1010D0002D18A246671EAB4654465D46AC4201D170
+:1010E00013F0ABFF7E460F3E0FCCB64601263342CF
+:1010F00000D0FB1AA246AB463343184744410100D7
+:1011000074410100103A02D378C878C1FAD8520766
+:1011100001D330C830C101D504680C6070470000AD
+:101120000023002400250026103A01D378C1FBD803
+:10113000520700D330C100D50B6070471FB5C046C1
+:10114000C04613F01BFF04B00FB41FBD82690249F3
+:1011500081610248104470476111000001000000E5
+:1011600001B41EB400B510F02FFC01B401988646FE
+:1011700001BC01B01EBD0000F0B4404649465246D5
+:101180005B460FB402A0013001B50648004700BF1E
+:1011900001BC86460FBC8046894692469B46F0BC01
+:1011A00070470000C1100000401E00BF00BF00BF1C
+:1011B00000BF00BF00BF00BF00BF00BF00BF00BF37
+:1011C00000BFF1D17047000070B505460C461646C9
+:1011D00002E00FCC0FC5103E102EFAD2082E02D31B
+:1011E00003CC03C5083E042E07D301CC01C5361F2E
+:1011F00003E021782970641C6D1C761EF9D270BD45
+:101200008307FF22DB0E9A408907090E99400028C8
+:101210000BDA0007000F0838830828489B001B18CA
+:10122000D86990430843D8617047830824489B00DD
+:101230001B181868904308431860704710B504469F
+:1012400000210120FFF7DCFF00211820FFF7D8FF65
+:1012500000210B20FFF7D4FF02211920FFF7D0FF58
+:1012600002210D20FFF7CCFF02210E20FFF7C8FF5F
+:1012700002210F20FFF7C4FF0221C81FFFF7C0FFA4
+:1012800003211620FFF7BCFF03211520FFF7B8FF4D
+:10129000204600F019F8002010BD4F210180704752
+:1012A00010B500F03AF810BD0648704710B500F0D0
+:1012B00035F810BD704770477047000000ED00E042
+:1012C00000E400E003F900C330B50446374D95B0A3
+:1012D00007202870A81CFFF7E0FF5920A880344899
+:1012E00001F020FC0546072000F0DCF929462F48D4
+:1012F00000F08CFA641E072C0AD830216846017071
+:10130000847001F0DDFA002802D009A800F0DDFCAD
+:10131000284601F083FE15B030BD7047F8B5234E66
+:101320000446B61E307801270D46002807D0204617
+:1013300060380B2808D8204601F096FB2BE0602C83
+:10134000F9D01C480860F8BD20466C38032803D843
+:10135000204601F0CBFB1EE0204670381F2803D842
+:10136000204600F037F816E0204690380F2803D8C2
+:10137000204600F0BBF80EE02046A0380F2803D826
+:10138000204600F023F906E02046B0380F2804D8A4
+:10139000204600F000F9286000E02F60602CD2D1D8
+:1013A00028680028CFD13770F8BD00001A0000204F
+:1013B000C33300000130000070477047704770472A
+:1013C000704770477047704710B5012801D100F091
+:1013D00042FA10BD10B57038030013F0EBFE150C87
+:1013E00012161E22252C33383D41454950555C6468
+:1013F0006C747B8085004A680878114603F081FF91
+:1014000010BD086803F0F9FF10BD0C790B7B8A68EA
+:101410000868214604F005F810BD086804F07EF85D
+:1014200010BD03F05BFC10BD08884A6880B211460D
+:1014300004F043FA10BD0A790888114680B204F01E
+:1014400091FA10BD087840B204F09CFA10BD0888EB
+:1014500080B204F0B8FA10BD086804F0C7FA10BDF5
+:10146000086804F0DFFA10BD086804F00AFB10BD3C
+:10147000088982B209C9194604F034FB10BD05C9B8
+:10148000114604F082FB10BD08884A6880B21146FC
+:1014900004F0A0FB10BD0B7908888A6880B2194659
+:1014A00004F0FDFB10BD0B7908888A6880B21946EC
+:1014B00004F0B3FC10BD08884B688A6880B21946F6
+:1014C00004F0F3FC10BD08884A6880B2114604F0AD
+:1014D0003EFD10BD088880B204F056FD10BD08889E
+:1014E00080B204F076FD10BD012010BD10B590381B
+:1014F000030013F05FFE09060F161D242C363F462D
+:101500004E0088888A6883B20888194680B205F040
+:1015100093F910BD08884A6880B2114605F0E9F9D0
+:1015200010BD08884A6880B2114605F02DFA10BD3A
+:1015300008884A6880B2114605F063FA10BD088831
+:101540004B688A6880B2194605F094FA10BD088984
+:1015500082B2888883B20888194680B205F0C9FA39
+:1015600010BD08894B6882B20888194680B205F020
+:10157000FEFA10BD08884A6880B2114605F02EFBBD
+:1015800010BD888882B20888114680B205F0C2FB7F
+:1015900010BD012010BD10B5B02805D0B12808D06D
+:1015A000B2280BD0012010BD088880B205F0A6FE3D
+:1015B00010BD088880B205F0D1FE10BD08884B68C8
+:1015C0008A6880B2194605F0DAFE10BD10B5A03861
+:1015D000030013F0EFFD0B070E172028323C434D9C
+:1015E000545D65004B6808788A68194607F017FA59
+:1015F00010BD88888A6883B20888194680B207F0CF
+:1016000023FA10BD08884C68CB688A6880B22146EE
+:1016100007F02AFA10BD08884B688A6880B219461C
+:1016200007F044FA10BD8888CB6884B208888A68BD
+:1016300080B2214607F064FA10BD8888CB6884B276
+:1016400008888A6880B2214607F089FA10BD0888A8
+:101650004A6880B2114607F0BDFA10BD088982B20F
+:10166000888883B20888194680B207F0BDFA10BD99
+:1016700008884A6880B2114607F0DAFA10BD088976
+:101680004B6882B20888194680B207F057FB10BD3C
+:1016900008884B688A6880B2194607F014FC10BDB0
+:1016A000012010BD10B507F0FAFC0FF0A7FF00F005
+:1016B00007F810F0F5F808F0F5F908F081F910BD19
+:1016C00001202B49C00308602A490020087003202C
+:1016D0002949800288607047F8B5264D044628786D
+:1016E000A04207D0002C05D0002803D023A14D2014
+:1016F00013F06FFC2878A04213D02C700325002330
+:101700002349AD021C48002C27D01B4A214E4032F1
+:10171000214F012C06D0022C13D018A16E2013F0FB
+:1017200058FCF8BD0B6002230B604E6185601B49BD
+:1017300011625762091D91621749091DD162456006
+:10174000F8BD0B6003230B604E610121C90281606B
+:10175000134B9362D7624160F8BD0B600B608560EC
+:10176000F8BD10B505A1772013F033FC10BD0000C3
+:1017700080E100E02000002000F501407372635C0E
+:1017800068616C5F63636D5F6161722E630000006E
+:1017900000F500407C01002000F0004000110040F6
+:1017A000488100401CB50446002069460870204668
+:1017B00009F0F6F86946204608F0B4FF002803D186
+:1017C000FBA1B62013F005FC01A9204608F009FF93
+:1017D000002803D1F6A1BB2013F0FBFB684600787C
+:1017E0001CBD70B5F74D002428462C76203084713E
+:1017F000C47113F0EDFC2846403804702030847327
+:10180000847484762C74AC7070BDEAE710B50C4615
+:10181000ED4982888A8042884A80007808700846AC
+:101820000A38847008F0B3FEFFF7DBFF20460AF0A9
+:101830002FFAE44AE0321146383908461446813816
+:1018400009F020F92146E0480BF0C2FC09F09FF8AE
+:1018500013F0BEFC10BD10B50120FFF7ADFD10BDAB
+:10186000F8B509F083FDD84DD64C0A3D022802D0C8
+:10187000207C00287CD0207E0026102819D1A0785A
+:10188000002803D0CAA1D14813F0A3FBCD48E83803
+:10189000817A89070DD50146267160398989E180F1
+:1018A000C17A217281896181C089A0810120A070E3
+:1018B0002676C44F203FB87C002859D1C4486946D9
+:1018C000808908F02FFF002805D0694668780978DC
+:1018D0004018687004E0BD48B5A11D3013F079FBD5
+:1018E000207C002838D0BA488189FF300930406D0B
+:1018F0008089814204D0B548ADA1223013F069FB44
+:10190000B348808908F0B4FF002804D1AF48A8A1EB
+:10191000283013F05EFB09F022F800281CD0AC48F8
+:101920008089FFF73FFF697840186870A548403804
+:10193000416D20318A7C012A0DD1A54A3E779289DA
+:10194000C287C87C20700120B876207E102801D084
+:10195000282800D1267626746978002908D09C486A
+:101960008289FF300930C28601870120B8746E7009
+:1019700009F0CCFC002805D1207C002802D0A878F2
+:1019800001F0F4F8F8BDF8B50F460446FFF768FF1C
+:101990008C4D403D28788B4E002813D0002F10D15D
+:1019A000307E002804D0FF2081A1C63013F011FB47
+:1019B0002C22A91C204613F06FF90E202070002065
+:1019C00028708FE07F4D203DA87B002818D0002F85
+:1019D000F7D1307E102808D0282806D0002804D05F
+:1019E000FF2073A1D23013F0F4FA0120E070E87BFD
+:1019F000A070287C60700F2020700020A87371E018
+:101A00000121204608F0E4FF002807D0307C0028A0
+:101A100051D13946204608F0DBFFF8BDA97C694862
+:101A20000C38009068480A38002913D0017805293D
+:101A300010D2002F56D1491C0170002666700D206F
+:101A40002070012028750622A01C009913F024F9AB
+:101A5000AE7447E05C4800210A380170B078002875
+:101A600014D0002F3ED1307E002803D050A1594819
+:101A700013F0AFFA002565700120524920700A2248
+:101A8000091DA01C13F008F9B5702BE0394620465B
+:101A90000BF008FB002825D1A87C002805D0002FDA
+:101AA00020D149480A380178C5E7A87E002802D02D
+:101AB000307C002801D00020F8BD002F12D1307EEC
+:101AC000002804D08F203AA1800013F082FA00266B
+:101AD00066700A203B4920700622091FA01C13F0E3
+:101AE000DBF8AE760120F8BD10B53648017E00293E
+:101AF00008D1007C012805D001210020FFF743FF19
+:101B0000002801D0072010BD012010BD10B5012410
+:101B10000AF006F90443FFF7E7FF044308F038FF33
+:101B200001462143084610BDF8B51D4614460E4631
+:101B300008F077FD002807D0684608F07DFD0028F2
+:101B400003D0002C07D101E00120F8BD9B2018A193
+:101B5000800013F03EFA08F01BFDA04204D21D489D
+:101B600013A1583013F035FA009808F089F931467E
+:101B7000009808F097F9E2B22946009808F04EFB69
+:101B800008F06CFD002804D19F2009A1800013F00B
+:101B900020FA08F0FFFE0E4800244030417C002966
+:101BA00002D044740AF0A7F90948C480CCE70000C9
+:101BB0007372635C6C6C5F6374726C2E73302E6333
+:101BC00000000000200300202C00002082060000FE
+:101BD000D80100201502000010B50179002908D0B5
+:101BE00001290BD0FF20FE49043013F0F2F9002048
+:101BF00010BD831D42880488022103E042880488C6
+:101C0000831D01212046FFF78FFF10BDF8B51F4649
+:101C100015460E46044609F0A9FB022803D0F148F8
+:101C2000007C00281FD0F0488089208008F020FE2A
+:101C3000002803D1EA49ED4813F0CBF905246846A2
+:101C400008F021FE00280ED0009808F063F93070EB
+:101C5000022809D0012807D008F055FE641E24068A
+:101C6000240EECD10020F8BD3946009808F0EEFAB9
+:101C70002880002804D1AF20D949800013F0A9F9A9
+:101C800008F041FE002804D1D848D549193013F096
+:101C9000A0F90120F8BD38B50446831D821C6946B1
+:101CA000FFF7B4FF00280DD000206071684600786F
+:101CB000012808D0022806D0FF20C949253013F09A
+:101CC00088F9012038BD2071FBE700215BE670B583
+:101CD000C44C0546403C2078002803D1C148007E12
+:101CE000002804D0C120BE49C00013F072F9287842
+:101CF00008F085FF28780BF0C1FB0020207101203F
+:101D000060713921E170207070BD70B5B54D044629
+:101D1000403D2878002803D1B248007E002804D036
+:101D20005F20AF49000113F054F9AF4E2188B0890C
+:101D3000884203D109F01AFB022807D0022028713B
+:101D4000012068713821E970287070BD7F2070769D
+:101D5000A548E17820304174A17801740020EEE7B5
+:101D600010B5A04C403C207800280BD19D48007E47
+:101D7000002807D109F0FAFA032803D009F0FAFA8B
+:101D8000032804D199489649653013F022F9954902
+:101D900000202031C8712071012060713A21E1706A
+:101DA000207010BD70B58F4C0646403C207800284E
+:101DB0000BD18C48007E002807D109F0D7FA032800
+:101DC00003D009F0D7FA032804D1884884497B302E
+:101DD00013F0FFF8834D2035E87908280CD2E87914
+:101DE0001022000100196830314600F025FEE87924
+:101DF000401CE871002000E0072020710120607184
+:101E00003B21E170207070BDF8B5764D0446403D31
+:101E10002878002803D17348007E002803D0704939
+:101E2000734813F0D6F8704F2188B889884203D1DF
+:101E300009F09CFA022801D0022022E03E8C64883E
+:101E40007200788CF98B521C944217D3694A514323
+:101E50009200504312F09AFF401EFF2180B2F531EC
+:101E6000884200D90846844200D22046711C401C9A
+:101E700012F08CFF761C7043401E86B2FE85EE8009
+:101E800000202871012068713C21E9702870F8BD9C
+:101E9000F8B5544C0546403C2078002803D1514801
+:101EA000007E002804D052484D492C3813F091F898
+:101EB000A878002801D0012804D1A888FF21F53195
+:101EC000884204D959204649000113F082F8464E51
+:101ED0002988B089884203D109F048FA022807D03E
+:101EE00002202071012060713621E1702070F8BD60
+:101EF0003D48002720308772A988B18501213176BD
+:101F0000A978012900D00021817237484030407CF7
+:101F1000002801D009F0EFFF2771E3E770B5314CDD
+:101F20000546403C2078002807D12E48007E002836
+:101F300003D109F01BFA002804D02D482849533852
+:101F400013F047F8287809F0EEFE002020710120F8
+:101F500060713021E170207070BD70B5214C054674
+:101F6000403C2078002803D11E48007E002804D081
+:101F70001F481B495F3013F02CF8287800280BD03D
+:101F8000012809D0022807D06878402804D31848CF
+:101F90001349663013F01DF8284609F0DEF90028D1
+:101FA00001D0002000E00C2020710120607134215C
+:101FB000E170207070BD70B50A4C0546403C207839
+:101FC000002807D10748007E002803D109F0CEF988
+:101FD000002804D057200249000112F0FAFF0BE05C
+:101FE000B01B000020030020D8010020AA0200003E
+:101FF000B6050000C40900002978002913D00A2979
+:1020000011D014290FD01E290DD028290BD0322928
+:1020100009D04B2907D0642905D0FF2903D0FE49F8
+:10202000FE4812F0D6FF284609F0FCFE0020207181
+:10203000012060713321E170207070BD70B5F84CE3
+:1020400006462078251D002804D120464030007E19
+:10205000002804D05520F049000112F0BAFF3146A3
+:10206000002008F0A1FD2870002804D10622314686
+:10207000EC4812F011FE012060713221E1702070F5
+:1020800070BD70B5E64C05462078002804D1204686
+:102090004030007E002804D0A720DF49C00012F0A5
+:1020A00098FF00216956042914D0002912D0081D78
+:1020B00010D0001D0ED0001D0CD0001D0AD0001D38
+:1020C00008D00A3006D0283104D0D448D249443848
+:1020D00012F07FFFD448297801700120607131210E
+:1020E000E170207070BD10B5CD4C2078002804D16F
+:1020F00020464030007E002803D0C749CB4812F06C
+:1021000068FF08F045FAE08008F00AFB2072002022
+:102110002071012060710521E170207010BDF8B5BB
+:10212000BF4C07462034A07B25462035002805D12A
+:10213000287E002802D1A878002804D0B748B649E4
+:10214000703812F046FF09F011F91026022822D14A
+:10215000B7483988808988421DD1B1494839084635
+:102160000A7F6038807A002A03D080070CD40C20C4
+:102170000CE0800708D406200877AD484030407C4A
+:10218000002801D009F0B7FE2E760020E0732674F7
+:102190000120A073F8BD0220F8E710B5A04C20780C
+:1021A000002804D120464030007E002804D09B48FF
+:1021B0009949823812F00DFF002020710E20A07086
+:1021C0000F20E070FF20A0710020C04320819548BF
+:1021D000C01D0178A1728188A1814088E081012021
+:1021E0006071207010BD10B58D4C2078002804D18E
+:1021F00020464030007E002803D087498D4812F0E9
+:10220000E8FE0821A01D0FF095FA002020710120A2
+:1022100060712B21E170207010BD70B5804D0446B7
+:102220002878002804D128464030007E002804D0B9
+:102230007A487949B13012F0CCFE7D48102221460F
+:10224000303800F0F9FB7A481022A118203800F04D
+:10225000F3FB774830380FF074FB754910221039C2
+:102260002C46A81D00F0E8FB002020710E20A07075
+:102270002A20E07001206071207070BDF8B5684CB4
+:1022800005462034A07B26462036002802D1307E29
+:10229000002804D067486049E53012F09AFEA9781A
+:1022A000052912D0132910D014290ED015290CD0CD
+:1022B0001A290AD0292908D03D2906D03B2904D063
+:1022C0005C485549ED3012F084FE28885A4988420E
+:1022D00004D958485049F63012F07BFE09F046F810
+:1022E0000C212827022809D151482A888089904248
+:1022F00015D14B484838027E002A01D0E17310E026
+:10230000A97841760121017637760020E0734848AC
+:102310004030407C002804D009F0EDFD01E00220AF
+:10232000E07327740120A073F8BDF8B53C4F064652
+:1023300038783D1D002804D138464030007E002802
+:1023400004D089203449C00012F043FE31460120F8
+:1023500008F02AFC01242870002807D13048062202
+:1023600060303146054612F097FCAC717C71172045
+:10237000F8703C70F8BDF0B52B4F85B0403F3D7A0A
+:10238000064627480078002804D13846A038007E49
+:10239000002804D0D3202049800012F01AFE3078A3
+:1023A000002806D0012804D022481B492C3812F0FE
+:1023B00010FE082D4CD21C4820380190C46930789A
+:1023C00000283FD0012804D01A4813491E3812F0C3
+:1023D00000FE294608310120884004430120A8401E
+:1023E00020430090B1790E4C0802727969000919F6
+:1023F0001043FF3101318881B01C12F0AEFC7178BE
+:1024000000020843A9000919C031C862387A401C8B
+:1024100038720199009811E0B01B00007E050000A1
+:10242000E00200202500002000040020E706000054
+:10243000D801002079030000FF0E0000C8610020D1
+:10244000207108E029460831012088408443C5E70F
+:10245000FE48072101710121FC480B224171C27025
+:10246000017005B0F0BD10B5F84C2078002804D1FB
+:1024700020464030007E002803D0F549F54812F090
+:10248000A8FD12F0A5FE00202071012060710A2134
+:10249000E170207010BD10B509F0DDFB002804D0FC
+:1024A000EC48EB49583812F094FD08F06FFA08F048
+:1024B00052F80AF07EFE002804D0BD20E4498000D6
+:1024C00012F087FD08F0B3FA002804D05F20E0493D
+:1024D000C00012F07EFD12F07BFEDF480024047085
+:1024E000FFF77FF9D9480121047141710222C270BE
+:1024F000017010BD70B5D54D04462878002804D170
+:1025000028464030007E002804D0F320D0498000C7
+:1025100012F05FFD20781F2801D8601C04D1CD483F
+:10252000CB498F3012F055FD002028712078611CB6
+:1025300008F054FB012068712021E970287070BDFB
+:10254000F8B5C24C0646207825464035002802D111
+:10255000287E002804D0BF48BD499C3012F039FDC8
+:102560003078012806D0002804D0BA48B8499D30F8
+:1025700012F02FFD012060710C20207130780027AF
+:10258000B64E012808D008F0F1FE032867D008F005
+:10259000F1FE032871D076E008F0E8FE002803D1B0
+:1025A00008F0E8FE002804D008F0E0FE02283DD044
+:1025B00069E008F07EFA002865D0287C002862D106
+:1025C000A64802210C300FF03EF8002806D00F215B
+:1025D000B089090212F0DAFBB18100E0B781012273
+:1025E00003219E4807F05AFE9C4808F006FCB0897B
+:1025F00007F0D0FF002804D196489549B83012F072
+:10260000E8FCB089002108F0C9F9002804D09148FD
+:102610008F49BC3012F0DDFC297F688B09F087FB05
+:1026200000282FD08B488A49C03015E008F0A2FE60
+:10263000002828D1287F002825D0012823D008F0A1
+:1026400038FA00281FD0297F688B09F070FB00281A
+:1026500018D080487E49D33012F0BBFC12E0002035
+:1026600009F098FA00280ED12771287C00280AD199
+:10267000B089FFF797F806E0FFE7002009F08AFA33
+:10268000002800D127711B20E07001202070F8BDC8
+:1026900070B56E4D04462878002804D12846403095
+:1026A000007E002804D06B486949803012F091FC0C
+:1026B00020781F2801D8601C04D166486449813005
+:1026C00012F087FC002028712078611C08F09AFA2B
+:1026D000012068711A21E970287070BDF8B55B4D52
+:1026E000044628780C272E46403600280AD1307E32
+:1026F000002807D108F03AFE032803D008F03AFE7C
+:10270000032804D153485249473012F062FC6079E3
+:10271000002801D001282FD1A079002801D001285C
+:102720002AD1A07B002805D0012803D0022801D09F
+:10273000032821D1607B40071ED0618801208003DF
+:10274000814202D82288824201D920790CE0207986
+:10275000002804D0022805D0032803D004E0202953
+:1027600004D209E0A02A01D2012805D1208888429C
+:1027700007D92079012804D0364835495C3012F059
+:1027800028FC20887083207930776079002802D077
+:10279000012803D00CE0324A002105E02B4A6032C8
+:1027A0009079002804D00121204608F086F90746D8
+:1027B00001202F7168711821E9702870F8BD70B57B
+:1027C000224C05462078002804D120464030007E67
+:1027D000002803D01E49234812F0FBFB08F0C6FD79
+:1027E0000C2102280ED11D482A8883899A4219D1CA
+:1027F0000246C032137F002B04D1807E0E2803D006
+:102800000F2801D0217103E00520107700202071EE
+:102810000E20A0702E20E0702888E08001206071DA
+:10282000207070BD0220F2E770B5084C0546207894
+:10283000002804D120464030007E002804D00948FA
+:1028400003492C3812F0C5FB0EE00000E002002026
+:10285000B01B00003E03000000040020D80100204F
+:1028600025000020D104000008F080FD0C21022882
+:102870000ED178482A8883899A421FD10646C036ED
+:10288000327F002A04D1807E0E2803D00F2801D089
+:10289000217109E06F481022A91CEA3012F0FCF9FE
+:1028A00004203077002020710E20A0702D20E070D1
+:1028B0002888E08001206071207070BD0220F2E75E
+:1028C00010B501780B0012F075FC3D8787388787BB
+:1028D00058878787873B3E878787515487878787B5
+:1028E00087874228872C3087878787348787878721
+:1028F00087878746874A4E872024876B5B5F63679D
+:10290000876F877E827B77738700801CFFF78CFF41
+:1029100060E0801CFFF753FF5CE0801CFFF7DEFEE9
+:1029200058E0801CFFF7B4FE54E0801CFFF708FE5F
+:1029300050E0801CFFF7DEFD4CE0FFF7ACFD49E006
+:10294000FFF791FD46E0801CFFF715FD42E0801C7B
+:10295000FFF7EBFC3EE0801CFFF790FC3AE0801CA8
+:10296000FFF75BFC36E0FFF73EFC33E0FFF715FCBA
+:1029700030E0801CFFF7D3FB2CE0FFF7B4FB29E02D
+:10298000801CFFF77EFB25E0801CFFF757FB21E052
+:10299000801CFFF710FB1DE0801CFFF7DEFA19E03A
+:1029A000801CFFF7BBFA15E0801CFFF771FA11E0FD
+:1029B000801CFFF729FA0DE0801CFFF7F3F909E00E
+:1029C000FFF7CEF906E0801CFFF79FF902E0801CBC
+:1029D000FFF77DF9012010BD002010BD10B51E4984
+:1029E0001E4812F0F6FA10BD70B51D4A01241146BA
+:1029F000184D4031030012F0DDFB05191C1C0419B1
+:102A00001C0001220021134807F048FC1448002153
+:102A1000483801774177C03809F005FA002804D01A
+:102A20000E480D49D33012F0D4FA70BD0C745565C0
+:102A300070BD09490B48F6E730B5134606E0CC18DF
+:102A4000203CE47FD51A44555B1EDBB2002BF6D147
+:102A500030BD0000D8010020B01B0000410600007E
+:102A6000E00200204707000010B56038030012F0B4
+:102A7000A1FB0A060A0F13181F262A31363B0868E5
+:102A800000F093FD10BD05C9114600F0ADFD10BD6D
+:102A9000086800F04CFE10BD05C9114600F054FE58
+:102AA00010BD4B6808788A68194600F065FE10BDB5
+:102AB0004B688A680868194600F07FFE10BD0868F8
+:102AC00000F09AFE10BD08884A6880B2114600F0F6
+:102AD000EAFE10BD05C9114600F00AFF10BD05C988
+:102AE000114600F01DFF10BD012010BD10B56C286F
+:102AF00001D0012010BD087800F0B8FE10BD000024
+:102B000001203F49400608603E4908603E490A6886
+:102B1000FF231B029A4383121A430A603849803903
+:102B20000860704710B502460420384904E0C3002D
+:102B30005B181B79002B0AD00346401EC0B2002B45
+:102B4000F5D133A1432012F044FAFF2010BDC30099
+:102B5000CA50002259184A718A7101220A7110BDA7
+:102B60002A4A0021C00080180171704710B5044640
+:102B7000042803D326A1522012F02BFA2348E100A7
+:102B80000C182079012803D021A1532012F021FA3A
+:102B90006079A179401CC0B2814200D060710120EF
+:102BA000174940068031086010BD70B516480068AE
+:102BB0000004800F022803D015A1692012F009FA41
+:102BC000124E194C03252078C10088190279012A78
+:102BD00007D1427983799A4203D042798271705841
+:102BE00080472078401CC0B22070042801D3002008
+:102BF000207028466D1EEDB20028E4D170BD0000A3
+:102C000080E100E080E200E018E400E02C12002007
+:102C10007372635C736F635F7369676E616C6C6919
+:102C20006E672E63000000003C00002010B5EFF33B
+:102C30001080C407E40F72B6D6484178491C417031
+:102C40004078012801D10FF065F9002C00D162B65F
+:102C500010BD70B5CF4CE07800280AD10125E57091
+:102C6000FFF7E4FF0FF05EF9002804D000200FF01A
+:102C700031F9002070BDC84865714560F9E770B54D
+:102C8000EFF31080C507ED0F72B6C24C60780028D4
+:102C900003D1C2A18F2012F09CF96078401E6070B1
+:102CA0006078002801D10FF039F9002D00D162B60B
+:102CB00070BD10B5B748C178002904D0002141711A
+:102CC000C170FFF7DCFF002010BD10B504460FF007
+:102CD00029F9B049C978084000D0012020600020BF
+:102CE00010BDF8B50246AB4C0026A67108200421A1
+:102CF00001251027130012F05DFA0D080A0C0E10C2
+:102D00001214161E262123252800257122E00220F8
+:102D100001E021711EE020711CE027711AE02020E3
+:102D2000F9E7012616E0FFF781FF0FF0FBF8002816
+:102D3000FBD002260EE02171A5710BE02771FBE7A5
+:102D4000202000E040202071F6E7FF2093A17E3094
+:102D500012F03FF90FF0F2F8002809D00FF0F4F864
+:102D6000B04205D130460FF0F2F80028FAD024E046
+:102D700001208007C5608D4A002151608C4A966110
+:102D8000854B02225A6085608A4803690569DB43E6
+:102D9000DB06DB175B1C10273D430561834D00E01C
+:102DA00020BF6F68002FFBD0002B03D107691023D1
+:102DB0009F430761784882606960A07900280CD041
+:102DC0000FF0B0F805460FF00DF87B4A002D02D049
+:102DD000A260E06001E0E260A060002E01D100F09E
+:102DE000B1F8F8BD10B504460FF0A2F8002805D0E0
+:102DF00068490120C8704A78521C4A702046FFF783
+:102E000070FF10BDF8B5694FB8680025012802D1E0
+:102E1000BD600FF05FF87868012800D17D603868E8
+:102E200001265C4C012814D13D606079002803D054
+:102E300000200FF04FF865712078002809D00FF0BE
+:102E400071F8002805D05948C0388663000606612D
+:102E5000A670386901282CD13D6100F068F8012086
+:102E600080074661A079002815D00FF05BF800902C
+:102E70000EF0B8FF0099002901D0E16800E0A168D8
+:102E8000411A022901DA8A1C13DC0099002901D0B9
+:102E9000E06000E0A060FFF7C9FE0FF043F80028F3
+:102EA00006D04248C038866300060661A67000E07E
+:102EB0002670F868012819D100F039F800F037F8C9
+:102EC00000F035F8A078002804D1FF2033A10530A8
+:102ED00012F07FF8FD60A5702570FFF7D0FE0EF0B0
+:102EE000F8FA002802D03148C038C663F8BD10B5E2
+:102EF000284CE078002801D10FF010F8012081075C
+:102F0000886100F014F8A07800280BD0274CE06806
+:102F1000002803D10FF01BF80028F8D10020E06052
+:102F200000F005F800201C49C043886010BD08B5BA
+:102F30005020694608806A461088411E118000288A
+:102F4000F9D108BDF8B51448192787601749002042
+:102F50000860C8600EF0E6FFBD0701240D4E002892
+:102F600005D01248C03884632C61B47000E034701E
+:102F7000FFF75CFE084847600D4930798863FFF72A
+:102F8000D6FFAC61FFF7D3FF0849002008616C61F0
+:102F9000F8BD000040000020000300407372635C35
+:102FA000736F635F636C6F636B2E6300000100409F
+:102FB0000005004000ED00E0FFFFFF7F10B510F0BE
+:102FC00064F810BD00200449C8630120012181403C
+:102FD000024A116000BF7047C01F004080E200E05D
+:102FE00010B504460BF095F820460CF0AAF810BD79
+:102FF0007047704770477047704770477047704719
+:1030000010FFFFFFDBE5B151006001004F00FFFF43
+:1030100003B40148019001BD09000020FE49487039
+:10302000704710B5030012F0C5F8080E050E080829
+:103030000B0B0E1104F07DF810BDFFF7D1FF10BD92
+:103040000DF0E8FF10BD01F095FE10BDFF20F3A1CB
+:10305000713011F0BEFF10BD7FB5F44905464868D8
+:103060008968082301910090F14A1946F1480EF051
+:103070008BFD0024F0480EF0A5FD641CE4B2082C82
+:10308000F8D3EB490320803140020CF02FF90028DF
+:1030900003D0E2A1962011F09CFF1E220221E748F6
+:1030A0000AF0E7FCE5481E22032110300BF05BFA22
+:1030B000E2480722342174300AF034FCDF484C2106
+:1030C000283011F048FEDD496A46743108464C3814
+:1030D0000164FF317B31416401211172039002F0E0
+:1030E000B4F802A80CF050FC002803D0CBA1AA2011
+:1030F00011F06FFFCF4802222421A8380AF012FCF9
+:10310000CC4802222C215C380AF00CFCCC490B2064
+:103110000EF082F8002803D0C0A1B72011F059FFAB
+:1031200003F0F4FF03F0F8F904F05AFE6B460022B6
+:103130000821C4A001F070FF002803D0B7A1BE2071
+:1031400011F047FF284605F071F9002803D0B3A11C
+:10315000C02011F03EFF8521C900BD4811F0FBFDE4
+:10316000BB49B24A0020135C0C18401CC0B2E3708B
+:103170000428F8D3A849002048608870C8707FBD33
+:1031800070B5B44E0546706A94B00C46401C04D12C
+:10319000B06AC0430004000C0BD0306AC007C00FF7
+:1031A0002870706A11F0EAFDB06A2071000A60713F
+:1031B00013E02B206946087009A968460AF0F8FB5D
+:1031C000002803D095A1E42011F003FF012028700E
+:1031D00006220AA9204611F05FFD2878002803D0B6
+:1031E0006079C0210843607114B070BDF0B5994C8E
+:1031F0000646206895B00D463746401C0837002823
+:1032000008D16068401C05D1A068401C02D1E0686C
+:10321000401C11D02068314611F0B0FD6068311DAE
+:1032200011F0ACFDA068394611F0A8FDE068314608
+:103230000C3111F0A3FD25E02B206946087009A987
+:1032400068460AF0B5FB002804D0FF2073A10E30B9
+:1032500011F0BFFE08220AA9304611F01DFD2B20F7
+:103260006946087009A968460AF0A2FB002804D044
+:10327000FF206AA1153011F0ACFE08220AA93846D9
+:1032800011F00AFD20692E46401C0836002808D19E
+:103290006069401C05D1A069401C02D1E069401C56
+:1032A00012D02069294611F069FD6069291D11F0CD
+:1032B00065FDA069314611F061FDE06929460C31D8
+:1032C00011F05CFD15B0F0BD2B246846047009A90F
+:1032D0000AF06EFB002804D0FF2050A1333011F01B
+:1032E00078FE082209AF0AA9284611F0D5FC6846E5
+:1032F000047009A90AF05CFB002804D0FF2047A154
+:103300003A3011F066FE0822391D304611F0C4FC37
+:10331000D8E710B5002108460EF00CFD0021012071
+:103320000EF008FD002102200EF004FD0021032014
+:103330000EF000FD002104200EF0FCFC0021052011
+:103340000EF0F8FC10BD10B5414CA0780B2804D34A
+:10335000FF2032A18A3011F03CFE207860214843E2
+:1033600000190830002101704178E722C908C9001E
+:10337000C91C11404170284A0121917010BD70B5DF
+:10338000254CA07800280ED0314800250178491C32
+:10339000C9B201700B2900D105708178491C817078
+:1033A0000EF093FDA57070BD70B51B4C05466068AE
+:1033B000002804D0FF2019A1B33011F00AFE656087
+:1033C00070BD70B5144E224DFFF7BDFF7168044605
+:1033D000002907D06022FDF7F7FEFFF7D0FF00209D
+:1033E0007060F1E72879002876D012485C380AF03E
+:1033F000A9FA6060002804D1FF2008A1D13011F0A3
+:10340000E8FD60680AF0FCFA002831D0204600F0A0
+:103410006FFF607801071FE0340000207372635C67
+:10342000686F73745F636F72652E6300E051010013
+:10343000040400200C12002023300000840A002025
+:10344000B41000206E524635313832320000000090
+:103450008C0C00208000001007D5C008C000401C64
+:1034600060702879401E287127E0F74861682AE0DB
+:10347000F54861680AF06FFA687900282CD0F248A4
+:103480004C380AF05FFA6060002804D1FF20EF4951
+:10349000F43011F09EFD60680AF0B6FA002816D0EC
+:1034A000204603F085FE6078010709D5C008C000FA
+:1034B000801C60706879401E6871FFF760FF83E7C9
+:1034C000E14861684C380AF046FA7DE704E0DE48DE
+:1034D00061684C380AF03FFA70BDF7B505460078D0
+:1034E000002700090C463E46062803D0D749D84895
+:1034F00011F06FFD287A00280ED0012814D0D4488E
+:10350000D249213011F065FD0298002C068001D0CF
+:10351000278066800020FEBD02270926002C0ED0E1
+:10352000A889A080A87B08E003271426002C06D0D9
+:103530002869E060A88A2082287B2072E4E702984C
+:103540000680E7E770B50E4600211C461980154637
+:10355000030011F02FFE0723050B1711231D230075
+:1035600022462946304603F0EFFD70BD224629462B
+:10357000304601F078F970BD22462946304604F005
+:103580002AFB70BD22462946304602F0F9FF70BD85
+:10359000224629463046FFF7A0FF70BD9720AB4971
+:1035A000800011F016FD032070BD10B5A94C2178E4
+:1035B000002901D0082010BDFFF74EFD012020702A
+:1035C000002010BD0146A04810B54C380AF0C3F9E0
+:1035D000A1494879401CC0B24871012803D19D48D7
+:1035E0004078FFF7C3FA10BDF8B50546072040073D
+:1035F0000F460A18012189038A4209D2002D02D000
+:103600002818884204D2E81C80088000A84201D013
+:103610001020F8BD90488178002911D03988009198
+:103620004178602251430C18083420783B4600074B
+:10363000000F00222146FFF785FF060004D015E0A9
+:10364000002038800520F8BD002D13D0398800985F
+:10365000814201D90C260DE020783B460007000F7F
+:103660002A462146FFF76EFF060005D00C2E01D03A
+:10367000002038803046F8BD774D6878401CC0B2D5
+:1036800068700B2801D100206870A878401EA870CF
+:1036900061784807400F022810D00128EAD16A4813
+:1036A00061680AF058F92879401CC0B228710128D5
+:1036B000E0D168484078FFF759FADBE7C806D9D46B
+:1036C0006068FFF77FFFD5E770B50446634816468C
+:1036D0000D46814204D15E485C49C53011F079FC49
+:1036E000012E05D05A485949D53011F072FC70BDF1
+:1036F00058480121C1706620207000202072A581E9
+:10370000A17370BD70B516460D46040001D1FFF7D8
+:103710001AFE662101700121017229680161A988E0
+:1037200081820673002C01D1FFF729FE70BD0721AD
+:103730004907012241189203914201D3102070479A
+:103740000721017000207047454A10B590420ED302
+:1037500001239B04C21A434B9A4208D3424B98421E
+:1037600005D2072252078A18DB139A4201D3102090
+:1037700010BD0DF08AFD10BD394B10B599420ED326
+:1037800001239B04374CCB1AA34208D3364B9942F2
+:1037900005D2E3020124D318A403A34201D31020CD
+:1037A00010BD022803D0102801D0092010BD0DF053
+:1037B00092FD0028FAD0052010BD70B5284B984224
+:1037C00012D301239B04274CC31AA3420CD3264BCC
+:1037D000984209D2E4020D19DB139D4204D2002A5B
+:1037E00004D014199C4201D3102070BD0DF099FD36
+:1037F0000028FAD0072070BD10B504460720400706
+:1038000001212018890394B0884202D3102014B0FB
+:1038100010BD01F06AFD002801D01120F7E70F204C
+:1038200008A9087369460BA80AF0C2F80028EED16F
+:103830006846007A207068464089608068468089C2
+:10384000A0800020E3E70000B01100201C3400003D
+:1038500015020000340000208C0C0020FFFF000047
+:10386000006001000000FC1F0040002010B594B073
+:10387000044601F03AFD002801D01120C7E7002CD2
+:1038800001D00720C3E7392168460170002181700B
+:1038900009A90AF08DF8002803D02B492B4811F014
+:1038A00098FB0020B3E770B5294C0846E178002961
+:1038B00013D000280FD007225207012385189B033D
+:1038C0009D4203D20568AA189A4201D3102070BD08
+:1038D0008288002A03D0012903D0082070BD092066
+:1038E00070BD04F0E1FA0028FAD10021E17070BD4A
+:1038F000184A10B5914208D301229204164B8A1A35
+:103900009A4202D3154A914201D3102010BD0246BB
+:10391000203A1F2A02D801F01FFC10BD072010BD5D
+:1039200007225207012310B58A189B039A4201D33C
+:10393000102010BD0246203A1F2A02D801F068FC70
+:1039400010BD072010BD00001C34000079030000EA
+:1039500034000020006001000000FC1F0040002037
+:103960008107C90E002808DA0007000F0838800810
+:103970002C4A80008018C06904E080082A4A800030
+:1039800080180068C8400006800F704710B50D20F1
+:10399000FFF7E6FFC4B20420C043FFF7E1FFC0B267
+:1039A000844203D021A11A2011F013FB10BD012184
+:1039B000234A48031060234B00221A60224A5160B8
+:1039C000224A1060224A11601D4980390860704700
+:1039D00001211B4A480310601D4A5160194A002109
+:1039E00011601A490860704710B516490868012827
+:1039F00004D00EA1562011F0ECFA10BD15488068D5
+:103A00000022C0B20A600DF0BBFE10BD10B50D481B
+:103A100001680029FCD0FFF7E7FF01200B494003B4
+:103A2000086010BD00ED00E000E400E07372635C2C
+:103A3000736F635F68616C5F726E672E6300000076
+:103A400080E100E000D1004000D3004080E200E0CF
+:103A500000D0004000D5004030B40121BC48C9026C
+:103A60000160CD1005604A030260BA4803681B027A
+:103A70001B0A036004680023240A24020460B64879
+:103A80000468240A24020460B44801244460846069
+:103A9000B34C23606360A360B24B19601D601A6071
+:103AA000B14B19601A600121016030BC704710B43D
+:103AB0000121A748CC0204600A0202600B060360E1
+:103AC000A64841608160A64900200860486088607F
+:103AD000A44804600260036010BC70470121A14843
+:103AE000C9020160C91001607047002805D0012893
+:103AF00005D0022805D19D4870479D4870479D48D4
+:103B0000704710B59CA18B2011F063FA002010BD06
+:103B100070B500219F4CA04DA04A914B002808D0C1
+:103B200001281DD0022822D093A1B32011F051FA10
+:103B300070BD01200004A060A86011601960984B5E
+:103B400042109A60974A9060814A0012106096482D
+:103B5000016087480160954801609548017070BD1B
+:103B600001204004A060A8605160596070BD012030
+:103B70008004A060A8609160996070BDF8B594461B
+:103B8000844A854D00240127754E002808D001285D
+:103B900036D0022844D078A1E82011F01AFAF8BDF6
+:103BA000891E0902090A01200004906034606860DF
+:103BB0007A4A1160012B21D000217D4A7D4B517042
+:103BC00061463D31DC63DF637B4B5C6002249C60BB
+:103BD00004241C61744B196074490F60614B891592
+:103BE0001960704B58606048016075487349C16046
+:103BF00086606B49600348601770F8BD0121DCE7FF
+:103C000001205C4E40046F4F012B04D134605060A2
+:103C100068603960F8BD9060346068603960F8BDF4
+:103C20000120524E8004684F012BF4D1EEE7674823
+:103C30004068704770B54A4D28680026554C0128E9
+:103C400006D1A068C00303D501200004A0602E6047
+:103C50006868012809D1A068800306D501204004C6
+:103C6000A0606E6001200FF04CF9A868012809D10E
+:103C7000A068400306D501208004A060AE60022049
+:103C80000FF03FF970BD10B549490878002818D0E9
+:103C90000120434AC0039060424A400090602C4A91
+:103CA00000121060404A00201060314A10603F4A04
+:103CB000106008704A78002A02D048700FF021F98D
+:103CC00010BD0320FAE70120414900060860704753
+:103CD0000120244900060860704701203C49400546
+:103CE0000860704701201F4940050860704731494E
+:103CF0000020C86388151B4908607047410A354A8F
+:103D0000C005C00D5043801C5143400A081870473D
+:103D100010B4314C430B63431B0C5C020C602D4C04
+:103D20006343C31A2D485C0258432A4B400D43435A
+:103D3000E31A0124DB0324041B191B1613700A6801
+:103D40001018086010BC704710B50FF0B2F910BD24
+:103D500080E100E008E400E018E400E000B000408A
+:103D600040B1004080E200E000E100E048B10040E6
+:103D70004081004044B100407372635C72656D5FC6
+:103D800068616C5F6576656E745F74696D65722ECF
+:103D90006300000000B3004040B3004040B5004065
+:103DA00000F5014000830040408500400082004053
+:103DB00050000020C08F004000850040008000407F
+:103DC00080F5014044B5004048B5004000B50040D2
+:103DD00000E200E0093D0000378600006F0C0100A2
+:103DE0000E4A12680C498A420AD118470B4A1268D7
+:103DF000094B9A4204D101B50DF0DDFD03BC8E469E
+:103E0000074909680958084706480749054A064B03
+:103E10007047000000000000BEBAFECA1C0100206E
+:103E200004000020901D0020901D002010B5FA4CC9
+:103E300094B02168087A002836D017206A4610709E
+:103E400000A806220931023010F026FF09A96846B1
+:103E500009F0AEFD112825D02168C03189790629E5
+:103E600020D007291ED008291CD004291AD00929DE
+:103E700018D00A2916D00B2914D0052912D00028F1
+:103E800003D0E6A1F32011F0A4F82168B82040582F
+:103E900006221C30093110F0FFFE2068017A8030C4
+:103EA000806BC17614B010BD3220C7E770B5DA4D13
+:103EB000044629680300C03111F07CF90C077C0B23
+:103EC0001A212E3B48515C677080FF20D3A1093036
+:103ED0006EE0887901286DD009286BD0052869D05B
+:103EE0000A2867D00B2865D0FF20CCA10E305FE0F8
+:103EF000887901285ED0FF20C8A1153058E0887964
+:103F0000062857D0072855D0082853D0052851D067
+:103F1000FF20C2A118304BE0887909284AD00A282E
+:103F200048D00B2846D0042844D0FF20BBA11E3027
+:103F30003EE0887903283DD007283BD0082839D0B7
+:103F4000092837D0FF20B5A1243031E08879062830
+:103F500030D00A282ED0FF20B0A12A3028E088795E
+:103F6000062827D0072825D00B2823D0FF20ABA177
+:103F70002E301DE0887906281CD00A281AD00B287C
+:103F800018D0FF20A5A1333012E08879092811D07C
+:103F90000A280FD0FF20A1A1383009E0887909282C
+:103FA00008D00A2806D0082804D0FF209BA13C3066
+:103FB00011F00FF82868C030847170BDFF2097A100
+:103FC0004130F5E79449C9220968525CD206920F44
+:103FD00005D1A0318A8B824201D1887F70470020B1
+:103FE000704770B504461120207000218A4D617021
+:103FF0002968C031897A002908D003290ED0042904
+:1040000010D0FF2085A16A3010F0E3FF207800096E
+:10401000012802D92868807D607070BD0007000FFC
+:10402000203002E00007000F30302070EEE730B59E
+:1040300003887E497E4C8B4202D09A1FA2421ED238
+:1040400042888A4202D0951FA54218D2934216D8C0
+:1040500083887D24E400A34211D8C088884205D01B
+:10406000734D04460A3C2D1FAC4208D2884208D04A
+:104070008A4206D05B1C5A43C000824201DD072001
+:1040800030BD002030BDFFB50022099B002802D0C2
+:10409000994205DC5CE0002902D1002004B0F0BDAB
+:1040A0000920FBE7845C002C12D085186F780D2F57
+:1040B0004CD010DC3B0011F07DF80A421B2A2A305C
+:1040C0003032323A3A42835C002B3FD1521CD2B29A
+:1040D0008A42F8DBE1E7122F31D004DC0E2F35D015
+:1040E0000F2F2CD132E0142F11D0152F27D116E02D
+:1040F000022CD5D1AB78039C072B237001D25B0730
+:1041000001D40A20CAE7029B01241B7814E0E34390
+:10411000DB0708E0012C08D011E00620BEE70F25E0
+:1041200023072D075B19002BF4D03046B6E7029B1E
+:104130001B789C070AD402242343029C2370835CCF
+:10414000521C9A18D2B28A4204DDA9E70B20A5E7D7
+:10415000192676028A42A5DB9FE705E00278401C1B
+:10416000002A01D0002070470A46491E89B2002A61
+:10417000F4D10120704730B5274D0021286887B061
+:10418000C943A030818300248477214606200DF0A6
+:10419000D1FD002105200DF0CDFD002102200DF004
+:1041A000C9FD0120FFF782FE28686946C030C4714E
+:1041B00004720120087068460BF007FC07B030BDA0
+:1041C00030B5154C95B02268C0329279042A0CD0D3
+:1041D000052A0AD028236A4613705080132906D076
+:1041E0003B2904D0072015B030BD0820FBE7117132
+:1041F000104609A909F0DCFB05000BD12068C0308E
+:104200008179062916D0082914D0072912D0052053
+:10421000FFF74CFE2846E6E7540000207372635C0B
+:104220006761705F636F72652E630000FFFF0000BF
+:104230007B0C00000420EBE730B587B0040003D00E
+:10424000002107200DF076FDFE4D012128686A4609
+:1042500001720421117003210C300DF06BFA2968F2
+:104260004022887B8006800E1043887368460BF0DE
+:10427000ACFB00280DD12968098A00299ED0002CAA
+:104280009CD08B000122002107200DF0AEFC0728F6
+:1042900001D0032092E7002090E770B50025064684
+:1042A000002803D0002107200DF044FDE54C01213A
+:1042B00020680172062109300DF03CFA2068817BEC
+:1042C0008906890E8173FFF7B1FD2068008A0028F6
+:1042D0000AD0002E08D083000122002107200DF013
+:1042E00084FC072802D00325284670BD0025FBE783
+:1042F000F0B59BB0040004D11920D349400110F05F
+:1043000068FE72202070616800260A780825521F16
+:104310000127CC48130010F04DFF0F0976D9FD7628
+:1043200078FCFBB576767676FAF97600C5480068B3
+:10433000C0308079032803D0C349C44810F049FE37
+:10434000002108460DF0F6FC002107200DF0F2FCDC
+:104350006078BC4A28436070106810250146C0315F
+:104360004B7A2B434B7263689D783C2D48D00246B4
+:104370009D88A032977763688030DB890B80636803
+:104380001B8A4B8063685B8A8B8095836168826B34
+:10439000C97911756168806B08311530062210F0FB
+:1043A0007BFC0620FFF782FDA648CA210068FB229D
+:1043B0000E54017E11400176B82109588A7A92087C
+:1043C00092008A724682284602F0ACFE002804D091
+:1043D0009E489D491A3010F0FCFD284602F0BCF8BA
+:1043E000002804D0994898491D3010F0F2FD284665
+:1043F00003F008FD002806D069209349C0003EE183
+:104400000120FFF753FD1BB0F0BD064600688F8802
+:10441000C0308079062812D0072810D008280ED086
+:1044200004280CD009280AD00A2808D00B2806D066
+:10443000052804D0D5208449800010F0CAFD60789A
+:10444000284360703068C030417A294341728079D6
+:10445000092811D00A280FD00B280DD005280BD021
+:10446000FFF789FE384602F062FE384602F07AF81D
+:10447000384603F0FDFCC6E7FFF77DFE0220FFF79C
+:1044800015FDEFE70068C0308079062812D00728B4
+:1044900010D008280ED004280CD009280AD00A28E9
+:1044A00008D00B2806D0052804D06F206649C0002C
+:1044B00010F08FFD6068807902F0F1FE0028A2D034
+:1044C0006178294361706168C8809CE7074600688D
+:1044D000C0308079062812D0072810D008280ED0C6
+:1044E00004280CD009280AD00A2808D00B2806D0A6
+:1044F000052804D055485449623010F06AFD6078B0
+:10450000284360706068C188386804E032E197E150
+:1045100084E084E00FE0C030018061680989418057
+:10452000616849898180002102200DF003FC386810
+:10453000C030C67167E706460068C030807906283B
+:1045400019D0072817D0082815D0042893D0092897
+:1045500011D00A280FD00B280DD005288BD03B484E
+:104560003949793010F035FD3068C0308079042841
+:10457000ABD00528A9D03068807C40063AD5606869
+:1045800002210C30FFF7E9FD002833D060680821D4
+:10459000001DFFF7E2FD00282CD03168B8204058FC
+:1045A000807A800708D1CA20405C002808D1488A58
+:1045B000C20505D5C00703D14A8A402082434A82FA
+:1045C0004A8A802082434A822D2268460270BC209B
+:1045D000425A684642801022973101A810F05CFBD5
+:1045E00009A9684609F0E4F90028A3D0174816493C
+:1045F000A03044E062683068AC2192890A52616858
+:104600000822091DAE3010F047FB10A80574306871
+:10461000AE30159014A80BF0D8F9F4E68F71064669
+:104620000068C030807906281FD007281DD00828D0
+:104630001BD00428F1D0092817D00A2815D00B2840
+:1046400013D005E0540000201C42000029030000A4
+:104650000528E2D0F949FA4810F0BBFC3068C030B8
+:1046600080790428D9D00528D7D0606881790029BD
+:1046700002D08078002805D0F148F0496C3010F065
+:10468000A8FCC0E66078B8212843607030680958FB
+:10469000897A8907890F012952D1817C09064FD473
+:1046A000017E490701D5042100E00321C030817259
+:1046B0002B206946087009A9684609F079F9002895
+:1046C00004D0DF48DD49213010F083FC69463068B2
+:1046D000098D81820E2210A90A74DA49B822159137
+:1046E000125808324A61024660324A6092790A7072
+:1046F000024614320A61521D8A601032CA60133AAF
+:104700008A619632CA61921C0A62473A4A62103242
+:104710008A621032CA62473ACA63521E0A64921F02
+:1047200050304A64886414A80CF038FB022815D075
+:10473000002813D0C248C1494A3010F04AFC0DE0AD
+:10474000817C4906017E490701D5042100E003214F
+:10475000C0308172002106200DF0ECFA3068418AE9
+:104760000A0602D440229143418289B280229143B9
+:10477000418248E6B4480068C0308079032804D0FC
+:10478000AF48AE49783010F024FC002108460DF007
+:10479000D1FA002107200DF0CDFA6078AA4A28430B
+:1047A0006070106810250146C0314B7A2B434B7264
+:1047B00063689D783C2D00D122E602469D88A03298
+:1047C000977763688030DB890B8063681B8A4B8036
+:1047D00063685B8A8B8095836168826BC979117588
+:1047E0006168806B08311530062210F055FA0620FA
+:1047F000FFF75CFB9448CA210068FB220E54017E3F
+:10480000114001764682284602F08CFC002804D034
+:104810008B488A49923010F0DCFB284601F09CFE60
+:10482000002804D086488549953010F0D2FB2846F0
+:1048300003F0E8FA00289CD08148804997301EE7B1
+:10484000607828436070DEE500290BD088807E48C0
+:104850000068C0300288CA8002880A8142884A8182
+:10486000808888817047F7B5064600780C46002797
+:10487000010982B03D46012974D073480068009058
+:10488000C03002296FD0072904D00A296CD06B49A7
+:104890006E48E3E171680A78521F130010F08AFC39
+:1048A0000F09A551A5A52F585847A5A5A5A5656F22
+:1048B000A5008A783C2A1BD010271625002C7DD015
+:1048C0008888A0807068A21DC08920827068C08915
+:1048D000E0817068008A60827068408AA082716896
+:1048E00008460831C07901F09FFB0020607375E035
+:1048F00019270725002CE2D00021A17171E01127B2
+:104900000725002CDBD089880091A1807168F722EF
+:104910008979A171417A11404172009802F008FC36
+:10492000009801F023FE009803F0B0FAC1E10127DE
+:104930000925002CC3D08888A080706880792072F7
+:10494000B7E1888812270E252146FFF77DFFB0E1E9
+:1049500018270825002CB2D08888A080A01DFFF75A
+:1049600040FBA6E145E0A1E15DE01A270725002C08
+:10497000A5D04888A08070680079A07199E18A78F4
+:104980003C2AB5D010271625002C98D08888A08006
+:104990007068C08920827068C089E0817068008A70
+:1049A00060827068408AA0827168607B497D40089F
+:1049B0004000C907C90F0843607300E036E1716821
+:1049C000C007497DC00F49084900084360737168FA
+:1049D000A21D08460831C07901F026FB1A4800687C
+:1049E000C030417AEF22114046E1532013490001C3
+:1049F00034E1307A012803D014481049C5382DE13C
+:104A000012270E2570892146FFF71EFF002C91D03A
+:104A100070784007400F032888D10B480068C030E9
+:104A2000417AFB22DFE708490968A031002C01D058
+:104A30008A8BA280327A921E0AE000001C4200009B
+:104A4000ED030000AC120020540000200C06000012
+:104A5000130010F0AFFB073D4853EDEE6F05ED007E
+:104A600013270C25002C90D0009900224A82F1686F
+:104A700089788907890F0129217A26D049084900B8
+:104A80002172FD231940F3689B785B07DB0F5B0005
+:104A900019432172E323E2801940F3681B785B0716
+:104AA000DB0E19432172DF231940F3685B78DB07C3
+:104AB0009B0E194321726272F1680122C978A172BA
+:104AC000017A1143F7221140ADE001231943D7E7E2
+:104AD00015270C25002C9AD0F06806220068A11D2D
+:104AE0000EF07CFFE5E016270725002C8FD0317BE8
+:104AF000A171017A08221BE00172DAE01427122565
+:104B0000002C84D00098A21D8030806B01461531A6
+:104B1000007D01F089FAB089E081207C0121084301
+:104B2000F92108402074FE480068C030017A022252
+:104B30001143E1E717273825002C77D03221A01D3B
+:104B400010F007F90020A071207A03210843207299
+:104B5000FB210840F24909680A7E5207D20F9200F1
+:104B600010432072B8204058807A800757D0A07A2E
+:104B70008A7C4008D2074000D20F1043FD2210402B
+:104B8000A0728B7CFB229B07DB0F10409B0018431D
+:104B9000A0728B7CF7269B07DB0F3040DB001843AD
+:104BA000EF231840A072E07A10408A7CD206D20F20
+:104BB00092001043E0728A7C3040D206D20FD200BD
+:104BC0001043E072888AA0812046102267310E309F
+:104BD00010F062F8D249A07F0968C0078A7DC00F33
+:104BE00052001043A0770A7E400852074000D20FBF
+:104BF0001043A077084640304DC820344DC4303CA7
+:104C00003F20405C22463032393101F00DFAC44871
+:104C100000688030806B817A890889008172C04881
+:104C20000068C030017AFB22114065E737E000E000
+:104C300038E0327B022A14D017273825002C2ED0DA
+:104C4000017AFB2319400172012A17D0032A17D0D9
+:104C5000042A18D0052A16D0B249B34810F0B9F981
+:104C600027E019270725002C19D0898BA180012165
+:104C7000A171417A4908490041721AE0012000E01F
+:104C80000220A07106E0707B0007000F8030A07149
+:104C9000052A02D00020E0710BE00120FBE7049818
+:104CA00005800CE0A0489F490A30D7E7317A0029F7
+:104CB00008D00498002C058001D027806580002052
+:104CC00005B0F0BD19270725002CE8D00021C94305
+:104CD000A1800021A171417AFD2284E610B5904C9B
+:104CE00094B02068C0308079022809D0032807D00A
+:104CF000052805D0092803D00A2801D00B2837D170
+:104D00001B2108A801730021817369460BA808F0D4
+:104D10004FFE002804D1684640781B2802D00320AB
+:104D200014B010BD002108460DF004F80021072042
+:104D30000DF000F868468078002819D12068C0304E
+:104D40008079801E030010F035FA0A060613081356
+:104D500013130D0F1113012000E00420FFF7A6F834
+:104D60000020DDE70620F9E70720F7E70820F5E750
+:104D70000820D5E770B50025694C002807D0022827
+:104D800017D0072828D033206649400146E0FFF7B6
+:104D9000A5FF00280CD1FEF7D6FA2221017005727A
+:104DA000FEF7EDFA2068C030417A022211434172C9
+:104DB00070BDFEF7C8FA122101700121017221684D
+:104DC000BC22525A4281C031CD71FEF7D8FA206818
+:104DD000C030417A0422E9E72168C620405C0228FD
+:104DE00009D0032807D0092805D00A2803D00B28AA
+:104DF00001D00528DCD1887B8109012911D08009E7
+:104E000004D0494847496E3010F0E3F80020FFF71E
+:104E100044FA0028CCD044484249723010F0D9F806
+:104E200070BD0020FFF708FAF3E770B50D460400E7
+:104E300004D1CD203B49C00010F0CBF820780128E8
+:104E400005D0394837499D3010F0C3F870BDA188AE
+:104E50003648334E814209D1E288824206D1306819
+:104E60001321A030808BFFF7ABF970BD814202D1D6
+:104E7000E08800280AD012202870687808210843AA
+:104E8000687007CC083507C5002106E000227823AA
+:104E9000114602200CF0A9FE02213068C030C17119
+:104EA00070BD1F480068C030807A704738B51C4C10
+:104EB00005460278206813000146C03110F07AF9E7
+:104EC00009A8060909A21945728AA800FEF7AEFFD3
+:104ED00038BD8879062806D0092804D0124811491F
+:104EE000B53010F076F820680422017E1143017677
+:104EF00088E0A9880029EBD0A030808B0B4988423C
+:104F0000E6D0A868002804D107480649C53010F04B
+:104F100060F8A8680A38A8600090AB88206807E0AD
+:104F2000540000201C420000E9050000FFFF0000C3
+:104F3000A030808B0622042102F028F80028C7D078
+:104F4000F849F94810F045F838BD287902288879E1
+:104F50000DD00428F8D00528F6D0284601F075F8C1
+:104F600020681321A030808BFFF72AF938BD07286D
+:104F700006D00A2804D0EC48EA490A3010F029F893
+:104F8000284601F062F820680122C030417A1143BE
+:104F900041728079072803D00920FEF787FF38BDCA
+:104FA0000620FAE7887906280AD0042808D00928BC
+:104FB00006D0052804D0DC48DA49313010F009F871
+:104FC0000ECDDA480361C2608160A2210170FEF754
+:104FD000EBF938BD8879062818D0072816D009289B
+:104FE0000DD00A280BD0D048CE4944300FF0F1FF45
+:104FF0002068C0308079062808D0072806D00B200A
+:10500000FEF754FF284601F020F838BD0820F7E7E6
+:10501000C548C449583095E7FFB593B001246846A8
+:1050200003218470C9021D4601800AF0A6F90022FE
+:105030006946012003F0ABF906460AF0A2F9002EFA
+:105040005CD16846152184704902018000271C212B
+:1050500001A808970FF07FFE01200146103108A833
+:1050600001700020014608A841708178F9200140B4
+:10507000891C214308A881706846017902263143C2
+:10508000017114998185C7851F21018608A80A909E
+:1050900013980D90684609900AF06FF90EAA09A9B5
+:1050A00001A802F036FF07460AF06BF9002F02D084
+:1050B000384617B0F0BD9E4F68463968008F48806B
+:1050C000684684709B49018008A88078F9210840CF
+:1050D000801C4108490008A88170684686850686BC
+:1050E00015A80D900AF049F90EAA09A901A802F025
+:1050F00010FF06460AF045F9002E01D03046D8E7E9
+:1051000068463968008F88808A4968468470C91C5F
+:105110000180298810A8018069884180A988818040
+:10512000E988C180082168468185018610A80D9014
+:105130000AF023F90EAA09A901A802F0EAFE044622
+:105140000AF01FF9002C01D02046B2E76846396802
+:10515000008FC8800020ACE7F0B5774D95B00C46C5
+:10516000A9423FD30126B604744FA11BB94239D3DB
+:1051700073498C4236D2202806D0212827D02228F5
+:1051800042D0072015B0F0BD3C216846017021884F
+:1051900041806188818009A908F00AFC0028F1D1CA
+:1051A00008A98979002903D002290ED00320E9E754
+:1051B0006168A942E6D38A1BBA42E3D3604A9142AE
+:1051C000E0D26A46128D0A80DCE75E48DAE72068A2
+:1051D000574C002813D00721490701224118920398
+:1051E000914201D31020CDE706210EF0E1FB2168AA
+:1051F000A82250500120A03188750020C2E7206805
+:105200000021A0308175F8E7204600F02AFFB9E7B9
+:10521000494A10B5914208D301229204474B8A1A99
+:105220009A4202D3464A914201D3102010BD202851
+:1052300005D0212803D0222803D0072010BD062046
+:1052400010BD084600F051FF10BD70B50446374848
+:10525000CC21AC300FF07FFD3448354EAC3000210E
+:105260003060C943A0308183002585770120FEF797
+:105270001DFE3068C7210D54E121C57389000182EC
+:10528000B6210D54014609310830FDF779FF316828
+:10529000084629311930FDF7A9FF002C24D03068C9
+:1052A00080308463FEF7C2FD1E20E081607A8F218A
+:1052B0000840303060723068014614312161983105
+:1052C0006162933921601031616025721339A162E6
+:1052D000091FE1628531E163303921631031616377
+:1052E00010310930A163A06470BD11480068C0305E
+:1052F0008079042803D0052801D0002070470120C0
+:10530000704770B506460C480C46814208D3012010
+:1053100080040A49201A884202D30948844213D3E0
+:10532000102070BD1C420000B30600004C1200208B
+:1053300054000020012A0000006001000000FC1F52
+:105340000040002002300000FFF7CFFF002801D00E
+:105350001120E6E7FD48FE4D002E02D0012E46D179
+:105360002FE02278002A0AD00121012A09D0022A3E
+:1053700014D0032AD5D1A2799209D2D112E000210A
+:1053800003E0A2799209032ACBD128680622017290
+:1053900060308171611C0FF07FFC05E0A2799209F9
+:1053A000012ABED128680172002107200CF0C2FC3E
+:1053B00028680622611C09300FF06EFCFEF736FDEE
+:1053C00011E02178002912D0012910D0022910D033
+:1053D0000329A6D10120FEF760FF002803D0DD4994
+:1053E000DD480FF0F6FD2868C673002099E7072016
+:1053F00097E70120FEF720FFEFE707214907012289
+:1054000010B541189203914201D3102010BDD0492C
+:10541000024609680B7A0931184600F005FE0020A3
+:1054200010BDFFB599B005460020694608710872A5
+:1054300008A9087408751E4614460121C748890446
+:10544000C74AC84B002D06D085420DD36F1A97422C
+:105450000AD39D4208D2002C09D0844204D3601A9A
+:10546000904201D39C4202D310201DB0F0BD2846CB
+:10547000204318D01F270CAB01AA009728461A9981
+:10548000FEF701FE0028F0D10DAB02AA31462046FE
+:105490000097FEF7F8FD0028E7D16846007AC107BB
+:1054A00003D00A20E1E70720DFE7800705D568463B
+:1054B0000079800701D50B20D7E7FFF716FF0028FA
+:1054C00001D01120D1E703AF002D0FD01A2069467B
+:1054D00008731A9888732946F81C1A9A0FF0DCFB97
+:1054E0000EA903A808F064FA0028BED1002C0ED043
+:1054F000202168460173867332462146F81C0FF05E
+:10550000CBFB0EA903A808F053FA0028ADD19049AF
+:1055100008A80968007C08700020A6E7F0B50446DA
+:105520008E48002795B084426FD301208004211A51
+:105530008B488142F8D38B48844266D22378012B72
+:105540000BD1864960688842EED39904421A844997
+:105550008A42E9D383498842EFD27D490A681546D9
+:10556000C035A879022814D0032812D0052810D0FD
+:1055700009280ED00A280CD00B280AD0012803D005
+:10558000002B06D0012B04D0687AC506AD0F06D1DA
+:1055900001E00820F6E5850701D4400701D5112078
+:1055A000F0E5012B15D0208A6F4E0546203DB5420F
+:1055B0007ED2022B01D0032B01D1A02878D3012B5E
+:1055C00007D01078C00704D0608A002870D0B428B3
+:1055D0006ED8002B06D0012B08D0022B04D0032B51
+:1055E00066D110E0002512E0022510E06068012578
+:1055F000007800280BD0012808D0022806D0032804
+:1056000004D05248BEE5032501E066E00127D07BC7
+:1056100001281CD1108A002819D0907B810901290A
+:1056200011D0800904D04C484A49E4300FF0D1FC35
+:105630000120FEF732FE00280BD047484549E830EC
+:105640000FF0C7FC05E00120FEF7F6FDF3E7FEF7DB
+:10565000EDFB207A002806D0012806D0022806D0CB
+:10566000032825D105E0002604E0012602E00226F9
+:1056700000E00326002D01D0022D42D1002E40D0A3
+:10568000E068002814D00179002928D008290FD813
+:10569000027B9446082A0BD800290ED02F4A0168B5
+:1056A00091421AD3012292048B1A2D4A934200E0B0
+:1056B00084E012D32B4A91420FD26146002912D0C6
+:1056C00080682649884208D301218904421A244966
+:1056D0008A4202D32349884205D3102052E5027B37
+:1056E000002A6BD0D4E71A4800680078800702D0FF
+:1056F0001648401E46E5022D03D1022E5ED0032E31
+:105700005CD0182168460170218A4180218A8180FD
+:1057100085710F480068007A002801D0012870D1F7
+:105720006946C8716846077221780930012932D06C
+:1057300006210FF00EFB07216846C173067409A904
+:1057400008F036F90028C9D10A210FE00232000022
+:10575000540000201C4200005F08000000600100AF
+:105760000000FC1F00400020E13F0000684601707F
+:1057700009A908F01DF90028B0D13A20694608703F
+:1057800009A9684608F014F90028A7D1002D08D00F
+:10579000022D06D04CE061680622491C0FF07CFA0D
+:1057A000C9E7002E44D00026374623E00168B00048
+:1057B00009580978002903D0012904D00720E1E421
+:1057C00069468F7002E001216A469170E168062205
+:1057D0000968095800A8491C03300FF05DFA0B2036
+:1057E0006946087009A9684608F0E2F80028E6D181
+:1057F000761CF6B2E0680179B142D7D800266F4630
+:1058000012E050E08068B10041581022B81C0FF03F
+:1058100043FA3B206946087009A9684608F0C8F8B1
+:105820000028CCD1761CF6B2E068017BB142E9D801
+:105830001B20694608700120887009A9684608F095
+:10584000B7F80028BBD108A840791B282BD1002D20
+:105850000AD0012D04D0022D08D0032D18D105E067
+:105860000320FEF723FB26E003200FE0FE4800683C
+:10587000C030807903000FF09DFC0916061616183B
+:1058800016081A1C1600022000E00920FEF70EFB85
+:10589000608A00280FD000228300114610460CF0C9
+:1058A000A4F9002807D003206CE40520EEE70A20C5
+:1058B000ECE70B20EAE7002064E470B586B00C004A
+:1058C00006460BD0E94884424AD301208004E849C7
+:1058D000201A884244D3E748844241D2E24D2868E6
+:1058E000C030C179022902D0407A400702D5112088
+:1058F00006B016E5002C04D02046FEF798FB0028E1
+:10590000F6D13046FEF75EFB012803D0022823D0F3
+:10591000D948EDE721001BD1082069468882286814
+:1059200001ABC08805AA002103F019F90028DFD1D6
+:105930006846808A082801D00320D9E76846818814
+:105940008181C188C181018901824189418203A984
+:10595000304601F074FCCBE7002C01D00620C7E7ED
+:105960001020C5E770B50C460546FEF72BFB012855
+:1059700003D0022801D0C048D3E421462846FEF7D0
+:105980001FFCCEE400B50146143095B0192801D2B1
+:10599000880707D008461E3004D00A3002D00720FE
+:1059A00015B000BDFFF7A1FC002801D01120F7E7DA
+:1059B000AD4831220068417068460270817009A9C3
+:1059C00007F0F6FFECE701B582B0022069460880D7
+:1059D000A54802AB00686A468088002102F02AFFD1
+:1059E00069460988022900D003200EBD38B502217E
+:1059F0006A4611800721490701224118920391420A
+:105A000001D3102038BD9849034609686A468C883E
+:105A10000021204603F0A3F8694609880229F1D045
+:105A2000032038BD3EB504460820694608808F48EB
+:105A3000844208D3012080048D49201A884202D371
+:105A40008C48844201D310203EBD2046FEF7EFFA79
+:105A50000028F9D12088694688806088C880A0889D
+:105A60000881E0884881804801AB00686A46C088A8
+:105A7000002102F0DFFE694609880829E4D00320EE
+:105A80003EBD1FB504460820694688817748844298
+:105A900008D3012080047649201A884202D3754831
+:105AA000844202D3102004B010BD6F486B460068DA
+:105AB00003AAC088002103F052F80028F3D16946F8
+:105AC0008989082901D00320EDE7694609882180EA
+:105AD00069464988618069468988A1806946C98884
+:105AE000E180E0E7FEB50546604817460E46814274
+:105AF00008D3012189045E4A731A934202D35D4B95
+:105B00009E4201D31020FEBD1F2F01D90C20FEBDE7
+:105B1000554C85422AD3681A904227D39D4225D2FC
+:105B2000206801A9408802F037FE0028EFD12878CC
+:105B300069464871206801A9408802F010FE0028DB
+:105B4000E5D169460090087802210843694608704B
+:105B50004979090703D0082108436946087020687D
+:105B60006946408802F0A5FD0028D0D169460F8122
+:105B700020683346408802AA002102F05BFE694695
+:105B80000989B942C3D00320FEBD38B50C460721B0
+:105B9000012249079203002802D04318934202D2FF
+:105BA0006118914201D3102038BD21886A461180C6
+:105BB000002801D000290BD02B49034609684D88E5
+:105BC0000021284602F0CBFF69460988218038BDB4
+:105BD0000C2038BD30B50C46244987B08C4208D320
+:105BE00001218904224A611A914202D321498C423F
+:105BF00002D3102007B030BD1B4D2968C0310A7A8E
+:105C0000520708D48979491F0B000FF0D3FA050415
+:105C10000604040604000820ECE7FEF7D3F9012887
+:105C200003D0022839D01448E4E720881E2801D286
+:105C30000720DFE72868C030807906282BD00A20AB
+:105C4000FEF734F90520694608700879A1788008C4
+:105C5000C9078000C90F084369460871FB21084045
+:105C6000A1788907C90F09E05400002000600100F5
+:105C70000000FC1F004000200230000089000843A3
+:105C8000694608712088C880684609F09EFE002891
+:105C9000B0D00320AEE70720D2E70620AAE7F0B590
+:105CA00087B014460D46FEF78DF9012804D002286E
+:105CB00002D0FE4807B0F0BDFD4B18680146C03168
+:105CC0000A7AD20707D08A79042A04D0052A02D09A
+:105CD000002D02D052E00820ECE7F64A944208D3A7
+:105CE00001229204F44BA21A9A4202D3F34A94423C
+:105CF00001D31020DEE7A278D206520F042A0CD876
+:105D0000E378072B09D3102B07D822799A4204D3C2
+:105D1000102A02D822881E2A01D00720CAE702468C
+:105D20008032966BF727F372966B23793373966BF9
+:105D3000737A3B40A778BF06FF0FFF003B437372A7
+:105D4000966B2388F381966BA778B37AFF079B083D
+:105D50009B00FF0F3B43B372FB273B40A778966B3A
+:105D6000BF07FF0FBF003B43B372926BA478537A17
+:105D7000E406DB08DB00640F234353720B226B46FF
+:105D80001A70852D22D008DC002D17D0812D17D058
+:105D9000822D17D0832D08D116E0862D18D0882D9E
+:105DA00018D0892D18D08A2D18D00B221A71B6223E
+:105DB000125CBF4C002A13D0A83012E00022F5E795
+:105DC0000122F3E70222F1E70322EFE70522EDE7E4
+:105DD0000622EBE70822E9E70922E7E70A22E5E7DE
+:105DE00000200290887907280BD0082809D00920C4
+:105DF000FEF75CF8684609F0E8FD002803D00320B0
+:105E000058E70620F4E720680422C030017A4908E8
+:105E100049001143017200204CE770B5A44E0D46B5
+:105E2000316886B0C031097A1446090701D40820C8
+:105E30005EE5FEF7C7F8012803D0022801D09B4891
+:105E400056E5002D12D09B48844208D301208004DF
+:105E50009949201A884202D39848844201D31020DD
+:105E600046E5012D0BD0022D02D106E0002C01D019
+:105E700007203DE50020029005E0022000E001201F
+:105E8000694608710294032069460870684609F063
+:105E90009CFD002801D003202AE53068F722C0309D
+:105EA000017A11400172002022E570B594B01446C9
+:105EB0000E46FEF787F8012804D0022802D07B485E
+:105EC00014B059E57A4D2868C030007A800701D4B3
+:105ED0000820F5E7002C01D00720F1E7FFF705FACD
+:105EE000002801D01120EBE7002E1DD02D2168469F
+:105EF00001702C68BC20015B684641801022B11CF7
+:105F000001A80EF0C9FE207EFB210840B17CC90724
+:105F1000490F08432076B07CFF214008A075608AB5
+:105F200082310843608207E02E21684601702868AC
+:105F3000A030818B6846418009A9684607F038FD8A
+:105F40002968FD23C0310A7A1A400A72B8E710B5F1
+:105F50000C46FEF737F8012803D0022801D0534839
+:105F600010BD5448844208D3012080045249201AAD
+:105F7000884202D35148844201D3102010BD2046EC
+:105F8000FEF72FF8002010BD10B594B00446FEF7C0
+:105F900019F8012804D0022802D0444814B010BDDA
+:105FA00043480068C0308179042910D005290ED0FB
+:105FB0003820694608704C8001200871487109A991
+:105FC000684607F0F5FC0028E8D00B20E6E7002043
+:105FD000E4E710B594B00446FDF7F4FF012803D0C0
+:105FE000022801D03148D9E731480068C0308179B2
+:105FF00004290DD005290BD03820694608704C8043
+:1060000000200871487109A9684607F0D1FCC5E76E
+:106010000020C3E726480068C0308079062801D3F5
+:10602000012070470020704708B51346002806D0AD
+:1060300023A00068009048796A468009105C1870B7
+:106040000622581C0EF028FE08BD10B50446FDF7C8
+:106050007AF9A22101700ECC08300EC0FDF78FF93D
+:1060600010BD70B5124C054601682068002913D098
+:10607000104A914208D3012292040F4B8A1A9A4285
+:1060800002D30E4A914201D3102075E410227730DA
+:106090000EF002FE206801218030806B01722068C2
+:1060A000A9880182C17B012919D10BE002300000CF
+:1060B00054000020006001000000FC1F0040002090
+:1060C0000302FF01807B800901280AD00120FEF72E
+:1060D000E4F8002803D01A491A480EF07AFF00208D
+:1060E0004AE40120FEF7A8F8F3E770B5054600681A
+:1060F000154C00281ED007214907401801218903AB
+:10610000884201D3102037E42068B8210958097A61
+:10611000012909D00146773129300AF08EFF206825
+:1061200001218030806B017221681022286877314C
+:106130000EF0B2FD2068008AA88000201CE4000058
+:106140001C420000FD02000054000020FFB581B099
+:1061500001980E46C078174610360E37022809D02F
+:10616000032840D005287DD0F2A1F7480EF031FF7A
+:1061700005B0F0BDCC890A2060430E301880312371
+:106180000A98002A0380F3D0486800889080002095
+:10619000D0801081097B9481891FCDB21AE03088AC
+:1061A0007168388048780A7800021043F880C8780F
+:1061B0008A78000210433881BA1C091D28460BF06A
+:1061C0008AF8002D01D0002802D000203871788094
+:1061D00008360A372046641EA4B20028DFD1019990
+:1061E0000020C870C4E7CC890A2060430E301880B4
+:1061F00032230A98002A0380BAD048680025008814
+:106200009080D5801581087B401FC0B2009094819A
+:1062100042E0716832880878FA803A79C3075208F8
+:106220005200DB0F1A43FD231A408307DB0F5B008C
+:106230001A43FB231A404307DB0F9B001A43F72343
+:106240001A400307DB0FDB001A43EF231A40C30693
+:10625000DB0F1B011A43DF231A408306DB0F5B01B0
+:106260001A4300E020E0BF231A404306DB0F9B01E6
+:106270001A433A71C00978718A784B781002184332
+:1062800038813A46C91C00980BF025F8002801D047
+:10629000BD703D8008360A372046641EA4B200282F
+:1062A000B7D10198C57063E7087BCC89801E85B2A1
+:1062B0002846083060431030188034230A98002A9A
+:1062C00003808FD048681746008890800020D080D7
+:1062D000108194811037E000D581C0190CE030881E
+:1062E0003880009878602A46716800980EF0D4FCD7
+:1062F000009808360837401900902046641EA4B262
+:106300000028ECD16BE7FFB50546C07881B00C469C
+:106310000A9E03000EF04EFF0BA3071733414F6D8B
+:106320008F9D9D9DA300207B1746082806D003283B
+:1063300004D085487FA154300EF04BFE04990E2006
+:10634000088030200CE0207B1746042804D07E48CB
+:1063500078A171300EF03DFE04990E2008803120A6
+:106360003080002F44D060680088B880607AFF30A9
+:106370000130F880E08938810020B88137E0207B47
+:106380001746042804D070486AA18D300EF021FE13
+:1063900004990E2008803220E2E7207B174602286D
+:1063A00004D0694863A1A9300EF013FE04990E20B1
+:1063B00008803320D4E7207B1746042804D06248A5
+:1063C0005CA1C4300EF005FE049810210180342039
+:1063D0003080002F0CD060680088B880607AFF3071
+:1063E0000130F880E08938810020B881F881E870B8
+:1063F000BEE6207B1746052806D0062804D0524862
+:106400004CA1E1300EF0E5FD049812210180352009
+:106410003080002FECD060680088B880607AFF3050
+:106420000130F880E0893881E089B8810020388225
+:10643000A988F981DBE7207B1746072804D042486A
+:106440003CA1F8300EF0C5FD04990E2008803620DE
+:1064500086E700962846049B00F02DFD88E635A1CE
+:106460003A480EF0B6FD83E670B5054600780C4656
+:10647000082603000EF09EFE124C3434241C380A09
+:106480000A0A0A0A0A0A0A0A0A0A0A4C687800284A
+:1064900004D02E4827A12C300EF09BFD002C03D1F8
+:1064A0001F2024A1400108E060783043607020E0A4
+:1064B000002CF9D17D201FA1C0000EF08AFDF3E76A
+:1064C000002904D03F201BA100010EF082FDFCF743
+:1064D0003AFF0446407830436070FCF750FF08E014
+:1064E0001A4814A1473002E0184812A14C300EF0AF
+:1064F00070FD002C0AD06078000707D5932020702B
+:106500002046582229460830FAF75EFE002070BD6A
+:106510000E4808A15030EAE710B500200C4C0D4998
+:106520000346C2008C525218401C0006D370000E65
+:10653000F7D010BD7372635C67617474635F636FDF
+:1065400072652E63000000005A020000B3030000D1
+:10655000FFFF000058000020FE49088001208870DD
+:1065600000207047FB4900208870704710B500215B
+:10657000F848C94301800021C17007F053FAD8E7F9
+:10658000F7B584B0054600276846078187806868AC
+:106590000C46008800F0ECFB0646287A032805D05C
+:1065A000002E03D1EC49ED480EF013FD297A204668
+:1065B000C91E123000900B000EF0FCFD0FF2F1F03E
+:1065C0003D09AA465C6D34B3CDF38B8BF000F078B7
+:1065D000012803D0E049AD200EF0FBFCA8896946F4
+:1065E000C0000E30888030200881002C22D06868DE
+:1065F0000188A180E7802781A989A18100200DE081
+:10660000C100B27909190A74B288CA81820052198C
+:10661000D3894B82128A401C8A8280B2A18981422E
+:10662000EED8D7E002A8009001AB224629463046BA
+:1066300000F0CCFBF1E002A8009001AB2246294615
+:10664000304600F005FCE8E0F07806281AD0FF207C
+:10665000C149223014E068680188A180E780278161
+:10666000A989A181B188E181E9892182EA89296921
+:1066700000982BE0F078062804D0FF20B6493C3083
+:106680000EF0A7FCE8896946123088803520088121
+:10669000002CE0D1C1E0F078072804D0FF20AE49FB
+:1066A00056300EF096FCA88969460E308880362058
+:1066B0000881002CBED068680188A180E78027810E
+:1066C000A989A1812046AA890E3029690EF0E4FA31
+:1066D00080E0E8896946123080B2382288800A81D9
+:1066E000002C79D068680188A180E7802781A9897A
+:1066F000A181287A102809D00221A173E989218279
+:10670000EA89296900980EF0C7FA86E00121F4E7CA
+:1067100002A8009001AB224629463046FFF716FD3D
+:106720007BE0F078082803D08B498D480EF051FCAF
+:1067300014206946888037200881002C6DD0686855
+:106740000188A180E7802781A989A18167822782AA
+:106750000120A0733EE0F078092804D080487E49EB
+:1067600018300EF036FC288A6946143088803720AD
+:106770000881002C51D068680188A180E78004213D
+:106780002781A173A989A181E9892182298A61824E
+:1067900020462A8A1430696998E702E038E01CE054
+:1067A00024E0F0780A2804D06D486B4933300EF0AD
+:1067B00010FC14206946888037200881002C2CD0DA
+:1067C00068680188A180E78027810521A173A781DE
+:1067D00027826782F77020E017E002A8009001ABE3
+:1067E000224629463046FFF78EFD16E00D20694609
+:1067F000392288800A81002C07D00120E08055488A
+:106800000188A1802781277307E00699088010E09E
+:106810008F205149C0000EF0DCFB68460699808845
+:106820000880002C05D06846008920806846808852
+:106830006080002007B0F0BDF7B594B015460F4654
+:10684000149800F0A0FA04000AD0032000F088FB9E
+:10685000022802D2E078002804D0112017B0F0BD41
+:106860004048FBE71720694601260883002D0FD01A
+:106870000321684601711021018210A8024605908B
+:1068800004A928460AF04DFD00280DD00720E5E7B1
+:1068900008216846017100210781C9434181052112
+:1068A0008673C90281810CE0A878A0712888A08035
+:1068B000684605218673C902818100210781C94389
+:1068C000418109AA023206A901A807F0E4F80028CC
+:1068D00002D000F06BFAC1E707A800906846038B6E
+:1068E00004220321149800F051FB0028B6D1E67071
+:1068F000B4E770B592B00D0006460ED000F043FA32
+:1069000004000CD0032000F02BFB022802D2E07818
+:10691000002806D0112012B070BD1020FBE71148EE
+:10692000F9E7172168468180042101722988818155
+:106930006988C181012181740B4901820AAA02324E
+:1069400001A902A807F0A7F800280FD000F02EFA3E
+:10695000E1E7000058000020346500003C0400001E
+:1069600063020000023000000228000008A8009026
+:106970006846838804220321304600F007FB002884
+:10698000C9D10221E170C6E770B592B00D0006468C
+:106990000DD000F0F8F904000BD0032000F0E0FA6D
+:1069A000022802D2E078002805D01120B3E7102099
+:1069B000B1E7FA48AFE717216846818004210172E8
+:1069C000298881816988C18101218174F44901820A
+:1069D0000AAA023201A902A807F05DF8002802D035
+:1069E00000F0E4F997E708A800906846838804223D
+:1069F0000321304600F0CAFA00288CD10321E1704F
+:106A000089E770B592B00D0006460DD000F0BBF9D5
+:106A100004000BD0032000F0A3FA022802D2E07891
+:106A2000002805D0112076E7102074E7DB4872E7D4
+:106A3000022168460172298881816988C1811721F4
+:106A400081800AAA023201A902A807F024F80028CE
+:106A500002D000F0ABF95EE708A800906846838892
+:106A600004220321304600F091FA0028DBD10421F2
+:106A7000E17050E7F0B591B015000E4607460ED014
+:106A800000F081F904000CD0032000F069FA02281C
+:106A900002D2E078002806D0112011B0F0BD1020FD
+:106AA000FBE7BE48F9E7172168468180042101729F
+:106AB000298881816988C181B17881743188018296
+:106AC0000AAA023201A902A806F0E5FF002802D0B6
+:106AD00000F06CF9E1E708A800906846838804227A
+:106AE0000321384600F052FA0028D6D10521E17082
+:106AF000D3E7F7B592B015460E46129800F043F969
+:106B000004000AD0032000F02BFA022802D2E07819
+:106B1000002804D0112015B0F0BDA048FBE70627DF
+:106B2000002D12D0684607728681C581A580172086
+:106B3000694688800AAA023201A902A806F0ABFFC2
+:106B4000002807D000F032F9E5E705216846017218
+:106B50008681EBE708A80090684683880422032119
+:106B6000129800F013FA0028D5D1E770D3E7F7B5F3
+:106B700092B016460D000ED0129800F004F90400F1
+:106B80000BD0032000F0ECF9022802D2E0780028B4
+:106B900005D01120BFE71020BDE78048BBE70727DD
+:106BA0006846077286811721049581800AAA0232FD
+:106BB00001A902A806F06FFF002802D000F0F6F845
+:106BC000A9E708A800906846838804220321129848
+:106BD00000F0DCF900289ED1E7709CE7F3B51720A0
+:106BE00091B00C46002915D021780B000EF0E2FA86
+:106BF000062B05051A041C2B1520C01EE28880B246
+:106C0000002A02D0A368002B04D0824204D90C20B1
+:106C100013B0F0BD1020FBE7042905D0A0880028A0
+:106C200011D101E00620F3E7119800F0ACF805005F
+:106C30000BD02078092701281AD0022807D0042871
+:106C400024D0052835D00720E2E75448E0E768461D
+:106C5000077161880181E1884181A068082603905D
+:106C6000304600F07DF9072829D34C48801CCFE737
+:106C70000C216846017161880181E1884181A06829
+:106C800003900EE0E878002811D118E00D21684645
+:106C9000017161880181A1884181E1888181A068B9
+:106CA00004900326304600F05BF90228EAD3112055
+:106CB000AEE70E2168460171217B0172F1E71721D1
+:106CC0006846018309AA023206A901A806F0E3FE7C
+:106CD000002802D000F06AF89AE707A800906846FA
+:106CE000038B04223146119800F050F900288FD10F
+:106CF0002178012907D002298AD0042905D0052945
+:106D000005D0032084E7082102E0EF7080E70A2124
+:106D1000E9707DE730B591B00C46054600F033F8D8
+:106D2000002808D0032000F01BF9022805D31B48D7
+:106D3000801C11B030BD1948FBE70F216846017176
+:106D400004811721018309AA023206A901A806F0CD
+:106D5000A2FE002802D000F029F8EAE707A8009078
+:106D60006846038B04220321284600F00FF9E0E770
+:106D70000C49884205D00C490988814201D10A4852
+:106D800070470020704710B5FFF7F2FF002802D0CF
+:106D90008178C90700D1002010BD0000023000003A
+:106DA00003280000FFFF000058000020002806D044
+:106DB000012805D0052805D0062805D003207047F6
+:106DC00011207047082070475C487047FFB583B0BA
+:106DD00003980C9EC0781D4614460F46012803D028
+:106DE0005749D2200EF0F5F8F889C0000E302880FF
+:106DF00030203080387B001FC0B20190002C26D09C
+:106E000078680088A0800020E0802081F889A08137
+:106E1000002616E0F0000519C01900902A464169C5
+:106E20000E3201980AF057FA002802D00020287488
+:106E3000E8810098761C008A68820098B6B2408A81
+:106E4000A882A089B042E5D803990020C870F1E477
+:106E5000F8B50646C0781F4614460D46042804D0EF
+:106E6000FF20374903300EF0B4F8A88906214843C3
+:106E70000E30388033210698002C01801AD06868C3
+:106E80000088A0800020E0802081A989A18103469C
+:106E90000CE01946062251434A190919D789CF81B6
+:106EA000977C8F74128A5B1C0A829BB2A1899942DB
+:106EB000EFD8F070F8BD70B514460546142204985A
+:106EC0001A8037220280002C18D0486800260088DB
+:106ED000A080487AFF300130E080C8892081C889CD
+:106EE000A0816682E878082809D0092811D00A28EC
+:106EF00019D0134913480EF06CF8EE7070BD087B82
+:106F00000C2804D00F480E490C380EF062F801200E
+:106F100012E0087B0D2804D00A48094908380EF011
+:106F200058F8042008E0087B0E2804D005480449DE
+:106F3000001F0EF04EF80520A073DEE703300000BE
+:106F4000346500008203000001460020FA4A02E096
+:106F5000401C082803D24300D35A8B42F8D1704713
+:106F600030B50446F44A0020163A117953790AE004
+:106F70005518AD79A54201D1401CC0B2491CC9B217
+:106F8000102900D100218B42F2D130BDFFB5EA4873
+:106F900081B0163841790A9C491CCDB21E46102D8D
+:106FA00000D10025E44816380079A84202D1042017
+:106FB00005B0F0BD0820FFF7D3FF0746072804D926
+:106FC000FF20DEA1A5300EF004F80298082801D1B8
+:106FD000072F17D001982080301D6080002060713D
+:106FE0002071E68003982081204606F005FD0028E8
+:106FF0000AD0D148029916384379821D99544571B7
+:107000000020D5E7D248D3E7FF20CCA1B7300DF060
+:10701000E0FF0320CCE7F0B58DB0044600256846BC
+:10702000057116468C460620FFF79AFF00281CD1F2
+:1070300021780127C807002801D0132917D96846ED
+:1070400087766178C17602218183C58304A8009088
+:1070500070680C23008805220621FFF797FF00289F
+:1070600003D0B6A185200DF0B4FF0DB0F0BDB2483D
+:1070700016380278002AF8D0427863789A42F4D120
+:10708000012918D0132919D16146062916D1057096
+:10709000002101200AF04EFE6846077170680188E1
+:1070A0006846C1800021C9430181607922790102CB
+:1070B000114368461AE06146062908D068460079FF
+:1070C0000028D2D0314601A8FDF7AFFECDE705700C
+:1070D000002101200AF02EFE6846077160792279AE
+:1070E00001021143684601810021C9434181E9E75A
+:1070F000914810B50021163801704A1E4280417037
+:107100000171417101200AF015FE10BD10B5FFF7A5
+:10711000EFFF0020884902464300401CCA5208285D
+:10712000FAD310BD84491639488000207047DFE744
+:1071300070470EB501216846017086498180C18083
+:107140000021FDF772FE0EBDF7B505460078002759
+:1071500000090C463E46012804D0FF2077A1683084
+:107160000DF037FF287A02280CD0FF2073A17E3063
+:107170000DF02FFF0298002C068001D0278066803A
+:107180000020FEBDEA89702710460A3086B2002C26
+:107190000BD068680088A080A8892081E280204602
+:1071A0000A3029690DF078FDE4E702980680E7E7E8
+:1071B000F0B543680246D9799C79090221435C7A8B
+:1071C0001E7A25025C88981D3543241F87B0A14292
+:1071D0001DD11B79022B1AD1042D1AD0052D2AD0CE
+:1071E000062D1AD0402D12D3061D0F4614462846F0
+:1071F000FFF7AAFE08280AD0112020700220207272
+:10720000A581E7812661607808210843607007B096
+:10721000F0BD001D00F0E1F8F9E7041D0D46FEF792
+:10722000F9FE0028F3D0062168460170019405722A
+:1072300008F0CBFBEBE7001DFFF7EDFEE7E710B52D
+:107240003D4C8AB0163C2278012A26D012236A4689
+:10725000937363789B1CD373082313820B88538228
+:107260004B8893828B88D382C988118301A90091AE
+:107270000C2305220721FFF789FE00280BD10022ED
+:10728000F023114601200AF0B0FC01202070607844
+:10729000801C607000200AB010BD1120FBE7F0B523
+:1072A000254C0027163C87B00646A51D1FE06079D7
+:1072B0002179884204D1112020A140010DF089FEDE
+:1072C0002079405D042804D0082808D17F1CFFB233
+:1072D00005E0072069460870684608F076FB2079CB
+:1072E000401CC0B22071102801D10020207130460E
+:1072F000761EF6B20028DAD1384688E710B5044683
+:10730000402801D2072010BDFFF71EFE082802D03A
+:107310003120000210BD0021074802E0491C082965
+:1073200003D24A00825A002AF8D1082914D0490011
+:107330004452002010BD0000DA1300207372635C19
+:107340006C326361705F636F72652E6300000000D2
+:1073500004300000FFFF00000420EBE700B54028E8
+:1073600001D2072000BDFFF7EFFD082805D000215E
+:107370003B4A40001152084600BD052000BDF0B553
+:107380008BB016460C00074607D0002E05D061884A
+:10739000402904D207200BB0F0BD1020FBE7208865
+:1073A000002801D0172801D90C20F4E70846FFF780
+:1073B000CBFD08280FD0258803A82A463146023085
+:1073C0000DF06AFC01A8009062882B46082138461F
+:1073D000FFF7DCFDDFE70520DDE7F0B50E460746E9
+:1073E00001468BB014460125304606F0D1FC082832
+:1073F0001DD10020694608850120FFF7B1FD002856
+:1074000002D117206946088503AB02330AAA394620
+:107410003046009407F0CFF800280AD0022819D08F
+:10742000032804D0FF200F4902300DF0D2FD28467A
+:10743000B1E76846038D002BF9D001A80090606881
+:10744000042200880121FFF7A1FD0028EFD00549A3
+:10745000EC20EAE760780025102108436070E6E739
+:10746000DA1300203C730000002803D08178012942
+:1074700039D101E0102070470188FA4A881A9142F8
+:1074800033D01BDCF84A881A91422ED00BDC00293D
+:107490002BD00320C002081A27D0012825D00121B3
+:1074A0000903401A07E001281FD002281DD0FF2839
+:1074B0001BD0FF380138002815D116E0FF22013219
+:1074C000811A904211D008DC01280ED002280CD07D
+:1074D000FE280AD0FF2806D107E0012905D002299D
+:1074E00003D0032901D0002070470F20704700B55A
+:1074F0000A2821D008DC03000DF05CFE0A1C2024C1
+:10750000241A24282224261A102819D008DC0B2833
+:1075100016D00C2814D00D281AD00F2808D111E04D
+:1075200011280FD0822807D084280DD085280DD0AF
+:10753000032000BD002000BD052000BDCB4800BDDC
+:10754000072000BD0F2000BD042000BD062000BDA7
+:107550000C2000BD70B500290BD0CB1FFA3B812455
+:107560001E46CDB2112B1BD2012805D0022806D011
+:1075700009E0002010701DE0FF20043001E0FF2032
+:107580000330814218D033000DF014FE111613138E
+:1075900016131616131616161313131316131600B6
+:1075A0000846FF3881381F2803D9FF39FE390229E0
+:1075B00002D81570002070BD1470072070BD00B592
+:1075C00003000DF0F7FD060406040C080A0C002069
+:1075D00000BD112000BD072000BD082000BD032014
+:1075E00000BD00780207120F04D0012A05D0022A3C
+:1075F0000AD10EE0000907D108E00009012805D0F2
+:10760000022803D0032801D007207047087000200B
+:10761000704706207047002807D0012807D00228AD
+:1076200007D0032807D007207047002004E011206E
+:1076300002E0212000E0312008700020704738B5BA
+:107640000C4605004FD06946FFF7CBFF002822D13A
+:107650002088032189028843694609788907090D32
+:10766000084320806946681CFFF7BBFF002812D141
+:107670002188032000038143684600788007800C3E
+:1076800001432180A8784007820F2020012A03D0DF
+:10769000022A03D0072038BD814300E00143218046
+:1076A00088B20105890F08D0012189038843A97890
+:1076B0000907C90F89030843208080B28104890F1C
+:1076C0000AD0A9784004C906C90F400CC903084371
+:1076D00020808004800F02D12088400403D52088B8
+:1076E000402108432080002038BD70B504460020AA
+:1076F000088015466068FFF7A2FF002815D1218990
+:10770000A089814210D86168594E8978C90707D08D
+:10771000711E884208D831460DF038FB298009E0F7
+:10772000FF21FF31884201D90C2070BDFF30FF30AE
+:107730000330288060688078C007A08903D0314674
+:107740000DF024FB03E0FF30FF30033081B22980CD
+:1077500020688178474801732068464900882039AD
+:107760004885002070BD10B5137804785B08E407E5
+:107770005B00E40F23431370FD2423400478A40727
+:10778000E40F640023431370FB2423400478640750
+:10779000E40FA40023431370F72423400478240744
+:1077A000E40FE40023431370EF2423400478E4063D
+:1077B000E40F240123431370DF2423400478A4063C
+:1077C000E40F6401234313700078BF244006C00F08
+:1077D0002340800103431370002906D00878C107B5
+:1077E00001D1800701D5012000E00020C001590629
+:1077F000490E0843107010BD30B50A8803239B0260
+:1078000004889A4323059D0F02D1A3049C0F01D045
+:107810009B0F00E001239B021A4303230A801B03F2
+:107820009A4303889804840F02D11805830F01D06E
+:10783000800F00E00120000302430A8030BDF3B551
+:1078400091B00D0018D01198002818D012212846A8
+:107850000DF07FFA01A9012007F0A9FE00242646B9
+:10786000374677E0022900000128000003300000BD
+:10787000010200000C140020102013B0F0BD0720FE
+:10788000FBE76846007C01280BD16846C1890520CA
+:10789000C002081A0AD001280AD002280CD00328F6
+:1078A0000CD0042C0ED0052C0FD10DE0012400E0EB
+:1078B00002246846868908E0032406E0684604241A
+:1078C000878902E0052400E0062468468189119832
+:1078D00081423FD12C74002E3AD00BA800900CAB03
+:1078E00010220021304607F0F4FE002820D168461F
+:1078F000808D2A46C0B20CA909F0EDFC002817D1F2
+:10790000AE81002F24D00BA8009006AB13220021DB
+:10791000384607F0DEFE00280AD16846808D06A9A9
+:10792000C01E0331C0B22A1D09F0D5FC002801D0C9
+:107930000320A2E76846817E427E08021043E88168
+:10794000062C05D16846007CA8726846C08928814B
+:10795000002092E701A807F032FE002891D0FFF73F
+:10796000C6FD8AE7002804D0012903D0022904D0EB
+:1079700003207047F949C98D02E0F8494031C988B0
+:10798000814201D1002070470720704730B5F34C89
+:107990000025608B91B0C00B2ED1216900292BD01E
+:1079A000207B800728D401226846027102720022DF
+:1079B0004272228B8281A28A8282049117210183E2
+:1079C00009AA0023023206A901A807F0A7F9002896
+:1079D00003D0FFF7F4FD11B030BD207B0221084336
+:1079E000207307A8009069460B8B20880422012190
+:1079F000FFF7CCFA05460BE0FBF7A5FC84210170EC
+:107A00000921017218341ECC0C301EC0FBF7B7FCE4
+:107A10002846E0E710B5D14C034621690020002933
+:107A200009D02146012210311846FBF76BFE0020D9
+:107A30002061A0820120217BF9221140217310BD19
+:107A400070B50C4605461C2120460DF082F9002039
+:107A50002080002D08D0012D04D0C1A1C5480DF013
+:107A6000B8FA70BD062000E00520A07070BD10B50A
+:107A700007F07CFB10BDFEB50546007800260C46DD
+:107A8000374603000DF096FB0C91070C1D962F4610
+:107A90002F46486C899168680A38FBF793FD89E0A6
+:107AA000002904D0B348AEA11B300DF092FAFBF7C9
+:107AB0004AFC04464078082108436070FBF75FFCED
+:107AC00078E0002C04D1BB20A5A180000DF081FA44
+:107AD000284601F0B1FA00286CD0607808210843EC
+:107AE0006070022666E0E888694608800190002CF4
+:107AF00004D1A0489AA12F300DF06BFA28780728FE
+:107B00001CD10198C00B19D0944800218171A9881B
+:107B1000818012E003264DE0002C04D1C52090A105
+:107B200080000DF056FA8D48017B89070BD500695E
+:107B3000002802D0E888C00B3CD0022660780821DB
+:107B40000843607036E0291D8EC918308EC0283871
+:107B50000188022601222046FBF7B6FD0127EDE74A
+:107B6000002C04D183487EA164300DF032FA7B48AA
+:107B70000821007B4007C00F460060780843607012
+:107B8000002E17D12879012802D16879002811D058
+:107B90002046FFF73FFF07460CE0002CCED10D201A
+:107BA0006FA180010DF015FAC8E772486CA17A3018
+:107BB0000DF00FFA002C0CD06078000709D5002FCB
+:107BC00007D1842020702046582229460830F9F732
+:107BD000FBFA3046FEBDF7B5027A88B00C46054682
+:107BE00020460C300490069216300027921E029018
+:107BF0003E460A31594813000DF0DCFA0ADF06E66A
+:107C00002AE62AE66A98C6E64288002A02D0522767
+:107C10000726DDE051271E26002C7DD06A684F48DC
+:107C20001288A2800122A2718079C0004019C08907
+:107C3000FFF705FE002877D148488179C900491926
+:107C4000C98921818079C0004019408AA083BFE0A2
+:107C5000688A00900698072817D1E889C00B14D0CD
+:107C600000985127223086B2002C55D0A88904995B
+:107C7000FFF7E5FD002857D168680088A080022042
+:107C8000A071A8892081012041E000985027203070
+:107C900086B2002C40D0A889FFF7D1FD002843D13F
+:107CA00068680088A080A889E080287A07280AD020
+:107CB00002202072288AA0830098E0832046696908
+:107CC0002030009A01E00120F3E70CF0E5FF7FE0AF
+:107CD000698A00910169002902D0E989C90B22D083
+:107CE0000099512722318EB200218171A9898180AA
+:107CF000002C5FD00088A080A8890499FFF79FFD21
+:107D0000002811D10220A071A88920810420A0722E
+:107D1000288AE083009801E04CE005E0208469694E
+:107D2000009A0298D1E703200BB0F0BD007B40071A
+:107D300002D55127222601E050272026002C39D0D9
+:107D40006868502F0088A08016D00220A0712146BC
+:107D5000287B0831FFF774FE3AE00000EC130020A6
+:107D60007372635C67617474735F636F72652E63B3
+:107D700000000000CB020000287BA11DFFF760FE81
+:107D80000020FFF747FE23E0A9890089884207D138
+:107D900054270626002C0DD068680088A08017E0C4
+:107DA00053270826002C05D068680088A080A88981
+:107DB000E0800DE00A98068010E055270726002C89
+:107DC000F8D00020A07103E0FD49FE480DF001F954
+:107DD0000A98002C068001D0278066800020A3E747
+:107DE000F94800210172203801814181418081716F
+:107DF0008180027BF923520852001A40027301610C
+:107E00008182704770B5F04C86B0203C2080002005
+:107E10006080A071A0806946012007F0C8FB102691
+:107E200008E00199088802461207D20FB0431201F8
+:107E300010430880684607F0C2FB0500F1D02069B6
+:107E4000002804D0DF48DE4933300DF0C2F8207B33
+:107E5000800704D5DB48DA4934300DF0BAF8822DBA
+:107E600004D02846FFF743FB06B070BD0020FBE7B7
+:107E7000D54810B52038017B012211430173002140
+:107E800041808171818006F045FB10BD10B5CE4C5C
+:107E90000020C043203C20800020FFF7BBFD207B5A
+:107EA00040084000207310BD70B5C74D0446203D0A
+:107EB000287B800704D5C348C1494B300DF089F8B1
+:107EC000287BC00706D12888C049884202D028698B
+:107ED000002801D0082070BD002C08D0A0881628EA
+:107EE00001D2092070BD20682861A088A882FFF710
+:107EF0004DFD70BD10B50C4607F02DFB002804D0D9
+:107F0000C520AF49C0000DF064F82046FFF7EFFA36
+:107F100010BDF0B5AC4D0446203591B0002008905E
+:107F200068820E462882E8812946E8804039088622
+:107F3000694608830885088688838882A2480E904F
+:107F4000007A1746012808D0022806D0032804D05A
+:107F5000042802D0082011B0F0BD9D48844269D3A6
+:107F600001239B049B49E21A8A4263D39A4A9442B2
+:107F700060D286425ED31001331A0846834259D339
+:107F80001046864256D26068002815D09049884233
+:107F900050D31101421A8F498A424BD38E498842ED
+:107FA00048D260892189884203D801225202914235
+:107FB00001D90C20CFE7089010AA0CA93046FFF792
+:107FC00094FB0028C7D106A92069FFF738FB0028D9
+:107FD000C1D1206900280CD060788007002868464D
+:107FE000008B03DA8004800F75D002E08004800FDC
+:107FF00071D16846008B81061ED58004800F6068B1
+:1080000009D0002818D00721490740180121890309
+:1080100088420FD201E000280ED06D496068884286
+:1080200008D301218904421A6A498A4202D36A4963
+:10803000884201D310208EE705A96069FFF7FFFA97
+:10804000002888D16069002808D06846808A010528
+:10805000890F01293FD18004800F3CD007A9A06976
+:10806000FFF7EDFA0028A5D16846808A800632D451
+:108070006846808B81062ED4A169002906D00105AF
+:10808000890F012927D18004800F24D0E0680028BF
+:1080900004D0007800281ED01C281CD24A4A611C3B
+:1080A000123220460992FFF75EFB0321002089026D
+:1080B000884301218902411868460D9101850121FB
+:1080C000817446490182404A0FA91532306809F08F
+:1080D00028F9002801D007203DE708A8007F3A4989
+:1080E000C01CC2B26A7100201031FF3200900190B2
+:1080F000FF3203460291039003320AA904A807F055
+:10810000C5F9002827D130482038008E0B902E4822
+:108110003389383032690146123902910093019255
+:10812000039010A90A8873890CA9306807F0AEF98A
+:1081300001007CD12448E98811308170090AC1709E
+:108140000026009631386A79008E3146099B07F087
+:108150001CF9002802D0FFF7CAF9FCE60E98807CD3
+:10816000C00928D068460D99018501218174292113
+:1081700009020182AE81287B61784008C90740006E
+:10818000C90F08432873FD2108406178022289073E
+:10819000C90F4900084328730B4900922A31881CF3
+:1081A00002910190002303960D4A0AA904A807F042
+:1081B0006DF901003BD1606800283DD0206911E0D5
+:1081C000607D0000220400000C140020FFFF00006E
+:1081D000006001000000FC1F004000200328000098
+:1081E0000302000000280DD106A90CA8FFF704FB2C
+:1081F0006078800706D46946088B03210903884309
+:1082000069460883012069468874FD4808822089F0
+:10821000FC490CF0BBFD6268089BFB48019200938F
+:1082200002900A460396002306A904A800E081E014
+:1082300007F02CF901007DD12078C10601D4800619
+:108240002ED568460684606900280DD105A90CA8C2
+:10825000FFF7D2FA6846818A032080028143012019
+:1082600080020918684681826946888A4821084345
+:108270006946888201208874E14808AA401C088267
+:10828000E1490192891C0220DE4A029100900023FC
+:108290000396921C05A904A807F0F8F8010063D121
+:1082A0002078C0072ED068460684A06900280DD12A
+:1082B00007A90CA8FFF7A0FA6846818B032080026B
+:1082C0008143012080020918684681836846818BBA
+:1082D000402001436846818301218174C84908AA6E
+:1082E000891C0182C8480192001D0221C54A0091E3
+:1082F000029000230396921C07A904A807F0C6F871
+:10830000010031D1E068002832D068460D9901851E
+:1083100001218174BA49C91C0182E16808A80A7860
+:10832000027049784170E068418868464184E0689D
+:10833000017900E018E008A80171E0680722C1880F
+:1083400008A84171090A8171AF4808A9801D0092EF
+:1083500001910290412200230396D2000AA904A8A9
+:1083600007F094F8010003D00B98FFF7C3FDF2E586
+:1083700003210E98002F017207D0E8883880E88921
+:108380007880288AB880688AF8800020E3E5F0B514
+:1083900001248BB016460F46012802D002281BD1BB
+:1083A00004E0684605218474C90202E068469749E2
+:1083B00084740182002F11D0032100208902884398
+:1083C0000121890241186846018506AA05A9384697
+:1083D00008F0A7FF002803D00720A5E41020A3E49D
+:1083E000894DB8782E3D287338882F46203F7885F0
+:1083F0006A46127D0020294606AB00920E31019399
+:10840000FF32029103900346FF3203320AA904A807
+:1084100007F03CF8002802D0FFF769F884E4002E4A
+:1084200001D0F88D30802C7200207DE470B592B0C0
+:108430000446012508A8857075496846018406F040
+:108440009CFF002208A90120FFF7A1FF064606F0C5
+:1084500098FF30003AD120780024C00700283FD090
+:108460001C2168460CF077FC684601782020014307
+:108470006846017008A885706649684601841194B1
+:108480000794817FF9200140891C6846817700208C
+:10849000014668460177002001466846417704217D
+:1084A0008185C485018607A80A9011A80D9008A8A7
+:1084B000099006F062FF0EAA09A96846FFF729FD98
+:1084C000054606F05EFF002D02D0284612B070BDB2
+:1084D0004D486946098F4E3801816946898F41812F
+:1084E00049482E3804720020F0E7F7B5464E9CB09C
+:1084F00000212E3E0091317A012904D0022902D0B8
+:1085000008201FB0F0BD40494E39CA8D824201D0CB
+:108510000620F6E71D98824201D10720F1E73B488B
+:10852000012110AA9176401C1083002003239B0296
+:1085300002469A438B02D31810AA93846A46918408
+:108540003549D18410AA9077908317AA0A926A4677
+:1085500091850C9009A807F051F80024254627467C
+:1085600004A909A807F04DF8002810D082287BD173
+:10857000002C7CD0002D7AD010A8048145810024E5
+:10858000047518A8807812AD012872D07AE0684688
+:10859000807D002F1FD0012862D16846818A1B4848
+:1085A000401C814219D114A800906846408A0EAB45
+:1085B0001022002107F08DF8002877D110A8008A3A
+:1085C000042801D006285BD16846018F1D9881429E
+:1085D00046D10F2095E7012842D16846808A0521BF
+:1085E000C902884202D0491C884239D106484E3817
+:1085F000C18D6846408A814210D101270FE00000FA
+:1086000001290000010200003A14002001280000A6
+:1086100001180000052A0000FFFF00000027002CC1
+:1086200001D0002D0DD01D99884219D114A90091B7
+:1086300004460EAB1022002107F04BF8002835D17C
+:1086400001E0009D0CE010A8008A022801D010284B
+:1086500016D1C0B218AA0EA908F03DFE00280FD10D
+:108660006846408A00907BE720E000E001E00520BA
+:1086700047E72A1D15A918A808F053FE002801D0C5
+:1086800003203EE710A8007D0023001DC2B210A801
+:1086900002751E98029019A901950394009216A8DC
+:1086A00006F0F4FE002801D102213172FEF71FFF0F
+:1086B00027E73EB50B46401E84B201AA00211846AA
+:1086C000FFF751F806F059FE02A8009001AB012215
+:1086D0000021204606F059FE044606F052FE684688
+:1086E0000089012803D0FE49FE480CF072FC2046A8
+:1086F000FEF7FDFE3EBDF0B5FB4E0446307A89B074
+:108700000F46032804D0042802D0082009B0F0BD89
+:1087100004AA06A92046FEF7E8FF0500F6D1F248B4
+:108720002389383022690146103902910093019261
+:10873000039069460A8A638906A9206806F0A6FEA6
+:10874000002802D0FEF7D3FEE0E7002F03D0E64872
+:10875000203000893880042030722846D6E738B5AA
+:108760000C00054608D00022694607F00CF80028E6
+:1087700004D0FEF7BCFE38BD102038BD6946204647
+:10878000FEF75DFF0028F8D1A0786946C207D20F36
+:10879000284607F013F8ECE73EB50C0008D002AA13
+:1087A000694606F0F0FF002804D0FEF7A0FE3EBDAB
+:1087B00010203EBD032120460CF0CBFA684600880D
+:1087C00001A90005800FFEF726FF00280BD168469F
+:1087D000007920706846008801A98004800FFEF7A8
+:1087E0001AFF002801D003203EBD68460079607062
+:1087F000A278EF20024068460088C10B09010A43B5
+:10880000F7210A404104C90FC9000A43A270F921A7
+:108810000A40800601D5012000E0022040006946A0
+:108820000243097A50084000C907C90F0843A070E5
+:1088300000203EBDFEB51D4614460E46074606F016
+:108840009CFD01A8009022882B463146384606F050
+:108850009CFD054668468088208006F092FD2846EB
+:10886000FEF745FEFEBDF0B50C46002199B0074667
+:10887000684681850D46002C11D0E068002806D09E
+:10888000A06800280BD002886B469A850180A078EA
+:10889000012806D0022804D0072019B0F0BD10200E
+:1088A000FBE72088002807D0401E80B201A906F00F
+:1088B0007EFE002842D136E08C48EEE769468A8980
+:1088C00021888A420BD26846007C002501282CD1E1
+:1088D0006846C0898649884227D1012525E08A4219
+:1088E00003D1002D2FD06D1C01E0022D02D0032DED
+:1088F0001BD31FE06946097C012916D169467C4BD0
+:10890000CA895B1ED11A9A421DD005DC7948101A1B
+:1089100019D0012809D116E0012914D0FF390139F5
+:1089200003D1032506E00D26B60201A806F047FE96
+:108930000028C3D0822804D0002806D0FEF7D7FD37
+:10894000ABE7022DFAD13046A7E7E068002813D044
+:1089500006F013FD0BA800906A46A1882088928D2E
+:10896000E36806F012FD054606F00BFD002D19D157
+:108970006846A168808D088002980078C00601D5FD
+:108980005D488AE706F0F9FC0EA8009068468089E9
+:108990000CAB0222002106F09CFE054606F0F1FC1D
+:1089A000002D01D02846C9E76846008F022801D073
+:1089B000032072E7A078012808A8007C03D0800774
+:1089C0000ED4082069E7C007FBD00820FEF7C8FADC
+:1089D000072802D34548401C5FE70825022001E034
+:1089E000022503206946087621886846818317217D
+:1089F000818611AA002302320DA906A806F08EF97D
+:108A0000002802D0FEF7DBFD47E70FA8009068467C
+:108A1000838E042229463846FEF7B8FA3DE770B542
+:108A2000064615460C460846FEF71EFD00280AD1EC
+:108A300006F0A3FC2A4621463046FFF7A8FC044670
+:108A400006F09FFC204670BD70B514460D460646E4
+:108A500006F093FC224629463046FFF746FD0446C1
+:108A600006F08FFC204670BD70B51E4614460D0002
+:108A70001AD0002C18D06168002915D00121FEF70A
+:108A800071FF00280FD12068FEF7EEFC00280AD104
+:108A900006F073FC324621462846FFF73AFA0446B0
+:108AA00006F06FFC204670BD102070BD70B51546F5
+:108AB0000C0023D00221FEF755FF00280ED12068BC
+:108AC000FEF7D2FC002809D106F057FC29462046C3
+:108AD000FFF711FE044606F054FC204670BD00006E
+:108AE000607D00003E0600000C14002003300000F2
+:108AF0000328000000280000013400001020EDE7EA
+:108B0000FEB507460E4607201546400701211218FC
+:108B100089031C468A4219D2002C02D020188842B0
+:108B200014D2384600F045FA00280AD1002C0FD1A3
+:108B300001AA6946384606F026FE002802D0FEF754
+:108B4000D6FCFEBD68460088800601D41020FEBD1C
+:108B500023462A4631463846FFF76CFEFEBDFFB578
+:108B600085B01E4614000F4609D003AA02A9059835
+:108B700006F009FE002804D0FEF7B9FCC6E5102077
+:108B8000C4E568460089C00601D5FB48BEE506F08D
+:108B9000F4FB01A800900023F84A3946059806F036
+:108BA00098FD054606F0EDFB002D11D1002E0CD0EE
+:108BB00006F0E3FB002000902288334639460598F2
+:108BC00006F087FD054606F0DCFB684680882080BD
+:108BD0002846D1E7002906D0E94B0A885B899A42EA
+:108BE00001D8E84870473EE610B586B004236C46CD
+:108BF000A382E34B1C89002C07D05B898B4201D2F6
+:108C0000914204D9DF4806B010BD0620FBE76B4651
+:108C100019825A820021009101911C8002219970D1
+:108C200005A9029104A903916946FFF71CFEEAE732
+:108C3000F0B591B00D4681206946087105F09CFCA5
+:108C40000646002D08D02878CD4C012806D00228F1
+:108C500028D0072011B0F0BD1020FBE7A98801AA99
+:108C6000FEF778FC0028F5D1B00734D568460079C6
+:108C7000002820D1A879C0071DD006F07EFB002077
+:108C800000906A892989A088EB6806F07EFB694616
+:108C9000087106F076FB6946087900280BD0FEF7CC
+:108CA00026FCD7E7A98801AAFEF754FC0028D1D1F9
+:108CB000342006420FD00121684601720173017908
+:108CC0004173F00609D5A18868460182A18A018313
+:108CD0002069059004E00820BCE7A0886946088266
+:108CE000FAF731FB05461720694688830AAA2B4606
+:108CF000023207A902A806F011F8074668780007B3
+:108D000001D5FAF73CFB002F03D03846FEF757FC9D
+:108D1000A0E7F00603D5207B062108432073B006A8
+:108D200002D50020FEF776FE08A8009069468B8BDE
+:108D3000208804220121FEF729F98BE7F0B50026EF
+:108D400095B014460D4600290FD0022C4FD3A71E14
+:108D5000BAB28A480AF052FE29191039CA7B8B7BB5
+:108D600011021943884242D1BCB201A9012006F088
+:108D70001EFC7AE0029F3888010776D5002D41D08D
+:108D8000A9190691CA788B78361D1102B6B219431B
+:108D90008919A1422BD869468A8906994B780978A6
+:108DA0001B020B439A4222D1C00623D506F0E5FAF6
+:108DB00007A800900698AB19C17880780A02069936
+:108DC00002434878097800020843002106F0DDFAE2
+:108DD000009006F0D6FA009800283ED10698C17897
+:108DE000827808026946898B1043884202D00B20A2
+:108DF00015B0F0BD0698C17882780802104380193A
+:108E000086B22EE0C0062CD5002007AA01461154D8
+:108E1000401C80B21028FAD306F0AFFA06A80090E2
+:108E20006846002380891022194606F052FC009003
+:108E3000002803D006F0A5FA00980EE00BA86946BA
+:108E4000009088890A8B07AB002106F09EFA0090FB
+:108E500006F097FA0098002803D0FEF748FBC7E712
+:108E600003E0388810218843388001A806F0A7FB6A
+:108E7000002800D17EE7424D6988002921D00122D7
+:108E800068460276027700244477018417218185A1
+:108E90000EAA234602320BA906A805F03FFF0028C0
+:108EA00002D0FEF78CFBA3E70CA8009069468B8DDF
+:108EB000288804220121FEF769F8002898D16C80E7
+:108EC00096E7002094E7F0B5002487B015460E46DB
+:108ED000002A04D002A9012006F069FB41E010201D
+:108EE00007B0F0BD0398007800073AD506F045FAC0
+:108EF00001A8009068460023008A204A194606F01F
+:108F0000E8FB074606F03DFA002F23D1002E23D0C0
+:108F100068468088298820183719001D814239D376
+:108F20006946098A3970090A797069468988B97071
+:108F3000090AF97006F021FA01A869460090088A2A
+:108F40008A883B1D002106F0C4FB074606F019FA8B
+:108F5000002F01D00320C3E7684680882018001D39
+:108F600084B202A806F02BFB0028BBD082280BD0CD
+:108F7000FEF7BDFAB4E7000001340000FFFF000077
+:108F8000EC13002003300000002E0ED02988A01C16
+:108F9000814201D20C20A3E72246314639480AF02B
+:108FA0002DFD31190870000A4870A41C2C80002087
+:108FB00096E700B585B06946FEF741FC00280AD166
+:108FC0006846007C03000CF0F5F808052F2F2F2FC2
+:108FD00008080531032005B000BD684680780128E7
+:108FE00007D1684600880321C902401A1CD0012815
+:108FF0001AD068468079012806D1684680881521F4
+:109000004902401A05280FD96846807A012811D1F3
+:109010006846018929200002081A05D0022803D0D9
+:10902000032801D0042805D10F20D4E7164917489A
+:109030000BF0CFFF0020CEE738B5154A0021518054
+:1090400003791AE0CC002418A46800946C462488A4
+:10905000250707D5E50605D5D90008182038C08BA7
+:10906000508006E0640406D59171C9000818C088D4
+:109070009080012038BD491CC9B28B42E2D8002043
+:1090800038BD0000FFFF0000607D000033020000DB
+:10909000EC1300200120F8494006C861704770B504
+:1090A000F54D0024AC7028466C7020304470047478
+:1090B0006C61AC72AC6209F01AFFA86128463430CA
+:1090C0000AF0B4FD002804D0FF20ECA13A300BF0E8
+:1090D00080FFEE48C46301204006E86170BD70B5B2
+:1090E0000125EB4902260E60E849CD63E949C96ACA
+:1090F00009070ED4E7494031CB6AE74A53620B6B4C
+:1091000093624B6BD3628B6B1363C96BD3051943AB
+:109110005163D949E14CC96900282BD001282DD0D1
+:10912000FF20D6A169300BF054FFDD48A063FF207B
+:10913000043060632563DB49032008602061D74960
+:10914000962040314860D948D7494163D549FC3918
+:109150000163D549091FC163D249F03981630320F6
+:10916000D249000340394860D14910204860D148B5
+:10917000066070BDD0486061D04804E0CF48E03060
+:109180006061CE48801F0143A161CEE7BA4901204A
+:1091900008707047B84900200870704770477047E2
+:1091A000BE4940310028086802D00122104301E086
+:1091B000400840000860704770B50C46AE4D01464F
+:1091C0000622E81C0BF068FD6C7270BDAA482030C6
+:1091D00040787047A84A91705070704770B50D463E
+:1091E0000446082904D9FF20A4A1C6300BF0F1FEE3
+:1091F0000022B34809E09100635809180B6053003E
+:109200001B191B8C0B62521CD2B2AA42F3D3206BE7
+:10921000AB494031086070BD0B23DB4310B5C21A67
+:109220009E4998421FD008DC1C3222D00A2A20D046
+:10923000142A1CD0182A08D117E0083011D00428AD
+:109240000DD0082809D00C2805D0FF208BA1F230C2
+:109250000BF0BFFE10BD04200CE000200AE0FC2053
+:1092600008E0F82006E0F42004E0F02002E0EC2022
+:1092700000E0D820C86010BD7F482030007B7047D8
+:1092800010B5864CC17861620BF067FD0002E061A9
+:1092900010BD252808D0262808D0272808D041004E
+:1092A0000A2807D8091D06E0022105E01A2103E07B
+:1092B000502101E0891DC9B2784A91607749403157
+:1092C000486170476C494861704770B56A4CA0723C
+:1092D00000F01FFBA07AC00740D0724D28688007BD
+:1092E00003D466A177480BF074FEA07A01061DD561
+:1092F000800707D5734861A1801C0BF06AFEA07A35
+:10930000000613D52078694E012816D0002804D015
+:109310006C485AA111300BF05CFE6B487061A0697B
+:109320003061FF206149013040394860A07A8007F0
+:1093300014D52868C00708D102E06348001FEDE794
+:1093400060484EA11A300BF044FEA07A400728680E
+:1093500001D5042100E008210843286070BD70B5E4
+:109360000124454D002807D0012818D002281AD022
+:10937000232042A100010BE000F0CBFA52482978EB
+:10938000001F012907D0002907D04E483BA15738BC
+:109390000BF01FFE70BD046070BD446070BD812085
+:1093A000FFF793FF70BD00F0B4FA6869002804D19C
+:1093B000444832A14F380BF00CFE6969A86A401886
+:1093C0004249C86039484249403001603E490C3149
+:1093D00041600814354940394860274820300474FA
+:1093E00070BDF8B50C2069460870314C6068C00645
+:1093F000C50F1026A66034480021FC300161324BB5
+:1094000001221B1F1A610BE000BF00BF00BF00BF9D
+:1094100000BF00BF00BF00BF6B461A78521E1A7013
+:109420006A461278002A02D00269002AECD0016153
+:1094300068460078002804D1912010A180000BF02C
+:10944000C8FD002D00D06660F8BD0B490020C86142
+:10945000704710B50BF081FC00021049000AC86388
+:1094600010BD0B49022008607047094902200860BE
+:109470001049086070470000481400207372635C54
+:1094800068616C5F7263732E63000000C01F004050
+:1094900080E100E08000001000170040001500404F
+:1094A0005B060000001200404480004040F501408F
+:1094B0000013004080E200E00601020025000300E6
+:1094C0000016004075020000041000404085004076
+:1094D0004C810040F74902200860CBE7F64908704C
+:1094E000C8E710B5F5480AF0A9FB002803D0F449F5
+:1094F000F4480BF06EFD10BD10B5F0480AF0B6FB55
+:1095000010BDF1494860B5E7EC4910B53439EF4B6F
+:109510000022C8605A60896A0818ED49486000F066
+:10952000FFF910BDE54810B5C2213438C160E74AE3
+:1095300000215160806AE649C230486000F0F0F9CD
+:1095400010BD0120E34940028860DC490020343925
+:10955000C860DF4948608DE7D84900203439886207
+:1095600088E7D648DA493438806AFE30886081E777
+:10957000D749002088607DE7D748016810229143D1
+:109580000160D6490120886174E7D5490020C8618F
+:10959000D14801681022114301606BE700B5FFF765
+:1095A000EBFFC64900203439087400BD00B5FFF751
+:1095B000ECFFC24901203439087400BDC849CA69AA
+:1095C000012A01D0002055E7BF4A40329268520676
+:1095D000520E524202700020C86101204AE7F8B5DD
+:1095E000BF4C2069012806D00021B44834380078E7
+:1095F000012802D004E04021F7E7E268012A04D004
+:1096000000220A43012802D004E02022F9E7616821
+:10961000012905D000211143B24A002802D007E0F9
+:109620001021F8E71368012B02D1E368012B04D065
+:1096300000230B43002802D007E00823F9E7116854
+:10964000002902D1E168012905D000221A439F4E6A
+:10965000002802D004E00422F8E77168012904D050
+:1096600000211143002802D004E00221F9E76068DC
+:10967000012829D000259C480D4301680906090EE0
+:1096800002D06169012900D000218C4F143F397349
+:1096900000680006000E02D0A069012800D000205A
+:1096A00078738B488068002803D000F03DFA0128C9
+:1096B00000D00020B8730021E16021616160616128
+:1096C000A16171602846F8BD0125D4E77B480121DE
+:1096D0001438C173CEE6F8B5784E0127143E307CBD
+:1096E0000025002825D07C4C206800902560FFF7DD
+:1096F00078FE009820607A48C56005614560456144
+:1097000085617449001488603046203801787348B8
+:1097100001290AD000290AD0D920694980000BF01C
+:1097200058FCF9F775FC3574F8BD0760F9E7476038
+:10973000F7E7FFF754FF04460020F07364484268DF
+:109740005E4D343D6A620068A8622978002909D11B
+:10975000A978002906D05C4B5B681B780B406978C0
+:10976000994309D000213170E10707D0104602F07B
+:1097700029FD0121A86A08E03770F5E7A10601D5A7
+:10978000022102E0A10702D5002102F02AFD4E4F7E
+:10979000796806220931E81C0BF051FA002807D13C
+:1097A000687A79680978C909884201D1012000E006
+:1097B00000207070204600F0BDF83F48C2270078B6
+:1097C000002815D0012828D002283BD003285AD0E1
+:1097D0003B4946480BF0FDFB287C002804D0287844
+:1097E000002865D0FFF7C8FE2878002861D089E0FE
+:1097F000A00701D501F0CCFB200703D50120EF60C5
+:1098000001F0FEFB600703D50020EF6001F0F8FBDC
+:10981000A006E1D501F068FBDEE7A00701D503F063
+:1098200026FF200703D50120EF6003F09FFE6007AD
+:1098300003D50020EF6003F099FEA006CCD503F01D
+:1098400020FEC9E7A00703D5BF200440F9F7D2FBEB
+:10985000200705D5BF2004400120EF60F9F7C9FBC0
+:10986000600705D5BF2004400020EF60F9F7C1FB79
+:10987000A00603D5BF200440F9F7BAFB6006ABD5BC
+:10988000F9F7B9FBA8E7A00701D5F9F7B7FB20075F
+:1098900003D50120EF60F9F7B0FB600703D5002086
+:1098A000EF60F9F7AAFBA00696D5F9F7A5FB93E7B9
+:1098B0001EE020E000E100E0600000207C140020B9
+:1098C0007C940000AB020000001500404081004085
+:1098D0004085004000F501400012004000100040AB
+:1098E00000110040001400404016004094040000A5
+:1098F000FFF74BFE78E7E868002803D0A96A09184B
+:1099000028484160F07B002800D10DE7F9F780FB83
+:10991000F8BD254903200860881524498860A9E519
+:10992000224823494030C161224981611F494015C5
+:1099300048609FE570B50546FFF7EBFF1E4CA17A26
+:10994000080701D568071CD41C4AC80605D5507BFA
+:10995000002802D0907B002813D0880602D510780A
+:1099600000280ED1480602D55078002809D00020E2
+:109970008A070026002A07DA4A0704D50122227046
+:1099800002E00120F4E72670CA0709D0AA0705D42F
+:10999000890705D5002803D0A80601D4FFF721FDCB
+:1099A000A67270BD408500400012004000F50140E5
+:1099B000101000404481004048140020681400202A
+:1099C0002E48002101704170704770B5064614465C
+:1099D0000D460120F7F780FE28490120284B08702A
+:1099E0009E60DC601D6170BDF8B504460120F7F78C
+:1099F00073FE22490120087021494C60214900264C
+:109A00004E600321204D8902A960204F002C0AD00E
+:109A1000012C03D01EA140200BF0DBFA3E60032096
+:109A200080026860F8BD386001208002F9E710B557
+:109A30001248017800290ED00321134A890291604F
+:109A400010494A680021002A03D0154A1268427062
+:109A500000E0417001700020F7F73EFE10BD07489E
+:109A60000178002907D007484068002802D00C4838
+:109A70000068C0B270474078704700006100002065
+:109A800000F5004000F1004000F5014000F2004008
+:109A90007372635C68616C5F63636D2E63000000CA
+:109AA00000F400403648002101704170102181709F
+:109AB000704770B5064614460D460220F7F70CFEB7
+:109AC00001202F492F4A0870E41E146196605560EA
+:109AD00070BD10B50220F7F7FFFD2949012008707D
+:109AE000294800210160416081602849C014486014
+:109AF00010BD10B5224C2078002811D00120234938
+:109B0000C002886000F02EF80021002804D0012057
+:109B100060701F48006801E061701020A070217023
+:109B20000020F7F7D9FD10BD10B5154801780029C0
+:109B300005D000F017F8002800D0012010BD4078B3
+:109B400010BD10B50E480178002909D000F00AF8C0
+:109B5000002803D00E480068C0B210BD102010BD10
+:109B6000807810BD08480168002905D041680029A7
+:109B700002D08068002801D0002070470120704783
+:109B80006300002000F5004000F1004000F50140B6
+:109B900000F4004010B528210BF0DBF810BD407830
+:109BA0008006800E704740788006800EC01C70478B
+:109BB0002820704770B5054600780A0700090001A3
+:109BC000120F104328700B000BF0F4FA070507057D
+:109BD000070509050B00062408E00C2406E02224F2
+:109BE00004E00024FEA158200BF0F3F96878800906
+:109BF00080012043687070BD00780007000F704737
+:109C000010B50622C01C0BF047F810BD0B4610B56E
+:109C1000C11C062218460BF03FF810BD10B50622F5
+:109C200009300BF039F810BD0B46014610B506227D
+:109C3000093118460BF030F810BD0278BF23C90770
+:109C40001A40490E0A430270704700784006C00F60
+:109C5000704702785206520EC9010A4302707047DB
+:109C60000078C009704770B50C460546C11C2046F7
+:109C7000062209300BF010F820784006400E2070C4
+:109C800029784906C90FC9010843207070BD70B515
+:109C900015460E4604461F2A03D9D1A1A9200BF070
+:109CA00098F920462A46314609300AF0F5FF6078D7
+:109CB000AD1D80098001A906890E0843607070BD42
+:109CC00070B5054640780E468406A40E062C03D2D5
+:109CD000C3A1B9200BF07DF9A41FE4B21F2C00D959
+:109CE0001F2429462246093130460AF0D5FF204676
+:109CF00070BD70B515460E4604461F2A03D9B8A19B
+:109D0000CD200BF066F920462A46314609300AF08C
+:109D1000C3FF6078AD1D80098001A906890E084344
+:109D2000607070BD70B5044640780E468506AD0E75
+:109D3000062D03D2AAA1DE200BF04BF9AD1FEDB228
+:109D40001F2D03D9A6A1E2200BF043F921462A4694
+:109D5000093130460AF0A0FF284670BD10B5042234
+:109D60000F300AF099FF10BD0B46014610B50422D2
+:109D70000F3118460AF090FF10BD10B503221330C2
+:109D80000AF08AFF10BD0B46014610B503221331BD
+:109D900018460AF081FF10BD4176090A81767047A6
+:109DA000817E427E080210437047C176090A01771E
+:109DB0007047017FC27E0802104370474177090A4D
+:109DC00081777047817F427F080210437047C175D9
+:109DD000090A01767047017EC27D08021043704770
+:109DE00081757047807D704720300279C90652091D
+:109DF0005201C90E0A430271704720300079C00633
+:109E0000C00E704720300279D206D20E49010A43B3
+:109E100002717047203000794009704710B5052263
+:109E20001F300AF039FF10BD0B46014610B5052260
+:109E30001F3118460AF030FF10BD30B5411C837E3B
+:109E40000A461902D37D447E927D1B0221431343AF
+:109E5000674D827D8C1FAC4210D8002A0ED0082A94
+:109E60000CD88A420AD28B4208D8817F427F0802EE
+:109E70001043A91D884201D8012030BD002030BD0B
+:109E800000210A464254491C2229FBDB70474078D6
+:109E9000C006C00E70474078C006C00EC01C704798
+:109EA0002220704710B502788B07920892009B0F12
+:109EB0001A4302704278520952014270012908D0B7
+:109EC000022906D0032905D0FF2045A1A3300BF0BD
+:109ED00080F810BD01210A43427010BD10B5027810
+:109EE0008B07920892009B0F1A4302704278520926
+:109EF00052014270012908D0022906D0032905D059
+:109F0000FF2037A1BD300BF064F810BD01210A43DA
+:109F1000427010BD00788007800F70470278FB23E5
+:109F2000C9071A40490F0A4302707047007840077A
+:109F3000C00F70470278F723C9071A40090F0A4378
+:109F40000270704700780007C00F70470278EF2357
+:109F5000C9071A40C90E0A43027070470078C0064C
+:109F6000C00F704770B50546C1700B000BF022F9A9
+:109F70000E080A0C0E1012120C14141212160C18E1
+:109F80000C2413E0082411E002240FE017240DE054
+:109F90000D240BE0012409E0092407E0062405E074
+:109FA000452000240EA1C0000BF013F8687840098A
+:109FB00040012043687070BDC078704770B504469A
+:109FC00040780E46C506ED0E1B2D03D904A10948A5
+:109FD0000AF0FFFF6019C01C042231460CE00000AB
+:109FE0007372635C756C5F7064752E6300000000B3
+:109FF0007A0C00003A0200000AF04EFE70BD70B507
+:10A00000044640780E46C506ED0E1B2D03D9A04927
+:10A01000A0480AF0DEFF6119C91C042230460AF08C
+:10A020003BFE70BDC171090A01727047017AC279A5
+:10A030000802104370474172090A81727047817AA1
+:10A04000427A080210437047C172090A01737047CF
+:10A05000017BC27A0802104370474171090A81717D
+:10A060007047817942790802104370470171704747
+:10A07000007970474173090A81737047817B427B85
+:10A0800008021043704730B5411C037A0A46C47970
+:10A0900019022143537914791B0223437E4D007921
+:10A0A0008C1FAC4210D800280ED008280CD888424B
+:10A0B0000AD28B4208D8D07A917A00020843A91DAF
+:10A0C000884201D8012030BD002030BD10B50522E6
+:10A0D000001D0AF0E1FD10BD0B4610B5011D052263
+:10A0E00018460AF0D9FD10BD4172090A8172704705
+:10A0F000817A427A080210437047017170470079F3
+:10A10000704710B50822001D0AF0C6FD10BD0B46B1
+:10A1100010B5011D082218460AF0BEFD10BD0A78D0
+:10A120000273497841737047027B0A70407B487024
+:10A13000704710B508220E300AF0AEFD10BD0B4678
+:10A14000014610B508220E3118460AF0A5FD10BDD3
+:10A1500010B5042216300AF09FFD10BD0B460146D3
+:10A1600010B50422163118460AF096FD10BD10B540
+:10A170000822001D0AF090FD10BD0B4610B5011D10
+:10A18000082218460AF088FD10BD10B504220C30D4
+:10A190000AF082FD10BD0B46014610B504220C31B9
+:10A1A00018460AF079FD10BD017170474171090A26
+:10A1B00081717047C171090A017270470079704757
+:10A1C00081794279080210437047017AC279080206
+:10A1D00010437047017170470079704701717047F3
+:10A1E0000079704710B50822001D0AF055FD10BD1A
+:10A1F0000B4610B5011D082218460AF04DFD10BD92
+:10A2000010B50822001D0AF047FD10BD0B4610B521
+:10A21000011D082218460AF03FFD10BD70B5154615
+:10A220000E4604461B2A04D93720194900010AF0BA
+:10A23000D0FE2A463146E01C0AF02EFD6078E90681
+:10A2400040094001C90E0843607070BD70B50546F5
+:10A2500040780E46C406E40E1B2C04D9DF200C49BE
+:10A2600080000AF0B6FE2246E91C30460AF014FDD2
+:10A27000204670BD4078C006C00E1B2801D80120C2
+:10A2800070470020704710B522220AF005FD10BD6E
+:10A29000E09F0000430200007A0C0000FEB50F466C
+:10A2A00004460146064620302546C031603640351A
+:10A2B0000190032F04D0002F2DD0012F2BD04BE085
+:10A2C00000206080A080E08020816081A082E08505
+:10A2D000E0826874A074E074A076E076A073E07306
+:10A2E00020746074019B987401232B74A8822883C6
+:10A2F0000876E883B0706883A873E8732077607786
+:10A30000019988720199087430727072B072327457
+:10A31000B074A883FEBD0020A8822883012F52D0EC
+:10A32000E08B0090608C0290C00000990AF02EFD36
+:10A33000401C80B2E8820099192241439202914266
+:10A3400001DD401EE8827D20000200990AF01EFD1A
+:10A35000401C3080002F01D0022FDBD10198007A01
+:10A36000C1060198C90E01720020687322182421C9
+:10A370008B5C4032D9075B08DE07C90FF60F7118F6
+:10A380005B08DE07F60F71185B08DE07F60F711821
+:10A390005B08DE07F60F71185B08DE07F60F711811
+:10A3A0005B08DE07F60F76185908891911726A7B67
+:10A3B000401C5118C0B269730528D7D3002FA9D10A
+:10A3C0000020A874FEBD4A7F2046E030022A12D049
+:10A3D000097F022913D050A173200AF0FAFD012051
+:10A3E00000900290E08BA98B484300990AF0DCFCB6
+:10A3F000A883029898E7818800910089F1E7018A93
+:10A400000091808AEDE770B504464034667B0546CE
+:10A41000002E68D0252E66D8002964D03E20405DED
+:10A42000A27B4843101825210AF0B0FC0846A1730E
+:10A430004207C908520F3C4B691820319A5C0979D0
+:10A440008A4367D031460AF0A1FC491CCAB20020F9
+:10A4500006E0002804D029184031C979511ACAB23F
+:10A46000291848235B5C93423AD320310979C943C8
+:10A47000CB07DB17D21A521E1206120E34D08B07EE
+:10A48000DB17D21A521E1206120E2FD04B07DB1703
+:10A49000D21A521E1206120E2BD00B07DB17D21A3D
+:10A4A000521E1206120E27D0CB06DB17D21A521EEE
+:10A4B0001206120E23D08B06DB17D21A521E12067A
+:10A4C000120E1FD04B06DB17D21A521E1206120EA6
+:10A4D0001BD00906C917511A491E0A06120E17D0B9
+:10A4E000401C0528B5DB70BDC00013E0C000401C57
+:10A4F00010E0C000801C0DE0C000C01C0AE0C000DD
+:10A50000001D07E0C000401D04E0C000801D01E008
+:10A51000C000C01DE07370BD7372635C6C6C5F75CE
+:10A5200074696C2E63000000EC51010010B5FF4807
+:10A530000021017041708170C17041718171C171E0
+:10A54000083009F073FB002804D0FF20F8A1843004
+:10A550000AF03FFD10BD10B5F44900204872081DF7
+:10A5600009F064FB002804D0FF20F1A1C3300AF0F9
+:10A5700030FDFFF7DBFFF148FFF782FC0021EF48D9
+:10A58000FFF7E4FC0121ED48FFF78CFC10BDE2E78A
+:10A590001B207047E5494A7A002A01D00020704705
+:10A5A000488101204872704710B5E0494A7A002A74
+:10A5B00002D04989814201D0002010BDDB48001D36
+:10A5C00009F03CFB002804D0FF20D9A1B4300AF0E8
+:10A5D00000FDD648001D09F049FBFFF7A7FF012049
+:10A5E00010BD70B5D14C0025627A002A02D0628974
+:10A5F000824201D00D700DE0227863789A4203D335
+:10A6000022786378D21A04E062782378D21A102371
+:10A610009A1A0A70FFF7C8FF002801D0657201205E
+:10A6200070BDC2494A7A002A04D04989814201D1C9
+:10A630000120704700207047BC490A784B78521CB3
+:10A640001207120F9A4207D0097822225143BC4ABE
+:10A65000891801600120704700207047B3480178D5
+:10A660004278491C0907090F914206D00178491C1C
+:10A670000907090F01700120704700207047AB499E
+:10A680004A7A002A04D04989814201D101207047C9
+:10A6900000207047A5490A784B789A4207D049783C
+:10A6A00022225143A64A89180160012070470020E8
+:10A6B000704710B59D4C20786178884216D060783C
+:10A6C000401C0007000F6070201D09F0B7FA002839
+:10A6D00004D0E078401CE070012010BDA078401C40
+:10A6E000A0709248001D09F0C1FAF5E7002010BDE6
+:10A6F0008E4801784078814201D1012070470020C6
+:10A7000070478A4801784278914202D301784078B4
+:10A7100003E041780078081A1021081AC0B2704787
+:10A720000F20704770B5814C0D46617A002916D014
+:10A730006189814213D100262E70201D09F07EFA16
+:10A74000002805D1A0782870A670201D09F08EFA87
+:10A750002878E17840182870E670012070BD00204C
+:10A7600070BD76490160704770494A7A002A04D06A
+:10A770004989814201D101207047002070476B490F
+:10A780004979002901D0002070476E4901600120FD
+:10A79000704766484179002901D0002070470121A7
+:10A7A00041710846704761494A7A002A04D04989B4
+:10A7B000814201D101207047002070475B494979EF
+:10A7C000012901D0002070475E49016001207047D7
+:10A7D00056484179012901D000207047002141717C
+:10A7E0000120704751484079012801D0012070476D
+:10A7F000002070474D494A7A002A04D04989814295
+:10A8000001D1012070470020704770B5474C0546C4
+:10A81000A0790721401C0AF0B9FAE079814208D0FA
+:10A82000A07922214843474922314018286001205D
+:10A8300070BD002070BD10B53C4C0721A079401CB4
+:10A840000AF0A4FAE079814207D0A0790721401CE0
+:10A850000AF09CFAA171012010BD002010BD334800
+:10A860008179C079814201D1012070470020704771
+:10A870002E494A7A002A04D04989814201D1012017
+:10A8800070470020704710B504462848083009F08A
+:10A89000D5F9002815D125498879CA7990420CD07C
+:10A8A000C8792221484327492231401820601F4897
+:10A8B000083009F0DBF9012010BD1C48083009F010
+:10A8C000D5F9002010BD10B504461848083009F02D
+:10A8D000B5F9002815D115498879CA7990420CD06C
+:10A8E000C8792221484317492231401820600F4877
+:10A8F000083009F0BBF9012010BD0C48083009F000
+:10A90000B5F9002010BD094810B5083009F096F9D6
+:10A91000002822D1054CA079E17988421AD0E0794B
+:10A920000721401C0AF032FAE1710DE066000020B8
+:10A930007372635C646D5F712E630000B01700205A
+:10A9400080140020A01600202046083009F08EF95F
+:10A95000012010BD0C4809F089F9002010BD0A48FB
+:10A9600008388179C079814201D1012070470020E7
+:10A970007047054808388179C079814201D10120AA
+:10A9800070470020704700006E000020704770473D
+:10A99000FF207047704770470020704700207047C5
+:10A9A000002070470020704700207047002070474B
+:10A9B000002070470020704700207047012070473A
+:10A9C000002070470020704700207047002070472B
+:10A9D000F8B5FF4D0446A87F002600280CD00029BA
+:10A9E00023D1667010202070E87FA07028462030A8
+:10A9F0000078E070AE7718E0287A012801D00020B6
+:10AA0000F8BD002911D16670F149687A01270A3131
+:10AA1000002801D0132000E0052020701422A01C83
+:10AA20000AF03AF9A7716E722E720120F8BDF8B5DE
+:10AA3000E8480078002802D00C273846F8BD0027E7
+:10AA4000E34D3C46203DAF74EF746F75AF752F75C5
+:10AA500028466F732038DE4E47737771E87D0028F3
+:10AA600004D0FEF785FDFFF744F8EC75347274727C
+:10AA7000B477D7482430FFF78DF8D5484C30FFF72E
+:10AA800089F8DAE710B5D34C00232370D04C203C72
+:10AA9000E375CF4B01241C71603B583307C3FFF7AC
+:10AAA000C6FF002804D0FF20CBA102300AF091FAA3
+:10AAB00010BDC7482038807C7047F8B5C44D0646A5
+:10AAC000407B203DE873C24837791346AF73B27BB1
+:10AAD00082710446603C217006221946601C0AF00F
+:10AAE000DBF8B07960730622F11DE01D0AF0D4F89E
+:10AAF000687B0126002800D0EE74B5484038407BC2
+:10AB0000002800D02E75002F09D0012F09D0022F68
+:10AB100024D0032F46D0FF20AFA14D3013E00021F9
+:10AB20001DE0AB4801212430FFF744F8A848E11D9F
+:10AB30002430FFF773F8607B002807D0012807D086
+:10AB4000FF20A5A143300AF044FA0CE0002100E008
+:10AB500001219F482430FFF77CF804E006219C483F
+:10AB60002430FFF727F800206875A8759848611C05
+:10AB70002430FFF745F8964821782430FFF75DF838
+:10AB8000934804214C30FFF715F89148611C4C3074
+:10AB9000FFF736F88E4821784C30FFF74EF8AE7448
+:10ABA0000020F8BD0221DAE770B5894C0125203C70
+:10ABB0000246A5758648007A002801D03A2070BD6B
+:10ABC000834860380378934206D1002262750622DA
+:10ABD000401C0AF061F86575002070BD70B5044630
+:10ABE0007B4D0020203D28752846224632380AF049
+:10ABF00053F82846203844730120287570BD7449E5
+:10AC00000871704710B5724C0022203CE2746073EA
+:10AC10000246204612380AF03FF80120E07410BDC9
+:10AC2000F8B500F04CFB6A4C0025203CE07D002884
+:10AC300004D0FEF79DFCFEF75CFFE575654E3570B0
+:10AC4000FEF75AFCA07B012804D00021084601F041
+:10AC500082FAF8BD0021022001F07DFA5C4C207AD6
+:10AC60000127002809D0A07F0028F2D10520E07735
+:10AC7000204620300570A777F8BD70780028FBD0FB
+:10AC8000534906226039487BE073C91D0846693084
+:10AC90000AF002F83C20A07227727570F8BD10B55A
+:10ACA0004B4C203CE17B207CCA0701D0C2070BD073
+:10ACB0008A070FD582070DD42620FEF7EAFA207CFA
+:10ACC00002210843207410BD2520FEF7E2FA207C03
+:10ACD0000121F6E74907F6D54007F4D42720FEF70F
+:10ACE000D8FA207C0421ECE770B53A4D287800288A
+:10ACF0007CD1374C203CA07C00287CD0FEF7F1FBB7
+:10AD00000026267466746E703046FEF7E7FB00205E
+:10AD1000FEF7E5F93448FEF7B3FA2546403D296EC3
+:10AD20008857FEF779FA3048C01EFEF792FBFEF70F
+:10AD300008FCFFF7B4FFFEF729FAFEF7CBFB012072
+:10AD4000FEF70DFB0F210520FEF744FA2978681C59
+:10AD5000FEF732FAA07B01280AD0E07C002807D059
+:10AD6000214612390846627B5630FEF790FFE674A2
+:10AD7000207D002808D0164840380146427B123911
+:10AD80008C30FEF7B6FF2675607D00280BD010488A
+:10AD9000691C2430FEF734FF0D48691C4C30FEF767
+:10ADA0002FFF6675A675E86D0178002903D001783C
+:10ADB000001DFEF713FAA86D0178002907D001786D
+:10ADC000034A401C7732FEF774FE0120E0750EE066
+:10ADD00034180020740000207372635C6C6C5F6137
+:10ADE00064762E6300000000F751010003E0FEF7D7
+:10ADF00083FB002070BD0C2070BDFB49486070478C
+:10AE000070B50546FEF79DFB002D06D00020FEF72D
+:10AE10005CFAFEF7BBF9FFF742FFF44C607C0028B8
+:10AE200009D0A07B012803D1F149F2480AF0D1F8FA
+:10AE3000FFF7F6FE70BD0126002D05D00220FEF7BB
+:10AE40008EFAEA4820304671E8484430FEF759FB54
+:10AE5000012008F0A8FDFEF7A1F9A07B00280FD083
+:10AE600001280DD002280BD003280BD0E148E0497F
+:10AE70001E300AF0AEF8E07B217C884306D009E062
+:10AE8000032000E00120FEF720FAF4E7A07B012870
+:10AE900003D06674D448067070BD00202074F9E7B2
+:10AEA00010B5FEF71EFBD048007800280ED1CF4821
+:10AEB000807C00280AD00020FFF7A2FFF6F781FA75
+:10AEC000CA4820300079012806D007E000F0F7F9E1
+:10AED000FEF712FB0C2010BDF8F79AF8002010BD09
+:10AEE000C14901204870704770B500F0DAFF0028B2
+:10AEF0001BD0FF202D30FEF7E5F9BB4E3078BB4C60
+:10AF00002034012814D0022801D003282ED0A520F7
+:10AF1000B74980000AF05DF83078002807D0F6F7CE
+:10AF200050FA207901282BD02FE0FFF779FE70BD71
+:10AF3000AE4DA87B032819D0FEF7F4FAE87D00286F
+:10AF400003D0FEF7C6FDFEF70CFBA8489430FEF7D1
+:10AF5000D8FA012008F028FDA87B01280BD0A179A0
+:10AF60006F20012906D0032904D004E00120FFF757
+:10AF700047FFD1E77F20FEF7A8F902203070CBE72A
+:10AF80006079002801D1FEF7A1FB0020607170BD3F
+:10AF900070B5964CE07D002803D0FEF7E9FAFEF785
+:10AFA000A8FD00F07EFF00281CD08F4D28780228D5
+:10AFB00003D08F4990480AF00CF8A07B012814D0E8
+:10AFC000FF202D30FEF77EF90120FFF719FF2878CA
+:10AFD000002809D0F6F7F5F9844C203420790128AF
+:10AFE00006D00AE0FFF71CFE70BD99208000E9E75B
+:10AFF0006079002801D1FEF769FB0020607170BD07
+:10B00000F8B50446FEF738F90746FEF78DFD01282E
+:10B0100027D0002674480078022804D07648744966
+:10B020003C3009F0D6FF714DE87D002803D0FEF7D3
+:10B030009FFAFEF75EFDFEF784FA6C489430FEF747
+:10B04000DBFD21006D4C009064D0FEF7BFF80028B6
+:10B0500060D0009803000AF0ADF8065D5D5D065D06
+:10B060001E5D0126D6E7A87B012853D0374304D1C3
+:10B07000A079002801D002284CD160484C30FEF75E
+:10B0800040FA012008F08FFC0120FEF71EF9564817
+:10B090000321017045E059487430C178D438C27931
+:10B0A00091421DD10146D4310A79037A9A4217D1CF
+:10B0B0004A79437A9A4213D18A79837A9A420FD194
+:10B0C000CA79C37A9A420BD10A7A037B9A4207D192
+:10B0D0000978407B4906C90F814201D1012100E076
+:10B0E0000021A87B012802D0002803D012E000290B
+:10B0F00007D10FE0374304D1A079002801D00128FF
+:10B1000008D13E487430FEF798FE002802D0A87D92
+:10B11000002810D0FF202D30FEF7D4F80120FFF7D3
+:10B120006FFE3148007800286AD0F6F74AF9207996
+:10B1300001286ED0C0E02C4F30497868042283315A
+:10B14000343009F0A9FD2D484021743000784006C4
+:10B15000C20F78680A54294906227731413009F034
+:10B160009BFD2649786803228731383009F094FD29
+:10B1700022483B217430827D78680A541F4974311B
+:10B180000A7ECB7D12021A4382878A7E4B7E120290
+:10B190001A43C2830A7FCB7E1102194301841749E7
+:10B1A00074318A7F4B7F1102194341841349052270
+:10B1B0009331243009F070FD10497F68943108798B
+:10B1C000C20638462030D20E0090827709794909AC
+:10B1D000C177207A00281DD0A07F00285BD1607A3B
+:10B1E00000280ED013200DE0740000201418002059
+:10B1F000D8AD0000F9030000BF02000034180020A1
+:10B200005CE00520E0773449002008700120A07739
+:10B2100041E04CE03048E97D1038002924D000217D
+:10B22000A172B989A1814021C95DE1733946062225
+:10B23000413109F031FDF88BE082388C2083788C25
+:10B2400060830098C07F2077607F400840003043D3
+:10B250006077FEF776FC617F4000C907C90F0143A4
+:10B2600061770120607215E00021A172B989A18186
+:10B270004021C95DE17339460622413109F00CFDD8
+:10B28000F88BE082388C2083788C60830098C07FB4
+:10B29000207701202072114D0020287000F00FF857
+:10B2A000FEF72AF90120696800F055FF39E7607957
+:10B2B000002801D1FEF70AFA00206071F8BD10B530
+:10B2C000FEF74AF9FEF73DF9FEF78BF80020FDF78F
+:10B2D000FCFFFEF7CAF810BD5418002074000020CF
+:10B2E0008107C90E002808DA0007000F0838800817
+:10B2F000FD4A80008018C06904E08008FB4A800095
+:10B3000080180068C8400006800F704710B500F034
+:10B310007BFF10BD70B5F64C0546A26800290DD024
+:10B32000002A04D0FF20F3A14C3009F052FEA560A2
+:10B33000F6F748F80220F6F73FF870BD002A04D16E
+:10B34000FF20ECA1543009F044FE0020A060F6F785
+:10B350003AF80120F6F738F870BDE5481030C07EA5
+:10B36000002801D00020704701207047E0481030CD
+:10B37000C07E7047DE483430C07E70470021C17601
+:10B38000817601600162DA481030C07E002807D162
+:10B39000D7483430C07E002802D1D549012008703A
+:10B3A000704710B50B46C17E847EA14204D0114681
+:10B3B000184607F0B4FB10BDFFF7E0FF10BD38B52D
+:10B3C000CB4C606801684978012924D00121684686
+:10B3D00006F05EF968460078CA49000209F0D6FC1A
+:10B3E00060680268C0685268511807F0B5F9616872
+:10B3F000C860BF49606834310022884215D0018B93
+:10B40000002912D04272032101720271021D017FD4
+:10B41000FFF7C7FF38BD7D21C068C90007F09CF960
+:10B420006168C860B8480861E3E7018B491C018383
+:10B4300002214172E7E7FFB5AD4F02461037386A87
+:10B440003C68056889B060680790A948C1680291A6
+:10B450006B880B98C01A80B208900C98002804D012
+:10B46000264638362046483002E03E1D28466430E5
+:10B47000059003203071002A15D0012A7ED0022ABF
+:10B4800052D0032A7BD09BA1A04809F0A2FD0C98C2
+:10B490000028307974D0032804D09C4895A1093045
+:10B4A00009F097FD40E1002904D1984891A169383D
+:10B4B00009F08FFD9549A88FA839484340180A998B
+:10B4C00000F0A8FEA0619149E88BA83948430A9989
+:10B4D00000F0A0FEE06186488C4AC068A98FA83AB7
+:10B4E000514384464118A069894A091A8A183B21A8
+:10B4F000A262864B495DA83B594341180818FF30AA
+:10B500001630206260626046101AFF38ED2135382F
+:10B51000C9008842BBD27F49884204D27B4875A1CA
+:10B520005C3809F056FDBAE0784AA88FA83AE1687D
+:10B53000504308180A9900F06DFEA0617349E88B2A
+:10B54000A83948430A9900F065FEE0616848C06880
+:10B55000002804D16D4867A1543809F03AFD5820FD
+:10B56000405B6D4A0028A88FE16822D0504308183C
+:10B57000A169401AA0622169A06802E022E051E0BE
+:10B58000CDE04843A169644A40183B21495D5143DD
+:10B5900041180818FF3014302062E88BE1695043ED
+:10B5A000411A0F208001081A60625148A16AC068E0
+:10B5B0006DE050430818A169401A3968D3384968CA
+:10B5C0004018D7E7284640300290008B002801D071
+:10B5D000002904D14D4847A13C3809F0FAFCE88B1A
+:10B5E0004D494843E169401AA062029A138B2269CF
+:10B5F0009B1A9C46A3685343A2699A186346594311
+:10B6000051183B22525D444B5A438A185118FF315E
+:10B61000143121620F218901411A61623449C968DC
+:10B62000401A35E00C98002803D03420005D002833
+:10B6300074D1E88B38494843E169401A0899484376
+:10B64000A062284640300690008B0028079829D039
+:10B65000002804D02D4827A1163809F0BAFC069816
+:10B660002D4A018B08980818E16948434000FF30D3
+:10B6700014302062E88B5043411A0F208001081AD1
+:10B68000606200F0C1FD00281CD0A16A0298081A6F
+:10B69000FF38ED212338C900884200D3F7E60220A5
+:10B6A0003071F4E6002802D00298002804D117482F
+:10B6B00010A11D3809F08DFC0798A16AD33808182D
+:10B6C000A062CCE706F0B1FD7A690146104607F0AA
+:10B6D000D5FFA16A081AFF38ED211E38C90088423B
+:10B6E000DCD201200DB0F0BD00ED00E000E400E090
+:10B6F000D01800207372635C6C6C5F6C6D2E7330BD
+:10B700002E63000010270000B78913008A0500008F
+:10B7100036040000A3020000E20400002AE003282F
+:10B7200002D1FD4807210170A16A786907F014F879
+:10B73000B060616A206A884202D90598016001E020
+:10B74000059908600598F54900680818F060A9880F
+:10B750000B98081A00B2002801DD022000E000204A
+:10B7600070710C9830700C98002805D03420005D62
+:10B77000002801D00220B5E70C9801214840203470
+:10B780006075397F32463846FFF70BFE0020A9E787
+:10B7900010B5E14900284A68116A096807D01268A3
+:10B7A000C98BDF4BD2695943891A09F0EFFA10BDF2
+:10B7B000F8B5D94F35227868016A0C680168525C87
+:10B7C000002A0AD0498E6288914206D1407A002828
+:10B7D00003D1D449D44809F0FCFB06F026FD01460C
+:10B7E0007868406907F04AFFFFF7D2FF79686588FB
+:10B7F0000B682E185A8EB24202DB521C5A8602E0A7
+:10B80000401C2818588608683622125C002A05D188
+:10B81000428E23899A4201D1521C4286088B03280A
+:10B8200002D2401C088302E00868408EA0802046B7
+:10B830004030C18A808A081A6188401E401885B24B
+:10B84000203416E0096AE67F097976004B00B74993
+:10B85000007DCB5A895BC91889B20023FFF7EBFD45
+:10B86000002811D0012810D0AF48AE493A3009F075
+:10B87000B0FB79680868428EAB1A1BB2002BE1DA84
+:10B880000820E07400F00BFEF8BD78680068418E77
+:10B89000491C4186EDE770B51F209F4D002128709F
+:10B8A000E960A868C27E130009F084FC04545403C4
+:10B8B0004654026A14680268117002685160006898
+:10B8C0002030407D002808D106F0AFFCA968096847
+:10B8D000096C07F0D3FE002815DCA86801684A8EC1
+:10B8E00061888A4204D12289511A6181628004E010
+:10B8F000511A61810168498E61800268C1681164D2
+:10B90000C16841610FE0A8680168098E6288891AE0
+:10B9100061810168098E618001680A6CC2600A6CED
+:10B920004261886C6066204601F06DFC00280ED0F4
+:10B930007B487C49BD3808E0C1684161FFF7D4F914
+:10B94000002804D076487749B73809F042FBF5F76C
+:10B9500038FD70BD72487349B038F6E710B56E4ACD
+:10B960000B00526809F026FC0906090F1E0C2D2D4C
+:10B97000082A2D00FFF78FFF10BD00F059FC10BD05
+:10B98000FDF7A9FE10BDD07E022805D0D07E032889
+:10B9900005D0644966480EE0FFF70AFF10BDFFF7C7
+:10B9A0000EFD10BDD07E0228F6D0D07E0328F6D042
+:10B9B0005F485C490B3009F00CFBF0E706F01BFC1C
+:10B9C00010BD23205749000109F003FB10BDF3B55A
+:10B9D00081B0514C029825460026012710350300FE
+:10B9E00009F0E8FB0906313C3C3143433C3C430051
+:10B9F000494801211030FFF78DFC02990198FFF7AB
+:10BA0000ADFFE87E022828D1A0680468006A0668B5
+:10BA100006F0EAFBF18B424A5143E269891AD339B5
+:10BA2000FF223232E162904202D24248081802E01C
+:10BA3000081A41494018E0624048E16A814200D852
+:10BA40000846E06206E001460198FFF787FFE87EBE
+:10BA5000022802D1286820300775FEBD01466560C6
+:10BA60000198FFF77BFF6660FEBDFF202D49C130C6
+:10BA700009F0AFFAFEBDF8B5064627480D4600248A
+:10BA80003430254F0B0009F095FB09060C10100C03
+:10BA9000161610101600204801213430FFF73AFC2A
+:10BAA00029463046FFF75AFFF8BD78603046FFF769
+:10BAB00055FF7C60F8BDFF201A49F53009F089FA7E
+:10BAC000F8BDF0B5144C0020616885B003268E7671
+:10BAD000CA7E0746032A03D0C97E00293FD03FE033
+:10BAE000087F002804D112480E49D93009F071FAB4
+:10BAF0006068057F684606710221417106F095FB7A
+:10BB00000290FF20F53003900121684601706946DC
+:10BB1000284607F004F814E0D0180020EF160000C3
+:10BB2000E2040000F4B6000074060000FC510100BD
+:10BB30001602000084F8FFFFB5F9FFFF161200009F
+:10BB400020BF6068007F07F025FE0028F8D06068FD
+:10BB5000007F06F050FB60680777FFF70FFC0120BD
+:10BB600061688F7605B0BEE5FD494A68907600E0D1
+:10BB700020BF4A68D07E002803D0D07E937E9842B2
+:10BB8000F6D0D07E002803D00020002191767047A7
+:10BB90000120FAE770B5F24900241031CA7EF04D59
+:10BBA000032A03D02431CA7E032A17D169600028F2
+:10BBB00010D001280AD0EB49EB4809F00AFA00201E
+:10BBC0006968002C0860686008D070BD0320FFF72A
+:10BBD000CBFF01E0FFF775FF0446F0E70C2070BDD6
+:10BBE000F8B5DF4F04461F25E67E330009F0E2FA80
+:10BBF000042A20031B20DA481030844203D0D9499C
+:10BC0000DA4809F0E6F902207C60FFF7ADFF002872
+:10BC100005D07968002008600862786012E00C2581
+:10BC2000002078600BE00120FFF7B4FF054604E038
+:10BC3000CE48CC490C3009F0CCF9002D02D0E07E82
+:10BC4000B042D1D1E07E002804D0C848C5491230A6
+:10BC500009F0BFF9F8BDC24810B51030FFF7C0FFBA
+:10BC6000BF483430FFF7BCFFBD490020583108758C
+:10BC7000BF494870BA49103148610A4624325061C0
+:10BC800088769076012210390A708860486010BD6D
+:10BC900070B504460120FFF723FBC5B20B20FFF768
+:10BCA0001FFBC0B2854204D0B048AE49343809F019
+:10BCB00090F90120FFF714FBC5B21820FFF710FB25
+:10BCC000C0B2854204D0A948A649333809F081F9A9
+:10BCD0000420C043FFF704FBC5B21920FFF700FBA7
+:10BCE000C0B2854204D0A1489E49323809F071F9AA
+:10BCF0009F489B490C38047000201031C876887624
+:10BD00000A462432D0769076994B0124083B1C7168
+:10BD100018600862106208601060FFF79CFF70BD39
+:10BD20008F48007870479249083908717047F3B519
+:10BD30000D468B4983B01031CA7E08462430884CAA
+:10BD4000002A02D1C27E002A03D0C97E022903D074
+:10BD500005E08848616006E0C17E002901D00C2022
+:10BD600000E76060844806F0F2F96168087760686F
+:10BD70007F490160007F002804D17B4879496238FF
+:10BD800009F027F906F030FA7C49884200D20846CB
+:10BD9000FF30C83086B260680321C1760027012DCC
+:10BDA0002FD0724A0399121D5143026851600068F6
+:10BDB00001210170684605F06BFC68460078704907
+:10BDC000000208F0E3FF019106F02FFA01997118C3
+:10BDD00006F0C2FC6168032DC86021D06948086183
+:10BDE000606803210172022141720771021D017F07
+:10BDF000FFF7D7FA6068078307202070002067608C
+:10BE0000B0E606F012FA314606F0A6FC6168C8609A
+:10BE10005D48086108680770096801204870DFE71D
+:10BE20005A48DCE77047F8B54D4E1036F17E0029D0
+:10BE300004D131462431C97E002901D00C20F8BD3F
+:10BE40000221F176464C4A4F5834083F376234603D
+:10BE5000002538602575397920304A004C49C07F6B
+:10BE60008A5A4000085A2B46101881B22A462846A2
+:10BE7000FFF7E1FA002804D03B483A49323009F094
+:10BE8000A8F825610120A5602075658625863448BF
+:10BE90007830857539684888401E48803583002091
+:10BEA000F8BD10B52E4901248868827E032A0CD083
+:10BEB00000684078002806D0C8683649884202D910
+:10BEC0000024FFF70DF8204610BD0024FBE72448AE
+:10BED000826813681978491C1970C1681068C26AB1
+:10BEE000914204D8007D012801D001207047002034
+:10BEF000704700207047F8B51948194C1030606041
+:10BF0000016A00260D68006834212F460E54403720
+:10BF1000B97C002963D1007D032860D106F085F942
+:10BF200001466068406907F0A9FB002857DDFFF76C
+:10BF30002FFC6988401C41186068026811860068FF
+:10BF40002989028E91424AD9012120308175F88ACF
+:10BF5000B98A401A6988401E401887B238E000004C
+:10BF6000D0180020F4B600008D0300006D02000020
+:10BF700088000020CFB9000077BA0000F605000065
+:10BF800010270000CB120000B7891300B70800008B
+:10BF9000FC5101002E841300096A09794A00CD4939
+:10BFA0008B5A028E007D94463F22525D5200895A80
+:10BFB000C91889B201236246FFF73DFA00280ED066
+:10BFC00001280ED002280AD0C349C44809F001F85C
+:10BFD00061680868028EBA1A12B2002ADCDA66605A
+:10BFE000F8BD60680068018E491C0186F0E7F8B56D
+:10BFF000BB4D0026AA680128116A0C6810D00720E2
+:10C00000287006F05DF8B7480078F6F7AFFDA8682D
+:10C010000683026861885186006820308675F8BD05
+:10C02000087913684100AB481F7D415A032F18D08F
+:10C030001A7D022A22D01A7D012AE2D13F231B5DFC
+:10C0400022895B00C05A0023401881B20120FFF70B
+:10C05000F2F90028D5D0A1489F49B53008F0B9FFC2
+:10C06000CFE71E6112683F2396601B5D22895B004B
+:10C07000C05A0023401881B20320E8E75822125B1F
+:10C080001A613F231B5D22895B00C05A00234018C0
+:10C0900081B20220FFF7CFF9AA6801211268117559
+:10C0A000D7E738B58E4C0021A0680D46006842786D
+:10C0B000002A01D045701FE00078002809D0012136
+:10C0C000684605F0E5FA684600788749000208F0FE
+:10C0D0005DFEA0680268C0685268511806F03CFB1B
+:10C0E0000146A068C160057102214172021D017FF5
+:10C0F000FFF757F9A068058305F0E2FF794800785B
+:10C10000F6F734FD38BD10B50146754A0B0090684E
+:10C1100009F050F8060D150408190C1C012100F057
+:10C12000A6F807E00021506800F0A1F810BD01203A
+:10C13000FFF75DFF00210846FFF7ECF810BD00682F
+:10C140000321017510BD00F0A5F810BD62496748D4
+:10C1500008F03FFF10BD70B5614C002809D00128E0
+:10C1600016D0022821D061485B49243008F031FF05
+:10C1700070BDFFF796FF00210846FFF7CBF8A068D7
+:10C18000807E002801D01F2000E00720207070BDB5
+:10C19000A068002501684D70FFF7F0F80320F6F75E
+:10C1A00023FC05F08DFFA56070BDFFF77AFFA06846
+:10C1B000FFF7E4F800210846FFF7ACF80420F6F793
+:10C1C00013FC70BD46498968CA7E022A08D10A68F4
+:10C1D0001378002B04D150600968CA6A1018C8622D
+:10C1E000704710B53E4A00290CD0012907D002291A
+:10C1F00007D03E483849443008F0EBFE10BD401EE1
+:10C2000000E0401FD06010BD35488068002800D095
+:10C210000120704710B504460020002907D034489B
+:10C2200008F0B4FD0146204608F0B0FD401C10BDEA
+:10C2300010B52B488068C07E030008F0BBFF0414D3
+:10C2400014030A1401F0F2F800280BD022492948FF
+:10C2500006E0FEF725FE002804D026481E49001DF2
+:10C2600008F0B7FE10BD23481B490B30F8E710B5A6
+:10C270000446002903D00020FFF7B9FE03E0194867
+:10C280000078F6F773FC2046FFF778F80020F6F701
+:10C29000ABFB10BD10B512488268106A11680068C7
+:10C2A000CB698B60134BC18B9B3359431368D960A7
+:10C2B0000146E0314B8883870C783B231C548B88E4
+:10C2C000C383CB88038409894184116802200875DF
+:10C2D00010BD0000FC510100F4B600005A06000039
+:10C2E000D01800207C00002010270000B2070000BA
+:10C2F00040420F0047040000F8B5FEF702FA064678
+:10C30000FEF770FAF94D07466879F94C002809D014
+:10C31000012823D0022826D003282ED0FF20F5A103
+:10C32000C63033E0F2481830FEF748FA002801D052
+:10C3300003200FE0EE481830FEF7ACF9002804D0D7
+:10C3400060696030007A002806D0E9481830FEF7AE
+:10C3500008FA012068711BE00220FBE7E44818306E
+:10C36000FEF7FFF914E0E2481830FEF793F90028D1
+:10C370000ED1FF20DFA1B83008E0DD481830FEF70D
+:10C380001DFA002804D1FF20DAA1C03008F021FEF8
+:10C39000A169F722087810400870AA79D207120F15
+:10C3A0001043FB2210400870EA79D207520F104365
+:10C3B00008706B79EF22022B04D0012B07D0032BDE
+:10C3C00007D00CE0012E06D8002F04D007E07F1E16
+:10C3D0003E43002E03D010401022104300E01040D6
+:10C3E0000870287C002811D0687901280ED0BF4839
+:10C3F0005438FDF786F8BD49606954397830A26930
+:10C40000FDF7E3FA0020FDF7EFFA04E00846FDF738
+:10C4100078F8FDF70CFBA0690078C00606D4E06947
+:10C420000078C00602D4E079002802D0A079002864
+:10C4300001D0012000E00320FCF747FF032020701B
+:10C4400001202071F8BDAA4810B51C30FEF7DDF9B7
+:10C45000A74C002802D00020607004E0012060702A
+:10C46000A2485438E061A148407C002802D060789E
+:10C47000002805D0E069FDF744F8FDF7D8FA10BDB3
+:10C480009A485438FDF73DF8984A6069543AA0300C
+:10C49000E169FDF79AFA0120FDF7A6FA10BD10B583
+:10C4A00093490022486932238276C27601221A54C7
+:10C4B0004030807C002803D00A700021022001E077
+:10C4C00000210320FFF71FFE10BD70B5884C607976
+:10C4D000C2062046416908464030002A01DA00229F
+:10C4E00002E0028B4B89D2180B460283C0331A7EBE
+:10C4F000002A03D0828B4D8952198283627A002AE6
+:10C5000003D03D2001F0C9F852E08A7E032A4FD0C3
+:10C51000227A002A13D0500701D4D00601D51E205C
+:10C5200036E0100701D53D2032E0D00705D1900755
+:10C5300003D470A1734808F04CFD2A2028E0603134
+:10C540008A78002A05D0C28B551CC5830D88AA4263
+:10C550000FD25A7F062A02D01A7F062A05D1428BB3
+:10C56000531C438309888A4203D2828BC18A8A4240
+:10C5700001D322200CE0027C808A002A0FD00628FA
+:10C580000FD35A48C07B012801D03E2000E008208C
+:10C5900001F083F86069807E032809D001E08842B9
+:10C5A000F5D20120207000210846FFF7ACFD70BDD8
+:10C5B000FFF775FF70BD10B54C494D48CA7B002A86
+:10C5C0002BD0012A29D0022A27D0032A04D049A13E
+:10C5D0004D4808F0FEFC10BD897B02290FD00729C9
+:10C5E0001BD0406901464031CA8A898A511A891E86
+:10C5F00089B2032900D30321028951180BE0406955
+:10C60000014640318A8A032A01D2018903E0428827
+:10C61000C98A5118491C818010BD4069F5E700B5F1
+:10C62000030008F0C7FD0604070B0F1212170029BC
+:10C630000ED00FE0491E02290AD90BE0491F01293B
+:10C6400006D907E0072903D004E00A390C2901D8EC
+:10C65000012000BD002000BDFEB50546244818306D
+:10C66000FEF78DF8002804D1274822A1CF3808F022
+:10C67000B0FC1F4CA069FDF703FC0321A069FDF786
+:10C680002DFCA069EF220178114001702946FDF7C9
+:10C6900069FC002601272B0008F08CFD0E5D5D086B
+:10C6A0005D1D6161155D4D5D613D385D60697121A4
+:10C6B000095C002901D0062101E0C030417EA0695B
+:10C6C000FDF71BFD4BE0E069FDF776FC0146A06934
+:10C6D000FDF784FD43E06169A069D031FDF747FDB6
+:10C6E0006169A0699531FDF750FD38E0C819002057
+:10C6F000900000207372635C6C6C5F736C61766594
+:10C700002E6300006B020000780800000621A0697B
+:10C71000FDF760FD23E020690178A069FDF744FD85
+:10C7200020698188A069FDF741FD20694188A069E1
+:10C73000FDF740FD13E00096019660696030007CD3
+:10C74000002803D069460878384308706946A06914
+:10C75000FDF756FD03E0FE49FE4808F03AFCFEF7FF
+:10C7600018F8002804D1FB48F949801D08F031FC75
+:10C770000C2D07D0072D04D060695E210E52603069
+:10C780008770FEBD606940304683FEBDF0B5F24C57
+:10C79000DC2061698DB0405C042809D0052834D1C3
+:10C7A0006031487A002829D001204874022026E010
+:10C7B0001022EA31684600F0A8FF61691022C831F2
+:10C7C00004A800F0A2FF684605F0BBF8616908AA5A
+:10C7D0006CCA0F46CB6778378A670846FE608030A0
+:10C7E000BD60074620376CC7002303634363012005
+:10C7F000A0310876D9494874052000E00D20FFF7E4
+:10C800002BFF61690020C03108770DB0F0BDF8B58D
+:10C81000D1481830FDF7B3FF002842D0CE4C207A23
+:10C8200000283ED160690025C030007ECB4E002834
+:10C830000BD0B17B0120FFF7F2FE002805D1B17BC0
+:10C840000420FFF7ECFE002806D060690127C03005
+:10C85000407F062807D00CE060695C210D526030F3
+:10C86000457402202FE0B17B0420FFF7D8FE00289A
+:10C8700010D0B07B030008F09DFC173F3F3F3F1EE8
+:10C880003F3F3F3D3F203F3F3F292C3F3F3F3F3F02
+:10C890003F2F3F0060696A21095CC90702D0C030A0
+:10C8A0004577F8BD0C20FFF7D7FE60696030817ACC
+:10C8B00039438172F8BD072005E0FDF7D0FF00285D
+:10C8C000F8D075740B20FFF7C7FEF8BD00F02CFF01
+:10C8D000F8BDFFF75BFFF8BD606900218030816023
+:10C8E000C160057437740620FFF7B6FE60696030DA
+:10C8F0008570F8BD0920E6E700F0D8FEF8BD70B5F8
+:10C90000964DA87B072834D1934CDE22606941887C
+:10C91000125A491C91422CD1217A002929D1014671
+:10C92000E0318B88C28B934207D1CA88068CB24211
+:10C9300003D10A89468CB2420DD0884A8689303AA2
+:10C9400056819381CB88D3810989118201462E318A
+:10C9500051600121117001221146FDF79FFC002159
+:10C960000420FFF7D0FB61690020C0314877A8732D
+:10C97000E87370BD70B5794CA07B162803D074495C
+:10C98000774808F026FB74480021426973486032FA
+:10C99000117291703038067E0B250123002E06D0CF
+:10C9A000027D002A12D14575817503750EE0567A15
+:10C9B000002E06D051722288828381760C22027664
+:10C9C00004E022888283817683770576A17370BD27
+:10C9D000F8B5614DA879800723D5287A002820D1A1
+:10C9E0005E4C0120A17BFFF71AFE002819D1A8692F
+:10C9F0000127C0780026030008F0DCFB0E62620805
+:10CA0000622E3B4F0A62146220524562022021E0EE
+:10CA1000A07B042804D052484D49333808F0D9FA95
+:10CA2000A673F8BDA07B082804D04D4848492D388E
+:10CA300008F0CFFA686960308670F1E7A07B0A28B9
+:10CA400004D047484249263808F0C3FA6869603084
+:10CA500007720B20A073F8BDA07B0E2804D0AB207A
+:10CA60003B49C00008F0B5FA6869603007720F20D2
+:10CA7000F0E7A07B0F2804D039483549183808F072
+:10CA8000A8FA1120E6E7A07B0F2804D034483049EB
+:10CA9000123808F09EFA1320DCE7FFF76BFFF8BDB1
+:10CAA00069690846C0310A7F062A04D16030807A5D
+:10CAB000800700D50E77487F0628F0D14E77F8BD65
+:10CAC000274823496E3008F084FAF8BD10B5234C8E
+:10CAD0000020A17BFFF7A3FD002804D11E480122FE
+:10CAE000017A114301720420A07310BD10B51A4CD5
+:10CAF00060690146C0314A7F002A06D0097F0629B5
+:10CB000003D0217A0122114321726030807A80079C
+:10CB100015D4E069FDF752FB61696031C872E069C4
+:10CB2000FDF74EFB616960318881E069FDF74DFBDF
+:10CB3000616902226031C881887A10438872606915
+:10CB400000220146C0310B7F062B00D10A7709E095
+:10CB5000F4C60000ED07000090000020C819002076
+:10CB6000770500006A231B5CDB0703D106234B77A4
+:10CB70004030428310BDF8B5FE48817B0020FFF7AE
+:10CB80004EFDFD4C0126002807D160696030407AD7
+:10CB9000002802D1207A30432072616900255E208E
+:10CBA000455262204654C831E069FDF7C8FA616910
+:10CBB000E0699131FDF7D2FA6169042208469131AA
+:10CBC000B93008F069F8EB483038017E08270029B1
+:10CBD00006D0017D002912D14775857506750EE0D6
+:10CBE0006169054689894183E249E0691439FDF7A5
+:10CBF0008EFAE049E0690C39FDF796FA2F76DD48A8
+:10CC00000E218173F8BD70B5DA4D0020A97BFFF7C6
+:10CC100006FDD94C002803D1207A01210843207257
+:10CC2000E069FDF730FA00280ED0E069FDF726FA3A
+:10CC30006169DE225052498800F0C1FD002806D00B
+:10CC4000282000F02AFD70BDFFF740FF70BDE069AD
+:10CC5000FDF70EFA6169E0310870E069FDF701FA4D
+:10CC60006169E0314880E069FDF7E0F96169E03130
+:10CC70008880E069FDF7E3F96169E031C880E06927
+:10CC8000FDF7E6F96169E03108810720A87370BDFE
+:10CC9000F8B5B94CA079C0076FD0207A00286CD1C4
+:10CCA000B44D0120A97BFFF7BAFC002853D1E069FD
+:10CCB0000027C178022201260B0008F07BFA0D162E
+:10CCC0001308354A4A384C474A1929444A00FDF7A7
+:10CCD00016FA6169DA225054AE735E204752603111
+:10CCE0008E7038E000F076FD35E0FFF78CFF32E023
+:10CCF000A97B0020FFF793FC002802D1207A304363
+:10CD0000207260695E210F52603086700A2018E040
+:10CD1000A87B0B2802D0207A104320722F74606900
+:10CD2000603046720C200CE0FFF725FF13E0A87B73
+:10CD3000112802D0207A1043207260696030877019
+:10CD40001620A87307E0FFF7D1FE04E000F00FFD06
+:10CD500001E0FFF7BBFEFDF76EFD002804D14F2078
+:10CD60008649000108F035F9606900238030016BC5
+:10CD7000426B491C5A4142630163F8BDF8B57D4FCF
+:10CD8000012814D1787C002802D1387C002801D0F9
+:10CD9000FCF74DFEFCF7E0FBFCF7D3FB0020FCF7B3
+:10CDA00094FAFCF71EFBFCF760FBFCF7A5FBF87B95
+:10CDB00001260025704C00280FD16079C10705D0ED
+:10CDC0000220F87360694030057402E0800717D5CF
+:10CDD000FE7300210120FFF796F9F87B012802D0AD
+:10CDE000022808D00CE06079C00709D00220F8734F
+:10CDF0006069403005746079000701D50320F8733D
+:10CE000000F018FDFFF703FD2079002801D03D81D7
+:10CE100002E03889401C38816079C007606904D01D
+:10CE200072210D544030858203E04030818A491CD4
+:10CE30008182E079002806D061696031887C02280F
+:10CE400006D8401C887460696030807C022804D950
+:10CE50003D817D81606960308574B97B0020FFF77A
+:10CE6000DEFB002802D1B87B06284BD16069014661
+:10CE7000C0310A7F062A45D0497F062942D03D4964
+:10CE8000C97B03293ED16030807C00283AD1FDF770
+:10CE90002FFC002836D0FDF7A5FC002832D06169B0
+:10CEA000C88801282ED90A4640325674D08A978AFB
+:10CEB000831E9F4201DB012002E0C01B401E80B2A6
+:10CEC0002C4B1F89A3899F4201D3012302E0DB1B66
+:10CED0005B1C9BB2984200D91846012800D15574BA
+:10CEE0002A22525C002A11D0224A898D52898A4214
+:10CEF00001D3012102E0891A491C89B2884205D96F
+:10CF0000084603E06169012040314D7461694A8837
+:10CF100010180881FFF74FFB6069122215490C3089
+:10CF200007F0BAFEFFF7D1FAFEF7E3FF00280AD0B8
+:10CF3000104810388179002905D161690246898934
+:10CF4000203A118586710C481C30FDF7BCFC002886
+:10CF50000FD0E06900788007800F012809D00228EF
+:10CF600007D0FDF7D0FC002803D10449044808F09D
+:10CF700030F807E0C819002090000020F4C6000037
+:10CF80007F030000606940308574F8BD70B5FE4CC9
+:10CF9000607900283CD0FD4D022810D1FDF789FBB7
+:10CFA000002803D1FA49FB4808F013F86A69002306
+:10CFB00080329068D168401C5941D1609060002651
+:10CFC00066712079012804D12671A87910210843BF
+:10CFD000A871E078012816D1E670A87908210843E5
+:10CFE000A871FDF7F5FB002804D1EA48E84918309C
+:10CFF00007F0EFFF6969002380318A68C868521C16
+:10D0000058418A60C860A079012802D00120A0712F
+:10D0100070BDA67170BDF8B5DC4CDB4DE269002730
+:10D020001078042183079B0FE8790126012B11D08A
+:10D03000022B0FD0032B01D0207A30E06178002939
+:10D0400005D1AE70A1793143A17123E0EF71F8BD34
+:10D05000EE71F8BD5278D3061CD060780028F8D164
+:10D06000D006C00E1B2818D8607908436071FDF700
+:10D07000E2FB002804D1C748C5494B3007F0A9FF9F
+:10D08000606900238030026B416B521C594102637E
+:10D090004163E8790128DBD1D8E7207A10210843E1
+:10D0A0002072F8BDF8B5B84D0446303D287D002704
+:10D0B00000280AD0002978D1677010202070687D80
+:10D0C000A070A87DE0702F756FE02878002814D03C
+:10D0D00000296AD1072067702E462070083607E0C5
+:10D0E000686807802F700A223146A01C07F0D4FD23
+:10D0F00028780028F4D1A77057E0287EA24E143E6D
+:10D10000002837D0002950D1297EA0480B0008F014
+:10D1100051F80D2C2C2C2C2C2C2C2C112C2C2008C8
+:10D120002C0067700C212170A97EA1704069808954
+:10D13000A08018E008216770217040690A46808944
+:10D14000914960801439201D07F0A6FD3089A08127
+:10D1500009E067700B212170A97EA1704069808968
+:10D16000A080A87FA0712F761FE089498A4807F028
+:10D1700030FF1AE0844810388279002A08D000294C
+:10D1800013D1677011212170B189618087710CE022
+:10D19000827A002A0BD0002907D1677012212170F2
+:10D1A000318A6180718AA18087720120F8BD0020D8
+:10D1B000F8BD76480078012801D00C2070477249EC
+:10D1C0000020303908700875087620318871704762
+:10D1D00070B56E4C064620780D46002804D093208A
+:10D1E0006B49000107F0F5FE01202661E07225621F
+:10D1F0002070FFF7DEFF002804D0674864494930FB
+:10D2000007F0E7FE70BDF8B5604C2178012902D126
+:10D210002178012901D00C20F8BD01460546606146
+:10D2200012220C31584807F037FD01274035AF7402
+:10D23000554D2888FDF723FA002827D02888FDF7C8
+:10D24000D9FA002822D02888FDF78EFA00281DD0B0
+:10D250002888FDF7A8FA002818D0FCF742F9606981
+:10D260000026C088002825D048481830FDF787FAE6
+:10D2700000281FD06069C030007E00281AD0A97B2A
+:10D280000120FFF7CCF9002802D013E01220F8BDEE
+:10D29000A97B0420FFF7C3F900280BD16069014680
+:10D2A0004030868360314E740220FFF7D5F9606903
+:10D2B00040304674344830380078002806D1606920
+:10D2C000C18D008C814201D9A18102E06069008C8E
+:10D2D000A08160694189491E8AB2298989182981FA
+:10D2E000297B002902D06E812E7302E0698989189A
+:10D2F0006981014640318B8A9B188B82C388012B40
+:10D3000001D85B1CC380002A01D060308674A87BE2
+:10D31000032816D0487C002815D02889A189884286
+:10D3200011D2FDF7E5F900280DD060692A21095CCA
+:10D3300000290BD06989808D814207D3A670E770E0
+:10D340000CE0A7700AE0A670E67007E0688900218B
+:10D35000401C6881A7700520FEF7D5FE6069512149
+:10D360000E54A97B052901D0062920D1DE2142884F
+:10D37000095A511A09B2002919DB01460522E03188
+:10D380002430F3F721FF09E0C819002090000020A5
+:10D39000F4C6000039070000F10800000122022154
+:10D3A0006069FCF77BFF6069C0304677AE736069E7
+:10D3B0004189FDF728F8A07800282AD1606920303B
+:10D3C000807A002800D06E810120FBF788FE60691A
+:10D3D0003830FCF73EF860693430FBF751FF216AC2
+:10D3E00000200856FBF718FF0120FCF777F8FBF741
+:10D3F000D1FEFCF76FF80120FBF7B1FF6069406ECA
+:10D40000FCF782F8FFF71FF860694030C07BFBF73C
+:10D4100040FF6671E671A6712672A6726672267169
+:10D4200002202070FCF768F80020F8BD10B5F74C1A
+:10D430002078022801D00C2010BDA078002803D04D
+:10D440000020FFF79BFC17E0FCF74BF800F01DF9FC
+:10D4500060692030007C012809D0FCF79FF8FBF7B9
+:10D460009EFEF3F7AEFFE07A012803D004E0FCF75C
+:10D470009DF8F4E7F5F7CCFD002010BDE349C87234
+:10D48000704710B5E14C2078032803D0E049E1480B
+:10D4900007F09FFDE04801218278002A06D0002293
+:10D4A00082700171A27904231A43A271A2691378D0
+:10D4B000DB439B0707D1C378002B04D1C170A0794F
+:10D4C00002210843A0711078C00606D4E0690078F4
+:10D4D000C00602D4E07900280CD06078002809D179
+:10D4E000A079002806D1FEF7F2FC002802D0207AAD
+:10D4F000002803D00120FFF741FC03E0FEF7A3FF63
+:10D5000000F0C3F82078012806D0F3F75AFFE07A3C
+:10D51000012801D1FCF7DAF810BD38B5BB4C6069C1
+:10D520002030007C012820D1A07A00281DD1684637
+:10D53000FCF744F8002818D061693120405C0128CC
+:10D5400010D1B54A0D236D460020D356285683428C
+:10D5500008D050738989303A9185114620318873FB
+:10D5600001208872A07A401CA07238BD70B5A74C0B
+:10D5700006462078042804D0A648A549553007F06F
+:10D5800028FD607910210843A34D6071002E47D01B
+:10D59000FCF765FA61780126084300280ED1687C03
+:10D5A00000280BD0E0694178C90607D00078E979F6
+:10D5B0000007C00F884201D1667247E0E07800287A
+:10D5C00009D0E0694178C90605D10078C00602D4C7
+:10D5D000FFF7A3FF3AE0FFF7A0FFE069A979007821
+:10D5E0004007C00F884205D0FFF7D0FC60790821C2
+:10D5F00008436071E069E97900780007C00F88424C
+:10D6000001D1FFF708FD6079304360710020E071BF
+:10D61000A079000702D5A87B022817D0207A13E052
+:10D62000022108436071E079401CC0B2E07101281A
+:10D630000CD8687C00280DD0774854384078C10653
+:10D64000C90E052906D2C006002803D00120FFF725
+:10D6500095FB01E0FEF750FE2078012806D0F3F795
+:10D66000B0FEE07A012801D1FCF730F870BD10B5AA
+:10D6700066480078042804D066486549B73007F04A
+:10D68000A8FC0120FFF77AFB10BD10B50720FBF7BF
+:10D690001CFE5E490420087010BD5C4933224969B4
+:10D6A00050545D4A032090738876704710B5574CEC
+:10D6B0006069C030007F00281CD0062806D056487C
+:10D6C000817B0020FEF7ABFF002813D06069014684
+:10D6D000C0310A7F130007F06DFD070D0D0D0D0D14
+:10D6E0000D050D006030807AC20704D0C04380076A
+:10D6F00000D1087710BD0C20FEF7AEFF6069012253
+:10D700006030817A1143817210BD10B5002A0AD0B1
+:10D71000002306E0D41A6418203CE47FC4545B1C48
+:10D72000DBB29342F6D310BD10B503F0B0FF0C2866
+:10D730001CD3364C08216069D03003F0A9FF0028C3
+:10D7400006D060690421953003F0A2FF002803D1C0
+:10D750002F49324807F03DFC6169042208469531A3
+:10D76000BD3007F099FA0420FEF776FF10BD7CB5B6
+:10D77000294E0020B17BFEF752FF0125234C0028E3
+:10D7800002D1207A284320726946E069FCF73EFD09
+:10D79000684600780021C207D20F684602706069AF
+:10D7A000002A02D06030057401E0603001746069C5
+:10D7B0005E221152603085700820B0737CBD401A23
+:10D7C000174900B2884201DC002801DC01207047C3
+:10D7D0000020704770B5104D0020A97BFEF71FFF99
+:10D7E0000A4C002803D1207A012108432072E06905
+:10D7F000FCF77EFC6169DE2250524988FFF7DFFFAB
+:10D8000000280FD02820FFF748FF70BD90000020AF
+:10D81000F4C60000330A0000C819002062060000A8
+:10D82000FE7F00006169E069E031FCF755FC0520EE
+:10D83000A873EAE770B500F047F8384C384D6079C6
+:10D84000400709D5A97B0520FEF7E9FE002803D093
+:10D85000207A082108432072FFF71AFA00F012F824
+:10D86000FFF7B6F8A079C00609D5A87B030007F03A
+:10D87000A1FC06060606060604060620A873FFF7A6
+:10D880003EF8C2E710B525488179490714D5017AD9
+:10D89000002911D12249897B0B0007F08BFC080D70
+:10D8A000050D0D0D0E0D100D4069002262210A5468
+:10D8B000C030807EFFF7F1FE10BD012100E00221A3
+:10D8C0004069C030417710BD10B51448817909070F
+:10D8D0001DD5017A00291AD1114A947B230007F043
+:10D8E00069FC1416160B16161616161616161616AC
+:10D8F0001616161616161716406960308170407C91
+:10D90000002801D0062000E01620FFF7C6FE10BD5B
+:10D910004069603001728170917310BD90000020E9
+:10D92000C819002010B5031D03600020521E04E03A
+:10D930005C181C60401C2346C0B29042F8DB0020FB
+:10D94000186010BD01460A680020002A02D0104667
+:10D9500012680A60704702680A6001607047000040
+:10D9600000B51A2822D00ADC030007F023FC0D11B1
+:10D970001F131F1F191915171F1F1F1B1F002A28F0
+:10D9800014DD3A38030007F015FC030F11091100EC
+:10D99000002000BD1E4800BD042000BD0D2000BDBC
+:10D9A0000F2000BD082000BD112000BD032000BDD8
+:10D9B00010B50C46F4F784FF00281AD02046F4F77F
+:10D9C00084F9002812D020780E280BD00F2809D017
+:10D9D000022807D0032805D00EA1772007F0F9FA16
+:10D9E000002010BDA078FFF7BBFF10BD09A17D206E
+:10D9F000F4E708A18320F1E710B5F4F7EDF810BDC6
+:10DA000010B5F4F762F910BD10B5F4F744F910BD84
+:10DA1000023000007372635C686F73745F686369DF
+:10DA20002E630000F0B597B00021032004F082F9C6
+:10DA30000025FE4E022775807574347C12E0F06874
+:10DA4000E1004018818800290CD0858069460F705C
+:10DA50004D7001680291808869468880002168467F
+:10DA6000F8F702FD2046641EE4B20028E7D117B0A3
+:10DA7000F0BDEE4BD86019741A80D3E7EB49EC4B3C
+:10DA80004A8800201A4200D00120497C002901D098
+:10DA9000082108437047F7B504460E460078012177
+:10DAA000E34A8140521C114098B0E04A00915188ED
+:10DAB000E04B994205D0009B002B05D0DC4B19426E
+:10DAC00002D001201BB0F0BD009BD84A1943518001
+:10DAD0001A9D002D11D00020287022781A98002756
+:10DAE000401C130007F066FB10EF0D152137555D44
+:10DAF0006A39AFAB85B3EEEDECEF0B28EDD0042027
+:10DB0000E0E702212970A1880170090A4170032011
+:10DB100093E004212970A1880170090A4170E1880D
+:10DB20008170090AC170052087E006212970A1884B
+:10DB30000170090A4170E1888170090AC170218968
+:10DB40000171090A4171A289E81D216907F0A4F851
+:10DB5000A089C01D71E0082129702178082901D110
+:10DB600010212970A1880170090A4170E188817033
+:10DB7000090AC1700520308020466A1D01A90830BD
+:10DB800003F0CFFB00287DD1694630880979401821
+:10DB900053E00A212970A1880170090A417003200D
+:10DBA0000AE00C212970A1880170090A4170E188FE
+:10DBB0008170090AC170052030809DE0A0888446EC
+:10DBC0004000401C81B2308888425BD3052959D37C
+:10DBD0000E202870002008E0A36842009B5A5219CA
+:10DBE00053701B0A401C937080B26045F4D331809F
+:10DBF000B6E08E49487C002873D0401E4874C8683F
+:10DC000021790822C9004518A988286840180838D1
+:10DC1000A16807F041F802216846017100214171B5
+:10DC200028680390A98868460181002101A8F8F7B7
+:10DC30001BFC0020A880002E00D0308090E02978C6
+:10DC400080221143297029784022114329702978B4
+:10DC50008909890112312970A1880170090A41706E
+:10DC6000E288E81CA16807F017F8E088C01C308043
+:10DC70002878410640D5C00972D00121684601715B
+:10DC8000002100E02BE041713188ED1C091D01816C
+:10DC90001A980390E08840190490001D634D059088
+:10DCA000297C68460176002101A8F8F7DDFB0746CC
+:10DCB00030880C303080022F06D0002F50D060E02A
+:10DCC0003CE032E01CE059E06946097EE868CA00A1
+:10DCD00080182A7C914202D28188002902D0042730
+:10DCE0004FE02EE0697C491C69741A990160318803
+:10DCF00081800020308044E04C48A188C1802FE022
+:10DD000029788909890116312970A1880170090AC9
+:10DD10004170E1888170090AC1702289681DE1683B
+:10DD200006F0BAFF2089401D46E728788009800167
+:10DD3000183028702079687002207EE73B480A047A
+:10DD400001D405271DE00289A3889A4201D0062745
+:10DD500017E01E222A70012249043280490C4180BA
+:10DD6000009800280DD0314D0022288811468300EC
+:10DD7000032003F03AFF2078287107E0002030806C
+:10DD800003272A48009942888A434280384699E608
+:10DD9000F7B59AB002000C4606D0172A04D82348DB
+:10DDA000244B4088984202D107201DB0F0BD237853
+:10DDB0005D0601D4DB0901D00820F6E700236D469B
+:10DDC0002B706B701D462378611C9F06931E189361
+:10DDD000531E19939BB2169302AB1793134BBF0EAE
+:10DDE000DE883B0007F0E6F9208511F15EF16BF16A
+:10DDF000A3F1C6F1F2F1FBF1EEF1EDF1ECF1F1F18D
+:10DE0000EBF1EAF1E9F1E8F185F1052A71D104229B
+:10DE100069460A7005490A7969460A71E178A3786A
+:10DE20000A021A436946CA80227905E0DC190020FB
+:10DE3000FE710000FFFF00004A7061788906890EBC
+:10DE40000C2923D009DC891E0B0007F0B3F9091354
+:10DE500052155219521B521D520012291CD004DCBB
+:10DE60000E2915D01029D1D114E0162916D0182961
+:10DE7000CCD115E0800700E04007002839DA2AE11C
+:10DE80000007FAE7C006F8E78006F6E74006F4E781
+:10DE90000006F2E7C005F0E7C004EEE78004ECE717
+:10DEA0004004EAE7800724D5032AAFD105206A465B
+:10DEB0001070487809780002084390800BE1400711
+:10DEC000F1D5062A15D31898617880B2012902D0BD
+:10DED00002299BD101E0022700E0102706226946B3
+:10DEE0000A7000228A8001AEA11C0236BA1C179269
+:10DEF00018E0B6E04A780B7812021A433280801E8E
+:10DF0000891C1890B21C1691384603F0E4F9169952
+:10DF100018986B469A88C919C01BB61D521C9A8066
+:10DF2000179A80B28242E5D900289CD1D3E000073D
+:10DF3000B9D51998694682B20720087000208880F8
+:10DF4000601C891D11E0437806781B0233430B8067
+:10DF5000C37886781B0233434B806E46121FB3880A
+:10DF6000001D091D5B1C92B2B380042AEBD2002A6B
+:10DF700077D1B0E0C00674D5022A72D31898082170
+:10DF800082B2684601700021C18063780371A01CD1
+:10DF900017990EE04678077836023E430E80861CBD
+:10DFA0004E606F46D21AFE88C0180831761C92B2B5
+:10DFB000FE809342EED9DAE76FE076E065E051E06B
+:10DFC00046E01EE014E00AE000E0A0E0800648D54C
+:10DFD00009206A46107096801698D0800FE040069F
+:10DFE0003FD50A22684602708680169AC28006E0F3
+:10DFF000000636D50B206A46107016989080029164
+:10E0000069E0C0052DD5022A7FD318980C2182B271
+:10E01000684601700021C18063780371A01C1799C4
+:10E0200013E04678077836023E430E80C67887783C
+:10E0300036023E434E80061D4E606F46D21AFE8861
+:10E04000C0180831761C92B2FE809342E9D98EE75F
+:10E05000C0045AD5012A58D10D2168460170868026
+:10E0600039E052E0800450D5052A4ED30E2368468D
+:10E0700003708680C8788B78010219436846C18096
+:10E08000521F0281601D039025E040043DD5012A06
+:10E090003BD10F20694608701DE0030435D44B784E
+:10E0A0000E781B023343244E3381032A2DD31B2FBA
+:10E0B00027D011236E46337001261F4BF6033043E1
+:10E0C000588048780B780102194368468180D21E37
+:10E0D000C280E01C029020788006800E1B280AD0A7
+:10E0E0001D2808D00021032003F024FE1248418897
+:10E0F000C90BC903418068461C99F8F7B5F9284651
+:10E1000053E610206B461870DBE70725F7E7082574
+:10E11000F5E700B50022D243074997B04A800328AB
+:10E1200007D1032268460270097901710021F8F7CE
+:10E130009BF917B000BD0000DC190020FFB589B0C5
+:10E140000020019009981027FE4C1E46154608280D
+:10E1500006D0E06901F05EF8002809D03770BEE013
+:10E16000288809213843108013980227017016E08F
+:10E17000E169012088710521E269C9029180E169A4
+:10E180008872E169F0480881E16900208873288875
+:10E190002021084328801121139804270170139827
+:10E1A0000225801C0290307806900A203070E548E5
+:10E1B0001830049001F022FA0020059020462C30FF
+:10E1C00003906DE00998102808D1022D06D001991E
+:10E1D0000298A28D401A8270110AC170E08D0A99CE
+:10E1E000884202D901F0CDF806E0884204D10698B1
+:10E1F000002801D030701CE00298E18D0170090AFE
+:10E20000417012980088401BC01B82B2FF20C01BC7
+:10E21000904200D2024607A8009002980021C3193C
+:10E22000E08D01F056FA3070002805D0C0B2832886
+:10E2300058D0E08D20833EE00598002804D0206C63
+:10E2400000790A282CD336E06846808BC119C9B200
+:10E250000191022D0DD01399019A4978914202D172
+:10E26000228F824208D00191206C0178032908D0C6
+:10E2700023E0084613994870206C0178042906D0E1
+:10E2800007E000790A2818D20120059008E0E18D06
+:10E29000818002990198081802900198281885B287
+:10E2A0000399049801F0ADF9002804D11298008870
+:10E2B000401BB84286DA022D0DD00998102806D1ED
+:10E2C00002990198A28D081A8270110AC1701298E1
+:10E2D000058000203070206C0078032802D00020D8
+:10E2E0000DB0F0BD0220FBE7F8B5964A0026126D8E
+:10E2F000002A2ED0401F934D84B24035E88A234631
+:10E300000833AF8AC318BB4222D88B784F781B02E0
+:10E3100010183B4303701B0A43700B79CF781A0225
+:10E320003A438270120AC2700471220A4271224674
+:10E33000491D801D06F0B0FCE88AA41D001980B2BA
+:10E340008049E882096D002208180270427000E0DE
+:10E3500009263046F8BD30B57A4B028840339B8A97
+:10E36000934213D9774B1C6DA3185C781D78240257
+:10E370002C430BD05C791D7924022C436404640C7B
+:10E38000A41D1219028000200B6030BD822030BD18
+:10E39000F0B585B0074600266846068155E001982D
+:10E3A000417802780D021543417902790802104341
+:10E3B00000044AD43D8003A80023012200905202A9
+:10E3C0001946284601F085F9040044D168460189C0
+:10E3D0000182019841790279090211434378027858
+:10E3E0001C021443AC421CD10A041AD44A04012171
+:10E3F000520C89030A430096C178807809020143D0
+:10E400000023204600F0C1FF040010D10199487993
+:10E410000A79000210430122D20310430871000A56
+:10E42000487101A904A8FFF796FF0400D1D0019913
+:10E4300000964878097800020843694600238A89D3
+:10E44000194600F0A2FF822C05D101A902A8FFF70E
+:10E4500082FF0400A3D06846068109E0019948794B
+:10E460000A79000210434004400C0871000A487108
+:10E4700001A902A8FFF76FFF0028EFD0822C02D07D
+:10E48000204605B0F0BD0020FBE7F7B584B0144688
+:10E490000646002700F071FF2A480025006D00287D
+:10E4A0002FD0059801282CD12046FFF771FF0700D7
+:10E4B00027D1002E29D06846058118E001994878B7
+:10E4C0000978000208432080019B0095587919794A
+:10E4D0000202D8780A4301029F78587839431F789E
+:10E4E00000029B1D384300F050FF002805D101A910
+:10E4F00002A8FFF730FF0028E0D0822800D10020DA
+:10E500000746002E01D00F48056500F03AFF384657
+:10E5100007B0F0BDF0B597B00021042003F00AFC6D
+:10E52000084F00243D467C8040356C73AC73287BDB
+:10E53000B96CC00008380E18B08800280DD0012032
+:10E54000694603E0F01900200128000008703068D7
+:10E55000019000216846F9F78EFAB4803C65AC82E0
+:10E56000EC8217B0F0BDFE4B986418464030017342
+:10E570001A803838D861CDE7F949002049880A0760
+:10E5800000D501200A06120F01D002221043CA054D
+:10E5900001D5042210438A0501D5102210434905F4
+:10E5A00001D520210843EE494031497B002901D0A3
+:10E5B000082108437047FFB5A7B004002898164605
+:10E5C0001B9022D00178E6484D06428822920246EE
+:10E5D00040320092002D14DB8A06920E1E2A0ED0C5
+:10E5E000229A5205520E10D13288172A0DD3009A62
+:10E5F000927B002A09D1DB4D229AAA4205D0CA0992
+:10E6000006D08A06920E122A02D003202BB0F0BD4B
+:10E61000D348826C0098007B2590C0000838101801
+:10E620001F9048060CD40098407B002808D0009921
+:10E6300088731F99289808601F9884800220E5E756
+:10E64000002718A90F7069460F72C54902AA0A640B
+:10E65000309A4A6410A90F850F861B981D460078D2
+:10E6600020908106BE4B601F24901A462C322192C6
+:10E670002898DA691833890E1E93401C0B0006F0A7
+:10E6800099FD1FFDFD11FD1AFD90FDFCFDFBFDFA3E
+:10E69000FDF9FDFCFDF8FDFDFDF7FDF6FDFDFDFDC1
+:10E6A000FDF5FD00032C7BD10320287017226A7032
+:10E6B0000022AA70E0E2052CF5D141780278090227
+:10E6C0001143A74B10AA19831185C27880781202D2
+:10E6D00002435A8300297DD091427BD800211846FD
+:10E6E00081720181491E01841E9800F087FF052078
+:10E6F0002870A81C1D900220009021991E9800F0FF
+:10E7000080FF002803D047E018A90870F0E2944881
+:10E710002030807C012803D002206870102002E0A5
+:10E7200001206870022022908D4830302390002212
+:10E7300020A9239802F0F5FD00282AD120A800780E
+:10E740002299814225D132880099801C511A814238
+:10E750001FDB83481D99C08D0870000A48701D9802
+:10E7600020A9801C1D9000981D9A801C0090239861
+:10E7700002F0D7FD20A909781D9840181D90009837
+:10E78000401880B2009021991E9800F03AFF0028AE
+:10E79000CDD0009802288DD10A2018A908706CE20B
+:10E7A0006DE0072C6BD341780378090219436C4B59
+:10E7B0008446198310AB1985C37880781B021843EF
+:10E7C000674B0029588305D0814203D801211846A0
+:10E7D000817200E0A4E061464B7909791B020B438A
+:10E7E000038100218173104600F014FD00280FD131
+:10E7F0005B480121C26991710522C369D2029A80E6
+:10E80000C2699172C26958491181C069002181733E
+:10E810005349E01F08841B98C01D48621E9800F0F1
+:10E82000EDFE07202870681C009001201D904C48C8
+:10E830000021C18530E01D98012815D04848C169E4
+:10E84000897901292FD000981038C17B807B09027B
+:10E85000014300980170090A41700098801C0090E3
+:10E860001D98801C80B21D903D4809E013E2BEE176
+:10E870007AE1D8E00DE2A0E080E03BE01EE2B6E005
+:10E88000C18D00980170090A41700098801C0090A9
+:10E890001D98801C80B21D9021991E9800F0B1FE39
+:10E8A000002802D006E0818DD3E731881D98081A30
+:10E8B0000428C0DA1D98012800D16DE72848C169F5
+:10E8C0008979012903D0828D26498A4205D1818D1B
+:10E8D00000980170090A417009E000981038C17B66
+:10E8E000827B0802009910430870000A48701D9846
+:10E8F000801CC1E1072C01D0152C78D14178037818
+:10E9000009021943164B198310AB1985C378807817
+:10E910001B02034312480029438301D0994201D9C5
+:10E920000120F1E60E4801218172002101818173ED
+:10E93000052C07D024981B99C0B2491D02F0CBFCCE
+:10E940000028BAD100200649C04308841B980096CD
+:10E950000195007818AB8006800E1CAA002105E006
+:10E96000F0190020FFFF000001280000FFF7E6FB80
+:10E970000746FE4810A9008B08857EE1032CBCD118
+:10E98000402210A90A86417802780802F74910430C
+:10E99000088310A9088520A9009131886B1C491EA5
+:10E9A0008AB2002100F095FE18A90870002830D125
+:10E9B0000B20287020A8008833E0052C9DD18021F1
+:10E9C00010AB1986014640780B780202E7481A43DB
+:10E9D0000283CB7889781B021943E44B10461984D3
+:10E9E00010AB1A85E24A914202D307208CE697E0E9
+:10E9F0003F23DE4A9B021943118421AA00923288E8
+:10EA00006B1C521E92B200F064FE18A90870002818
+:10EA100003D08328B1D102272FE10D20287020A830
+:10EA20008088401C28E120990C22C9095143C91C47
+:10EA30001E91A14204D92098400671D500201BE107
+:10EA4000417800780902014310A801851B980078DD
+:10EA500042062898C01C1D90002A62DA05206A46EA
+:10EA600010721B980078C00944D0082268460272D0
+:10EA70008181A01A87B268468782289806901E98DE
+:10EA8000201A81B26846C1811D980490401806F092
+:10EA900064F9079006982599C0190890491E08A89E
+:10EAA000017102A83099F8F7E6FF07460021684691
+:10EAB0000172002F1BD0022F18D1009808A9007BEB
+:10EAC0000979401E884210DDA848289A836CC90045
+:10EAD0005A50816C08A80079C000001D0C520098A3
+:10EAE0000099407B401C4873C7E00527EAE00620F8
+:10EAF00069460872002000901E980021201A20907C
+:10EB000082B21B9B10A8DB1C008D00F03EFC01466E
+:10EB100018A80170002268460272832903D003E01E
+:10EB200093E00720E4E702271B98007840060ED503
+:10EB30008E484188C90506D510AA018B128D9142D5
+:10EB400001D100214162002018A9087094E0FF2142
+:10EB5000013110A80186018D844801832099018428
+:10EB60001D994162132085E0052C6ED3417803780E
+:10EB70000A021A4310A90A859446092269460A72B4
+:10EB80000021009101222499D20311438AB2C17855
+:10EB9000807809021B9B01435B1D604600F0F5FB7A
+:10EBA00018A90870002269460A720122520210A9AF
+:10EBB0000A86832802D0002805D099E06B48098D89
+:10EBC000018302277EE06948006D002807D02046B7
+:10EBD0001B99FFF789FB18A9087000284DD12B4617
+:10EBE000324620461B9900F024FB074645E01B985F
+:10EBF000022C4078009064D1002801D0012860D117
+:10EC00000A2168460172009901731AAA002000992E
+:10EC1000FFF73BFC0146684641730021817302A85F
+:10EC20003099F8F728FF0746002168460172012154
+:10EC3000890210A80186022F08D04C48006C807908
+:10EC4000002807D018A9087020E04BE04749009839
+:10EC5000088337E0002F03D0812018A9087031E025
+:10EC60001AAA01200099FFF710FC18A908700028C3
+:10EC700003D119202870012030806846007A0028CE
+:10EC800004D002A83099F8F7F6FE0746002F2BD0E3
+:10EC900018E0062038E522993448090711D5012CDF
+:10ECA0000FD10B2269460A72C08888810021042096
+:10ECB00003F040F8082010A90886BFE62098400617
+:10ECC00010D50327294810AA4188128E114341808C
+:10ECD0005005400E04D01F99289808601F98848022
+:10ECE000384693E404200FE518A8007800280ED0D9
+:10ECF000012028701B980078687010A8008DA870FB
+:10ED0000000AE87018A8007828710520308017489C
+:10ED100010AA4188128E91434180E1E7FFB5064673
+:10ED20009FB000201B903178012088401149124A81
+:10ED3000084010A908860D494988914203D000284F
+:10ED400004D0080702D5012023B0F0BD219D002783
+:10ED50002F7020983C46018810A8018418A80771DC
+:10ED600000F00BFB6846077202A907E0F0190020CB
+:10ED70000102000009F80000FFFF0000FA480164EA
+:10ED800001464031826C1A91097BC9000839571835
+:10ED900022994164307801282AD0022809D003281A
+:10EDA00079D12878800980011D302870EE48B1881B
+:10EDB000C1803078022804D12878800980011B3076
+:10EDC000287001A8009010A8008CEB1CC01E82B215
+:10EDD000B088002100F07DFC0028E1D1B188697085
+:10EDE000090AA9706946888810A9C01C08842DE109
+:10EDF000717918A801713079012802D00228CFD189
+:10EE0000E6E0D9487F2340881B010246184010AB3A
+:10EE10001886802840D006DC102810D020280ED07C
+:10EE200040280AD120E0FF38013859D0FF38013896
+:10EE30006AD0FF38FF3802387ED0052491E0D00632
+:10EE400001D5082000E010201B90042069460872BC
+:10EE50000020888118A800900195318919AB1CAA5F
+:10EE60001B98FFF76BF977E0BF4B3289188B824212
+:10EE70004FD10A221B92002973D101A9009110A938
+:10EE8000098C6B1C491E8AB2002100F022FC18A9D3
+:10EE900008710B2017E0F6E0B34B3289188B8242E1
+:10EEA00037D10C221B9200295BD101A9009110A936
+:10EEB000098C491E8AB21946098C6B1C00F009FCAA
+:10EEC00018A908710D2028706946888810A9401C6F
+:10EED0000884042069460872A348008B888140E0BA
+:10EEE000A14A3389108B834213D112231B9300292B
+:10EEF00037D1536A002B05D00091128C00F045FAEF
+:10EF000018A9087113205EE097483289038B9A4252
+:10EF100001D00424E7E016221B92026D002A09D1D9
+:10EF2000F268002A06D002651A98328A82821A9AFA
+:10EF30000020D082002900E02FE012D1B888396883
+:10EF4000FFF7D2F918A9087100280AD1B8882B4612
+:10EF500018AA396800F06DF90446022818D0042C6C
+:10EF600016D0B88800280FD06846007A002804D050
+:10EF700002A82299F8F77FFD04460120694608722D
+:10EF8000386803900020B880002C5FD0052C7BD01F
+:10EF90006846007A032873D0A5E018201B9000294A
+:10EFA00005D071483189018300210165D9E76E4898
+:10EFB0000246017E18320120FFF767FA18A908718E
+:10EFC0000028CED119202870012010A90884C8E794
+:10EFD0001A98407B002856D0307AC0001358001D84
+:10EFE0000193105A1D9000291AD100F0CAF9062089
+:10EFF00069460872002000901D980F3882B201986F
+:10F000008178437808021843019B0021DB1C00F043
+:10F01000BCF918A90871002269460A72832830D009
+:10F02000002118A8017110A801840121684601720D
+:10F03000019803901A981A99407B401E48731A98B9
+:10F04000807B002802D01A99401E887310A8008E79
+:10F050007F21090102468A431DD0434800220088CF
+:10F0600011468300042002F0C0FD3F483178017151
+:10F0700010A94088098E08433B4948800FE003E00F
+:10F080002BE002242FE00524374810AA4188128E75
+:10F090009143418027E034494A8882434A80684648
+:10F0A000007A002805D03048416C02A8F8F7E3FC4C
+:10F0B000044618A80079002815D01B986870012014
+:10F0C00028702948008BA870000AE87018A80079F9
+:10F0D0002871052110A8018405E02348416C02A88D
+:10F0E000F8F7C9FC044600F04CF91F484088400579
+:10F0F000400E20D11A98807B00281CD1B8880028A7
+:10F1000019D0209910AA0988118422990091396890
+:10F1100018AA219BFFF74FFA044602280BD00120C2
+:10F12000694608723868039002A82299F8F7A3FC90
+:10F1300004460020B88010A8018C20980180204649
+:10F1400002E600B50022D243074997B04A8004285E
+:10F1500007D1022268460270097901710021F8F78F
+:10F160008AFC17B000BD0000F019002010B5394C22
+:10F1700003780022216C012B02D0022B44D126E01F
+:10F180000B78002B01D0042B03D10A71226C0321D0
+:10F190001170216C83880A79D200921D8B52216CE8
+:10F1A0000A79D20008328918C2880A80216C038942
+:10F1B0000A79D2000A328B524289206C0179C90047
+:10F1C0000C314252216C0879401C087120E00A740D
+:10F1D000226C81889180216CC288CA80226C01894E
+:10F1E0001181226C41895181216CC068C860616CB9
+:10F1F000206CF8F740FC0146022807D0206C007C08
+:10F20000002802D1002903D0812010BD832010BD29
+:10F21000002010BD8178012909D100880521C9028B
+:10F22000884202D0491C884201D100207047052045
+:10F23000704710B51488844201D2052010BD1724F0
+:10F240001C701080421E491C581C05F025FD002032
+:10F2500010BD0000F019002010B58B78002B11D0E4
+:10F2600082789A4207D10B88002B0BD003E0091D4E
+:10F270008B78002B08D08B789A42F8D103880C88C1
+:10F28000A342F4D1002010BD812010BD10B500298B
+:10F2900002D001290DD102E00088000501E00088BC
+:10F2A0008004800F07D001281CD0022809D0032831
+:10F2B00010D0812010BD002901D0032010BD0220F4
+:10F2C00010BDF5F7EEFD03280CD004280AD0002865
+:10F2D00006D009E0F5F7E5FD042803D0022803D0A5
+:10F2E000052010BD002010BD0F2010BDF3B5C81CB7
+:10F2F00080080E46800081B0B04201D08620FEBD5D
+:10F30000FE4C354626600198A08000202081E080D8
+:10F3100014E0B807A978800D0843F94905F036FDD7
+:10F32000E088401CE080B80607D42089401880B2ED
+:10F3300020810199081A8019A8600C352F88780758
+:10F34000E7D40020A072FEBDEC480C22C1880089E1
+:10F350005143081880B2704770B51346E74A451804
+:10F360009488AC4201D2842070BD126810180A46FD
+:10F37000194605F091FC002070BDE049012088721B
+:10F380007047DE49002088727047FFB589B0970446
+:10F390000E460546BF0C029200F034FA040021D05C
+:10F3A000002069460873D548807A012812D00121CF
+:10F3B0002046FFF76BFF002815D12078400609D5BD
+:10F3C0000221684601730582218841828682C782B4
+:10F3D0000C9806900298000407D500273E460125A8
+:10F3E00001970CE001200DB0F0BD2078A1788007D6
+:10F3F000800D0843C249019005F0C8FC0D460298F3
+:10F4000040040AD50198A84207D12088E1788005F8
+:10F41000800F00020843B04201D3AE4201D9072059
+:10F42000E1E7B81980B20290A84201D90D20DAE7CD
+:10F430006846007B002804D003A8F8F718FB0028D2
+:10F44000D1D10198A8420BD1208803210902884319
+:10F4500002998905890F0902084320800298E0700B
+:10F460001298002800D007800C9800280CD0207833
+:10F47000000609D4A0683A4680190C9905F00CFCE6
+:10F4800020881021884320800020ACE7FFB59B4DE9
+:10F4900081B00E46E8882F680C21009048433C1844
+:10F4A0009749039805F072FC0A462889E11B8446B7
+:10F4B0000C314018318880B28B0601D5002300E062
+:10F4C00013461818AB8880B2834202D8842005B056
+:10F4D000F0BD0098894D401C80B2E88021800D99D4
+:10F4E000002900D00C600399A170E2702188039D6F
+:10F4F0008908AD058900AD0F294303252D02A943D5
+:10F500009505AD0F2D0229430425294321800C992F
+:10F51000002900D0088001998978A1710199098892
+:10F52000A1803178890601D50B9905E073496244C1
+:10F5300092B20A81991AC919A16000212173327807
+:10F54000920601D50020C2E700910B9B0A9A04990C
+:10F55000FFF71BFFBBE7FEB5044600F053F90700B9
+:10F5600008D0664D641EE8880190A6B2286834462B
+:10F57000009015E00120FEBD0C2000996043095A5F
+:10F580008A060BD489078A0D0099801C085C5C49A7
+:10F59000104305F0FBFB2889401A2881641CA4B2A3
+:10F5A0000198A042E8D8EE8000203870FEBD002807
+:10F5B00003D0401E0880002070470120704710B51E
+:10F5C0004E490288CB889A4201D3822010BD0B6835
+:10F5D0000C21514359180B88CC789B059B0F1B02BB
+:10F5E000234341608C7904738C884481C38189688A
+:10F5F000521C016102800281002010BD01210182A4
+:10F600007047FEB505460020C043088068680F4675
+:10F6100081786846817068680188684601800021A9
+:10F620008171288A2C88A04200D304462C8234E0C1
+:10F63000288A401C2882301D6968FFF70DFE0028CB
+:10F6400029D139882F48814201D1601E38806888CD
+:10F65000A04227D33088F1788005800F000208434C
+:10F6600002906946301DFFF7F7FD002813D1298964
+:10F67000244881421AD000213046FFF707FE0028B7
+:10F6800009D12A890298824205D1E968B06805F05B
+:10F69000D6FA00280AD0641CA4B2204600F0B2F8C2
+:10F6A0000600C5D1641E2C828220FEBD7C80B0790C
+:10F6B000B871B088B8803088388130788007810D83
+:10F6C000B078014379810298B881B0683861002030
+:10F6D000FEBDFFB585B014460F46059800F092F8C0
+:10F6E000050037D00548BE05807AB60D01281CD02C
+:10F6F00000212846FFF7CAFD002805E0481A00202F
+:10F7000001020000FFFF000022D1287840060CD53E
+:10F71000012168460170059981802988C180068190
+:10F720004481F8F7A4F9002812D12888AA78810723
+:10F73000890D11438005800FEA7800021043BE4214
+:10F740000AD0374A914207D3611E814204DD0B2063
+:10F7500009B0F0BD0120FBE7864201D90720F7E799
+:10F76000801B82B2A24200D922460E98002800D007
+:10F7700002800898002804D0A8688119089805F02C
+:10F780008BFA0020E4E770B514460D4600F03AF815
+:10F7900000280DD001882980002C0DD001788078B8
+:10F7A0008907890D01431E48814203D2012002E0EE
+:10F7B000012070BD00202070002070BD70B516467D
+:10F7C0000D4600F01FF804000DD02D882580FF2E77
+:10F7D00016D0A807A178800D0843114905F0D6FA84
+:10F7E000002E06D101E0012070BDFF31FF31033151
+:10F7F00089B2A170A80880008905890F084320807C
+:10F80000002070BD0749CA88824207D3002805D06E
+:10F810000C22096850430C380818704700207047C4
+:10F8200001020000481A0020F0B585B00E460546DA
+:10F830000020694608707078FE49C00003900C589B
+:10F84000FD4F002D0ED0022D73D0002C72D02078E9
+:10F85000801E030005F0AEFC09837F7F7F83797FE4
+:10F8600077727F00002C03D1F4A16B2005F0B1FB6F
+:10F870002078801E030005F09DFC09065E5E5E197F
+:10F88000365E50545E003078062803D0EBA1762017
+:10F8900005F09FFBB8687168806C032205F0FCF9E5
+:10F8A000012069460870002835D1CEE730780C2851
+:10F8B00003D0E2A1812005F08CFBE06800780028ED
+:10F8C00006D0B8687168806B102205F0E5F928E071
+:10F8D000B8681021006B05F03CFAB868816A006BCB
+:10F8E0000A787168F1E730780D2803D0D3A194200D
+:10F8F00005F06FFB04206946087071684878097844
+:10F9000000020843B9684A6A517812780902114323
+:10F91000484069468880084608E0C8A1AF2005F045
+:10F9200058FB6846007800288FD06846F5F7BEFA85
+:10F930008BE727E01CE0C1A1B420F0E7B86861695B
+:10F94000006CFEF708F8A16900E0E168B868006C97
+:10F95000FEF701F803E0B9A1E32005F03AFBB8682F
+:10F960002146006CFDF7F7FFB24A03990020505082
+:10F97000022D07D0002D05D0012D03D0AFA1EF201F
+:10F9800005F027FB05B0F0BD10B501780124012971
+:10F9900002D0022910D112E04268A74800218260FB
+:10F9A0000170A4486C38C166016741678167D289DC
+:10F9B00002214C3001F0E1F90024204610BDFF2067
+:10F9C0009EA1163005F005FBF7E7F0B505469EA1B0
+:10F9D00003C997B014911390002008A908759549A0
+:10F9E0002A781031944C0491217805910126914F89
+:10F9F000A168130005F0DEFB0CEF07309AF0EDEC88
+:10FA0000EBEAE9E9E8EF20700124FF264F360546CE
+:10FA100010A80570457001F0C1F90746012803D010
+:10FA200086A1304605F0D5FA10A93846FFF7FCFE4E
+:10FA30002046641EE4B20028EAD10A206946087014
+:10FA40006846029501F088FA002803D0FF207BA1C8
+:10FA5000583068E0002646E3C86A0078C0072FD017
+:10FA6000012069460870684601F076FA002804D043
+:10FA7000FF2072A16B3005F0ACFAA068006CFDF7B6
+:10FA800061FF050004D1FF206CA16E3005F0A1FAE2
+:10FA900008984078C0003D5006202870A068016892
+:10FAA00069600069A8606448C01CE860284601F0ED
+:10FAB00053FA022804D0FF2060A1783005F089FABB
+:10FAC000A068C06A00784007C4D501206946087064
+:10FAD000684601F041FA002804D0FF2057A1803089
+:10FAE00005F077FAA068006CFDF72CFF050004D143
+:10FAF000FF2052A1833005F06CFA08984078C000CE
+:10FB00003D5006202870A068016869600069A860FF
+:10FB10004948401DE860284601F01EFA022899D0A5
+:10FB2000FF2046A18D3005F054FA93E7A96800291B
+:10FB300033D0694608712979012932D0022904D0CD
+:10FB4000FF203EA1A73005F044FA3A4810221030B9
+:10FB5000A96805F0A1F837481030364920314860CF
+:10FB60002078C1062CD5EF2108402070032069467B
+:10FB70000870304810300290684601F00FF90446D2
+:10FB8000022808D0002C06D0012C04D0FF202BA185
+:10FB9000B83005F01EFA69466FE101216A4611711D
+:10FBA000DBE7244A04996C3AD06748608860C860F3
+:10FBB0000621A86803F0FCFE1E4910310860CAE760
+:10FBC00020210843207045E7A1E15AE119E1E6E070
+:10FBD00086E056E000E081E2886C407980090128E7
+:10FBE00004D0FF2015A1CC3005F0F3F9A068017A0C
+:10FBF000002906D1416B406801F01FFAA16801207D
+:10FC00000872012069460870684601F0A5F90028CD
+:10FC100004D0FF2009A1D73005F0DBF9A068006C03
+:10FC2000FDF790FE050004D1FF2004A1DA3005F0B5
+:10FC3000D0F90DE0C01A0020B40000207372635C9C
+:10FC4000736D2E630000000004411A8800A4800038
+:10FC500008984078C0003D5002202870A068416B91
+:10FC60006960806CC01CA860284601F075F904002A
+:10FC700004D0FF20FD49E23005F0ABF929462831D8
+:10FC8000FBE0172268460272012202708078820827
+:10FC9000287992008007800F024368468270FB201B
+:10FCA000024028794007C00F8000024368468270F6
+:10FCB000EA8882804A6C02A901F090F9002804D0F9
+:10FCC000FF20EA49F73005F084F9052108A80175FD
+:10FCD0006846017A0187A0680026406C0F9006E212
+:10FCE000012069460870684601F036F9002803D003
+:10FCF000DE49DF4805F06DF9A068006CFDF722FED3
+:10FD0000060004D18320D949800005F062F9A0687B
+:10FD1000006CFDF717FE1290002804D1D448D34997
+:10FD2000801D05F056F9D3488068006CFDF70AFE87
+:10FD3000040004D1CE48CD49093005F04AF90898AD
+:10FD40004078C0003E500A203070287A30716868D0
+:10FD5000C84DB060A868406C3061172030731298AD
+:10FD6000B4617061304601F0F7F80446022808D00B
+:10FD7000002C06D0012C04D01120BC49400105F014
+:10FD800028F92046316AFFF74FFD28780521014008
+:10FD9000042900D05EE6FB21084028702AE005987F
+:10FDA00040084000207082071CD5FD2210402070C2
+:10FDB0000F206A46107017201071486C0290684638
+:10FDC00000F0ECFF0546022808D0002D06D0012DDA
+:10FDD00004D0A748A5493A3005F0FBF86946284603
+:10FDE000FFF722FD2078052101400429D2D1FB2113
+:10FDF00008402070072008A908759E48807808767A
+:10FE000028E6012069460870684601F0A5F8002838
+:10FE100004D097489549543005F0DBF8A068006C91
+:10FE2000FDF790FD060004D113209049400105F034
+:10FE3000D0F890488068006CFDF784FD040004D180
+:10FE40008B488A495A3005F0C4F808984078C000B9
+:10FE50003E5007203070874880684068706068684E
+:10FE6000F460B060304601F077F8040004D08048B8
+:10FE70007E49653005F0ADF8316A2046FFF7D4FCC5
+:10FE8000E8E5012069460870684601F065F8002839
+:10FE900004D0774875497A3005F09BF80898407887
+:10FEA0001190A068006CFDF74DFD060004D15120B3
+:10FEB0006E49C00005F08DF8A068006CFDF742FDAA
+:10FEC000040004D16A486949823005F082F811982B
+:10FED000C0003E50C019296941600920307068682F
+:10FEE0007060A868B060A889B08163483061103044
+:10FEF000B4617061304601F02FF8022804D05C48EC
+:10FF00005A49903005F065F811982875A2E55A4ACB
+:10FF100000208C32107002206B46187001922879F4
+:10FF2000002801D0107098E0524803230C3040683C
+:10FF3000FB2703708378504A9B089B003B408370EB
+:10FF40004B7A00271B07DB0F43708C3257600B7B0B
+:10FF5000C370CB7A1372537A0C7D5B08E4075B00A5
+:10FF6000E40F23430C461534D460FD242340CC7E9B
+:10FF7000E407A40F234353720B461C3313614771EC
+:10FF800007718B7A3B4A9C070C32A40F1268012C34
+:10FF900004D19478A407A40F012C1DD09B089B00CA
+:10FFA0008B7293785B0702D48B7A5B0728D54B7AE8
+:10FFB00013AF5B075B0FDC005B00E3181478640091
+:10FFC0001B19DBB2DC083C5D5F077F0F0623DB1BE0
+:10FFD000DC40A3079B0F14E04C7A53796406640F4E
+:10FFE00023404371147906273C400471E4001C430C
+:10FFF000204B5C7083789B089B005B1C8370D0E770
+:020000040001F9
+:1000000000238478FB273C408F7A7F07FF0FBF00D7
+:100010003C4384704C7A6407640F04705078012864
+:1000200007D1487A000704D5032008A908750220E3
+:100030002DE0022B27D0012B2BD00F4B0020049A50
+:10004000D86750609060D06018467C30024610320D
+:100050005060887AFB2210408872684600F09EFE4D
+:10006000040035D0012C34D0004907E03CFC0000EE
+:1000700009020000B4000020541A00206520C000CE
+:1000800004F0A7FF25E0032008A9087501200876E1
+:10009000E3E77E4C0D21E01C04F05BFE20461030AF
+:1000A0004460022008A908750E94A868002807D0AB
+:1000B0000068206005997648202211430170CCE742
+:1000C00005980007C9D57349734804F082FFC4E757
+:1000D000002669462046FFF7A7FB04E06E486D49FD
+:1000E000203004F076FF08A8007D002802D00DA87B
+:1000F000F4F7DCFE304617B0F0BDF0B597B00C4613
+:10010000054600206946087061482F785F4E0178E7
+:10011000583E82683B0005F04DF80BAA8407263B49
+:100120004C6B79798F9CAA002B20694608730CA927
+:1001300003A8FDF73DFC002804D05748554941303D
+:1001400004F047FF55490D9804F020FE4F48016028
+:100150004F4869680C300160AA684260019108202C
+:10016000694608708CE08A0610D5DF2211400170C4
+:1001700003202070454810304168A1604068002885
+:1001800002D00020207177E00120FBE7102256E02A
+:100190002B20694608733D4903A85C39FDF708FC2C
+:1001A000002804D03C483B496A3004F012FF042088
+:1001B0001BE02A206946087303A8102202306968F0
+:1001C00004F06AFD07A810220230A96804F064FD5B
+:1001D0002E4903A85C39FDF7EBFB002804D0392039
+:1001E0002C49000104F0F5FE05202070666043E014
+:1001F0002A79002A02D001221143017005206946A4
+:10020000087028798880A868029039E0D06A402375
+:10021000018819430180D06B6968102204F03CFD0D
+:100220002AE0FB2211400170062069460870A96887
+:1002300068680291019023E0CB0703D002221143AA
+:10024000017058E70F20207017202071506CA060BB
+:1002500012E0937A9B0706D0D26A44781388FF3461
+:1002600001342343138004221143017004E00A483F
+:100270000849BD3004F0ADFE684600780028E0D0A3
+:100280006846F4F713FE36E701207047D01A0020C5
+:10029000B40000203CFC00001503000040420F00A9
+:1002A00070B504780D460646230004F083FF0B1C4E
+:1002B000181C1C1C1C07181C1C181C0000210520E5
+:1002C00001F038FDB068007805280CD0FA4800220B
+:1002D000008811468300052001F087FC03E000211F
+:1002E000052001F027FD002D0ED0002028702946A2
+:1002F0003046FFF702FFF1482978005D884201D1BE
+:10030000032070BD022070BD00213046FFF7F5FECE
+:10031000002070BD30B5E8494B68497A0A011146A2
+:100320000C315C5C032C0CD0044600252034257174
+:1003300025725C5CA500AA18641C5C5498500320CC
+:1003400030BD062030BDF0B50446264620360D46A9
+:100350003279012008218FB0002A0CD0012A21D047
+:10036000022A2BD0032A04D12A78052A01D1297028
+:1003700000200FB0F0BD01203071606800280AD065
+:10038000A069017061684160216981606169C16033
+:10039000FFF7C0FFEDE707202870206968606069FB
+:1003A000A86009E029780729E3D1022030710520EF
+:1003B0002870C248203868600320DAE729780529C8
+:1003C000D7D1A08910280AD9103880B2A081A1689D
+:1003D0001023091803A86A6800F054FE2DE01028C5
+:1003E00004D0C1B20BAA1020A76809E0102322692B
+:1003F000A16817E0491EC9B2401EC0B27B5C13540D
+:100400000029F7D100280AD0401EC0B28021115423
+:10041000002102E0401EC0B211540028FAD16269E6
+:1004200010230BA907A800F02DFE102307A903A88D
+:100430006A6800F027FE032030716068019003A80D
+:10044000029005206946087029466846FFF728FF94
+:100450008FE7F0B5044626460D4620363179012057
+:100460008DB000290BD0012938D0022905D1297877
+:10047000052902D10920287000200DB0F0BD217D92
+:100480006846CA07D20F02738807C10F6846017415
+:10049000012203A905A800F0EDFD04A9012205AF82
+:1004A000481D00F0E7FD0722B81CE16800F0E2FDFE
+:1004B00007A807220130216900F0DCFD6068019087
+:1004C00009A80290102305AAA16800F0DBFD012015
+:1004D0003071052168460170294621E029780529F7
+:1004E000CBD1062203A8E16900F0C4FD04A80622CE
+:1004F0000230A16900F0BEFD042106A800F0B2FDA3
+:100500006068019007A80290102303AA696800F0B0
+:10051000B9FD0220307105206946087029466846F9
+:10052000FFF7BEFEA9E7F0B5074685B00D460020EF
+:10053000694608703E466248203632798179133820
+:1005400001240078130004F035FE180DFEFDFCFBBD
+:10055000FAF9F8F7F6F5F4F3F2F1F0EFEEEDECEB73
+:10056000EAE9E8E7B968039100291BD0012269464E
+:100570000A7003220A710A224A7139690291397993
+:1005800000297DD0039A1278002A7AD00C2A78D2DA
+:10059000130004F00FFE0BEF09EF354D8498B0F116
+:1005A000EDECEF000020C8E30021062001F0C2FBC3
+:1005B0003879072866D1424C133C2078022802D0B3
+:1005C00000287FD101E00020207003980079C11F2E
+:1005D0000A2901D30A2598E1607039480722C01F13
+:1005E000039900F047FD0120307120700220694618
+:1005F00008703348801F01903869401C029037E230
+:1006000011293DD12E4C133C0228DAD16068617863
+:10061000007A884201D9062577E1039926481022FD
+:10062000491C303800F026FD03202070022045E1EF
+:100630001129E6D1224C133C0428C2D10520207098
+:1006400003991D481022491C203800F013FD062094
+:100650003071786903210170626851684160164900
+:100660002039816021460C31C160C91D0161017DC5
+:10067000537A49084900DB07DB0F1943017502E093
+:1006800070E354E384E1D3688361FD231940537A16
+:100690009B07DB0F5B0019430175116976E10229A5
+:1006A000AFD1002867D005206946087103984078CB
+:1006B00048713869029051E3241B00203452010034
+:1006C000DB00002082E011299BD1F74C06287DD168
+:1006D000A0680399806B1022491C00F0CBFC062116
+:1006E0006846017038690290002168460171FFF781
+:1006F000D7FD072057E00B299BD1EB4C07287ED173
+:10070000A0680399006B0222491C00F0B3FCA068AA
+:100710000822406B039917E00EE116E3FDE2DDE2EB
+:10072000C7E2BCE29EE267E248E241E21FE2F5E195
+:10073000DFE1C8E1BEE1B1E1A5E16AE147E128E11D
+:10074000DAE0BEE0AFE075E0C91C00F093FC0621E2
+:100750006846017038690290002168460171FFF710
+:100760009FFD204613304179490849003EE041E0B1
+:100770001BE001E05CE0EFE2112991D1CA4C0828AE
+:100780003DD1A0680399C06B1022491C00F072FC97
+:10079000062168460170386902900021684601719F
+:1007A000FFF77EFD09202070C9E208298CD1BE49DF
+:1007B000092824D1039842788868016C0A7003994B
+:1007C000406C0622891C00F055FC00E017E0062171
+:1007D0006846017038690290002168460171FFF790
+:1007E0005FFDB14813304179FD221FE041715EE2A7
+:1007F0003071F2E11129C0D1AB490A2801D0082596
+:1008000083E088680399806C1022491C00F032FC58
+:10081000062168460170386902900021684601711E
+:10082000FFF73EFDA04813304179FB221140DDE780
+:1008300007256AE0297802297ED19B490128FBD14E
+:100840006A684A6015780846002D5CD106216A4620
+:1008500011703969029107211171029902240C70FB
+:10086000CA785207520FCA704B795B075B0F4B7106
+:100870008B795B075B0F8B71D20701D18A714A714B
+:1008800005460A794078824200D26A70864807227B
+:10089000133000F0EFFB00202C70307101466846E9
+:1008A000FFF7FEFC4BE229780429C5D103286FD15C
+:1008B00008227E48696800F0DDFB032030710420C7
+:1008C000F2E129780429B7D1774F0328B4D17748CA
+:1008D00008220830696800F0CDFB04203071786888
+:1008E0004168002906D00321297000212971406840
+:1008F000A86072E10320D7E1287803289CD12879E9
+:1009000000281AD00546002D16D006216846017031
+:100910003869029002216846017102980521017030
+:10092000457000216846FFF7BBFC01216846017055
+:1009300004210171457115E293E15B49A86849689A
+:100940000028486001D15A48486005203071786914
+:10095000032202704A684260544A8260524A0C3252
+:10096000C260D21D0261027D4B7A5208DB07520041
+:10097000DB0F1A430275CB688361FD231A404B7A63
+:100980009B07DB0F5B001A4302750969C16130E107
+:100990000DE12978092988D14349032885D104200C
+:1009A00008700620694608703869029011200871A5
+:1009B000029803210170401C1022696800F05AFB64
+:1009C00000216846FFF76CFC00203071B7E1297800
+:1009D000092993D1052891D134496A68203910201A
+:1009E000401EC0B20B5C145CA34203D0002004255F
+:1009F00030718AE70028F3D107203071786904212B
+:100A00000170294949684968416028498160103965
+:100A1000EEE028780A28BED10620694608703869B9
+:100A2000029011200871029804210170401C1022CC
+:100A30001E4900F01FFB00216846FFF731FC1A48F1
+:100A4000102140786A68091AC9B2101800F00AFB30
+:100A50006868019014481330C178C9070BD08179B8
+:100A6000002902D14079002805D0082030711BE10F
+:100A700029466846EFE0072069460870002168466D
+:100A8000FFF70EFC5FE128780E2884D106486968DC
+:100A900081608969407808700920A9E6C80701D0FB
+:100AA0000A20FFE00F20A3E6C8000020141B00204E
+:100AB0001452010028780F2879D1A8683861287964
+:100AC00038730B20FAE628780428F5D1FC4C6968C5
+:100AD000A0680822006A00F0CDFA0C203071786915
+:100AE0000722B9690270A268D3684360126A826003
+:100AF0007EE028780D28DFD1F14C6968A0680223D8
+:100B00000269C06900F0BEFA0D20307178690621D3
+:100B10000170A1688A684260096966E028780C283B
+:100B2000CAD1E74C6968A0686278406A00F0A2FA0E
+:100B30006078A2681021091A526AC9B2101800F030
+:100B400091FA0621684601703869029011226846C0
+:100B50000271029810220170A168401C496A00F0DD
+:100B600089FA00216846FFF79BFB0E206EE028788B
+:100B70000F2876D1062168460170386902900B2152
+:100B800068460171029C0720CD4D2070A8680222A2
+:100B9000C169601C00F06EFAA8680822016AE01CB6
+:100BA00000F068FA00216846FFF77AFB7AE7C8E0B0
+:100BB000880701D5102075E0132019E628780F2842
+:100BC0004FD1A86838612879387311203071BC483A
+:100BD000816848690078002801D00324CAE0786958
+:100BE00006220270C9684160B6498160B549091D95
+:100BF000C160FFF78FFB30E0B14880684169097838
+:100C000000290CD129780C292BD1AD4C6968806A58
+:100C1000102200F02FFAA16801204969087006210E
+:100C20006846017038690290112168460171029886
+:100C300008210170A249401C89681022896A00F0CD
+:100C400019FA00216846FFF72BFB122030710921A9
+:100C5000684601702946FFF723FB044601287DD032
+:100C600088E06FE028780F286CD10620694608706C
+:100C70003869029008200871029809210170904992
+:100C800089680A78D207D20F427049680622801C10
+:100C900000F0F0F900216846FFF702FB8CE74807F7
+:100CA00005D514203071092069460870E0E6162049
+:100CB0009EE528780F2851D1A868386128793873C3
+:100CC000152030717869062101707D4989688A682C
+:100CD0004260096981607B49891D89E728780C2871
+:100CE00045D1774C6968A0681022C06A00F0C2F94B
+:100CF0000620694608703869029011200871029830
+:100D00000A210170A168401CC96A102200F0B2F9E2
+:100D100000216846FFF7C4FAC9E7694813304079F3
+:100D2000002810D0C10703D065480621017006E0F5
+:100D3000800701D5082000E00A20614908700024DE
+:100D400018E00BE013E0172052E55D49002805D0BC
+:100D50000020307108700A206946087068460078E3
+:100D6000002804D000216846FFF79AFA002454486E
+:100D700000210170204605B0F0BD10B5524BFF2494
+:100D80005C72586019721A80002204E0491EC9B2D0
+:100D90000B010C33C2540029F8D110BDF0B54A4EF6
+:100DA0000546717A01208DB0FF2971D00127727A32
+:100DB000736811015C180C31595C8900091F645873
+:100DC0006A7021780B0004F0F5F90B960709272CBF
+:100DD00059888D4A4F5492002F707CE02146203173
+:100DE0000A9109790120002902D0012967D10EE07A
+:100DF0006068019005A802900D21C01C00F032F936
+:100E0000032205A8A16800F035F90A984EE0297878
+:100E1000052974D106215DE029462046FFF719FB1C
+:100E200069E021462031069109790120002902D08C
+:100E3000012964D10EE06068019007A802900822A1
+:100E4000E16800F017F9082209A8A16800F012F97A
+:100E500006982BE02978052951D10A213AE0294644
+:100E6000204600F01AF946E029462046FFF76BFAC3
+:100E700041E029462046FFF756FB3CE02146203161
+:100E8000059109790120002903D0012937D11DE0FE
+:100E900056E06068019007A802900822A16800F05F
+:100EA000E9F8082109A800F0DDF8059869460771FE
+:100EB0000520087029466846FFF7F2F91BE00BE0B1
+:100EC000C80000200C520100241B002029780529AD
+:100ED00015D10B212970002011E02946204600F091
+:100EE00023F908E02946204600F04EF903E02946A0
+:100EF0002046FFF7C9F9002801D001280CD125624E
+:100F0000717A736809010C315A5C521E1206120E76
+:100F10005A5401D003204AE70328FCD0737A726840
+:100F200019011D010D312C46515C7172FF270D34E2
+:100F300017550C35545D002C02D0FF2903D1737274
+:100F40000DB0F0BD21460C010D34145DFF2CF9D11C
+:100F500009010D315354F3E770B5AD4C0546607A85
+:100F6000214603464A6811E0010108460C30105C36
+:100F700008E0401EC0B286008E199659AE4201D1DB
+:100F8000042070BD0028F4D10D31505CFF28EBD156
+:100F90009F480021007A01E0491CC9B2884204D967
+:100FA0000E010C36965D002EF6D1884201D8052040
+:100FB00070BD08010D30135461722846FFF7AAF97D
+:100FC000032806D0617A626809010D31515C6172B3
+:100FD00070BD28462830FFF7E1FE70BD10B50478DB
+:100FE0000123012C14D10C78022C11D30B23137084
+:100FF00083785B075B0F537002220A708088002899
+:1010000005D0830000221146062000F0EEFD0023EB
+:10101000184610BD0EB50022012105280AD0062869
+:1010200007D1684601700221017142710021FFF76A
+:1010300064F80EBD68460170F6E710B58EB00C4638
+:1010400006216A461170019072480290001D0390BB
+:101050006846FFF781FF102220460B9900F00AF83E
+:101060000EB010BD002202E0491EC9B24254002950
+:10107000FAD1704703E0521ED2B28B5C8354002A2F
+:10108000F9D1704730B505E05B1EDBB2CC5CD55CB6
+:101090006C40C454002BF7D130BD3EB5044620301F
+:1010A0000D4602790121002A02D0012A3AD10FE02F
+:1010B00061680191574908310291012101710520B0
+:1010C0006946087029466846FFF7EAF8014629E0B4
+:1010D0002878052826D169681022A06800F087F8D2
+:1010E0006868C07B000606D54A4AA06810231832FB
+:1010F0000146FFF7C7FF1022A168E06800F077F80B
+:10110000A068C07B000606D5424AE068102318326A
+:101110000146FFF7B7FF07202870A0686860E06805
+:101120000021A86008463EBDF0B5044626460F469D
+:1011300020363179012089B0002909D0012905D153
+:101140003978052902D10C203870002009B0F0BD93
+:10115000606803AD01900295022203A8A168FFF721
+:1011600089FF0222A81CE168FFF784FF0C21281DDB
+:10117000FFF778FF01203071052069460870394675
+:101180006846FFF78DF8E1E710B5034620331C7978
+:101190000122002C04D0012C10D0022C25D11EE0FD
+:1011A00001211971C16806220A7040684860194817
+:1011B000801C8860801CC86008460CE00C780C2CF1
+:1011C00013D102221A71C268052313704968516055
+:1011D000806890601046FFF79DF8024605E00878A9
+:1011E0000B2802D10D2008700022104610BD10B54A
+:1011F000002409E00B78521E5B0023430370401C5F
+:101200000B78491CD2B2DC09002AF3D110BD0000D2
+:10121000241B00200C52010070B50D46040012D0B2
+:10122000002D10D02101284603F093FD10225449CF
+:10123000284603F031FD52480121083801804480DE
+:101240004560002070BD012070BD70B54C4E00247B
+:101250000546083E11E0716820014018817BAA7B99
+:10126000914209D1C17BEA7B914205D10C222946EA
+:1012700003F0E5FC002806D0641C30888442EADBD9
+:101280000020C04370BD204670BD70B50D460600FD
+:101290000AD0002D08D03A4C083C20886188401CB8
+:1012A000884203D9042070BD102070BD3046FFF77E
+:1012B000CCFF002801DB401C0AE0208861680001A7
+:1012C00040181022314603F0E7FC2088401C2080A3
+:1012D0002870002070BD70B514460D001FD0002C82
+:1012E0001DD00021A170022802D0102817D108E0DB
+:1012F000687829780002084311D00121A17010807C
+:101300000BE02846FFF7A1FF002808DB401CA07077
+:10131000687B297B000208432080002070BD0120EB
+:1013200070BD70B5054614460E000AD0002030701E
+:10133000A878012807D004D9114908390A889042B1
+:101340000BD9012070BD002C04D02878207028888B
+:10135000000A50700220087010E0002C0CD0496880
+:101360000001411810391022204603F095FC28781E
+:1013700020732888000A607310203070002070BD30
+:10138000EC00002073490968016000207047714932
+:1013900008600020704701216F4A704B002803D07D
+:1013A000012805D06E48704791630020187001E055
+:1013B000D1631970002070476A49012008606848AD
+:1013C000801C70470422684B6649002805D05A608B
+:1013D000086901221043086108E0086940084000DC
+:1013E00008619A605C490020C03188600020704725
+:1013F0005C490622002808D0012809D002280DD017
+:1014000003280FD05648401C70470869904302E0FB
+:1014100008699043801C0861002070470869904368
+:10142000001DF8E708691043F5E74E494A6A024390
+:101430004A62002070474B494A6A82434A62002050
+:1014400070474849496A0160002070474549CA69A8
+:101450000243CA61002070474249CA698243CA6197
+:10146000002070473F49C96901600020704730B5CE
+:101470000546002072B601463A4A384C4032002DEB
+:1014800011D00123012D0CD0022D02D0072062B60D
+:1014900030BDA3706478002C01D09363F7E79163AB
+:1014A000F5E7A170F9E7A170F9E72F4904208860FA
+:1014B00029490020C03188602849012008702B4943
+:1014C0000A688023120A12021A430A602849086037
+:1014D000704722480078704770B5EFF31080C50759
+:1014E000ED0F72B61D4C6078401C0006000E607057
+:1014F00003D120A1CC2003F06CFD6078012806D137
+:10150000A078002803D01749012040318863002DBE
+:1015100000D162B670BD70B5EFF31080C507ED0F56
+:1015200072B60E4C6078002803D112A1DC2003F0C3
+:1015300050FD6078401E0006000E607006D1A07855
+:10154000002803D00749002040318863002D00D1D6
+:1015500062B670BD0004004040000040FC00002066
+:1015600004200000000500400003004000E400E00B
+:1015700000E100E07372635C736F635F706F7765A7
+:10158000722E63008107C90E002808DA0007000FD9
+:1015900008388008B94A80008018C06904E08008D3
+:1015A000B74A800080180068C8400006800F704766
+:1015B000B44948788978884201D3401A02E0212250
+:1015C000511A0818C0B27047AE492331487889785B
+:1015D000884201D3401A02E02122511A0818C0B2F1
+:1015E0007047A849463148788978884201D3401A23
+:1015F00002E02122511A0818C0B27047A04810B565
+:101600000C300168FF22120291430122D2031143E0
+:1016100001609C490020233148708870233948704C
+:101620008870463148708870974802F0FFFA9648F3
+:10163000401C02F0FBFAF2F7A9F900F015F910BD11
+:1016400020207047B4E770B50C4605460026FFF72A
+:10165000AFFF8C49A04214D30A46203A002320460B
+:10166000641EE4B200280BD08878105C287088785B
+:101670006D1C401CC0B288702128F0D18B70EEE741
+:10168000012600F0F1F8304670BD202070479BE73E
+:1016900070B50C4605460026FFF796FF79492331C1
+:1016A000A04214D30A46203A00232046641EE4B226
+:1016B00000280BD08878105C287088786D1C401C3E
+:1016C000C0B288702128F0D18B70EEE7012600F0BF
+:1016D000CBF8304670BD202101700020704710B556
+:1016E0000446FFF77EFF2070002010BD70B50C4649
+:1016F0000546FFF776FF63494631A04215D30A46F7
+:10170000203A00232046641EE4B200280BD08878DB
+:10171000105C287088786D1C401CC0B2887021282D
+:10172000F0D18B70EEE7002400E0584C00F09CF8FC
+:10173000204670BD70B50C460546212904D9FF200E
+:1017400053A1473003F045FC4C484068103840B284
+:10175000FFF718FFC6B20D20FFF714FFC0B2864294
+:1017600007D2FF204AA14D3003F033FC01E0F2F72D
+:101770004DF921462846FFF766FF0028F7D070BDD7
+:10178000F8B5404E07462336B1787078212200F034
+:1017900060F8354623353B4C00280ED0A1786078A0
+:1017A000212200F056F8002814D0A9786878212268
+:1017B00000F04FF800281AD025E032497078C91C93
+:1017C0000F547078401CC0B2707021281BD10020CB
+:1017D000707018E02B49607820390F546078401CF5
+:1017E000C0B2607021280ED1002060700BE0254946
+:1017F000687826310F546878401CC0B26870212880
+:1018000001D100206870B1787078212200F021F8B1
+:1018100000281DD0A1786078212200F01AF8002855
+:1018200016D0A9786878212200F013F800280FD08C
+:10183000F2F7CEF8144802F001FA01214903884278
+:1018400003D013A1C12003F0C4FB0F4802F00EFA2D
+:10185000F8BD401C884205D0904201D1002901D03A
+:10186000002070470120704710B5074802F0E6F9E4
+:10187000002801D1F2F79BF810BD000000ED00E058
+:1018800000E400E0501B0020FF00002007200000C3
+:101890007372635C736F635F72616E642E630000CA
+:1018A00010B5284802F0C2F9002803D026A11D2057
+:1018B00003F08FFB2348401C02F0B8F9002803D046
+:1018C00021A1212003F085FB10BDF1B5224D6F68E9
+:1018D00001261C4802F0B2F91A4C002803D1002658
+:1018E000601C02F0C3F91D4A1D490120506000BF71
+:1018F00000BF00BF00BF00BF00230B604B60009B18
+:101900006B60106000BF00BF00BF00BF00BF086871
+:10191000002802D148680028F9D048680028E4D19E
+:10192000002E04D06F60601C02F088F907E0601C94
+:1019300002F084F90028D3D1024802F097F9002080
+:10194000F8BDC2E7010100207372635C736F635FCF
+:101950006563622E6300000000E5004000E0004087
+:1019600000E1004030B5EFF31081CC07E40F72B610
+:101970001D4A116910230D461D431561002C00D12D
+:1019800062B61A4DC406E40E0120A0402C68044241
+:101990000DD0C8060AD4EFF31080C007C00F72B68E
+:1019A000116999431161002800D162B630BD20BF92
+:1019B00040BF20BFEAE70E4908784A78401CC0B211
+:1019C000904200D008707047084A094820BF40BFC5
+:1019D00020BF4178037843701368002B02D103784D
+:1019E0008B42F3D00020704700ED00E000E200E001
+:1019F00003010020FEB5F64C07466068FF213E015A
+:101A000081552178FF2913D0090108314158324608
+:101A1000491E083209020192090A805800F0CEF9E5
+:101A2000002802D02478254615E061682078885582
+:101A30002770FEBDE64842680198115828010090C1
+:101A40000830105800F0BAF9002806D1E0482C46BA
+:101A5000416800980D5CFF2DECD1DD482101406804
+:101A600085554754FEBD70B5D94A04460020157A05
+:101A700053680AE00201561C9E5DA64203D10C3257
+:101A80009A588A4204D0401CC0B28542F2D8FF2046
+:101A900070BDF8B5CE4F3E7801F01AFE0146FF2E1C
+:101AA00071D03401254678680835405900F086F930
+:101AB00002280CD97868405901F0FDFD01F008FEBC
+:101AC00001467868405900F079F902285BD8C0498E
+:101AD0004868025D0A70A11C425C002A0CD0521EAC
+:101AE000425441590122D20589180902090A41517B
+:101AF0003046FFF77FFF30E0631CC25C0092221D7E
+:101B000094468258002A10D001239B029A420FD992
+:101B10009205920D43595703DB191B021B0A4351CF
+:101B20006346C3589A1A920A09E0FF21C1540AE099
+:101B3000435952039A181202120A42510022425487
+:101B40003046FFF757FFA2480C344168C26800983E
+:101B5000095980001258009890479D4C2078FF2822
+:101B600011D0000161680830085801F0A4FD01F0AF
+:101B7000AFFD01462078626800010830105800F07F
+:101B80001DF9022886D3F8BDF8B51C4615460E4649
+:101B90000746FF2B03D38FA1D42003F01AFA8C48F9
+:101BA000FF21C76045600472067401700022427014
+:101BB000104604E00201521C401CA954C0B2A042CD
+:101BC000F8D3F8BD70B5824C06466578207C854216
+:101BD00003D380A1E72003F0FCF9E068A900465098
+:101BE0006078401C6070284670BDFFB581B01D460E
+:101BF000FF2401F06DFD764F064679780198814209
+:101C000003D874A1F52003F0E4F971480021037AA8
+:101C1000406810E00A019446521C825CFF2A25D0DD
+:101C2000019FBA4205D162460C328758029A974208
+:101C30001ED0491CC9B28B42ECD8FF2C18D0210110
+:101C40004A1C019B83540B460C33029AC250039BDF
+:101C50005F4F0022012B0ED00B1DC25001239B02AF
+:101C60009D4216D9AA05920D08D008E00C46E0E77F
+:101C7000FF2005B0F0BD0B1DC550EFE71A4653031A
+:101C80009B190E461B0208361B0AAA1A8351920A98
+:101C900009E0002D00D101256B039B191D022D0ABF
+:101CA0000B460833C550891C42543D463E782046B9
+:101CB000FFF7A0FE2878B04214D000016968083010
+:101CC000085801F0F8FC01F003FD29786A68090161
+:101CD000083152580146104600F070F8022801D22F
+:101CE000FFF7D7FE0198C4E770B50C46054601F032
+:101CF000EFFC064621462846FFF7B5FEFF2817D021
+:101D0000334D04012046696808300858314600F018
+:101D100055F80121090340186968A41C095D400BAE
+:101D2000002901D089020818002800D1012070BDC7
+:101D3000002070BDF3B581B00F460198FFF793FE08
+:101D4000FF282AD0224E3578726829460C4604E0D6
+:101D5000844205D025462301D45CFF2CF8D11CE039
+:101D6000FF2C1AD0A5421CD10801105C3070FF284E
+:101D700015D000010830105801F09DFC01F0A8FCBE
+:101D800001463078726800010830105800F016F8EB
+:101D9000022806D2FFF77DFE03E00020FEBD01F021
+:101DA00092FC39460198FFF79FFF22017168FF23DB
+:101DB000541C0B558A5C2B01CA54FEBD401A00020C
+:101DC0000121000AC905884200D90020704700009F
+:101DD0009C1B00207372635C736F635F74696D6535
+:101DE000722E6300F0B500241C4A01211C4B08032D
+:101DF000546018601B4B1C601B4C20601B4804691E
+:101E0000E443E406E6170469761C10252C430461BC
+:101E1000174C6160174D296000E020BF1F68002F3C
+:101E2000FBD0002E03D107691026B74307619068E5
+:101E30008005906801D5104A10436960A1600021B7
+:101E400019600121084A09031160F0BD10B504466C
+:101E5000FFF7C8FF2060002010BD000000C5004053
+:101E600080E100E000C1004080E200E000ED00E021
+:101E700000C3004000C0004000FCFFFF70B51F49D8
+:101E80000A68002A17D000231D4601244A68521C04
+:101E90004A60092A00D34D600E792246B2400E688E
+:101EA00016420AD072B60B6893430B6062B649685B
+:101EB0000160002070BD052070BD5B1C092BE5D3BF
+:101EC0000FA1362003F085F8F5E7012010498005C1
+:101ED00008607047EFF31081CA07D20F72B6012174
+:101EE00081400648036819430160002A00D162B6A8
+:101EF000EBE70248002101604160704708010020C3
+:101F00007372635C736F635F6576742E63000000A9
+:101F100000E200E00120810708607047012081078E
+:101F2000486070471048C068C00700D00120704763
+:101F30000D488068C00700D0012070470A484069FA
+:101F4000C00700D0012070470748C06970470649A4
+:101F50008A69D20306D589698907890F814201D12F
+:101F6000012070470020704700040040F8B5FE4C87
+:101F7000207BE17A88421AD00126FC4D0027E07AC6
+:101F8000215C14200A4642435019037C052B0FD0D4
+:101F9000062B1BD0072B28D0437C012B33D0F4A178
+:101FA000F64803F016F8207BE17A8842E7D1F8BDC5
+:101FB0000674E07A0A2807D0E07A401CE072491CD7
+:101FC000C8B2AA5802210CE00020F7E70674E07AB4
+:101FD0000A2808D0E07A401CE072491CC8B2AA580E
+:101FE00003219047DFE70020F6E70674E07A0A282D
+:101FF00007D0E07A401CE072491CC8B2AA580821F8
+:10200000EFE70020F7E74774E07A0A2807D0E07A84
+:10201000401CE072491CC8B2AA580721E1E7002021
+:10202000F7E770B5D64D06206872D648002444778D
+:10203000047738300473C472D34801F0F7FDD348F5
+:102040000475EC72D249601E88606C71AC70EC70E3
+:102050002C716C70CF48022104704470CE4804701B
+:10206000047528300470491EFAD10120F1F750FDA3
+:102070000020F1F74DFD0120A871F0F741FDC748A0
+:10208000F0F750FDC64C2070C648F0F74BFD60706D
+:10209000F1F7E2FC70BD10B5F1F709FDC04C2078F6
+:1020A000F0F75EFD6078F0F75BFDB54C207A002814
+:1020B00005D0FFF730FAF0F7E2FD0020207210BDE6
+:1020C00070B5AF4CA079002804D0A9A1B64802F0A1
+:1020D00080FF70BDE07A002804D11320A4A1400144
+:1020E00002F077FF0126A6710025E572607A0421CF
+:1020F000142250439D4A80180174A5488168491CE8
+:1021000004D0691E81600120F1F702FD0020F1F783
+:10211000FFFCF1F7E3FC01F023FEF1F7E8FDA34833
+:10212000056005600120A249C0030860F0F74AFF7E
+:1021300098480078022804D0032804D1E0780028C9
+:1021400001D0A67000E0A570F1F7BDFD70BD03469B
+:1021500086490520142242435218203A127F002A51
+:1021600004D0401E0006000EF4D1704714224243F2
+:1021700051180A46403AD362012220390A77704743
+:10218000012805D0032805D1002903D1002070477C
+:102190000029FBD010B47A4C002363707D4A0028DC
+:1021A00090700CD002280AD007291AD20B007B4469
+:1021B0001B79DB189F441505070D0F111300D37011
+:1021C00003E01B2000E03A20D0700120607010BCBA
+:1021D00070475820F8E77720F6E79620F4E7B52017
+:1021E000F2E710BC0020704710B56A484078F1F75C
+:1021F00085FD80B210BD411E1422504310B55B4ACC
+:102200008418203C042902D8207F002803D158A13B
+:10221000684802F0DEFE207F012803D054A1664802
+:1022200002F0D7FE0020207710BD70B5554C607FBE
+:10223000217F884201D1012500E00025F1F7F7FC5C
+:10224000F1F75CFD617F227F914201D1012100E025
+:102250000021A942EBD170BDF7B50646481E844661
+:102260008EB0C0B2142204905043404A85182846CC
+:102270000595007C2D1D07282AD13B4C0027E07ACC
+:10228000227B824221D0235C049A934201D1012710
+:1022900001E0002F04D00A2811D0421CA25C225475
+:1022A0000A280ED0401C227BC0B28242EBD1002F04
+:1022B0000BD0207B002806D0207B401E04E00022AB
+:1022C000ECE70020EFE70A202073059A0120107444
+:1022D00060462B4C04280FD814204143234808188B
+:1022E0002038007F002807D00598007C012807D0FF
+:1022F0001098807A012807D01DA1304802F069FEAD
+:102300001098807A012871D10598184B007C02281A
+:102310001AD0154C207B0A2874D0207BE17A401C0F
+:10232000884204D1C92012A1800002F052FE059912
+:1023300001204874217B04986054207B0A2865D0D2
+:10234000207B401C20731CE1607A049A0146904275
+:1023500006D0014614277843C018807C9042F8D1FB
+:10236000627A824235D12BE0A81C0020B81C0020E4
+:102370007372635C72656D2E63000000D50500000A
+:102380003C1D0020701C0020481D0020901C0020D7
+:102390001C1D002012010020C81C0020931A0100FF
+:1023A000100100206D1F01007F02000000F50040B9
+:1023B00080E200E0CD020000CE0200001703000022
+:1023C000617A14225143C918897C61720121A1727A
+:1023D00007E014224243D21814277943927CC9188B
+:1023E0008A74142206215043C01881741098007A10
+:1023F000062819D203007B441B79DB189F4408127E
+:10240000100E0C0AE07A00288CD090E7002099E7A3
+:1024100000210FE0B4210DE073210BE0322109E02F
+:102420000A2107E0062105E0FF20FE49E23002F024
+:10243000D0FD0021109802910068401A2860109980
+:10244000097A002912D00221401A0102090A2960E2
+:1024500010980268406810180002000A686010981E
+:10246000807A0228109803D0007B74E00421EBE707
+:10247000007A002813D0022202981018844610987F
+:102480004268604608301718E748029A4078904240
+:1024900002D9E278002A04D03846083005E0042248
+:1024A000EAE7029A801AC0190830627A062A1CD01C
+:1024B000627A14235A43DD4BD2185268914214D0E9
+:1024C000DB4B0793617A14225143D84A89184A6832
+:1024D0008968921B891B12020902120A090A90429A
+:1024E0003AD89A4238D8994236D83018C01B0002E0
+:1024F000000A286010996044CE4AC9680002000AA8
+:102500009446421A01239B0507929A4201D2104633
+:1025100014E00A1A09929A4201D207980EE0079A2B
+:102520006346624503D9591A0818401C06E0099A07
+:10253000624506D9181A4018401C404200285FDC4A
+:1025400003E0B849BC4802F044FD2868C019000205
+:10255000000A6860002028726868082708300002B6
+:10256000000A68601098407AA8721098007A687221
+:1025700003280ED200280CD0FFF7D4FC002803D08B
+:1025800007E0002011B0F0BD02983A210F1A322066
+:102590000290A5480178012901D0032909D1417889
+:1025A0000298814205D9E078002802D10298081AE1
+:1025B000C71928689E4A801B844601026868090A78
+:1025C000801B03021B0A8F421AD81746914217D864
+:1025D000BB4215D8617A062916D0677A6146062271
+:1025E000039200923A4614235A43904BD2189368B0
+:1025F0009B1B8B4216D80397977C062FF2D177E06E
+:10260000049801F059F9BCE7059802220499027474
+:10261000627A062A00D0627A827461720120A07206
+:1026200011B0F0BD062F63D0002239469446142223
+:102630007E4B4A43D21853689B1B834229D2917B1D
+:10264000AB7A99421FD805980521049C7B4D0174F3
+:10265000287B0A2811D0287BE97A401C884203D1C4
+:102660007049774802F0B5FC287B2C54287B0A2857
+:1026700007D0287B401C287383E7E87A0028EFD036
+:10268000F2E70020F7E701218C46917C0629CED1A4
+:1026900002E0604600282AD03D46009114202A46D8
+:1026A000424362480621161831741038007B0A280C
+:1026B000624816D0017BC07A491C814203D161A1D6
+:1026C000634802F086FC5D48017B4554017B0A2982
+:1026D0000BD0017B491C0173B57C0098A842DDD169
+:1026E00006E0C07A0028EAD0EDE70021F3E7009782
+:1026F0000599022008744D4D607AB84207D10599BA
+:1027000000988874049860720120A07221E00398F8
+:10271000062F0FD0062803D14AA14E4802F059FCDB
+:102720000398142250434019049981740599009824
+:1027300088740EE0062803D142A1474802F049FC04
+:102740000398142250434019049981740599062076
+:102750008874012011B0F0BD70B50D4606463F49A2
+:1027600000242046891BA04103D236A13C4802F038
+:1027700030FC3C490020491BA04103D231A13A481A
+:1027800002F027FC394A70190021821A8C4101D3CA
+:102790003749401870BDF8B5401EC0B214214843F7
+:1027A00022494518687B062813D203007B441B7915
+:1027B000DB189F44020C0A080604002066E0B420DF
+:1027C00010E073200EE032200CE00A200AE0062020
+:1027D00008E0FF201BA1E23002F0FBFB697B002038
+:1027E000002953D0022140186968002440180C21A8
+:1027F00000026956000A00294ADBF1F77FFA174AFE
+:1028000006460C27EF570021101AA14103D20DA153
+:10281000134802F0DEFB13490020C91BA0412CD253
+:1028200008A127E07023010012010020B81C00203D
+:10283000FFFF3F00FFFFFF0014070000A81C00205F
+:10284000090200007372635C72656D2E6300000004
+:10285000C7030000DF030000E5030000FF7F841EC4
+:10286000F50300000020A107F60300000080841E8D
+:1028700000807BE1FB4802F0ACFBFB4AF019002131
+:10288000821A8C4101D3F9494018F8BD0421AAE706
+:10289000F1F734FA0C21695600224018F449091A5C
+:1028A000A241F2D24042F8BDF0B5064683B0F148ED
+:1028B0000190457A029534687068001B0702EE4863
+:1028C0003F0A001B0090062D2DD0142029464143BD
+:1028D000EA480122081884464168E748920586467E
+:1028E000081B904210D3631A93420DD302467046E0
+:1028F000724503D900984018401C05E073450ED975
+:10290000411A0819401C404200280CDA6046029522
+:10291000857C0198C0790028D5D003B0F0BDD84996
+:10292000D84802F056FB0298854226D0142148432D
+:10293000D2490123401802908068CF499B058C46FC
+:10294000011B8646994210D3221A9A420DD3634640
+:10295000614503D900997144491C06E01946624556
+:102960002DD9091A0819401C4142002905DD029899
+:10297000B17A807B814200D37446062D15D0BF49C1
+:102980001420454368184268121B1202120ABA4208
+:102990000BD2B27A837B9A4200D38468857C0198FB
+:1029A000C0790028B9D1062DEAD13068A042B4D050
+:1029B000E0190002000A3460706003B0F0BDB04955
+:1029C000B04802F006FBD8E7F0B5AF4904464868C6
+:1029D00085B0C005C00D1CD0103840B200280CDAFC
+:1029E0000207120F083A920892005118C96980072D
+:1029F000C00EC1400806800F09E08108A34A890083
+:102A0000891809688007C00EC1400806800F002899
+:102A100008D000262078002806D0012804D0002005
+:102A200005B0F0BD0126F5E72079062813D2030092
+:102A30007B441B79DB189F44020C0A080604002023
+:102A400018E0B42010E073200EE032200CE00A20E1
+:102A50000AE0062008E0FF208949E23002F0B9FAD6
+:102A600021790020002905D002214718814D002E30
+:102A700002D003E00421F8E70020E87102AA6946C9
+:102A8000A068F1F745F9694608228A56E06801A96D
+:102A90008018C01C01221F2801DA019209E003AA54
+:102AA000F1F736F96846007B002802D00198401CF7
+:102AB000019000990198401808300002000A019026
+:102AC000C81B0002000A009060796946887200986D
+:102AD0000390F1F7ACF8009A019B121A181A6C498E
+:102AE00012020002120A000A8A4216D8884214D83A
+:102AF0006846FFF7D9FE00990398814205D0C819AE
+:102B00000002000AF1F7FAF8A0600120E979002933
+:102B100086D0002EB0D005B0F0BD0020F6E7F3B5AA
+:102B20008FB05C480C460B9001F088F85A4A0F9918
+:102B3000504E5518203D594F00280BD05848007D65
+:102B4000002803D057A15A4802F043FA2078012800
+:102B50007DD05FE1787F0A280CD0787F397F401CD8
+:102B6000884203D14FA1534802F033FA207801285C
+:102B700004D00CE0387F0028F4D0F7E7E87F002885
+:102B800003D048A14C4802F024FA0120E877787F6E
+:102B90000F991422494D504340190174207802289E
+:102BA00023D0787F14214843451920792872607911
+:102BB00068722A460C322946A068F1F7A9F80C2061
+:102BC00028560F2804DD1F3828732868401C286009
+:102BD0000C22AA56281DE16802908818C01C1F28E4
+:102BE0003FDA029901200860FDE027494868C005E6
+:102BF000C00D20D0103840B200280CDA0207120FA6
+:102C0000083A920892005118C9698007C00EC14065
+:102C10000806800F09E081081C4A890089180968A4
+:102C20008007C00EC1400806800F002803D11DA1F7
+:102C3000234802F0CEF9787F14214843451900213A
+:102C4000E0686A460591117303AA05A900E0D8E07F
+:102C5000F1F75EF86A460C2010560F2832DD01208D
+:102C600031E0B3E0F60300000080841E00807BE1C9
+:102C7000FF7F841E3C1D0020FFFFFF00B81C0020CA
+:102C8000442801001407000000ED00E000E400E02B
+:102C9000FFFF3F00481D002016010020701C00208F
+:102CA000901C00207372635C72656D2E63000000DF
+:102CB00017050000F5040000FA040000B01B002016
+:102CC0000605000000200599401808900220A8720F
+:102CD0002079287260796872A068291DC01C039150
+:102CE0001F2801DA01200AE006AAF1F711F8684668
+:102CF000007E002804D0039803990068401C0860F7
+:102D0000287A062813D203007B441B79DB189F44E2
+:102D1000020C0A08060400200FE0B4200DE0732026
+:102D20000BE0322009E00A2007E0062005E0FF2042
+:102D3000FD49E23002F04DF900202179002943D00D
+:102D400002214118069168680831401808990590D9
+:102D500008180699401A0C900020F071F0F767FFF0
+:102D600004462860089820180002000AE860707A7B
+:102D7000062825D0707A14214843EC494018406851
+:102D80000090059940180002000A0190687A69468F
+:102D900088726846FFF788FD0098019A001B121B95
+:102DA00000021202E24B000A120A0C99984207D85C
+:102DB0008A4205D80099069808180002000A28607F
+:102DC000F0790028C8D110E00421BAE704AA0299DA
+:102DD000F0F79EFF6846007C002804D00298029914
+:102DE0000068401C08602078A872787F0A2806D006
+:102DF000787F401C78770B9800F038FF47E0002080
+:102E0000F8E7E87F002803D0CAA1CD4802F0E1F836
+:102E10000120E877CB490F9808742078022803D165
+:102E2000C4A1C94802F0D5F8C64D2079287260794E
+:102E300068722A460C322946A068F0F769FF0C2018
+:102E400028560F2804DD1F3828732868401C286086
+:102E50000C22AA56281DE16802908818C01C1F2861
+:102E600003DA0299012008600CE003AA0299F0F746
+:102E70004FFF6846007B002804D002980299006842
+:102E8000401C08602078A872AE4901200875797F3F
+:102E9000387F814223D0747A062C22D0F0F7C7FE07
+:102EA00014214C43A1496218117C042917D003292D
+:102EB00015D0536892681B1A101A1B0200029C4915
+:102EC0001B0A000A082B0AD30A468B4207D89042F5
+:102ED00005D8787F397F884201D0F0F7F4FE11B031
+:102EE000F0BD787F397F8842F7D111B0F0BD10B5C1
+:102EF0000020F0F7FAFD10BD10B50120F0F7F5FD48
+:102F000010BDF1B5009802281FD0904C607A0628B9
+:102F100003D188A18E4802F05CF80026A671012535
+:102F2000E572607A03211422804F5043C019017466
+:102F3000F0F7CEFE009800280CD001282AD00328F4
+:102F40007CD0B5207BA1C00044E082480078EFF738
+:102F50000DFEF8BD8048007F002803D075A17F4892
+:102F600002F037F865717C4D00202E60F0F7D0FD3F
+:102F7000A968481C04D0012300221846F0F7FEFD82
+:102F8000607A617A401CC0B2142251437A58012100
+:102F90009047F8BD0120F0F7BBFD607900280DD007
+:102FA0006D488068401C09D0607A617A401CC0B2CC
+:102FB000142251437A5806219047F8BD6648007F95
+:102FC00001280AD0022812D0032824D0042836D0A1
+:102FD00058A1634801F0FDFFF8BD2079002803D017
+:102FE0002671F0F77AFEE5705B480677F8BD207A27
+:102FF000002804D1FEF770FAEFF718FE2572607A08
+:10300000617A401CC0B2142251437A580021904783
+:1030100051480677F8BD504F0123397B786800226C
+:10302000411A1846F0F7AAFD2079002803D026712E
+:10303000F0F753FEE57002203877F8BD1BE0464EEE
+:10304000217870680123411A00221846F0F796FD96
+:10305000207A002804D1FEF73FFAEFF7E7FD25724A
+:10306000607A617A401CC0B2142251437A58002120
+:1030700090473577F8BD607A617A401CC0B214225F
+:1030800051437A5805219047F8BD10B52F4C607A0E
+:10309000062803D127A1334801F09BFF607A617AAB
+:1030A000401CC0B214225143204A52580421904778
+:1030B00010BDF0B583B006200290F0F7B8FD234CA8
+:1030C0000090617A28480190062920D0617A142066
+:1030D000414316480918097C042918D0617A142242
+:1030E00051430818007C03287BD00198009A03689C
+:1030F00040689B1A801A1B0200020D491B0A000A35
+:10310000082B6ED30A468B426BD8904269D812487E
+:103110008068401C03D007A1144801F05AFF00202A
+:103120006071607A062823E0A42C0100B81C0020FE
+:10313000FFFF3F007372635C72656D2E63000000D9
+:103140001E050000901C0020240500003C1D0020EE
+:1031500055050000100100201C1D00206105000025
+:103160009C050000AF0500002C1D0020EB050000B1
+:1031700007D16078002804D0FE48C178417081787A
+:103180000170607A062815D0607A1421FA4A484303
+:103190008018007C04280DD1607A0290617A0120A9
+:1031A0001423594389180874617A59438918897C12
+:1031B0006172A072F14D687F297FF14F884233D050
+:1031C000F04E287F142148438019007CC05D0128FF
+:1031D000287F07D048438019007CC05D02282FD08B
+:1031E00044E001E2142148438019807A01280AD082
+:1031F000287F0221142250438019007CC155287F6A
+:103200000A2808D009E0297F002014225143891997
+:10321000097CC8552AE0002001E0287F401C28775F
+:10322000687F297F8842CCD1D74D287D00284CD09B
+:10323000287CC15D012928D0C05D022830D03AE049
+:10324000287F142148438019807A012803D0CFA118
+:10325000D14801F0BEFE297F002014225143891974
+:103260008872297F51438919097CC855287F142108
+:1032700048438219287F48438019017C0098FEF753
+:10328000EBFF287F0A28C8D1C5E7A97A012904D015
+:103290000221C155002028750DE00021C1550AE02A
+:1032A000A87A012803D0B9A1BC4801F092FE002001
+:1032B000A872297CC855287D002806D0297CB24AEE
+:1032C0000098FEF7C9FF00202875029806281ED036
+:1032D00014214843A8494018017C012917D107212E
+:1032E000AF4D0174287B0A283CD0287BE97A401C2A
+:1032F000884203D1A5A1AB4801F06BFE297B02985F
+:103300006854287B0A2831D0287B401C2873607AB7
+:1033100006287DD0A07A00287BD00020A072617A98
+:10332000142041439448A04B0A18566891681D46E2
+:10333000D2687C35DE67AA6069609C4D697E002991
+:1033400016D00226617A14228B4851430818407B1C
+:1033500006281BD203007B441B79DB189F440A1408
+:1033600012100E0CE87A0028C4D0C7E70020CDE781
+:103370000426E7E700200FE0B4200DE073200BE007
+:10338000322009E00A2007E0062005E0FF207FA1A7
+:10339000E23001F01EFE00202873697E022901D070
+:1033A000012910D12969009A09188A1A1202120AF1
+:1033B0003A2A08D90320687632390802000A2861BF
+:1033C000322028730AE0322808D2207A00280ED151
+:1033D000FEF782F8EFF72AFC012007E0207A0028A8
+:1033E00005D0FEF798F8EFF74AFC002020726149FB
+:1033F0000822487820700978012901D0032906D1D4
+:1034000001212171297B884201D9421A083201E049
+:1034100091E0A1E0A378002B00D0921C2179002933
+:1034200001D1002B5DD09446614A00990092019A27
+:10343000176852687F1A511A3F0209023F0A090AA7
+:10344000BC451BD85A4A974218D8009A914215D8C1
+:10345000297B884223D92B69421A9A1A1202120A2E
+:10346000101880190002000A2A616860002914D02F
+:10347000032028770006000E3ED14CE0002020718A
+:10348000A070297B002925D02869401880190002E6
+:10349000000A6860022028772EE00120E9E78142D7
+:1034A0000BD92A69511889190902090A696000288B
+:1034B00001D00420DDE70220DBE7002B03D133A19C
+:1034C0003C4801F086FD286980190002000A686006
+:1034D000002004E0296989190902090A696028772E
+:1034E00019E0287B00280FD02969081880190002EC
+:1034F000000A6860022028772869012381190022C8
+:103500001846F0F73BFB09E0286980190002000A21
+:103510006860002028770120F0F7FAFA607A142119
+:10352000484315490C22401882560123002069683F
+:10353000F0F724FB10E00120F0F7EAFA0020F0F7A2
+:10354000E7FAF0F7CBFA207A002805D0FDF7E3FF81
+:10355000EFF795FB00202072A078002804D0F0F748
+:10356000BCFB0020E070A0706078002827D00148E4
+:10357000C17821E012010020B81C0020701C00203E
+:1035800015010020B01B0020901C00207372635CAA
+:1035900072656D2E630000000D0600002906000014
+:1035A000A81C00203B060000B01C00201C1D0020B1
+:1035B000FFFF3F008D060000417081780170207987
+:1035C000002806D00020CE49E0700978002900D1FB
+:1035D0002071CC48017BC07A814203D0CA48407830
+:1035E000EFF7C4FA0120E07103B0F0BDF0B5C74CAD
+:1035F0000746607A83B0062804D16F20C4A1000179
+:1036000001F0E7FC607A1421C44E48438019007C25
+:10361000032803D0BEA1C24801F0DBFCC14DA8685D
+:10362000401C03D0BAA1C04801F0D3FC607A142139
+:10363000484381190C20085600216A4600911171F7
+:10364000C01901AA6946F0F763FB6A4604201056C8
+:103650000F2801DD012000E0002000994018696872
+:1036600040180102090AA9606079002804D00123EA
+:1036700000221846F0F782FA03B0F0BD70B5AC4CEA
+:10368000AA4A0B1AA34214D3451AA54211D3934256
+:1036900003D9101A43185B1C0BE0954204D9511A48
+:1036A0000818401C434204E099A1A24801F091FC93
+:1036B0000023184670BD10B50146012300220220E8
+:1036C000F0F75CFA10BD10B50220F0F721FA10BD3A
+:1036D00010B5F0F7ACFA10BDF0B58C4D0446E87AA1
+:1036E00083B0002803D18AA1934801F072FC642CB6
+:1036F0004DD3924A00210846121B884147D3904877
+:10370000417F007F814242D18E48007D00283ED11A
+:10371000687A1421814F4843824EC519306801AA46
+:1037200000196946F0F7F4FA6946042008560028A3
+:1037300002DD0098401C0090A96800986B680A1888
+:10374000D21A1202804B120A9A4220D8AA7C062A68
+:1037500008D014235A43D2195268511A0902090A8F
+:10376000814214D3B068401C05D00120F0F7D0F995
+:103770000020C043B060306800193060A86800992C
+:1037800040180002000A7061012003B0F0BD002063
+:1037900003B0F0BDF8B50646401EC4B214205F4920
+:1037A00060434518287C002804D1772058A10001E7
+:1037B00001F00FFC6248017F407F81420CD0634AD8
+:1037C00014234B439B181B7CB3420CD00A290CD00A
+:1037D000491CC9B28142F3D15A48017D002961D008
+:1037E000007CB0425ED10020F8BD0021F1E7052940
+:1037F00003D0062901D0072928D101212974C17AD3
+:103800000023027B8A4221D00246565CA64201D1A7
+:10381000012301E0002B04D00A2911D04E1C965D33
+:1038200056540A290ED0491C167BC9B28E42ECD1DF
+:10383000002B0BD0117B002906D0117B491E04E020
+:103840000026ECE70021EFE70A211173697C0029CB
+:103850002AD06F74C17A0023027B8A4224D0425C52
+:10386000A24201D1012301E0002B04D00A2912D089
+:103870004A1C825C42540A290FD0491C027BC9B2FF
+:103880008A42ECD1002B0FD0027B0146002A06D0E1
+:103890000A7B521E04E00022EBE70021EEE70A2239
+:1038A0000A7301E017480027297C01299FD16A7C0F
+:1038B000002A9CD10120F8BD70B505461420174A96
+:1038C0000521684380180F4C0174207B0A2811D011
+:1038D000207BE17A401C884203D10DA11C4801F0F5
+:1038E00078FB207B2554207B0A2807D0207B401CB6
+:1038F000207370BDE07A0028EFD0F2E70020F7E7F0
+:1039000012010020A81C0020100100203C1D0020F6
+:103910007372635C72656D2E63000000B81C00203A
+:10392000F10600001C1D0020F2060000FF7F841E2F
+:103930000020A1071407000033070000FF1FA107A4
+:10394000701C0020901C0020FFFF3F00B01B0020D7
+:103950000902000010B501462022094801F09CF937
+:1039600007490020C877084610BD06490120486174
+:103970000548064A0168914201D100210160704763
+:103980004C1D0020000500401C010020BEBAFECAEC
+:10399000064A10705170704704481C22017841712A
+:1039A00042700170704770477047704720010020D7
+:1039B00030B50346002002460DE09C5C2546303DB4
+:1039C0000A2D02D30020C04330BD0A256843303899
+:1039D0002018521CD2B28A42EFD330BD70B50D46CA
+:1039E000144608E00A2101F0D1F92A193031203AB1
+:1039F000641ED177E4B2002CF4D170BD10B5002361
+:103A000010E0040A00020443A0B2CC5C444020064B
+:103A1000000F60400407240C44402006C00C6040A6
+:103A20005B1C9BB29342ECD310BD10B520380C4602
+:103A3000030001F0BFFB33E0DBE41B1F23272C3125
+:103A4000373C41474D5054585C606D7165697478DE
+:103A50007C8084888C9094989C9FA2A6AAAEB2B8D1
+:103A6000BCC0C5CACFE9F0F3D3D7F800206800F096
+:103A7000DDF8D6E0206800F0E1F8D2E0206800F040
+:103A8000F5F8CEE0207840B200F092FAC9E0207854
+:103A900040B200F0B0FAC4E02078616840B200F0B3
+:103AA000C3FABEE0207840B200F0D3FAB9E0207843
+:103AB00040B200F0DEFAB4E02078217940B200F0A4
+:103AC000E9FAAEE02078616840B200F013FBA8E0AC
+:103AD00000F01FFBA5E0206800F023FBA1E02078A8
+:103AE00000F038FB9DE02068FDF7F5FD99E02068C7
+:103AF000FDF7F5FD95E021792068FDF7F7FD90E0F1
+:103B00002068FDF73FFC8CE02068FDF740FC88E072
+:103B10002078FDF740FC84E0FDF74EFC81E0207842
+:103B2000FDF750FC7DE02078FDF762FC79E020682D
+:103B3000FDF77BFC75E02068FDF77DFC71E02068F7
+:103B4000FDF77FFC6DE02068FDF780FC69E02068F0
+:103B5000FDF782FC65E02068FDF784FC61E02068E9
+:103B6000FDF785FC5DE00846EDF7F0FA59E0EFF768
+:103B700070F856E0EFF79DF853E02068EFF7A5F8EE
+:103B80004FE0206800F080F84BE0206800F082F8F9
+:103B900047E0206800F083F843E02078A26861687D
+:103BA00000F082F83DE0207800F089F839E02078D4
+:103BB00000F091F835E02078616800F098F830E086
+:103BC0002078616800F09FF82BE02179207800F0E0
+:103BD000D5FB26E02068FDF778FE22E02068FEF79E
+:103BE0004DF91EE02068FEF731F91AE0204607C8BB
+:103BF00000F0B9FC15E0206800F00CFD11E06168F0
+:103C0000206800F037FD0CE0206800F029FF08E094
+:103C100009E003E0FFE700F03BFF02E0206800F06E
+:103C200073FF206010BD0120086010BD00210170ED
+:103C3000084670470146002008707047EFF3108176
+:103C4000C907C90F72B60278012A01D0012200E02B
+:103C5000002201230370002900D162B6002A01D09E
+:103C600000207047012040037047E7E7EFF3108121
+:103C7000C907C90F72B600220270002900D162B6CE
+:103C800000207047F2E7000038490968C9B20160B6
+:103C9000002070473549C0B2486000207047334962
+:103CA000C0B2886000207047082801D330487047B0
+:103CB000C3002E4818180161426100207047022895
+:103CC00002D32B48401C70472A4A0121C0008018AB
+:103CD000016000207047022802D32548401C70472D
+:103CE000244A0121C000801841600020704702284A
+:103CF00002D31F48401C70471F4A8000C9B2801879
+:103D0000016000207047022802D31948401C704708
+:103D1000194A800080180068C0B20860002070470F
+:103D200010B5FF20114AC043906008200021C30055
+:103D30009B1819615961401C1028F8D300200E4AC5
+:103D400005E0022803D383009B18196004E0830078
+:103D50009B181C68E4B21C60401C0428F1D310BD01
+:103D6000FF200249C04388607047000000F5014011
+:103D70000820000000F0014000F8014010B572B6C4
+:103D800000F0DEF800280BD0EDF78AFAFEF783F991
+:103D900000F0BBFA6F490020C86288626E49086073
+:103DA00062B6002010BDF3B5002501200007C06AEF
+:103DB00081B0C0430006000E04D168480068401C72
+:103DC00000D1012572B600F0BBF8002801D062B620
+:103DD00087E0EDF7D1F9EDF767FA614C614A002110
+:103DE0002368CB40DB071FD00346CB40DB0718D14D
+:103DF0004BB2002B07DA1E07360F083EB608B60096
+:103E0000B618F66904E09E08574FB600F6193668F2
+:103E10009B07DB0EDE4033069B0F012B04D0032BE8
+:103E200002D062B65148FEBD491C2029D8D3019C5E
+:103E300001204F49230001F0BDF914222424242439
+:103E4000242424240B0D1012142016181A1C1E2FC3
+:103E5000002400E00124C86314E00224FBE70324EB
+:103E6000F9E70424F7E70824F5E70924F3E70A242F
+:103E7000F1E70B24EFE70C24EDE70524EBE707243B
+:103E800000E00624D06901210002000AC9070843A6
+:103E9000D061002D04D009E062B601200003FEBD10
+:103EA0002C4D3448E862EDF7FFF9A8622A49324800
+:103EB0000860324902980860EDF7F6F9214600F0F3
+:103EC0000BFAFEF7AEF800F00DFC00F087FA01984F
+:103ED000EDF7B4F9040062B603D0FFF74FFF2046B8
+:103EE000FEBD0020FEBD10B5044600F029F80028F4
+:103EF00000D001202070002010BD21490860002062
+:103F0000704710B50C46102808D011280BD0122885
+:103F10000CD013280ED00120086010BD6168206805
+:103F2000FFF741FF0AE0FFF729FF07E02068FFF7EE
+:103F3000DAFF03E01249206808600020206010BD0D
+:103F400005480D490068884201D1012070470020D2
+:103F500070470000000500401C0100200010001008
+:103F600000E100E000ED00E000E400E001100000EE
+:103F70004000004000200000BEBAFECA2801002018
+:103F8000040000208107C90E002808DA0007000F8E
+:103F900008388008814A80008018C06904E08008E1
+:103FA0007F4A800080180068C8400006800F704774
+:103FB00010B5044600F0DBF8002813D02046FFF7C8
+:103FC000E1FFC0B200F0E1F800280DD07549E2062B
+:103FD0000B78D20E01209040002B08D04A68104385
+:103FE000486006E0704810BD6F48401C10BD6F4926
+:103FF0000860002010BD10B5044600F0B8F8002895
+:104000000BD06849E2060B78D20E01209040002BBD
+:1040100005D04A6882434A6004E0634810BD6349A2
+:1040200080310860002010BD70B50D46044600F0D8
+:104030009EF800280BD05E480068E206D20E0121EF
+:104040009140084000D001202860002070BD5648F3
+:1040500070BD10B5044600F08AF8002807D0E106CC
+:10406000C90E0120884052490860002010BD4E480A
+:1040700010BD10B5044600F07AF8002808D0E1061B
+:10408000C90E012088404A4980310860002010BDD7
+:10409000454810BD70B50D46044600F068F800288C
+:1040A00019D0284600F071F8002816D0A007C20EDB
+:1040B000FF209040A907090E9140002C10DA22073A
+:1040C000120F083A9308354A9B009B18DA6982431D
+:1040D0000A43DA610CE0344870BD3348401C70BDBF
+:1040E000A3082F4A9B009B181A6882430A431A6050
+:1040F000002070BD70B50C46054600F038F8002869
+:1041000005D02846FFF73EFF2070002070BD2648EE
+:1041100070BDBFF34F8F21492648C860BFF34F8F52
+:10412000FEE770B51F4C05462178012000290ED10D
+:10413000207072B600F0F8F81C4E8036316881436A
+:10414000616000F0F1F8C043306062B60020287072
+:10415000002070BD13490A78002A06D0002804D137
+:10416000124A48681060002008700020704710B59F
+:104170000446202805DA00F0D7F80121A1400842C2
+:1041800001D0002010BD012010BD012803D003285C
+:1041900001D00020704701207047000000ED00E0D2
+:1041A00000E400E02C0100200120000000E100E01C
+:1041B00000E200E00400FA05F8B504468007002597
+:1041C0000126002804DA5A48C563C66302208443E6
+:1041D000E00404D55748C563C66380148443600077
+:1041E00003D55548456080058443E00504D5534810
+:1041F000C563C66380158443A00404D55048C563D5
+:10420000C6634014844360042704C00FF90F88423A
+:1042100003D04CA1612000F0DCFEB80F0AD04E495B
+:10422000CD634E48C563C563CE63C663C6630320D2
+:104230008003844320050AD5494FFD632F20ECF706
+:10424000B3FFFE632F20ECF7AFFFF8148443002C7C
+:1042500003DAFFF765FD640064084248044203D0B6
+:1042600038A1902000F0B5FEF8BDF0B500210A4657
+:10427000FF230446CC40E4072AD04CB2E606F60EF3
+:104280000125B540384E3560384E3560002C11DAC6
+:1042900025072D0F083DAE08354DB6007619F56996
+:1042A000A407E70E1C46BC40A5431446BC4025436A
+:1042B000F5610DE0A6082F4DB60076193568A40704
+:1042C000E70E1C46BC40A5431446BC402543356060
+:1042D000491C2029CDD3F0BD70B5274C0D46206078
+:1042E000FFF76AFF2068FFF7C0FF2846EEF77AFD68
+:1042F000FDF7D6FAFDF782F9FFF712FDFDF7D5F8C5
+:10430000EEF7FEFB00F06AF870BD10B51A4C20689D
+:10431000FFF752FF2068FFF7A8FFFFF701FDEEF758
+:10432000E6FD0020206010BD1348006870470000C3
+:10433000C01F0040C0CF004000E50140C08F0040DA
+:10434000C0DF00407372635C736F635F636F6E66A0
+:1043500069672E6300000000C0EF0040C0FF00400E
+:10436000C0BF0040FEFF0FFC80E100E080E200E003
+:1043700000ED00E000E400E03401002070B500240E
+:1043800002460D4620462146002A1ED0012A04D0AE
+:10439000022A04D0032A1ED103E0012002E00220F9
+:1043A00013E003202B0000F005FF07160507090B9B
+:1043B0000D0F1600012108E0022106E0032104E0B0
+:1043C000042102E0052100E00621FDF7D9FE0028C6
+:1043D00001D0204670BD0724FBE70000B148002152
+:1043E00001708170704770B5AF4D01236B60AF4BAA
+:1043F0001C68002CFCD0002407E00E6806601E68D4
+:10440000002EFCD0001D091D641C9442F5D3002031
+:10441000686018680028FCD070BD70B5A14C0D46CE
+:104420006178884203D0A2A16C2000F0D2FD2B005D
+:1044300000F0C0FE094F0625254F4F4F4F464F0055
+:104440002078022803D09AA1702000F0C2FD03203A
+:104450002070A078022802D0012804D008E0A068CB
+:1044600000F0CEFB04E02269E168A068FFF7BBFF23
+:104470000020A070FDF724FE0420207070BDFDF721
+:10448000D4FE01466068FFF7F9F805462078022857
+:1044900003D087A1842000F09CFD894A89498A487D
+:1044A000954206D8401BC86086496078FEF737FB06
+:1044B00070BD854202D802224A71F3E7032003E06F
+:1044C000A0780028FAD10220FDF704FD00F0E0F802
+:1044D00070BD77A1AD2000F07CFD70BD70B50546C4
+:1044E000FDF7A3FE6F4C60602078012803D070A117
+:1044F000B42000F06EFD73490220087000220A719A
+:104500008D6003224A71704ACA6020706078FEF79D
+:1045100006FB70BD10B5634CA078002802D120784E
+:10452000002801D0112010BD6848FDF710FE607012
+:104530006078002803D001202070002010BD0320E7
+:1045400010BD10B50124020B64040121604BA04290
+:1045500002D29140186802E0203A58689140084021
+:1045600000D0012010BDF8B50E46910005464F1948
+:1045700014463F1F009100F054FB009980028919F6
+:10458000091FB14201D2012200E00022002C03D019
+:10459000FF2101318C4201D90920F8BD4D498D42DE
+:1045A00019D3AF4217D3854205D2874203D228469A
+:1045B0003043800701D01020F8BD8E420BD3002A73
+:1045C00009D12846FFF7BDFF002804D13846FFF780
+:1045D000B8FF002801D00F20F8BD3F483F490068D0
+:1045E000884205D0224631462846FFF7FCFE0FE000
+:1045F000FFF790FF0028EFD12A480121C6608560AF
+:10460000046181702046312148431430FFF766FF72
+:104610000020F8BD10B504462E48800A84420BD312
+:1046200000F0FFFAA04201D8102010BDA0020446FD
+:10463000FFF787FF002801D00F2010BD264827492B
+:104640000068884203D0204600F0DAFA0AE0FFF75B
+:1046500061FF0028F1D11348022184608170204855
+:10466000FFF73CFF002010BD1A48010B01208840D5
+:10467000401E704700B50B460246FFF7F5FF10429B
+:1046800001D00F2000BD124802604360002000BD31
+:1046900010B5044C6078FDF7AEFD00202070A070CE
+:1046A00010BD00003801002000E5014000E4014099
+:1046B0007372635C736F635F666C6173682E630013
+:1046C000307500006C1D0020D0FB01001B44010070
+:1046D00000060040006001001C010020BEBAFECAB6
+:1046E00010540000F74805218170002101704170CD
+:1046F000C1708160704710B5F3490A78022A07D06B
+:10470000CA681018C860C8689638FEF76FFF10BDF9
+:104710008A68101888608868F6E70378EB49EC4AE5
+:10472000002B02D0012B10D014E00379002B01D014
+:10473000012B0FD14379002B01D0012B0AD18368C3
+:10474000643B8B4206D2C06810E00379002B03D093
+:10475000012B01D0002070474379002B01D0012BA1
+:10476000F8D1C368643B8B42F4D280689042F1D8A0
+:1047700001207047F8B504460226FEF7BDFB00682D
+:10478000002803D0D3A1BE2000F023FC0127CD4D8B
+:10479000002C08D02078002817D0012805D0022846
+:1047A00011D0032813D02F710DE06068C82808D3FA
+:1047B000FEF792FF002804D06068FFF79CFF0126F7
+:1047C00003E0002601E000F0F9F93046F8BD287852
+:1047D0000028F8D16068FFF7A0FF0028E3D06068E8
+:1047E0000078002826D0A878042803D0B9A1F820A2
+:1047F00000F0EFFBB44F00203870606800790128AA
+:1048000000D00020387160684079002837D003203C
+:10481000787160688168E868FDF79EFFB86060683D
+:10482000C0689630F8600320A870A749E878FEF7C2
+:1048300076F9C8E7A4480221017061680979012965
+:1048400019D00021017161684979002915D003212F
+:10485000417161688968963181606168C968C16029
+:10486000C068984C14346060FDF7DFFC20606F7006
+:104870000220A870A7E70321E4E70221E8E702206D
+:10488000C6E7F8B58F4C0D46E178884204D0FF208A
+:1048900090A11A3000F09DFB28468A4F0025012682
+:1048A0001437030000F086FC090612375A7C8D97F6
+:1048B000C4A0C400A078032807D0A078022804D0A0
+:1048C000FF2084A11E3000F084FBF8BDA0780328EF
+:1048D00007D0A078022804D0FF207EA1223000F06B
+:1048E00078FB0420A07025712078002810D1FFF7F4
+:1048F00002FFE078FDF74FFFE0607D49886A7D4A5E
+:10490000024022617B4AD24310408862002050E07E
+:1049100000F054F9F8BDA078032807D0A078022849
+:1049200004D0FF206BA1453000F053FB2078002815
+:1049300002D000F04FF9F8BDA07803281FD1042061
+:104940002AE0091A6048C1600146E078FEF7E7F8FE
+:10495000F8BD0420FDF7BEFAA570F8BDA0780328C5
+:1049600007D0A078022804D0FF205AA1663000F0BA
+:1049700030FB20780028DCD1A07803280BD0FDF78D
+:1049800054FC01463868FEF779FE0028E1DB7968BF
+:104990008142DEDBD5E70520FDF79CFAA670F8BD65
+:1049A000A078042804D0FF204AA1873000F011FB32
+:1049B0000220A1688847FFF7DDFEFF260546C036C6
+:1049C00042E0A078042804D0FF2042A18C3000F0FF
+:1049D00000FB0120EDE7A078042899D0FF203DA13D
+:1049E000913000F0F6FA93E7A07804280AD06078B6
+:1049F000002802D0A078022804D0FF2035A19630EC
+:104A000000F0E7FA2078002893D12079002804D01C
+:104A10000620FDF75FFA2571C0E76078002805D011
+:104A20002949E078FEF77BF86570F8BD0720B3E709
+:104A3000FF2028A1B13046E7002D0AD0012D06D075
+:104A400024A1304600F0C5FA022DF5D1F8BD0420AE
+:104A500000E00320A1688847FFF78CFE0546F3E7D6
+:104A600070B5050005D0174CA078052803D011209B
+:104A700070BD102070BD2048FDF769FBE070E07844
+:104A8000002803D0A5600020A07070BD032070BD79
+:104A900010B50C480178002901D0112010BD817893
+:104AA00005292BD0817801292AD08178002927D0A7
+:104AB000012101708178012922D0807800281FD03F
+:104AC00020E000004C0100207C1D00203D860100FC
+:104AD000FF1FA1077372635C736F635F7261646928
+:104AE0006F5F74696D65736C6F742E6300000000F6
+:104AF0000005004002810080834801000F2010BDA6
+:104B000000F068F8002010BDF8B5394E0446B078C2
+:104B1000002801D001280DD1002C0DD02046FFF730
+:104B2000FCFD00280AD02078324D002808D0B0784B
+:104B3000012823D00F20F8BD1020F8BD0720F8BDB4
+:104B400002272F702079012814D000202871607965
+:104B5000002811D003206871A0689630A860E06832
+:104B6000E860E868224C14346060FDF75EFB20606A
+:104B7000B77019E00320E9E70220ECE70020287075
+:104B80002079012816D0002028716079002813D0E0
+:104B900003206871A168F068FDF7DEFDA860E06899
+:104BA0009630E8600320B0701249F078FDF7B7FF47
+:104BB0000020F8BD0320E7E70220EAE710B50E4821
+:104BC000816A0E4A11400A4A126911438162FDF757
+:104BD00077FA10BD10B5064CE078FDF70CFB082005
+:104BE000FDF778F90520A07000202070607010BDDE
+:104BF0004C0100207C1D002000050040FD7EFF7F51
+:104C00000A4A022151600A490B68002BFCD09060CF
+:104C100008680028FCD00020506008680028FCD0FC
+:104C200070470120000740697047000000E501401F
+:104C300000E4014070477047704770477047034673
+:104C400010B50B439B070FD1042A0DD308C810C918
+:104C5000121FA342F8D018BA21BA884201D9012004
+:104C600010BD0020C04310BD002A03D0D30703D0DD
+:104C7000521C07E0002010BD03780C78401C491C32
+:104C80001B1B07D103780C78401C491C1B1B01D14E
+:104C9000921EF1D1184610BDF8B5042A2CD3830713
+:104CA00012D00B78491C0370401C521E83070BD096
+:104CB0000B78491C0370401C521E830704D00B78EC
+:104CC000491C0370401C521E8B079B0F05D0C91A4C
+:104CD000DF002023DE1B08C90AE0ECF775FAF8BDF7
+:104CE0001D4608C9FD401C46B4402C4310C0121F8D
+:104CF000042AF5D2F308C91A521EF0D40B78491CC5
+:104D00000370401C521EEAD40B78491C0370401CEF
+:104D1000521EE4D409780170F8BD01E004C0091FF7
+:104D20000429FBD28B0701D50280801CC90700D063
+:104D30000270704700290BD0C30702D00270401CDC
+:104D4000491E022904D3830702D50280801C891ED4
+:104D5000E3E70022EEE70022DFE70378C278194696
+:104D6000437812061B0219438378C0781B04194349
+:104D700011430902090A000608437047020A087035
+:104D80004A70020C8A70020ECA7070470022030932
+:104D90008B4273D3030A8B4258D3030B8B423CD311
+:104DA000030C8B4221D312E003460B437FD4002235
+:104DB00043088B4274D303098B425FD3030A8B42AF
+:104DC00044D3030B8B4228D3030C8B420DD3FF2219
+:104DD000090212BA030C8B4202D31212090265D0E7
+:104DE000030B8B4219D300E0090AC30B8B4201D39A
+:104DF000CB03C01A5241830B8B4201D38B03C01AE1
+:104E00005241430B8B4201D34B03C01A5241030B57
+:104E10008B4201D30B03C01A5241C30A8B4201D308
+:104E2000CB02C01A5241830A8B4201D38B02C01AB3
+:104E30005241430A8B4201D34B02C01A5241030A2A
+:104E40008B4201D30B02C01A5241CDD2C3098B420F
+:104E500001D3CB01C01A524183098B4201D38B018C
+:104E6000C01A524143098B4201D34B01C01A52412F
+:104E700003098B4201D30B01C01A5241C3088B4274
+:104E800001D3CB00C01A524183088B4201D38B005F
+:104E9000C01A524143088B4201D34B00C01A524101
+:104EA000411A00D201465241104670475DE0CA0FD8
+:104EB00000D04942031000D34042534000229C4698
+:104EC00003098B422DD3030A8B4212D3FC228901A2
+:104ED00012BA030A8B420CD3890192118B4208D378
+:104EE000890192118B4204D389013AD0921100E0DA
+:104EF0008909C3098B4201D3CB01C01A52418309EE
+:104F00008B4201D38B01C01A524143098B4201D31A
+:104F10004B01C01A524103098B4201D30B01C01A45
+:104F20005241C3088B4201D3CB00C01A52418308BF
+:104F30008B4201D38B00C01A5241D9D243088B4215
+:104F400001D34B00C01A5241411A00D201466346B8
+:104F500052415B10104601D34042002B00D549421C
+:104F6000704763465B1000D3404201B50020C04645
+:104F7000C04602BD704770477047704710B500F0DB
+:104F800059F810BD30B58C180278401C13071B0F60
+:104F900001D10378401C120906D10278401C03E0BD
+:104FA0000578401C0D70491C5B1EF9D101E00B70A7
+:104FB000491C521EFBD1A142E6D3002030BD0000A7
+:104FC00001231B68134B1860134B1960134B1A60B5
+:104FD0007047134A134B13607246053AF0E7114AC3
+:104FE0000F4B1B689A420ED10D4B002018600198A0
+:104FF0000D4B04B598470CBC9E460246029800999A
+:105000000A4B1B68184706980599094B1B68DB6813
+:105010001847000070010020740100207801002072
+:1050200068010020EFBEADDE5539010028010020E7
+:10503000040000201D481E497047FFF7FBFFECF7F6
+:105040007DF800BD01200007C06AC0B2FF2804D16E
+:10505000184819490968884202D01848184901605F
+:10506000184819490968884203D1184A13605B68D7
+:10507000184700BD20BFFDE7124813490968884260
+:105080000ED1134B18680B498842F3D080F308887F
+:105090001049884204DD1048026802210A43026078
+:1050A0000E4880470E4880470E480047901D00205C
+:1050B000901D0020FFFFFFFF001000102C05004096
+:1050C0000800000000100000000000200400002084
+:1050D0000060010000200020240500406B39010021
+:1050E00045500100C14F01001348704502D1EFF354
+:1050F000098101E0EFF308818869023800781028FF
+:1051000014DB202810DB23280BDB0C4A12680C4B25
+:105110009A4203D1602804DB0A4A10470220086043
+:105120007047094A10470000084A1047084A1268A9
+:105130002C32126810470000FDFFFFFF1C01002009
+:10514000BEBAFECAAD1200002B3A0100033F0100B7
+:10515000040000200D4B0E4908470E4B0C49084730
+:105160000D4B0B4908470D4B094908470C4B0849A3
+:1051700008470C4B064908470B4B054908470B4BA2
+:10518000034908470A4B024908470000052E000062
+:10519000E13D0000BD2F0000873C0000353C0000D1
+:1051A000E9390000B912000063170000493D000012
+:1051B000AB2B000030B47446641E2578641CAB42EF
+:1051C00000D21D46635D5B00E31830BC1847000049
+:1051D00002490020C861203908727047E0030020AE
+:1051E00000020207FFFFFFFF0000FFFF01020408AB
+:1051F00010204080555555D6BE898E00F401FA0026
+:10520000960064004B0032001E00140001000300F1
+:10521000000001000000000000000000000000008D
+:1052200000000000870000000000000000000000F7
+:105230000000000000000203040500000E0F000043
+:10524000705201000800002010000000041100004E
+:10525000805201001800002064010000844F01000A
+:10526000A45201007C010020141C00002011000049
+:105270000249022208681042FCD0704700E200E0B8
+:10528000E1078F56FF9900CD29022B01360100015D
+:1052900000EC3720FB349B5F8074800010027001AB
+:0452A000E4C54F0111
+:00000001FF
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TARGET_NRF51822/TARGET_NORDIC/TARGET_MCU_NRF51822/PeripheralNames.h	Fri Aug 15 15:28:31 2014 +0100
@@ -0,0 +1,58 @@
+/* mbed Microcontroller Library
+ * Copyright (c) 2013 Nordic Semiconductor
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+#ifndef MBED_PERIPHERALNAMES_H
+#define MBED_PERIPHERALNAMES_H
+
+#include "cmsis.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#define STDIO_UART_TX     TX_PIN_NUMBER
+#define STDIO_UART_RX     RX_PIN_NUMBER
+#define STDIO_UART        UART_0
+
+typedef enum {
+    UART_0 = (int)NRF_UART0_BASE
+} UARTName;
+
+
+typedef enum {
+    SPI_0 = (int)NRF_SPI0_BASE,
+    SPI_1 = (int)NRF_SPI1_BASE,
+    SPIS = (int)NRF_SPIS1_BASE
+} SPIName;
+
+typedef enum {
+    PWM_1 = 0,
+    PWM_2
+} PWMName;
+
+typedef enum {
+    I2C_0 = (int)NRF_TWI0_BASE,
+    I2C_1 = (int)NRF_TWI1_BASE
+} I2CName;
+
+typedef enum {
+    ADC0_0 = (int)NRF_ADC_BASE
+} ADCName;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TARGET_NRF51822/TARGET_NORDIC/TARGET_MCU_NRF51822/PortNames.h	Fri Aug 15 15:28:31 2014 +0100
@@ -0,0 +1,30 @@
+/* mbed Microcontroller Library
+ * Copyright (c) 2013 Nordic Semiconductor
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+#ifndef MBED_PORTNAMES_H
+#define MBED_PORTNAMES_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+typedef enum {
+    Port0 = 0 //GPIO pins 0-31
+} PortName;
+
+#ifdef __cplusplus
+}
+#endif
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TARGET_NRF51822/TARGET_NORDIC/TARGET_MCU_NRF51822/TARGET_NRF51822_MKIT/PinNames.h	Fri Aug 15 15:28:31 2014 +0100
@@ -0,0 +1,153 @@
+/* mbed Microcontroller Library
+ * Copyright (c) 2013 Nordic Semiconductor
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+#ifndef MBED_PINNAMES_H
+#define MBED_PINNAMES_H
+
+#include "cmsis.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+typedef enum {
+    PIN_INPUT,
+    PIN_OUTPUT
+} PinDirection;
+
+#define PORT_SHIFT  3
+
+typedef enum {
+    p0  = 0,
+    p1  = 1,
+    p2  = 2,
+    p3  = 3,
+    p4  = 4,
+    p5  = 5,
+    p6  = 6,
+    p7  = 7,
+    p8  = 8,
+    p9  = 9,
+    p10 = 10,
+    p11 = 11,
+    p12 = 12,
+    p13 = 13,
+    p14 = 14,
+    p15 = 15,
+    p16 = 16,
+    p17 = 17,
+    p18 = 18,
+    p19 = 19,
+    p20 = 20,
+    p21 = 21,
+    p22 = 22,
+    p23 = 23,
+    p24 = 24,
+    p25 = 25,
+    p26 = 26,
+    p27 = 27,
+    p28 = 28,
+    p29 = 29,
+    p30 = 30,
+//    p31=31,    
+    
+    P0_0  = p0,
+    P0_1  = p1,
+    P0_2  = p2,
+    P0_3  = p3,
+    P0_4  = p4,
+    P0_5  = p5,
+    P0_6  = p6,
+    P0_7  = p7,
+    
+    P0_8  = p8,
+    P0_9  = p9,
+    P0_10 = p10,
+    P0_11 = p11,
+    P0_12 = p12,
+    P0_13 = p13,
+    P0_14 = p14,
+    P0_15 = p15,
+    
+    P0_16 = p16,
+    P0_17 = p17,
+    P0_18 = p18,
+    P0_19 = p19,
+    P0_20 = p20,
+    P0_21 = p21,
+    P0_22 = p22,
+    P0_23 = p23,
+    
+    P0_24 = p24,
+    P0_25 = p25,
+    P0_26 = p26,
+    P0_27 = p27,
+    P0_28 = p28,
+    P0_29 = p29,
+    P0_30 = p30,
+    
+    LED1    = p18,
+    LED2    = p19,
+    LED3    = p18,
+    LED4    = p19,
+    
+    BUTTON1 = p16,
+    BUTTON2 = p17,
+        
+    RX_PIN_NUMBER = p11,
+    TX_PIN_NUMBER = p9,
+    CTS_PIN_NUMBER = p10,
+    RTS_PIN_NUMBER = p8,
+
+    // mBed interface Pins
+    USBTX = TX_PIN_NUMBER,
+    USBRX = RX_PIN_NUMBER,
+        
+    SPI_PSELMOSI0 = p20,
+    SPI_PSELMISO0 = p22,
+    SPI_PSELSS0 = p24,
+    SPI_PSELSCK0 = p25,
+        
+    SPI_PSELMOSI1 = p12,
+    SPI_PSELMISO1 = p13,
+    SPI_PSELSS1 = p14,
+    SPI_PSELSCK1 = p15,
+    
+    SPIS_PSELMOSI = p12,
+    SPIS_PSELMISO = p13,
+    SPIS_PSELSS = p14,    
+    SPIS_PSELSCK = p15,
+
+    I2C_SDA0 = p22,
+    I2C_SCL0 = p20,
+
+    I2C_SDA1 = p13,
+    I2C_SCL1 = p15,
+    // Not connected
+    NC = (int)0xFFFFFFFF
+} PinName;
+
+typedef enum {
+    PullNone = 0,
+    PullDown = 1,
+    PullUp = 3,
+    PullDefault = PullUp
+} PinMode;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TARGET_NRF51822/TARGET_NORDIC/TARGET_MCU_NRF51822/TARGET_NRF51822_MKIT/device.h	Fri Aug 15 15:28:31 2014 +0100
@@ -0,0 +1,57 @@
+/* mbed Microcontroller Library
+ * Copyright (c) 2006-2013 ARM Limited
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+#ifndef MBED_DEVICE_H
+#define MBED_DEVICE_H
+
+#define DEVICE_PORTIN           1
+#define DEVICE_PORTOUT          1
+#define DEVICE_PORTINOUT        1
+
+#define DEVICE_INTERRUPTIN      1
+
+#define DEVICE_ANALOGIN         1
+#define DEVICE_ANALOGOUT        0
+
+#define DEVICE_SERIAL           1
+
+#define DEVICE_I2C              1
+#define DEVICE_I2CSLAVE         0
+
+#define DEVICE_SPI              1
+#define DEVICE_SPISLAVE         1
+
+#define DEVICE_CAN              0
+
+#define DEVICE_RTC              0
+
+#define DEVICE_ETHERNET         0
+
+#define DEVICE_PWMOUT           1
+
+#define DEVICE_SEMIHOST         0
+#define DEVICE_LOCALFILESYSTEM  0
+
+#define DEVICE_SLEEP            1
+
+#define DEVICE_DEBUG_AWARENESS  0
+
+#define DEVICE_STDIO_MESSAGES   0
+
+#define DEVICE_ERROR_PATTERN    1
+
+#include "objects.h"
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TARGET_NRF51822/TARGET_NORDIC/TARGET_MCU_NRF51822/gpio_object.h	Fri Aug 15 15:28:31 2014 +0100
@@ -0,0 +1,52 @@
+/* mbed Microcontroller Library
+ * Copyright (c) 2006-2013 ARM Limited
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+#ifndef MBED_GPIO_OBJECT_H
+#define MBED_GPIO_OBJECT_H
+
+#include "mbed_assert.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+typedef struct {
+    PinName  pin;
+    uint32_t mask;
+
+    __IO uint32_t *reg_dir;
+    __IO uint32_t *reg_set;
+    __IO uint32_t *reg_clr;
+    __I  uint32_t *reg_in;
+} gpio_t;
+
+static inline void gpio_write(gpio_t *obj, int value) {
+    MBED_ASSERT(obj->pin != (PinName)NC);
+    if (value)
+        *obj->reg_set = obj->mask;
+    else
+        *obj->reg_clr = obj->mask;
+}
+
+static inline int gpio_read(gpio_t *obj) {
+    MBED_ASSERT(obj->pin != (PinName)NC);
+    return ((*obj->reg_in & obj->mask) ? 1 : 0);
+}
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TARGET_NRF51822/TARGET_NORDIC/TARGET_MCU_NRF51822/objects.h	Fri Aug 15 15:28:31 2014 +0100
@@ -0,0 +1,73 @@
+/* mbed Microcontroller Library
+ * Copyright (c) 2013 Nordic Semiconductor
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+#ifndef MBED_OBJECTS_H
+#define MBED_OBJECTS_H
+
+#include "cmsis.h"
+#include "PortNames.h"
+#include "PeripheralNames.h"
+#include "PinNames.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+struct serial_s {
+    NRF_UART_Type *uart;
+    int index;
+};
+
+struct spi_s {
+    NRF_SPI_Type *spi;
+    NRF_SPIS_Type *spis;
+};
+
+struct port_s {
+    __IO uint32_t *reg_cnf;
+    __IO uint32_t *reg_out;
+    __I  uint32_t *reg_in;
+    PortName port;
+    uint32_t mask;
+};
+
+struct pwmout_s {
+    PWMName pwm;
+    PinName pin;
+};
+
+struct i2c_s {
+    NRF_TWI_Type *i2c;
+    PinName sda;
+    PinName scl;
+    int freq;
+};
+
+struct analogin_s {
+    ADCName adc;
+    uint8_t adc_pin;
+};
+
+struct gpio_irq_s {
+    uint32_t ch;
+};
+
+#include "gpio_object.h"
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
--- a/TARGET_NRF51822/TARGET_NORDIC/TARGET_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/ble.h	Fri Jul 25 09:46:51 2014 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,385 +0,0 @@
-/* Copyright (c) 2011 Nordic Semiconductor. All Rights Reserved.
- *
- * The information contained herein is confidential property of Nordic Semiconductor. The use,
- * copying, transfer or disclosure of such information is prohibited except by express written
- * agreement with Nordic Semiconductor.
- *
- */
-/**
-  @addtogroup BLE_COMMON BLE SoftDevice Common
-  @{
-  @defgroup ble_api Events, type definitions and API calls
-  @{
-
-  @brief Module independent events, type definitions and API calls for the S110 SoftDevice.
-
- */
-
-#ifndef BLE_H__
-#define BLE_H__
-
-#include "ble_ranges.h"
-#include "ble_types.h"
-#include "ble_gap.h"
-#include "ble_l2cap.h"
-#include "ble_gatt.h"
-#include "ble_gattc.h"
-#include "ble_gatts.h"
-
-/** @addtogroup BLE_COMMON_ENUMERATIONS Enumerations
- * @{ */
-
-/**
- * @brief Common API SVC numbers.
- */
-enum BLE_COMMON_SVCS
-{
-  SD_BLE_ENABLE = BLE_SVC_BASE,         /**< Enable and initialize the BLE stack */
-  SD_BLE_EVT_GET,                       /**< Get an event from the pending events queue. */
-  SD_BLE_TX_BUFFER_COUNT_GET,           /**< Get the total number of available application transmission buffers from the stack. */
-  SD_BLE_UUID_VS_ADD,                   /**< Add a Vendor Specific UUID. */
-  SD_BLE_UUID_DECODE,                   /**< Decode UUID bytes. */
-  SD_BLE_UUID_ENCODE,                   /**< Encode UUID bytes. */
-  SD_BLE_VERSION_GET,                   /**< Get the local version information (company id, Link Layer Version, Link Layer Subversion). */
-  SD_BLE_USER_MEM_REPLY,                /**< User Memory Reply. */
-  SD_BLE_OPT_SET,                       /**< Set a BLE option. */
-  SD_BLE_OPT_GET,                       /**< Get a BLE option. */
-};
-
-/** @} */
-
-/** @addtogroup BLE_COMMON_DEFINES Defines
- * @{ */
-
-/** @brief  Required pointer alignment for BLE Events.
-*/
-#define BLE_EVTS_PTR_ALIGNMENT    4
-
-/** @defgroup BLE_USER_MEM_TYPES User Memory Types
- * @{ */
-#define BLE_USER_MEM_TYPE_INVALID               0x00  /**< Invalid User Memory Types. */
-#define BLE_USER_MEM_TYPE_GATTS_QUEUED_WRITES   0x01  /**< User Memory for GATTS queued writes. */
-/** @} */
-
-/** @brief  Maximum number of Vendor Specific UUIDs.
-*/
-#define BLE_UUID_VS_MAX_COUNT     10
-
-/** @} */
-
-/** @addtogroup BLE_COMMON_STRUCTURES Structures
- * @{ */
-
-/**
- * @brief BLE Module Independent Event IDs.
- */
-enum BLE_COMMON_EVTS
-{
-  BLE_EVT_TX_COMPLETE  = BLE_EVT_BASE,  /**< Transmission Complete. */
-  BLE_EVT_USER_MEM_REQUEST,             /**< User Memory request. */
-  BLE_EVT_USER_MEM_RELEASE              /**< User Memory release. */
-};
-
-/**@brief User Memory Block. */
-typedef struct
-{
-  uint8_t*          p_mem;      /**< Pointer to the start of the user memory block. */
-  uint16_t          len;        /**< Length in bytes of the user memory block. */
-} ble_user_mem_block_t;
-
-/**
- * @brief TX complete event.
- */
-typedef struct
-{
-  uint8_t count;                        /**< Number of packets transmitted. */
-} ble_evt_tx_complete_t;
-
-/**@brief Event structure for BLE_EVT_USER_MEM_REQUEST. */
-typedef struct
-{
-  uint8_t                     type;     /**< User memory type, see @ref BLE_USER_MEM_TYPES. */
-} ble_evt_user_mem_request_t;
-
-/**@brief Event structure for BLE_EVT_USER_MEM_RELEASE. */
-typedef struct
-{
-  uint8_t                     type;       /**< User memory type, see @ref BLE_USER_MEM_TYPES. */
-  ble_user_mem_block_t        mem_block;  /**< User memory block */
-} ble_evt_user_mem_release_t;
-
-
-/**@brief Event structure for events not associated with a specific function module. */
-typedef struct
-{
-  uint16_t conn_handle;                 /**< Connection Handle on which this event occured. */
-  union
-  {
-    ble_evt_tx_complete_t           tx_complete;        /**< Transmission Complete. */
-    ble_evt_user_mem_request_t      user_mem_request;   /**< User Memory Request Event Parameters. */
-    ble_evt_user_mem_release_t      user_mem_release;   /**< User Memory Release Event Parameters. */
-  } params;
-} ble_common_evt_t;
-
-/**@brief BLE Event header. */
-typedef struct
-{
-  uint16_t evt_id;                      /**< Value from a BLE_<module>_EVT series. */
-  uint16_t evt_len;                     /**< Length in octets excluding this header. */
-} ble_evt_hdr_t;
-
-/**@brief Common BLE Event type, wrapping the module specific event reports. */
-typedef struct
-{
-  ble_evt_hdr_t header;                 /**< Event header. */
-  union
-  {
-    ble_common_evt_t  common_evt;         /**< Common Event, evt_id in BLE_EVT_* series. */
-    ble_gap_evt_t     gap_evt;            /**< GAP originated event, evt_id in BLE_GAP_EVT_* series. */
-    ble_l2cap_evt_t   l2cap_evt;          /**< L2CAP originated event, evt_id in BLE_L2CAP_EVT* series. */
-    ble_gattc_evt_t   gattc_evt;          /**< GATT client originated event, evt_id in BLE_GATTC_EVT* series. */
-    ble_gatts_evt_t   gatts_evt;          /**< GATT server originated event, evt_id in BLE_GATTS_EVT* series. */
-  } evt;
-} ble_evt_t;
-
-
-/**
- * @brief Version Information.
- */
-typedef struct
-{
-  uint8_t   version_number;             /**< Link Layer Version number for BT 4.1 spec is 7 (https://www.bluetooth.org/en-us/specification/assigned-numbers/link-layer). */
-  uint16_t  company_id;                 /**< Company ID, Nordic Semiconductor's company ID is 89 (0x0059) (https://www.bluetooth.org/apps/content/Default.aspx?doc_id=49708). */
-  uint16_t  subversion_number;          /**< Link Layer Sub Version number, corresponds to the SoftDevice Config ID or Firmware ID (FWID). */
-} ble_version_t;
-
-/**@brief Common BLE Option type, wrapping the module specific options. */
-typedef union
-{
-  ble_gap_opt_t     gap;            /**< GAP option, opt_id in BLE_GAP_OPT_* series. */
-} ble_opt_t;
-
-/**
- * @brief BLE GATTS init options
- */
-typedef struct
-{
-  ble_gatts_enable_params_t  gatts_enable_params; /**< GATTS init options @ref ble_gatts_enable_params_t. */  
-} ble_enable_params_t;
-
-/** @} */
-
-/** @addtogroup BLE_COMMON_FUNCTIONS Functions
- * @{ */
-
-/**@brief Enable the bluetooth stack
- *
- * @param[in] p_ble_enable_params Pointer to ble_enable_params_t
- *
- * @details This call initializes the bluetooth stack, no other BLE related call can be called before this one has been executed.
- *
- * @return @ref NRF_SUCCESS BLE stack has been initialized successfully
- * @return @ref NRF_ERROR_INVALID_ADDR Invalid or not sufficiently aligned pointer supplied.
- */
-SVCALL(SD_BLE_ENABLE, uint32_t, sd_ble_enable(ble_enable_params_t * p_ble_enable_params));
-
-/**@brief Get an event from the pending events queue.
- *
- * @param[in] p_dest Pointer to buffer to be filled in with an event, or NULL to retrieve the event length. This buffer <b>must be 4-byte aligned in memory</b>.
- * @param[in, out] p_len Pointer the length of the buffer, on return it is filled with the event length.
- *
- * @details This call allows the application to pull a BLE event from the BLE stack. The application is signalled that an event is 
- * available from the BLE Stack by the triggering of the SD_EVT_IRQn interrupt (mapped to IRQ 22).
- * The application is free to choose whether to call this function from thread mode (main context) or directly from the Interrupt Service Routine
- * that maps to SD_EVT_IRQn. In any case however, and because the BLE stack runs at a higher priority than the application, this function should be called
- * in a loop (until @ref NRF_ERROR_NOT_FOUND is returned) every time SD_EVT_IRQn is raised to ensure that all available events are pulled from the stack. 
- * Failure to do so could potentially leave events in the internal queue without the application being aware of this fact.
- * Sizing the p_dest buffer is equally important, since the application needs to provide all the memory necessary for the event to be copied into
- * application memory. If the buffer provided is not large enough to fit the entire contents of the event, @ref NRF_ERROR_DATA_SIZE will be returned
- * and the application can then call again with a larger buffer size.
- * Please note that because of the variable length nature of some events, sizeof(ble_evt_t) will not always be large enough to fit certain events, 
- * and so it is the application's responsability to provide an amount of memory large enough so that the relevant event is copied in full.
- * The application may "peek" the event length by providing p_dest as a NULL pointer and inspecting the value of *p_len upon return.
- *
- * @note The pointer supplied must be aligned to the extend defined by @ref BLE_EVTS_PTR_ALIGNMENT
- *
- * @return @ref NRF_SUCCESS Event pulled and stored into the supplied buffer.
- * @return @ref NRF_ERROR_INVALID_ADDR Invalid or not sufficiently aligned pointer supplied.
- * @return @ref NRF_ERROR_NOT_FOUND No events ready to be pulled.
- * @return @ref NRF_ERROR_DATA_SIZE Event ready but could not fit into the supplied buffer.
- */
-SVCALL(SD_BLE_EVT_GET, uint32_t, sd_ble_evt_get(uint8_t* p_dest, uint16_t *p_len));
-
-
-/**@brief Get the total number of available application transmission buffers in the BLE stack.
- *
- * @details This call allows the application to obtain the total number of
- *          transmission buffers available for application data. Please note that
- *          this does not give the number of free buffers, but rather the total amount of them.
- *          The application has two options to handle its own application transmission buffers:
- *          - Use a simple arithmetic calculation: at boot time the application should use this function
- *          to find out the total amount of buffers available to it and store it in a variable.
- *          Every time a packet that consumes an application buffer is sent using any of the 
- *          exposed functions in this BLE API, the application should decrement that variable.
- *          Conversely, whenever a @ref BLE_EVT_TX_COMPLETE event is received by the application
- *          it should retrieve the count field in such event and add that number to the same
- *          variable storing the number of available packets.
- *          This mechanism allows the application to be aware at any time of the number of
- *          application packets available in the BLE stack's internal buffers, and therefore
- *          it can know with certainty whether it is possible to send more data or it has to
- *          wait for a @ref BLE_EVT_TX_COMPLETE event before it proceeds.
- *          - Choose to simply not keep track of available buffers at all, and instead handle the 
- *          @ref BLE_ERROR_NO_TX_BUFFERS error by queueing the packet to be transmitted and 
- *          try again as soon as a @ref BLE_EVT_TX_COMPLETE event arrives.
- *
- *          The API functions that <b>may</b> consume an application buffer depending on 
- *          the parameters supplied to them can be found below:
- *
- *          - @ref sd_ble_gattc_write (write witout response only)
- *          - @ref sd_ble_gatts_hvx (notifications only)
- *          - @ref sd_ble_l2cap_tx (all packets)
- *
- * @param[out] p_count Pointer to a uint8_t which will contain the number of application transmission buffers upon
- *                     successful return.
- *
- * @return @ref NRF_SUCCESS Number of application transmission buffers retrieved successfully.
- * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
- */
-SVCALL(SD_BLE_TX_BUFFER_COUNT_GET, uint32_t, sd_ble_tx_buffer_count_get(uint8_t* p_count));
-
-
-/**@brief Add a Vendor Specific UUID.
- *
- * @details This call enables the application to add a vendor specific UUID to the BLE stack's table,
- *          for later use all other modules and APIs. This then allows the application to use the shorter,
- *          24-bit @ref ble_uuid_t format when dealing with both 16-bit and 128-bit UUIDs without having to
- *          check for lengths and having split code paths. The way that this is accomplished is by extending the 
- *          grouping mechanism that the Bluetooth SIG standard base UUID uses for all other 128-bit UUIDs. The 
- *          type field in the @ref ble_uuid_t structure is an index (relative to @ref BLE_UUID_TYPE_VENDOR_BEGIN) 
- *          to the table populated by multiple calls to this function, and the uuid field in the same structure 
- *          contains the 2 bytes at indices 12 and 13. The number of possible 128-bit UUIDs available to the 
- *          application is therefore the number of Vendor Specific UUIDs added with the help of this function times 65536, 
- *          although restricted to modifying bytes 12 and 13 for each of the entries in the supplied array.
- *
- * @note Bytes 12 and 13 of the provided UUID will not be used internally, since those are always replaced by 
- * the 16-bit uuid field in @ref ble_uuid_t.
- *
- *
- * @param[in]  p_vs_uuid    Pointer to a 16-octet (128-bit) little endian Vendor Specific UUID disregarding
- *                          bytes 12 and 13.
- * @param[out] p_uuid_type  Pointer where the type field in @ref ble_uuid_t corresponding to this UUID will be stored.
- *
- * @return @ref NRF_SUCCESS Successfully added the Vendor Specific UUID.
- * @return @ref NRF_ERROR_INVALID_ADDR If p_vs_uuid or p_uuid_type is NULL or invalid.
- * @return @ref NRF_ERROR_NO_MEM If there are no more free slots for VS UUIDs.
- * @return @ref NRF_ERROR_FORBIDDEN If p_vs_uuid has already been added to the VS UUID table.
- */
-SVCALL(SD_BLE_UUID_VS_ADD, uint32_t, sd_ble_uuid_vs_add(ble_uuid128_t const * const p_vs_uuid, uint8_t * const p_uuid_type));
-
-
-/** @brief Decode little endian raw UUID bytes (16-bit or 128-bit) into a 24 bit @ref ble_uuid_t structure.
- * 
- * @details The raw UUID bytes excluding bytes 12 and 13 (i.e. bytes 0-11 and 14-15) of p_uuid_le are compared 
- * to the corresponding ones in each entry of the table of vendor specific UUIDs pouplated with @ref sd_ble_uuid_vs_add 
- * to look for a match. If there is such a match, bytes 12 and 13 are returned as p_uuid->uuid and the index 
- * relative to @ref BLE_UUID_TYPE_VENDOR_BEGIN as p_uuid->type. 
- *
- * @note If the UUID length supplied is 2, then the type set by this call will always be @ref BLE_UUID_TYPE_BLE.
- *
- * @param[in]      uuid_le_len Length in bytes of the buffer pointed to by p_uuid_le (must be 2 or 16 bytes).
- * @param[in]      p_uuid_le   Pointer pointing to little endian raw UUID bytes.
- * @param[in,out]  p_uuid      Pointer to a @ref ble_uuid_t structure to be filled in.
- *
- * @return @ref NRF_SUCCESS Successfully decoded into the @ref ble_uuid_t structure.
- * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
- * @return @ref NRF_ERROR_INVALID_LENGTH Invalid UUID length.
- * @return @ref NRF_ERROR_NOT_FOUND For a 128-bit UUID, no match in the populated table of UUIDs.
- */                                                 
-SVCALL(SD_BLE_UUID_DECODE, uint32_t, sd_ble_uuid_decode(uint8_t uuid_le_len, uint8_t const * const p_uuid_le, ble_uuid_t * const p_uuid));
-
-
-/** @brief Encode a @ref ble_uuid_t structure into little endian raw UUID bytes (16-bit or 128-bit).
- *
- * @note The pointer to the destination buffer p_uuid_le may be NULL, in which case only the validitiy and size of p_uuid is computed.
- *
- * @param[in]      p_uuid        Pointer to a @ref ble_uuid_t structure that will be encoded into bytes.
- * @param[out]     p_uuid_le_len Pointer to a uint8_t that will be filled with the encoded length (2 or 16 bytes).
- * @param[out]     p_uuid_le     Pointer to a buffer where the little endian raw UUID bytes (2 or 16) will be stored.
- *
- * @return @ref NRF_SUCCESS Successfully encoded into the buffer.
- * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
- * @return @ref NRF_ERROR_INVALID_PARAM Invalid UUID type.
- */
-SVCALL(SD_BLE_UUID_ENCODE, uint32_t, sd_ble_uuid_encode(ble_uuid_t const * const p_uuid, uint8_t * const  p_uuid_le_len, uint8_t * const p_uuid_le));
-
-
-/**@brief Get Version Information.
- *
- * @details This call allows the application to get the BLE stack version information.
- *
- * @param[in] p_version Pointer to ble_version_t structure to be filled in.
- *
- * @return @ref NRF_SUCCESS  Version information stored successfully.
- * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
- * @return @ref NRF_ERROR_BUSY The stack is busy (typically doing a locally-initiated disconnection procedure).
- */
-SVCALL(SD_BLE_VERSION_GET, uint32_t, sd_ble_version_get(ble_version_t * p_version));
-
-
-/**@brief Provide a user memory block.
- *
- * @note This call can only be used as a response to a @ref BLE_EVT_USER_MEM_REQUEST event issued to the application.
- *
- * @param[in] conn_handle                 Connection handle.
- * @param[in] p_block                     Pointer to a user memory block structure.
- *
- * @return @ref NRF_SUCCESS               Successfully queued a response to the peer.
- * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid Connection Handle.
- * @return @ref NRF_ERROR_INVALID_STATE   No execute write request pending.
- */
-SVCALL(SD_BLE_USER_MEM_REPLY, uint32_t, sd_ble_user_mem_reply(uint16_t conn_handle, ble_user_mem_block_t *p_block));
-
-
-/**@brief Set a BLE option.
- *
- * @details This call allows the application to set the value of an option.
- *
- * @param[in] opt_id Option ID.
- * @param[in] p_opt Pointer to a ble_opt_t structure containing the option value.
- *
- * @retval ::NRF_SUCCESS  Option set successfully.
- * @retval ::NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
- * @retval ::BLE_ERROR_INVALID_CONN_HANDLE Invalid Connection Handle.
- * @retval ::NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied, check parameter limits and constraints.
- * @retval ::NRF_ERROR_INVALID_STATE Unable to set the parameter at this time.
- * @retval ::NRF_ERROR_BUSY The stack is busy or the previous procedure has not completed.
- */
-SVCALL(SD_BLE_OPT_SET, uint32_t, sd_ble_opt_set(uint32_t opt_id, ble_opt_t const *p_opt));
-
-
-/**@brief Get a BLE option.
- *
- * @details This call allows the application to retrieve the value of an option.
- *
- * @param[in] opt_id Option ID.
- * @param[out] p_opt Pointer to a ble_opt_t structure to be filled in.
- *
- * @retval ::NRF_SUCCESS  Option retrieved successfully.
- * @retval ::NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
- * @retval ::BLE_ERROR_INVALID_CONN_HANDLE Invalid Connection Handle.
- * @retval ::NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied, check parameter limits and constraints.
- * @retval ::NRF_ERROR_INVALID_STATE Unable to retrieve the parameter at this time.
- * @retval ::NRF_ERROR_BUSY The stack is busy or the previous procedure has not completed.
- * @retval ::NRF_ERROR_NOT_SUPPORTED This option is not supported.
- *
- */
-SVCALL(SD_BLE_OPT_GET, uint32_t, sd_ble_opt_get(uint32_t opt_id, ble_opt_t *p_opt));
-
-/** @} */
-
-#endif /* BLE_H__ */
-
-/**
-  @}
-  @}
-*/
--- a/TARGET_NRF51822/TARGET_NORDIC/TARGET_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/ble_err.h	Fri Jul 25 09:46:51 2014 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,54 +0,0 @@
-/*
- * Copyright (c) 2012 Nordic Semiconductor. All Rights Reserved.
- *
- * The information contained herein is confidential property of Nordic Semiconductor. The use,
- * copying, transfer or disclosure of such information is prohibited except by express written
- * agreement with Nordic Semiconductor.
- *
- */
- /**
-  @addtogroup BLE_COMMON
-  @{
-  @addtogroup  nrf_error
-  @{
-    @ingroup BLE_COMMON
-  @}
-
-  @defgroup ble_err General error codes
-  @{
-
-  @brief General error code definitions for the BLE API.
-
-  @ingroup BLE_COMMON
-*/
-#ifndef NRF_BLE_ERR_H__
-#define NRF_BLE_ERR_H__
-
-#include "nrf_error.h"
-
-/* @defgroup BLE_ERRORS Error Codes
- * @{ */
-#define BLE_ERROR_NOT_ENABLED            (NRF_ERROR_STK_BASE_NUM+0x001) /**< @ref sd_ble_enable has not been called. */
-#define BLE_ERROR_INVALID_CONN_HANDLE    (NRF_ERROR_STK_BASE_NUM+0x002) /**< Invalid connection handle. */
-#define BLE_ERROR_INVALID_ATTR_HANDLE    (NRF_ERROR_STK_BASE_NUM+0x003) /**< Invalid attribute handle. */
-#define BLE_ERROR_NO_TX_BUFFERS          (NRF_ERROR_STK_BASE_NUM+0x004) /**< Buffer capacity exceeded. */
-/** @} */
-
-
-/** @defgroup BLE_ERROR_SUBRANGES Module specific error code subranges
- *  @brief Assignment of subranges for module specific error codes.
- *  @note For specific error codes, see ble_<module>.h or ble_error_<module>.h.
- * @{ */
-#define NRF_L2CAP_ERR_BASE             (NRF_ERROR_STK_BASE_NUM+0x100) /**< L2CAP specific errors. */
-#define NRF_GAP_ERR_BASE               (NRF_ERROR_STK_BASE_NUM+0x200) /**< GAP specific errors. */
-#define NRF_GATTC_ERR_BASE             (NRF_ERROR_STK_BASE_NUM+0x300) /**< GATT client specific errors. */
-#define NRF_GATTS_ERR_BASE             (NRF_ERROR_STK_BASE_NUM+0x400) /**< GATT server specific errors. */
-/** @} */
-
-#endif
-
-
-/**
-  @}
-  @}
-*/
--- a/TARGET_NRF51822/TARGET_NORDIC/TARGET_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/ble_gap.h	Fri Jul 25 09:46:51 2014 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1032 +0,0 @@
-/* Copyright (c) 2011 Nordic Semiconductor. All Rights Reserved.
- *
- * The information contained herein is confidential property of Nordic Semiconductor. The use,
- * copying, transfer or disclosure of such information is prohibited except by express written
- * agreement with Nordic Semiconductor.
- *
- */
-/**
-  @addtogroup BLE_GAP Generic Access Profile (GAP)
-  @{
-  @brief Definitions and prototypes for the GAP interface.
- */
-
-#ifndef BLE_GAP_H__
-#define BLE_GAP_H__
-
-#include "ble_types.h"
-#include "ble_ranges.h"
-#include "nrf_svc.h"
-
-
-/**@addtogroup BLE_GAP_ENUMERATIONS Enumerations 
- * @{ */
-
-/**@brief GAP API SVC numbers.
- */
-enum BLE_GAP_SVCS
-{
-  SD_BLE_GAP_ADDRESS_SET  = BLE_GAP_SVC_BASE,  /**< Set own Bluetooth Address. */
-  SD_BLE_GAP_ADDRESS_GET,                      /**< Get own Bluetooth Address. */
-  SD_BLE_GAP_ADV_DATA_SET,                     /**< Set Advertisement Data. */
-  SD_BLE_GAP_ADV_START,                        /**< Start Advertising. */
-  SD_BLE_GAP_ADV_STOP,                         /**< Stop Advertising. */
-  SD_BLE_GAP_CONN_PARAM_UPDATE,                /**< Connection Parameter Update. */
-  SD_BLE_GAP_DISCONNECT,                       /**< Disconnect. */
-  SD_BLE_GAP_TX_POWER_SET,                     /**< Set TX Power. */
-  SD_BLE_GAP_APPEARANCE_SET,                   /**< Set Appearance. */
-  SD_BLE_GAP_APPEARANCE_GET,                   /**< Get Appearance. */
-  SD_BLE_GAP_PPCP_SET,                         /**< Set PPCP. */
-  SD_BLE_GAP_PPCP_GET,                         /**< Get PPCP. */
-  SD_BLE_GAP_DEVICE_NAME_SET,                  /**< Set Device Name. */
-  SD_BLE_GAP_DEVICE_NAME_GET,                  /**< Get Device Name. */
-  SD_BLE_GAP_AUTHENTICATE,                     /**< Initiate Pairing/Bonding. */
-  SD_BLE_GAP_SEC_PARAMS_REPLY,                 /**< Reply with Security Parameters. */
-  SD_BLE_GAP_AUTH_KEY_REPLY,                   /**< Reply with an authentication key. */
-  SD_BLE_GAP_SEC_INFO_REPLY,                   /**< Reply with Security Information. */
-  SD_BLE_GAP_CONN_SEC_GET,                     /**< Obtain connection security level. */
-  SD_BLE_GAP_RSSI_START,                       /**< Start reporting of changes in RSSI. */ 
-  SD_BLE_GAP_RSSI_STOP,                        /**< Stop reporting of changes in RSSI. */ 
-};
-/**@} */
-
-/**@addtogroup BLE_GAP_DEFINES Defines
- * @{ */
-
-/**@defgroup BLE_ERRORS_GAP SVC return values specific to GAP
- * @{ */
-#define BLE_ERROR_GAP_UUID_LIST_MISMATCH            (NRF_GAP_ERR_BASE + 0x000)  /**< UUID list does not contain an integral number of UUIDs. */
-#define BLE_ERROR_GAP_DISCOVERABLE_WITH_WHITELIST   (NRF_GAP_ERR_BASE + 0x001)  /**< Use of Whitelist not permitted with discoverable advertising. */
-#define BLE_ERROR_GAP_INVALID_BLE_ADDR              (NRF_GAP_ERR_BASE + 0x002)  /**< The upper two bits of the address do not correspond to the specified address type. */
-/**@} */
-
-
-/**@defgroup BLE_GAP_ROLES GAP Roles
- * @note Not explicitly used in peripheral API, but will be relevant for central API.
- * @{ */
-#define BLE_GAP_ROLE_INVALID     0x0            /**< Invalid Role. */
-#define BLE_GAP_ROLE_PERIPH      0x1            /**< Peripheral Role. */
-#define BLE_GAP_ROLE_CENTRAL     0x2            /**< Central Role. */
-/**@} */
-
-
-/**@defgroup BLE_GAP_TIMEOUT_SOURCES GAP Timeout sources
- * @{ */
-#define BLE_GAP_TIMEOUT_SRC_ADVERTISEMENT              0x00 /**< Advertisement timeout. */
-#define BLE_GAP_TIMEOUT_SRC_SECURITY_REQUEST           0x01 /**< Security request timeout. */
-/**@} */
-
-
-/**@defgroup BLE_GAP_ADDR_TYPES GAP Address types
- * @{ */
-#define BLE_GAP_ADDR_TYPE_PUBLIC                        0x00 /**< Public address. */
-#define BLE_GAP_ADDR_TYPE_RANDOM_STATIC                 0x01 /**< Random Static address. */
-#define BLE_GAP_ADDR_TYPE_RANDOM_PRIVATE_RESOLVABLE     0x02 /**< Private Resolvable address. */
-#define BLE_GAP_ADDR_TYPE_RANDOM_PRIVATE_NON_RESOLVABLE 0x03 /**< Private Non-Resolvable address. */
-/**@} */
-
-/**@defgroup BLE_GAP_ADDR_CYCLE_MODES GAP Address cycle modes
- * @{ */
-#define BLE_GAP_ADDR_CYCLE_MODE_NONE      0x00 /**< Set addresses directly, no automatic address cycling. */
-#define BLE_GAP_ADDR_CYCLE_MODE_AUTO      0x01 /**< Automatically generate and update private addresses. */
-/** @} */
-
-/**@brief The default interval in seconds at which a private address is refreshed when address cycle mode is @ref BLE_GAP_ADDR_CYCLE_MODE_AUTO.  */
-#define BLE_GAP_DEFAULT_PRIVATE_ADDR_CYCLE_INTERVAL_S (60 * 15)
-
-/** @brief BLE address length. */
-#define BLE_GAP_ADDR_LEN            6
-
-
-/**@defgroup BLE_GAP_AD_TYPE_DEFINITIONS GAP Advertising and Scan Response Data format
- * @note Found at https://www.bluetooth.org/Technical/AssignedNumbers/generic_access_profile.htm
- * @{ */
-#define BLE_GAP_AD_TYPE_FLAGS                               0x01 /**< Flags for discoverability. */
-#define BLE_GAP_AD_TYPE_16BIT_SERVICE_UUID_MORE_AVAILABLE   0x02 /**< Partial list of 16 bit service UUIDs. */
-#define BLE_GAP_AD_TYPE_16BIT_SERVICE_UUID_COMPLETE         0x03 /**< Complete list of 16 bit service UUIDs. */
-#define BLE_GAP_AD_TYPE_32BIT_SERVICE_UUID_MORE_AVAILABLE   0x04 /**< Partial list of 32 bit service UUIDs. */
-#define BLE_GAP_AD_TYPE_32BIT_SERVICE_UUID_COMPLETE         0x05 /**< Complete list of 32 bit service UUIDs. */
-#define BLE_GAP_AD_TYPE_128BIT_SERVICE_UUID_MORE_AVAILABLE  0x06 /**< Partial list of 128 bit service UUIDs. */
-#define BLE_GAP_AD_TYPE_128BIT_SERVICE_UUID_COMPLETE        0x07 /**< Complete list of 128 bit service UUIDs. */
-#define BLE_GAP_AD_TYPE_SHORT_LOCAL_NAME                    0x08 /**< Short local device name. */
-#define BLE_GAP_AD_TYPE_COMPLETE_LOCAL_NAME                 0x09 /**< Complete local device name. */
-#define BLE_GAP_AD_TYPE_TX_POWER_LEVEL                      0x0A /**< Transmit power level. */
-#define BLE_GAP_AD_TYPE_CLASS_OF_DEVICE                     0x0D /**< Class of device. */
-#define BLE_GAP_AD_TYPE_SIMPLE_PAIRING_HASH_C               0x0E /**< Simple Pairing Hash C. */
-#define BLE_GAP_AD_TYPE_SIMPLE_PAIRING_RANDOMIZER_R         0x0F /**< Simple Pairing Randomizer R. */
-#define BLE_GAP_AD_TYPE_SECURITY_MANAGER_TK_VALUE           0x10 /**< Security Manager TK Value. */
-#define BLE_GAP_AD_TYPE_SECURITY_MANAGER_OOB_FLAGS          0x11 /**< Security Manager Out Of Band Flags. */
-#define BLE_GAP_AD_TYPE_SLAVE_CONNECTION_INTERVAL_RANGE     0x12 /**< Slave Connection Interval Range. */
-#define BLE_GAP_AD_TYPE_SOLICITED_SERVICE_UUIDS_16BIT       0x14 /**< List of 16-bit Service Solicitation UUIDs. */
-#define BLE_GAP_AD_TYPE_SOLICITED_SERVICE_UUIDS_128BIT      0x15 /**< List of 128-bit Service Solicitation UUIDs. */
-#define BLE_GAP_AD_TYPE_SERVICE_DATA                        0x16 /**< Service Data - 16-bit UUID. */
-#define BLE_GAP_AD_TYPE_PUBLIC_TARGET_ADDRESS               0x17 /**< Public Target Address. */
-#define BLE_GAP_AD_TYPE_RANDOM_TARGET_ADDRESS               0x18 /**< Random Target Address. */
-#define BLE_GAP_AD_TYPE_APPEARANCE                          0x19 /**< Appearance. */
-#define BLE_GAP_AD_TYPE_ADVERTISING_INTERVAL                0x1A /**< Advertising Interval. */ 
-#define BLE_GAP_AD_TYPE_LE_BLUETOOTH_DEVICE_ADDRESS         0x1B /**< LE Bluetooth Device Address. */
-#define BLE_GAP_AD_TYPE_LE_ROLE                             0x1C /**< LE Role. */
-#define BLE_GAP_AD_TYPE_SIMPLE_PAIRING_HASH_C256            0x1D /**< Simple Pairing Hash C-256. */
-#define BLE_GAP_AD_TYPE_SIMPLE_PAIRING_RANDOMIZER_R256      0x1E /**< Simple Pairing Randomizer R-256. */
-#define BLE_GAP_AD_TYPE_SERVICE_DATA_32BIT_UUID             0x20 /**< Service Data - 32-bit UUID. */
-#define BLE_GAP_AD_TYPE_SERVICE_DATA_128BIT_UUID            0x21 /**< Service Data - 128-bit UUID. */
-#define BLE_GAP_AD_TYPE_3D_INFORMATION_DATA                 0x3D /**< 3D Information Data. */
-#define BLE_GAP_AD_TYPE_MANUFACTURER_SPECIFIC_DATA          0xFF /**< Manufacturer Specific Data. */
-/**@} */
-
-
-/**@defgroup BLE_GAP_ADV_FLAGS GAP Advertisement Flags
- * @{ */
-#define BLE_GAP_ADV_FLAG_LE_LIMITED_DISC_MODE         (0x01)   /**< LE Limited Discoverable Mode. */
-#define BLE_GAP_ADV_FLAG_LE_GENERAL_DISC_MODE         (0x02)   /**< LE General Discoverable Mode. */
-#define BLE_GAP_ADV_FLAG_BR_EDR_NOT_SUPPORTED         (0x04)   /**< BR/EDR not supported. */
-#define BLE_GAP_ADV_FLAG_LE_BR_EDR_CONTROLLER         (0x08)   /**< Simultaneous LE and BR/EDR, Controller. */
-#define BLE_GAP_ADV_FLAG_LE_BR_EDR_HOST               (0x10)   /**< Simultaneous LE and BR/EDR, Host. */
-#define BLE_GAP_ADV_FLAGS_LE_ONLY_LIMITED_DISC_MODE   (BLE_GAP_ADV_FLAG_LE_LIMITED_DISC_MODE | BLE_GAP_ADV_FLAG_BR_EDR_NOT_SUPPORTED)   /**< LE Limited Discoverable Mode, BR/EDR not supported. */
-#define BLE_GAP_ADV_FLAGS_LE_ONLY_GENERAL_DISC_MODE   (BLE_GAP_ADV_FLAG_LE_GENERAL_DISC_MODE | BLE_GAP_ADV_FLAG_BR_EDR_NOT_SUPPORTED)   /**< LE General Discoverable Mode, BR/EDR not supported. */
-/**@} */
-
-
-/**@defgroup BLE_GAP_ADV_INTERVALS GAP Advertising interval max and min
- * @{ */
-#define BLE_GAP_ADV_INTERVAL_MIN        0x0020 /**< Minimum Advertising interval in 625 us units, i.e. 20 ms. */
-#define BLE_GAP_ADV_NONCON_INTERVAL_MIN 0x00A0 /**< Minimum Advertising interval in 625 us units for non connectable mode, i.e. 100 ms. */
-#define BLE_GAP_ADV_INTERVAL_MAX        0x4000 /**< Maximum Advertising interval in 625 us units, i.e. 10.24 s. */
- /**@}  */
-
-
-/**@brief Maximum size of advertising data in octets. */
-#define  BLE_GAP_ADV_MAX_SIZE       31
-
-
-/**@defgroup BLE_GAP_ADV_TYPES GAP Advertising types
- * @{ */
-#define BLE_GAP_ADV_TYPE_ADV_IND          0x00   /**< Connectable undirected. */
-#define BLE_GAP_ADV_TYPE_ADV_DIRECT_IND   0x01   /**< Connectable directed. */
-#define BLE_GAP_ADV_TYPE_ADV_SCAN_IND     0x02   /**< Scannable undirected. */
-#define BLE_GAP_ADV_TYPE_ADV_NONCONN_IND  0x03   /**< Non connectable undirected. */
-/**@} */
-
-
-/**@defgroup BLE_GAP_ADV_FILTER_POLICIES GAP Advertising filter policies
- * @{ */
-#define BLE_GAP_ADV_FP_ANY                0x00   /**< Allow scan requests and connect requests from any device. */
-#define BLE_GAP_ADV_FP_FILTER_SCANREQ     0x01   /**< Filter scan requests with whitelist. */
-#define BLE_GAP_ADV_FP_FILTER_CONNREQ     0x02   /**< Filter connect requests with whitelist. */
-#define BLE_GAP_ADV_FP_FILTER_BOTH        0x03   /**< Filter both scan and connect requests with whitelist. */
-/**@} */
-
-
-/**@defgroup BLE_GAP_ADV_TIMEOUT_VALUES GAP Advertising timeout values
- * @{ */
-#define BLE_GAP_ADV_TIMEOUT_LIMITED_MAX      180 /**< Maximum advertising time in limited discoverable mode (TGAP(lim_adv_timeout) = 180s in spec (Addendum 2)). */
-#define BLE_GAP_ADV_TIMEOUT_GENERAL_UNLIMITED  0 /**< Unlimited advertising in general discoverable mode. */
-/**@} */
-
-
-/**@defgroup BLE_GAP_DISC_MODES GAP Discovery modes
- * @{ */
-#define BLE_GAP_DISC_MODE_NOT_DISCOVERABLE  0x00   /**< Not discoverable discovery Mode. */
-#define BLE_GAP_DISC_MODE_LIMITED           0x01   /**< Limited Discovery Mode. */
-#define BLE_GAP_DISC_MODE_GENERAL           0x02   /**< General Discovery Mode. */
-/**@} */
-
-/**@defgroup BLE_GAP_IO_CAPS GAP IO Capabilities
- * @{ */
-#define BLE_GAP_IO_CAPS_DISPLAY_ONLY      0x00   /**< Display Only. */
-#define BLE_GAP_IO_CAPS_DISPLAY_YESNO     0x01   /**< Display and Yes/No entry. */
-#define BLE_GAP_IO_CAPS_KEYBOARD_ONLY     0x02   /**< Keyboard Only. */
-#define BLE_GAP_IO_CAPS_NONE              0x03   /**< No I/O capabilities. */
-#define BLE_GAP_IO_CAPS_KEYBOARD_DISPLAY  0x04   /**< Keyboard and Display. */
-/**@} */
-
-
-/**@defgroup BLE_GAP_AUTH_KEY_TYPES GAP Authentication Key Types
- * @{ */
-#define BLE_GAP_AUTH_KEY_TYPE_NONE        0x00   /**< No key (may be used to reject). */
-#define BLE_GAP_AUTH_KEY_TYPE_PASSKEY     0x01   /**< 6-digit Passkey. */
-#define BLE_GAP_AUTH_KEY_TYPE_OOB         0x02   /**< Out Of Band data. */
-/**@} */
-
-/**@defgroup BLE_GAP_SEC_STATUS GAP Security status
- * @{ */
-#define BLE_GAP_SEC_STATUS_SUCCESS                0x00  /**< Successful parameters. */
-#define BLE_GAP_SEC_STATUS_TIMEOUT                0x01  /**< Procedure timed out. */
-#define BLE_GAP_SEC_STATUS_PDU_INVALID            0x02  /**< Invalid PDU received. */
-#define BLE_GAP_SEC_STATUS_PASSKEY_ENTRY_FAILED   0x81  /**< Passkey entry failed (user cancelled or other). */
-#define BLE_GAP_SEC_STATUS_OOB_NOT_AVAILABLE      0x82  /**< Out of Band Key not available. */
-#define BLE_GAP_SEC_STATUS_AUTH_REQ               0x83  /**< Authentication requirements not met. */
-#define BLE_GAP_SEC_STATUS_CONFIRM_VALUE          0x84  /**< Confirm value failed. */
-#define BLE_GAP_SEC_STATUS_PAIRING_NOT_SUPP       0x85  /**< Pairing not supported.  */
-#define BLE_GAP_SEC_STATUS_ENC_KEY_SIZE           0x86  /**< Encryption key size. */
-#define BLE_GAP_SEC_STATUS_SMP_CMD_UNSUPPORTED    0x87  /**< Unsupported SMP command. */
-#define BLE_GAP_SEC_STATUS_UNSPECIFIED            0x88  /**< Unspecified reason. */
-#define BLE_GAP_SEC_STATUS_REPEATED_ATTEMPTS      0x89  /**< Too little time elapsed since last attempt. */
-#define BLE_GAP_SEC_STATUS_INVALID_PARAMS         0x8A  /**< Invalid parameters. */
-/**@} */
-
-/**@defgroup BLE_GAP_SEC_STATUS_SOURCES GAP Security status sources
- * @{ */
-#define BLE_GAP_SEC_STATUS_SOURCE_LOCAL           0x00  /**< Local failure. */
-#define BLE_GAP_SEC_STATUS_SOURCE_REMOTE          0x01  /**< Remote failure. */
-/**@} */
-
-/**@defgroup BLE_GAP_CP_LIMITS GAP Connection Parameters Limits
- * @{ */
-#define BLE_GAP_CP_MIN_CONN_INTVL_NONE           0xFFFF  /**< No new minimum connction interval specified in connect parameters. */
-#define BLE_GAP_CP_MIN_CONN_INTVL_MIN            0x0006  /**< Lowest mimimum connection interval permitted, in units of 1.25 ms, i.e. 7.5 ms. */
-#define BLE_GAP_CP_MIN_CONN_INTVL_MAX            0x0C80  /**< Highest minimum connection interval permitted, in units of 1.25 ms, i.e. 4 s. */
-#define BLE_GAP_CP_MAX_CONN_INTVL_NONE           0xFFFF  /**< No new maximum connction interval specified in connect parameters. */
-#define BLE_GAP_CP_MAX_CONN_INTVL_MIN            0x0006  /**< Lowest maximum connection interval permitted, in units of 1.25 ms, i.e. 7.5 ms. */
-#define BLE_GAP_CP_MAX_CONN_INTVL_MAX            0x0C80  /**< Highest maximum connection interval permitted, in units of 1.25 ms, i.e. 4 s. */
-#define BLE_GAP_CP_SLAVE_LATENCY_MAX             0x03E8  /**< Highest slave latency permitted, in connection events. */
-#define BLE_GAP_CP_CONN_SUP_TIMEOUT_NONE         0xFFFF  /**< No new supervision timeout specified in connect parameters. */
-#define BLE_GAP_CP_CONN_SUP_TIMEOUT_MIN          0x000A  /**< Lowest supervision timeout permitted, in units of 10 ms, i.e. 100 ms. */
-#define BLE_GAP_CP_CONN_SUP_TIMEOUT_MAX          0x0C80  /**< Highest supervision timeout permitted, in units of 10 ms, i.e. 32 s. */
-/**@} */
-
-
-/**@brief GAP device name maximum length. */
-#define BLE_GAP_DEVNAME_MAX_LEN           31
-
-
-/**@defgroup BLE_GAP_CONN_SEC_MODE_SET_MACROS GAP attribute security requirement setters
- *
- * See @ref ble_gap_conn_sec_mode_t.
- * @{ */
-/**@brief Set sec_mode pointed to by ptr to have no access rights.*/
-#define BLE_GAP_CONN_SEC_MODE_SET_NO_ACCESS(ptr)         do {(ptr)->sm = 0; (ptr)->lv = 0;} while(0)
-/**@brief Set sec_mode pointed to by ptr to require no protection, open link.*/
-#define BLE_GAP_CONN_SEC_MODE_SET_OPEN(ptr)              do {(ptr)->sm = 1; (ptr)->lv = 1;} while(0)
-/**@brief Set sec_mode pointed to by ptr to require encryption, but no MITM protection.*/
-#define BLE_GAP_CONN_SEC_MODE_SET_ENC_NO_MITM(ptr)       do {(ptr)->sm = 1; (ptr)->lv = 2;} while(0)
-/**@brief Set sec_mode pointed to by ptr to require encryption and MITM protection.*/
-#define BLE_GAP_CONN_SEC_MODE_SET_ENC_WITH_MITM(ptr)     do {(ptr)->sm = 1; (ptr)->lv = 3;} while(0)
-/**@brief Set sec_mode pointed to by ptr to require signing or encryption, no MITM protection needed.*/
-#define BLE_GAP_CONN_SEC_MODE_SET_SIGNED_NO_MITM(ptr)    do {(ptr)->sm = 2; (ptr)->lv = 1;} while(0)
-/**@brief Set sec_mode pointed to by ptr to require signing or encryption with MITM protection.*/
-#define BLE_GAP_CONN_SEC_MODE_SET_SIGNED_WITH_MITM(ptr)  do {(ptr)->sm = 2; (ptr)->lv = 2;} while(0)
-/**@} */
-
-
-/**@brief GAP Security Key Length. */
-#define BLE_GAP_SEC_KEY_LEN 16
-
-/**@brief GAP Passkey Length. */
-#define BLE_GAP_PASSKEY_LEN 6
-
-/**@brief Maximum amount of addresses in a whitelist. */
-#define BLE_GAP_WHITELIST_ADDR_MAX_COUNT (8)
-
-/**@brief Maximum amount of IRKs in a whitelist.
- * @note  The number of IRKs is limited to 8, even if the hardware supports more.
- */
-#define BLE_GAP_WHITELIST_IRK_MAX_COUNT (8)
-
-/**@defgroup GAP_SEC_MODES GAP Security Modes
- * @{ */
-#define BLE_GAP_SEC_MODE 0x00 /**< No key (may be used to reject). */
-/**@} */
-
-/**@} */
-
-/**@addtogroup BLE_GAP_STRUCTURES Structures
- * @{ */
-
-/**@brief Bluetooth Low Energy address. */
-typedef struct
-{
-  uint8_t addr_type;                    /**< See @ref BLE_GAP_ADDR_TYPES. */
-  uint8_t addr[BLE_GAP_ADDR_LEN];       /**< 48-bit address, LSB format. */
-} ble_gap_addr_t;
-
-
-/**@brief GAP connection parameters.
- *
- * @note  When ble_conn_params_t is received in an event, both min_conn_interval and
- *        max_conn_interval will be equal to the connection interval set by the central.
- */
-typedef struct
-{
-  uint16_t min_conn_interval;         /**< Minimum Connection Interval in 1.25 ms units, see @ref BLE_GAP_CP_LIMITS.*/
-  uint16_t max_conn_interval;         /**< Maximum Connection Interval in 1.25 ms units, see @ref BLE_GAP_CP_LIMITS.*/
-  uint16_t slave_latency;             /**< Slave Latency in number of connection events, see @ref BLE_GAP_CP_LIMITS.*/
-  uint16_t conn_sup_timeout;          /**< Connection Supervision Timeout in 10 ms units, see @ref BLE_GAP_CP_LIMITS.*/
-} ble_gap_conn_params_t;
-
-
-/**@brief GAP link requirements.
- *
- * See Bluetooth Core specification, Volume 3 Part C 10.2 for details.
- *
- * Security Mode 0 Level 0: No access permissions at all (this level is not defined by the Bluetooth Core specification).\n
- * Security Mode 1 Level 1: No security is needed (aka open link).\n
- * Security Mode 1 Level 2: Encrypted link required, MITM protection not necessary.\n
- * Security Mode 1 Level 3: MITM protected encrypted link required.\n
- * Security Mode 2 Level 1: Signing or encryption required, MITM protection not necessary.\n
- * Security Mode 2 Level 2: MITM protected signing required, unless link is MITM protected encrypted.\n
- */
-typedef struct
-{
-  uint8_t sm : 4;                     /**< Security Mode (1 or 2), 0 for no permissions at all. */
-  uint8_t lv : 4;                     /**< Level (1, 2 or 3), 0 for no permissions at all. */
-
-} ble_gap_conn_sec_mode_t;
-
-
-/**@brief GAP connection security status.*/
-typedef struct
-{
-  ble_gap_conn_sec_mode_t sec_mode;           /**< Currently active security mode for this connection.*/
-  uint8_t                 encr_key_size;      /**< Length of currently active encryption key, 7 to 16 octets (only applicable for bonding procedures). */
-} ble_gap_conn_sec_t;
-
-
-/**@brief Identity Resolving Key. */
-typedef struct
-{
-  uint8_t irk[BLE_GAP_SEC_KEY_LEN];   /**< Array containing IRK. */
-} ble_gap_irk_t;
-
-
-/**@brief Whitelist structure. */
-typedef struct
-{
-  ble_gap_addr_t   ** pp_addrs;        /**< Pointer to array of device address pointers, pointing to addresses to be used in whitelist. NULL if none are given. */
-  uint8_t             addr_count;      /**< Count of device addresses in array, up to @ref BLE_GAP_WHITELIST_ADDR_MAX_COUNT. */
-  ble_gap_irk_t    ** pp_irks;         /**< Pointer to array of Identity Resolving Key (IRK) pointers, each pointing to an IRK in the whitelist. NULL if none are given. */
-  uint8_t             irk_count;       /**< Count of IRKs in array, up to @ref BLE_GAP_WHITELIST_IRK_MAX_COUNT. */
-} ble_gap_whitelist_t;
-
-
-/**@brief GAP advertising parameters.*/
-typedef struct
-{
-  uint8_t               type;                 /**< See @ref BLE_GAP_ADV_TYPES. */
-  ble_gap_addr_t*       p_peer_addr;          /**< For BLE_GAP_CONN_MODE_DIRECTED mode only, known peer address. */
-  uint8_t               fp;                   /**< Filter Policy, see @ref BLE_GAP_ADV_FILTER_POLICIES. */
-  ble_gap_whitelist_t * p_whitelist;          /**< Pointer to whitelist, NULL if none is given. */
-  uint16_t              interval;             /**< Advertising interval between 0x0020 and 0x4000 in 0.625 ms units (20ms to 10.24s), see @ref BLE_GAP_ADV_INTERVALS. This parameter must be set to 0 if type equals @ref BLE_GAP_ADV_TYPE_ADV_DIRECT_IND. */
-  uint16_t              timeout;              /**< Advertising timeout between 0x0001 and 0x3FFF in seconds, 0x0000 disables timeout. See also @ref BLE_GAP_ADV_TIMEOUT_VALUES. This parameter must be set to 0 if type equals @ref BLE_GAP_ADV_TYPE_ADV_DIRECT_IND. */
-} ble_gap_adv_params_t;
-
-
-/**@brief GAP scanning parameters. */
-typedef struct
-{
-  uint8_t    filter;                    /**< Filter based on discovery mode, see @ref BLE_GAP_DISC_MODES. */
-  uint8_t    active    : 1;             /**< If 1, perform active scanning (scan requests). */
-  uint8_t    selective : 1;             /**< If 1, ignore unknown devices (non whitelisted). */
-  uint16_t   interval;                  /**< Scan interval between 0x0020 and 0x4000 in 0.625ms units (20ms to 10.24s). */
-  uint16_t   window;                    /**< Scan window between 0x0004 and 0x4000 in 0.625ms units (2.5ms to 10.24s). */
-  uint16_t   timeout;                   /**< Scan timeout between 0x0001 and 0x3FFF in seconds, 0x0000 disables timeout. */
-} ble_gap_scan_params_t;
-
-
-/**@brief GAP security parameters. */
-typedef struct
-{
-  uint16_t   timeout;                   /**< Timeout for SMP transactions or Security Request in seconds, see @ref sd_ble_gap_authenticate and @ref sd_ble_gap_sec_params_reply for more information. */
-  uint8_t    bond    : 1;               /**< Perform bonding. */
-  uint8_t    mitm    : 1;               /**< Man In The Middle protection required. */
-  uint8_t    io_caps : 3;               /**< IO capabilities, see @ref BLE_GAP_IO_CAPS. */
-  uint8_t    oob     : 1;               /**< Out Of Band data available. */
-  uint8_t    min_key_size;              /**< Minimum encryption key size in octets between 7 and 16. */
-  uint8_t    max_key_size;              /**< Maximum encryption key size in octets between min_key_size and 16. */
-} ble_gap_sec_params_t;
-
-
-/**@brief GAP Encryption Information. */
-typedef struct
-{
-  uint16_t  div;                        /**< Encryption Diversifier. */
-  uint8_t   ltk[BLE_GAP_SEC_KEY_LEN];   /**< Long Term Key. */
-  uint8_t   auth : 1;                   /**< Authenticated Key. */
-  uint8_t   ltk_len : 7;                /**< LTK length in octets. */
-} ble_gap_enc_info_t;
-
-
-/**@brief GAP Master Identification. */
-typedef struct
-{
-  uint16_t  ediv;                       /**< Encrypted Diversifier. */
-  uint8_t   rand[8];                    /**< Random Number. */
-} ble_gap_master_id_t;
-
-
-/**@brief GAP Identity Information. */
-typedef struct
-{
-  ble_gap_addr_t  addr;                       /**< Bluetooth address to which this key applies. */
-  uint8_t         irk[BLE_GAP_SEC_KEY_LEN];   /**< Identity Resolution Key. */
-} ble_gap_id_info_t;
-
-
-/**@brief GAP Signing Information. */
-typedef struct
-{
-  uint8_t   csrk[BLE_GAP_SEC_KEY_LEN]; /* Connection Signature Resolving Key. */
-} ble_gap_sign_info_t;
-
-
-/**@brief GAP Event IDs.
- * Those IDs uniquely identify an event coming from the stack to the application.
- */
-enum BLE_GAP_EVTS
-{
-  BLE_GAP_EVT_CONNECTED  = BLE_GAP_EVT_BASE,    /**< Connection established. */
-  BLE_GAP_EVT_DISCONNECTED,                     /**< Disconnected from peer. */
-  BLE_GAP_EVT_CONN_PARAM_UPDATE,                /**< Connection Parameters updated. */
-  BLE_GAP_EVT_SEC_PARAMS_REQUEST,               /**< Request to provide security parameters. */
-  BLE_GAP_EVT_SEC_INFO_REQUEST,                 /**< Request to provide security information. */
-  BLE_GAP_EVT_PASSKEY_DISPLAY,                  /**< Request to display a passkey to the user. */
-  BLE_GAP_EVT_AUTH_KEY_REQUEST,                 /**< Request to provide an authentication key. */
-  BLE_GAP_EVT_AUTH_STATUS,                      /**< Authentication procedure completed with status. */
-  BLE_GAP_EVT_CONN_SEC_UPDATE,                  /**< Connection security updated. */
-  BLE_GAP_EVT_TIMEOUT,                          /**< Timeout expired. */
-  BLE_GAP_EVT_RSSI_CHANGED,                     /**< Signal strength measurement report. */
-};
-
-
-/**
- * @brief GAP Option IDs.
- * IDs that uniquely identify a GAP option.
- */
-enum BLE_GAP_OPTS
-{
-  BLE_GAP_OPT_LOCAL_CONN_LATENCY  = BLE_GAP_OPT_BASE,    /**< Local connection latency. */
-  BLE_GAP_OPT_PASSKEY,                                   /**< Set passkey to be used during pairing. This option can be used to make the SoftDevice use an application provided passkey instead of generating a random passkey.*/
-  BLE_GAP_OPT_PRIVACY,                                   /**< Set or get custom IRK or custom private address cycle interval. */
-};
-/**@} */
-
-
-/**@brief Event data for connected event. */
-typedef struct
-{
-  ble_gap_addr_t        peer_addr;              /**< Bluetooth address of the peer device. */
-  uint8_t               irk_match :1;           /**< If 1, peer device's address resolved using an IRK. */
-  uint8_t               irk_match_idx  :7;      /**< Index in IRK list where the address was matched. */
-  ble_gap_conn_params_t conn_params;            /**< GAP Connection Parameters. */
-} ble_gap_evt_connected_t;
-
-
-/**@brief Event data for disconnected event. */
-typedef struct
-{
-  uint8_t reason;                               /**< HCI error code. */
-} ble_gap_evt_disconnected_t;
-
-
-/**@brief Event data for connection parameter update event. */
-typedef struct
-{
-  ble_gap_conn_params_t conn_params;            /**<  GAP Connection Parameters. */
-} ble_gap_evt_conn_param_update_t;
-
-
-/**@brief Event data for security parameters request event. */
-typedef struct
-{
-  ble_gap_sec_params_t peer_params;             /**< Initiator Security Parameters. */
-} ble_gap_evt_sec_params_request_t;
-
-
-/**@brief Event data for security info request event. */
-typedef struct
-{
-  ble_gap_addr_t peer_addr;                     /**< Bluetooth address of the peer device. */
-  uint16_t       div;                           /**< Encryption diversifier for LTK lookup. */
-  uint8_t        enc_info  : 1;                 /**< If 1, Encryption Information required. */
-  uint8_t        id_info   : 1;                 /**< If 1, Identity Information required. */
-  uint8_t        sign_info : 1;                 /**< If 1, Signing Information required. */
-} ble_gap_evt_sec_info_request_t;
-
-
-/**@brief Event data for passkey display event. */
-typedef struct
-{
-  uint8_t passkey[BLE_GAP_PASSKEY_LEN];         /**< 6-digit passkey in ASCII ('0'-'9' digits only). */
-} ble_gap_evt_passkey_display_t;
-
-
-/**@brief Event data for authentication key request event. */
-typedef struct
-{
-  uint8_t key_type;                             /**< See @ref BLE_GAP_AUTH_KEY_TYPES. */
-} ble_gap_evt_auth_key_request_t;
-
-
-/**@brief Security levels supported.
- * @note See Bluetooth Specification Version 4.1 Volume 3, Part C, Chapter 10.
-*/
-typedef struct
-{
-  uint8_t lv1 : 1;                              /**< If 1: Level 1 is supported. */
-  uint8_t lv2 : 1;                              /**< If 1: Level 2 is supported. */
-  uint8_t lv3 : 1;                              /**< If 1: Level 3 is supported. */
-} ble_gap_sec_levels_t;
-
-
-/**@brief Keys that have been exchanged. */
-typedef struct
-{
-  uint8_t ltk       : 1;                        /**< Long Term Key. */
-  uint8_t ediv_rand : 1;                        /**< Encrypted Diversifier and Random value. */
-  uint8_t irk       : 1;                        /**< Identity Resolving Key. */
-  uint8_t address   : 1;                        /**< Public or static random address. */
-  uint8_t csrk      : 1;                        /**< Connection Signature Resolving Key. */
-} ble_gap_sec_keys_t;
-
-
-/**@brief Event data for authentication status event. */
-typedef struct
-{
-  uint8_t               auth_status;            /**< Authentication status, see @ref BLE_GAP_SEC_STATUS. */
-  uint8_t               error_src;              /**< On error, source that caused the failure, see @ref BLE_GAP_SEC_STATUS_SOURCES. */
-  ble_gap_sec_levels_t  sm1_levels;             /**< Levels supported in Security Mode 1. */
-  ble_gap_sec_levels_t  sm2_levels;             /**< Levels supported in Security Mode 2. */
-  ble_gap_sec_keys_t    periph_kex;             /**< Bitmap stating which keys were exchanged (distributed) by the peripheral. */
-  ble_gap_sec_keys_t    central_kex;            /**< Bitmap stating which keys were exchanged (distributed) by the central. */
-  struct periph_keys_t
-  {
-    ble_gap_enc_info_t    enc_info;             /**< Peripheral's Encryption information. */
-  } periph_keys;                                /**< Actual keys distributed from the Peripheral to the Central. */ 
-  struct central_keys_t
-  {
-    ble_gap_irk_t         irk;                  /**< Central's IRK. */
-    ble_gap_addr_t        id_info;              /**< Central's Identity Info. */
-  } central_keys;                               /**< Actual keys distributed from the Central to the Peripheral. */
-} ble_gap_evt_auth_status_t;
-
-
-/**@brief Event data for connection security update event. */
-typedef struct
-{
-  ble_gap_conn_sec_t conn_sec;                  /**< Connection security level. */
-} ble_gap_evt_conn_sec_update_t;
-
-
-/**@brief Event data for timeout event. */
-typedef struct
-{
-  uint8_t src;                                  /**< Source of timeout event, see @ref BLE_GAP_TIMEOUT_SOURCES. */
-} ble_gap_evt_timeout_t;
-
-
-/**@brief Event data for advertisement report event. */
-typedef struct
-{
-  int8_t  rssi;                               /**< Received Signal Strength Indication in dBm. */
-} ble_gap_evt_rssi_changed_t;
-
-
-/**@brief GAP event callback event structure. */
-typedef struct
-{
-  uint16_t conn_handle;                                     /**< Connection Handle on which event occured. */
-  union                                                     /**< union alternative identified by evt_id in enclosing struct. */
-  {
-    ble_gap_evt_connected_t          connected;             /**< Connected Event Parameters. */
-    ble_gap_evt_disconnected_t       disconnected;          /**< Disconnected Event Parameters. */
-    ble_gap_evt_conn_param_update_t  conn_param_update;     /**< Connection Parameter Update Parameters. */
-    ble_gap_evt_sec_params_request_t sec_params_request;    /**< Security Parameters Request Event Parameters. */
-    ble_gap_evt_sec_info_request_t   sec_info_request;      /**< Security Information Request Event Parameters. */
-    ble_gap_evt_passkey_display_t    passkey_display;       /**< Passkey Display Event Parameters. */
-    ble_gap_evt_auth_key_request_t   auth_key_request;      /**< Authentication Key Request Event Parameters. */
-    ble_gap_evt_auth_status_t        auth_status;           /**< Authentication Status Event Parameters. */
-    ble_gap_evt_conn_sec_update_t    conn_sec_update;       /**< Connection Security Update Event Parameters. */
-    ble_gap_evt_timeout_t            timeout;               /**< Timeout Event Parameters. */
-    ble_gap_evt_rssi_changed_t       rssi_changed;          /**< RSSI Event parameters. */
-  } params;
-
-} ble_gap_evt_t;
-
-
-/**@brief Local connection latency option.
- *
- *         Local connection latency is a feature which enables the slave to improve
- *         current consumption by ignoring the slave latency set by the peer. The
- *         local connection latency can only be set to a multiple of the slave latency,
- *         and cannot be longer than half of the supervision timeout.
- *
- *         Used with @ref sd_ble_opt_set to set the local connection latency. The
- *         @ref sd_ble_opt_get is not supported for this option, but the actual 
- *         local connection latency (unless set to NULL) is set as a return parameter
- *         when setting the option.
- *
- *  @note  The latency set will be truncated down to the closest slave latency event
- *         multiple, or the nearest multiple before half of the supervision timeout.
- *
- *  @note  The local connection latency is default off, and needs to be set for new
- *         connections and whenever the connection is updated.
- *
- *  @retval ::NRF_SUCCESS Set successfully.
- *  @retval ::NRF_ERROR_NOT_SUPPORTED Get is not supported.
- *  @retval ::BLE_ERROR_INVALID_CONN_HANDLE Invalid connection handle parameter.
- */
-typedef struct
-{
-  uint16_t   conn_handle;                       /**< Connection Handle */
-  uint16_t   requested_latency;                 /**< Requested local connection latency. */
-  uint16_t * p_actual_latency;                  /**< Pointer to storage for the actual local connection latency (can be set to NULL to skip return value). */
-} ble_gap_opt_local_conn_latency_t;
-
-
-/**@brief Passkey Option.
- *
- *        Structure containing the passkey to be used during pairing. This can be used with @ref
- *        sd_ble_opt_set to make the SoftDevice use a pre-programmed passkey for authentication
- *        instead of generating a random one.
- *
- * @note  @ref sd_ble_opt_get is not supported for this option.
- *
- */
-typedef struct
-{
-  uint8_t * p_passkey;                          /**< Pointer to 6-digit ASCII string (digit 0..9 only, no NULL termination) passkey to be used during pairing. If this is NULL, the SoftDevice will generate a random passkey if required.*/
-} ble_gap_opt_passkey_t;
-
-
-/**@brief Custom Privacy Options.
- *
- * @note The specified address cycle interval is used when the address cycle mode is
- * @ref BLE_GAP_ADDR_CYCLE_MODE_AUTO. If 0 is given, the address will not be refreshed at any
- * interval, and not at start of advertising. A new address can be generated manually by calling
- * @ref sd_ble_gap_address_set with the same type again. The default interval is
- * @ref BLE_GAP_DEFAULT_PRIVATE_ADDR_CYCLE_INTERVAL_S.
- *
- * @note If cycle mode is @ref BLE_GAP_ADDR_CYCLE_MODE_AUTO, the address will immediately be
- * refreshed when this option is set.
- */
-typedef struct
-{
-  ble_gap_irk_t * p_irk;        /**< When input: Pointer to custom IRK, or NULL to use/reset to the device's default IRK. When output: Pointer to where the current IRK is to be stored, or NULL to not read out the IRK. */
-  uint16_t        interval_s;   /**< When input: Custom private address cycle interval in seconds. When output: The current private address cycle interval. */
-} ble_gap_opt_privacy_t;
-
-
-/**@brief Option structure for GAP options. */
-typedef union
-{
-  ble_gap_opt_local_conn_latency_t local_conn_latency;  /**< Local connection latency. */
-  ble_gap_opt_passkey_t            passkey;             /**< Passkey to be used for pairing.*/
-  ble_gap_opt_privacy_t            privacy;             /**< Custom privacy options. */
-} ble_gap_opt_t;
-/**@} */
-
-
-/**@addtogroup BLE_GAP_FUNCTIONS Functions
- * @{ */
-
-/**@brief Set local Bluetooth address.
- *
- * If the address cycle mode is @ref BLE_GAP_ADDR_CYCLE_MODE_AUTO, the address type is required to
- * be @ref BLE_GAP_ADDR_TYPE_RANDOM_PRIVATE_RESOLVABLE or
- * @ref BLE_GAP_ADDR_TYPE_RANDOM_PRIVATE_NON_RESOLVABLE. The given address is ignored and the
- * SoftDevice will generate a new private address automatically every time advertising is
- * (re)started, and every @ref BLE_GAP_DEFAULT_PRIVATE_ADDR_CYCLE_INTERVAL_S seconds. If this API
- * call is used again with the same parameters while advertising, the SoftDevice will immediately
- * generate a new private address to replace the current address.
- *
- * If the application wishes to use a @ref BLE_GAP_ADDR_TYPE_PUBLIC or
- * @ref BLE_GAP_ADDR_TYPE_RANDOM_STATIC address, the cycle mode must be
- * @ref BLE_GAP_ADDR_CYCLE_MODE_NONE.
- *
- * If this API function is called while advertising, the softdevice will immediately update the
- * advertising address without the need to stop advertising in the following cases:
- *   - If the previously set address is of type @ref BLE_GAP_ADDR_TYPE_PUBLIC and the new address
- *   is also of type @ref BLE_GAP_ADDR_TYPE_PUBLIC
- *   - If the previously set address is not @ref BLE_GAP_ADDR_TYPE_PUBLIC and the new address is
- *   also not @ref BLE_GAP_ADDR_TYPE_PUBLIC.
- *
- * If the address is changed from a @ref BLE_GAP_ADDR_TYPE_PUBLIC address to another type or from
- * another type to a @ref BLE_GAP_ADDR_TYPE_PUBLIC address, the change will take effect the next
- * time advertising is started.
- *
- * @note If the address cycle mode is @ref BLE_GAP_ADDR_CYCLE_MODE_NONE and the application is
- *       using privacy, the application must take care to generate and set new private addresses
- *       periodically to comply with the Privacy specification in Bluetooth Core Spec.
- *
- * @param[in] addr_cycle_mode Address cycle mode, see @ref BLE_GAP_ADDR_CYCLE_MODES.
- * @param[in] p_addr          Pointer to address structure.
- *
- * @return @ref NRF_SUCCESS Address successfully set.
- * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
- * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameters.
- * @return @ref BLE_ERROR_GAP_INVALID_BLE_ADDR Invalid address.
- * @return @ref NRF_ERROR_BUSY The stack is busy, process pending events and retry.
- */
-SVCALL(SD_BLE_GAP_ADDRESS_SET, uint32_t, sd_ble_gap_address_set(uint8_t addr_cycle_mode, ble_gap_addr_t const * const p_addr));
-
-
-/**@brief Get local Bluetooth address.
- *
- * @param[out] p_addr Pointer to address structure.
- *
- * @return @ref NRF_SUCCESS Address successfully retrieved.
- * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
- */
-SVCALL(SD_BLE_GAP_ADDRESS_GET, uint32_t, sd_ble_gap_address_get(ble_gap_addr_t * const p_addr));
-
-
-/**@brief Set, clear or update advertisement and scan response data.
- *
- * @note The format of the advertisement data will be checked by this call to ensure interoperability.
- *       Limitations imposed by this API call to the data provided include having a flags data type in the scan response data and
- *       duplicating the local name in the advertisement data and scan response data. 
- *
- * @note: To clear the advertisement data and set it to a 0-length packet, simply provide a valid pointer (p_data/p_sr_data) with its corresponding 
- *        length (dlen/srdlen) set to 0.
- *
- * @note: The call will fail if p_data and p_sr_data are both NULL since this would have no effect.
- *
- * @param[in] p_data    Raw data to be placed in advertisement packet. If NULL, no changes are made to the current advertisement packet data.
- * @param[in] dlen      Data length for p_data. Max size: @ref BLE_GAP_ADV_MAX_SIZE octets. Should be 0 if p_data is NULL, can be 0 if p_data is not NULL.
- * @param[in] p_sr_data Raw data to be placed in scan response packet. If NULL, no changes are made to the current scan response packet data.
- * @param[in] srdlen    Data length for p_sr_data. Max size: @ref BLE_GAP_ADV_MAX_SIZE octets. Should be 0 if p_sr_data is NULL, can be 0 if p_data is not NULL.
- *
- * @return @ref NRF_SUCCESS Advertisement data successfully updated or cleared.
- * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
- * @return @ref NRF_ERROR_INVALID_FLAGS Invalid combination of advertising flags supplied.
- * @return @ref NRF_ERROR_INVALID_DATA Invalid data type(s) supplied, check the advertising data format specification.
- * @return @ref NRF_ERROR_INVALID_LENGTH Invalid data length(s) supplied.
- * @return @ref BLE_ERROR_GAP_UUID_LIST_MISMATCH Invalid UUID list supplied.
- * @return @ref NRF_ERROR_BUSY The stack is busy, process pending events and retry.
- */
-SVCALL(SD_BLE_GAP_ADV_DATA_SET, uint32_t, sd_ble_gap_adv_data_set(uint8_t const * const p_data, uint8_t dlen, uint8_t const * const p_sr_data, uint8_t srdlen));
-
-
-/**@brief Start advertising (GAP Discoverable, Connectable modes, Broadcast Procedure).
- *
- * @param[in] p_adv_params Pointer to advertising parameters structure.
- *
- * @return @ref NRF_SUCCESS The BLE stack has started advertising.
- * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
- * @return @ref NRF_ERROR_INVALID_STATE Invalid state to perform operation.
- * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied, check the accepted ranges and limits.
- * @return @ref BLE_ERROR_GAP_INVALID_BLE_ADDR Invalid Bluetooth address supplied.
- * @return @ref BLE_ERROR_GAP_DISCOVERABLE_WITH_WHITELIST Discoverable mode and whitelist incompatible.
- */
-SVCALL(SD_BLE_GAP_ADV_START, uint32_t, sd_ble_gap_adv_start(ble_gap_adv_params_t const * const p_adv_params));
-
-
-/**@brief Stop advertising (GAP Discoverable, Connectable modes, Broadcast Procedure).
- *
- * @return @ref NRF_SUCCESS The BLE stack has stopped advertising.
- * @return @ref NRF_ERROR_INVALID_STATE Invalid state to perform operation (most probably not in advertising state).
- */
-SVCALL(SD_BLE_GAP_ADV_STOP, uint32_t, sd_ble_gap_adv_stop(void));
-
-
-/**@brief Update connection parameters.
- *
- * @details In the central role this will initiate a Link Layer connection parameter update procedure,
- *          otherwise in the peripheral role, this will send the corresponding L2CAP request and wait for
- *          the central to perform the procedure. In both cases, and regardless of success or failure, the application
- *          will be informed of the result with a @ref BLE_GAP_EVT_CONN_PARAM_UPDATE event.
- *
- * @note If both a connection supervision timeout and a maximum connection interval are specified, then the following constraint
- *       applies: (conn_sup_timeout * 8) >= (max_conn_interval * (slave_latency + 1))
- *
- * @param[in] conn_handle Connection handle.
- * @param[in] p_conn_params  Pointer to desired connection parameters. If NULL is provided on a peripheral role,
- *                           the parameters in the PPCP characteristic of the GAP service will be used instead.
- *
- * @return @ref NRF_SUCCESS The Connection Update procedure has been started successfully.
- * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
- * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied, check parameter limits and constraints.
- * @return @ref NRF_ERROR_BUSY Procedure already in progress or not allowed at this time, process pending events and retry.
- * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid connection handle supplied.
- * @return @ref NRF_ERROR_NO_MEM Not enough memory to complete operation.
- */
-SVCALL(SD_BLE_GAP_CONN_PARAM_UPDATE, uint32_t, sd_ble_gap_conn_param_update(uint16_t conn_handle, ble_gap_conn_params_t const * const p_conn_params));
-
-
-/**@brief Disconnect (GAP Link Termination).
- *
- * @details This call initiates the disconnection procedure, and its completion will be communicated to the application
- *          with a BLE_GAP_EVT_DISCONNECTED event.
- *
- * @param[in] conn_handle Connection handle.
- * @param[in] hci_status_code HCI status code, see @ref BLE_HCI_STATUS_CODES (accepted values are BTLE_REMOTE_USER_TERMINATED_CONNECTION and BTLE_CONN_INTERVAL_UNACCEPTABLE).
- *
- * @return @ref NRF_SUCCESS The disconnection procedure has been started successfully.
- * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied.
- * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid connection handle supplied.
- * @return @ref NRF_ERROR_INVALID_STATE Invalid state to perform operation (disconnection is already in progress or not connected at all).
- */
-SVCALL(SD_BLE_GAP_DISCONNECT, uint32_t, sd_ble_gap_disconnect(uint16_t conn_handle, uint8_t hci_status_code));
-
-
-/**@brief Set the radio's transmit power.
- *
- * @param[in] tx_power Radio transmit power in dBm (accepted values are -40, -30, -20, -16, -12, -8, -4, 0, and 4 dBm).
- *
- * @note -40 dBm will not actually give -40 dBm, but will instead be remapped to -30 dBm.
- *
- * @return @ref NRF_SUCCESS Successfully changed the transmit power.
- * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied.
- * @return @ref NRF_ERROR_BUSY The stack is busy, process pending events and retry.
- */
-SVCALL(SD_BLE_GAP_TX_POWER_SET, uint32_t, sd_ble_gap_tx_power_set(int8_t tx_power));
-
-
-/**@brief Set GAP Appearance value.
- *
- * @param[in] appearance Appearance (16-bit), see @ref BLE_APPEARANCES.
- *
- * @return @ref NRF_SUCCESS  Appearance value set successfully.
- * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied.
- */
-SVCALL(SD_BLE_GAP_APPEARANCE_SET, uint32_t, sd_ble_gap_appearance_set(uint16_t appearance));
-
-
-/**@brief Get GAP Appearance value.
- *
- * @param[out] p_appearance Appearance (16-bit), see @ref BLE_APPEARANCES.
- *
- * @return @ref NRF_SUCCESS Appearance value retrieved successfully.
- * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
- */
-SVCALL(SD_BLE_GAP_APPEARANCE_GET, uint32_t, sd_ble_gap_appearance_get(uint16_t * const p_appearance));
-
-
-/**@brief Set GAP Peripheral Preferred Connection Parameters.
- *
- * @param[in] p_conn_params Pointer to a @ref ble_gap_conn_params_t structure with the desired parameters.
- *
- * @return @ref NRF_SUCCESS Peripheral Preferred Connection Parameters set successfully.
- * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
- * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied.
- */
-SVCALL(SD_BLE_GAP_PPCP_SET, uint32_t, sd_ble_gap_ppcp_set(ble_gap_conn_params_t const * const p_conn_params));
-
-
-/**@brief Get GAP Peripheral Preferred Connection Parameters.
- *
- * @param[out] p_conn_params Pointer to a @ref ble_gap_conn_params_t structure where the parameters will be stored.
- *
- * @return @ref NRF_SUCCESS Peripheral Preferred Connection Parameters retrieved successfully.
- * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
- */
-SVCALL(SD_BLE_GAP_PPCP_GET, uint32_t, sd_ble_gap_ppcp_get(ble_gap_conn_params_t * const p_conn_params));
-
-
-/**@brief Set GAP device name.
- *
- * @param[in] p_write_perm Write permissions for the Device Name characteristic see @ref ble_gap_conn_sec_mode_t.
- * @param[in] p_dev_name Pointer to a UTF-8 encoded, <b>non NULL-terminated</b> string.
- * @param[in] len   Length of the UTF-8, <b>non NULL-terminated</b> string pointed to by p_dev_name in octets (must be smaller or equal than @ref BLE_GAP_DEVNAME_MAX_LEN).
- *
- * @return @ref NRF_SUCCESS GAP device name and permissions set successfully.
- * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
- * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied.
- * @return @ref NRF_ERROR_DATA_SIZE Invalid data size(s) supplied.
- */
-SVCALL(SD_BLE_GAP_DEVICE_NAME_SET, uint32_t, sd_ble_gap_device_name_set(ble_gap_conn_sec_mode_t const * const p_write_perm, uint8_t const * const p_dev_name, uint16_t len));
-
-
-/**@brief Get GAP device name.
- *
- * @param[in]     p_dev_name Pointer to an empty buffer where the UTF-8 <b>non NULL-terminated</b> string will be placed. Set to NULL to obtain the complete device name length.
- * @param[in,out] p_len      Length of the buffer pointed by p_dev_name, complete device name length on output.
- *
- * @note          If the device name is longer than the size of the supplied buffer,
- *                p_len will return the complete device name length,
- *                and not the number of bytes actually returned in p_dev_name.
- *                The application may use this information to allocate a suitable buffer size.
- *
- * @return @ref NRF_SUCCESS GAP device name retrieved successfully.
- * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
- * @return @ref NRF_ERROR_DATA_SIZE Invalid data size(s) supplied.
- */
-SVCALL(SD_BLE_GAP_DEVICE_NAME_GET, uint32_t, sd_ble_gap_device_name_get(uint8_t * const p_dev_name, uint16_t * const p_len));
-
-
-/**@brief Initiate GAP Authentication procedure.
- *
- * @param[in] conn_handle Connection handle.
- * @param[in] p_sec_params Pointer to the @ref ble_gap_sec_params_t structure with the security parameters to be used during the pairing procedure.
- *
- * @details In the central role, this function will send an SMP Pairing Request, otherwise in the peripheral role, an SMP Security Request will be sent.
- *          In the peripheral role, only the timeout, bond and mitm fields of @ref ble_gap_sec_params_t are used.
- *
- * @note    The GAP Authentication procedure may be triggered by the central without calling this function when accessing a secure service.
- * @note    Calling this function may result in the following events depending on the outcome and parameters: @ref BLE_GAP_EVT_SEC_PARAMS_REQUEST,
- *          @ref BLE_GAP_EVT_SEC_INFO_REQUEST, @ref BLE_GAP_EVT_AUTH_KEY_REQUEST, @ref BLE_GAP_EVT_AUTH_STATUS.
- * @note    The timeout parameter in @ref ble_gap_sec_params_t is interpreted here as the Security Request timeout
- *
- *
- * @return @ref NRF_SUCCESS Successfully initiated authentication procedure.
- * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
- * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied.
- * @return @ref NRF_ERROR_INVALID_STATE Invalid state to perform operation.
- * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid connection handle supplied.
- */
-SVCALL(SD_BLE_GAP_AUTHENTICATE, uint32_t, sd_ble_gap_authenticate(uint16_t conn_handle, ble_gap_sec_params_t const * const p_sec_params));
-
-
-/**@brief Reply with GAP security parameters.
- *
- * @param[in] conn_handle Connection handle.
- * @param[in] sec_status Security status, see @ref BLE_GAP_SEC_STATUS.
- * @param[in] p_sec_params Pointer to a @ref ble_gap_sec_params_t security parameters structure.
- *
- * @details This function is only used to reply to a @ref BLE_GAP_EVT_SEC_PARAMS_REQUEST, calling it at other times will result in an NRF_ERROR_INVALID_STATE.
- * @note    If the call returns an error code, the request is still pending, and the reply call may be repeated with corrected parameters.
- * @note    The timeout parameter in @ref ble_gap_sec_params_t is interpreted here as the SMP procedure timeout, and must be 30 seconds. The function will fail
- *          if the application supplies a different value.
- *
- * @return @ref NRF_SUCCESS Successfully accepted security parameter from the application.
- * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
- * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied.
- * @return @ref NRF_ERROR_INVALID_STATE Invalid state to perform operation.
- * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid connection handle supplied.
- */
-SVCALL(SD_BLE_GAP_SEC_PARAMS_REPLY, uint32_t, sd_ble_gap_sec_params_reply(uint16_t conn_handle, uint8_t sec_status, ble_gap_sec_params_t const * const p_sec_params));
-
-
-/**@brief Reply with an authentication key.
- *
- * @param[in] conn_handle Connection handle.
- * @param[in] key_type See @ref BLE_GAP_AUTH_KEY_TYPES.
- * @param[in] key If key type is BLE_GAP_AUTH_KEY_TYPE_NONE, then NULL.
- *                If key type is BLE_GAP_AUTH_KEY_TYPE_PASSKEY, then a 6-byte ASCII string (digit 0..9 only, no NULL termination).
- *                If key type is BLE_GAP_AUTH_KEY_TYPE_OOB, then a 16-byte OOB key value in Little Endian format.
- *
- * @details This function is only used to reply to a @ref BLE_GAP_EVT_AUTH_KEY_REQUEST, calling it at other times will result in an NRF_ERROR_INVALID_STATE.
- * @note    If the call returns an error code, the request is still pending, and the reply call may be repeated with corrected parameters.
- *
- * @return @ref NRF_SUCCESS Authentication key successfully set.
- * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
- * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied.
- * @return @ref NRF_ERROR_INVALID_STATE Invalid state to perform operation.
- * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid connection handle supplied.
- */
-SVCALL(SD_BLE_GAP_AUTH_KEY_REPLY, uint32_t, sd_ble_gap_auth_key_reply(uint16_t conn_handle, uint8_t key_type, uint8_t const * const key));
-
-
-/**@brief Reply with GAP security information.
- *
- * @param[in] conn_handle Connection handle.
- * @param[in] p_enc_info Pointer to a @ref ble_gap_enc_info_t encryption information structure. May be NULL to signal none is available.
- * @param[in] p_sign_info Pointer to a @ref ble_gap_sign_info_t signing information structure. May be NULL to signal none is available.
- *
- * @details This function is only used to reply to a @ref BLE_GAP_EVT_SEC_INFO_REQUEST, calling it at other times will result in NRF_ERROR_INVALID_STATE.
- * @note    If the call returns an error code, the request is still pending, and the reply call may be repeated with corrected parameters.
- * @note    Data signing is not implemented yet. p_sign_info must therefore be NULL.
- *
- * @return @ref NRF_SUCCESS Successfully accepted security information.
- * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied.
- * @return @ref NRF_ERROR_INVALID_STATE Invalid state to perform operation.
- * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid connection handle supplied.
- * @return @ref NRF_ERROR_BUSY The stack is busy, process pending events and retry.
- */
-SVCALL(SD_BLE_GAP_SEC_INFO_REPLY, uint32_t, sd_ble_gap_sec_info_reply(uint16_t conn_handle, ble_gap_enc_info_t const * const p_enc_info, ble_gap_sign_info_t const * const p_sign_info));
-
-
-/**@brief Get the current connection security.
- *
- * @param[in]  conn_handle Connection handle.
- * @param[out] p_conn_sec  Pointer to a @ref ble_gap_conn_sec_t structure to be filled in.
- *
- * @return @ref NRF_SUCCESS Current connection security successfully retrieved.
- * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
- * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid connection handle supplied.
- */
-SVCALL(SD_BLE_GAP_CONN_SEC_GET, uint32_t, sd_ble_gap_conn_sec_get(uint16_t conn_handle, ble_gap_conn_sec_t * const p_conn_sec));
-
-
-/**@brief Start reporting the received signal strength to the application. 
- *
- * A new event is reported whenever the RSSI value changes, until @ref sd_ble_gap_rssi_stop is called.
- *
- * @param[in] conn_handle Connection handle.
- *
- * @return @ref NRF_SUCCESS Successfully activated RSSI reporting.
- * @return @ref NRF_ERROR_INVALID_STATE Invalid state to perform operation.
- * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid connection handle supplied.
- */
-SVCALL(SD_BLE_GAP_RSSI_START, uint32_t, sd_ble_gap_rssi_start(uint16_t conn_handle));
-
-
-/**@brief Stop reporting the received singnal strength. 
- *
- * An RSSI change detected before the call but not yet received by the application 
- * may be reported after @ref sd_ble_gap_rssi_stop has been called.
- *
- * @param[in] conn_handle Connection handle.
- *
- * @return @ref NRF_SUCCESS Successfully deactivated RSSI reporting.
- * @return @ref NRF_ERROR_INVALID_STATE Invalid state to perform operation.
- * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid connection handle supplied.
- */
-SVCALL(SD_BLE_GAP_RSSI_STOP, uint32_t, sd_ble_gap_rssi_stop(uint16_t conn_handle));
-/**@} */
-
-#endif // BLE_GAP_H__
-
-/**
-  @}
-*/
--- a/TARGET_NRF51822/TARGET_NORDIC/TARGET_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/ble_gatt.h	Fri Jul 25 09:46:51 2014 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,171 +0,0 @@
-/* Copyright (c) 2012 Nordic Semiconductor. All Rights Reserved.
- *
- * The information contained herein is confidential property of Nordic Semiconductor. The use,
- * copying, transfer or disclosure of such information is prohibited except by express written
- * agreement with Nordic Semiconductor.
- *
- */
- /**
-  @addtogroup BLE_GATT Generic Attribute Profile (GATT) Common
-  @{
-  @brief  Common definitions and prototypes for the GATT interfaces.
- */
-
-#ifndef BLE_GATT_H__
-#define BLE_GATT_H__
-
-#include "ble_types.h"
-#include "ble_ranges.h"
-
-
-/** @addtogroup BLE_GATT_DEFINES Defines
- * @{ */
-
-/** @brief Default MTU size. */
-#define GATT_MTU_SIZE_DEFAULT 23
-
-/** @brief Only the default MTU size of 23 is currently supported. */
-#define GATT_RX_MTU 23
-
-
-/**@brief Invalid Attribute Handle. */
-#define BLE_GATT_HANDLE_INVALID            0x0000
-
-/** @defgroup BLE_GATT_TIMEOUT_SOURCES GATT Timeout sources
- * @{ */
-#define BLE_GATT_TIMEOUT_SRC_PROTOCOL                  0x00 /**< ATT Protocol timeout. */
-/** @} */
-
-/** @defgroup BLE_GATT_WRITE_OPS GATT Write operations
- * @{ */
-#define BLE_GATT_OP_INVALID                0x00  /**< Invalid Operation. */
-#define BLE_GATT_OP_WRITE_REQ              0x01  /**< Write Request. */
-#define BLE_GATT_OP_WRITE_CMD              0x02  /**< Write Command. */
-#define BLE_GATT_OP_SIGN_WRITE_CMD         0x03  /**< Signed Write Command. */
-#define BLE_GATT_OP_PREP_WRITE_REQ         0x04  /**< Prepare Write Request. */
-#define BLE_GATT_OP_EXEC_WRITE_REQ         0x05  /**< Execute Write Request. */
-/** @} */
-
-/** @defgroup BLE_GATT_EXEC_WRITE_FLAGS GATT Execute Write flags
- * @{ */
-#define BLE_GATT_EXEC_WRITE_FLAG_PREPARED_CANCEL 0x00
-#define BLE_GATT_EXEC_WRITE_FLAG_PREPARED_WRITE  0x01
-/** @} */
-
-/** @defgroup BLE_GATT_HVX_TYPES GATT Handle Value operations
- * @{ */
-#define BLE_GATT_HVX_INVALID               0x00  /**< Invalid Operation. */
-#define BLE_GATT_HVX_NOTIFICATION          0x01  /**< Handle Value Notification. */
-#define BLE_GATT_HVX_INDICATION            0x02  /**< Handle Value Indication. */
-/** @} */
-
-/** @defgroup BLE_GATT_STATUS_CODES GATT Status Codes
- * @{ */
-#define BLE_GATT_STATUS_SUCCESS                           0x0000  /**< Success. */
-#define BLE_GATT_STATUS_UNKNOWN                           0x0001  /**< Unknown or not applicable status. */
-#define BLE_GATT_STATUS_ATTERR_INVALID                    0x0100  /**< ATT Error: Invalid Error Code. */
-#define BLE_GATT_STATUS_ATTERR_INVALID_HANDLE             0x0101  /**< ATT Error: Invalid Attribute Handle. */
-#define BLE_GATT_STATUS_ATTERR_READ_NOT_PERMITTED         0x0102  /**< ATT Error: Read not permitted. */
-#define BLE_GATT_STATUS_ATTERR_WRITE_NOT_PERMITTED        0x0103  /**< ATT Error: Write not permitted. */
-#define BLE_GATT_STATUS_ATTERR_INVALID_PDU                0x0104  /**< ATT Error: Used in ATT as Invalid PDU. */
-#define BLE_GATT_STATUS_ATTERR_INSUF_AUTHENTICATION       0x0105  /**< ATT Error: Authenticated link required. */
-#define BLE_GATT_STATUS_ATTERR_REQUEST_NOT_SUPPORTED      0x0106  /**< ATT Error: Used in ATT as Request Not Supported. */
-#define BLE_GATT_STATUS_ATTERR_INVALID_OFFSET             0x0107  /**< ATT Error: Offset specified was past the end of the attribute. */
-#define BLE_GATT_STATUS_ATTERR_INSUF_AUTHORIZATION        0x0108  /**< ATT Error: Used in ATT as Insufficient Authorisation. */
-#define BLE_GATT_STATUS_ATTERR_PREPARE_QUEUE_FULL         0x0109  /**< ATT Error: Used in ATT as Prepare Queue Full. */
-#define BLE_GATT_STATUS_ATTERR_ATTRIBUTE_NOT_FOUND        0x010A  /**< ATT Error: Used in ATT as Attribute not found. */
-#define BLE_GATT_STATUS_ATTERR_ATTRIBUTE_NOT_LONG         0x010B  /**< ATT Error: Attribute cannot be read or written using read/write blob requests. */
-#define BLE_GATT_STATUS_ATTERR_INSUF_ENC_KEY_SIZE         0x010C  /**< ATT Error: Encryption key size used is insufficient. */
-#define BLE_GATT_STATUS_ATTERR_INVALID_ATT_VAL_LENGTH     0x010D  /**< ATT Error: Invalid value size. */
-#define BLE_GATT_STATUS_ATTERR_UNLIKELY_ERROR             0x010E  /**< ATT Error: Very unlikely error. */
-#define BLE_GATT_STATUS_ATTERR_INSUF_ENCRYPTION           0x010F  /**< ATT Error: Encrypted link required. */
-#define BLE_GATT_STATUS_ATTERR_UNSUPPORTED_GROUP_TYPE     0x0110  /**< ATT Error: Attribute type is not a supported grouping attribute. */
-#define BLE_GATT_STATUS_ATTERR_INSUF_RESOURCES            0x0111  /**< ATT Error: Encrypted link required. */
-#define BLE_GATT_STATUS_ATTERR_RFU_RANGE1_BEGIN           0x0112  /**< ATT Error: Reserved for Future Use range #1 begin. */
-#define BLE_GATT_STATUS_ATTERR_RFU_RANGE1_END             0x017F  /**< ATT Error: Reserved for Future Use range #1 end. */
-#define BLE_GATT_STATUS_ATTERR_APP_BEGIN                  0x0180  /**< ATT Error: Application range begin. */
-#define BLE_GATT_STATUS_ATTERR_APP_END                    0x019F  /**< ATT Error: Application range end. */
-#define BLE_GATT_STATUS_ATTERR_RFU_RANGE2_BEGIN           0x01A0  /**< ATT Error: Reserved for Future Use range #2 begin. */
-#define BLE_GATT_STATUS_ATTERR_RFU_RANGE2_END             0x01DF  /**< ATT Error: Reserved for Future Use range #2 end. */
-#define BLE_GATT_STATUS_ATTERR_RFU_RANGE3_BEGIN           0x01E0  /**< ATT Error: Reserved for Future Use range #3 begin. */
-#define BLE_GATT_STATUS_ATTERR_RFU_RANGE3_END             0x01FC  /**< ATT Error: Reserved for Future Use range #3 end. */
-#define BLE_GATT_STATUS_ATTERR_CPS_CCCD_CONFIG_ERROR      0x01FD  /**< ATT Common Profile and Service Error: Client Characteristic Configuration Descriptor improperly configured. */
-#define BLE_GATT_STATUS_ATTERR_CPS_PROC_ALR_IN_PROG       0x01FE  /**< ATT Common Profile and Service Error: Procedure Already in Progress. */
-#define BLE_GATT_STATUS_ATTERR_CPS_OUT_OF_RANGE           0x01FF  /**< ATT Common Profile and Service Error: Out Of Range. */
-/** @} */
-
-
-/** @defgroup BLE_GATT_CPF_FORMATS Characteristic Presentation Formats
- *  @note Found at http://developer.bluetooth.org/gatt/descriptors/Pages/DescriptorViewer.aspx?u=org.bluetooth.descriptor.gatt.characteristic_presentation_format.xml
- * @{ */
-#define BLE_GATT_CPF_FORMAT_RFU                 0x00 /**< Reserved For Future Use. */
-#define BLE_GATT_CPF_FORMAT_BOOLEAN             0x01 /**< Boolean. */
-#define BLE_GATT_CPF_FORMAT_2BIT                0x02 /**< Unsigned 2-bit integer. */
-#define BLE_GATT_CPF_FORMAT_NIBBLE              0x03 /**< Unsigned 4-bit integer. */
-#define BLE_GATT_CPF_FORMAT_UINT8               0x04 /**< Unsigned 8-bit integer. */
-#define BLE_GATT_CPF_FORMAT_UINT12              0x05 /**< Unsigned 12-bit integer. */
-#define BLE_GATT_CPF_FORMAT_UINT16              0x06 /**< Unsigned 16-bit integer. */
-#define BLE_GATT_CPF_FORMAT_UINT24              0x07 /**< Unsigned 24-bit integer. */
-#define BLE_GATT_CPF_FORMAT_UINT32              0x08 /**< Unsigned 32-bit integer. */
-#define BLE_GATT_CPF_FORMAT_UINT48              0x09 /**< Unsigned 48-bit integer. */
-#define BLE_GATT_CPF_FORMAT_UINT64              0x0A /**< Unsigned 64-bit integer. */
-#define BLE_GATT_CPF_FORMAT_UINT128             0x0B /**< Unsigned 128-bit integer. */
-#define BLE_GATT_CPF_FORMAT_SINT8               0x0C /**< Signed 2-bit integer. */
-#define BLE_GATT_CPF_FORMAT_SINT12              0x0D /**< Signed 12-bit integer. */
-#define BLE_GATT_CPF_FORMAT_SINT16              0x0E /**< Signed 16-bit integer. */
-#define BLE_GATT_CPF_FORMAT_SINT24              0x0F /**< Signed 24-bit integer. */
-#define BLE_GATT_CPF_FORMAT_SINT32              0x10 /**< Signed 32-bit integer. */
-#define BLE_GATT_CPF_FORMAT_SINT48              0x11 /**< Signed 48-bit integer. */
-#define BLE_GATT_CPF_FORMAT_SINT64              0x12 /**< Signed 64-bit integer. */
-#define BLE_GATT_CPF_FORMAT_SINT128             0x13 /**< Signed 128-bit integer. */
-#define BLE_GATT_CPF_FORMAT_FLOAT32             0x14 /**< IEEE-754 32-bit floating point. */
-#define BLE_GATT_CPF_FORMAT_FLOAT64             0x15 /**< IEEE-754 64-bit floating point. */
-#define BLE_GATT_CPF_FORMAT_SFLOAT              0x16 /**< IEEE-11073 16-bit SFLOAT. */
-#define BLE_GATT_CPF_FORMAT_FLOAT               0x17 /**< IEEE-11073 32-bit FLOAT. */
-#define BLE_GATT_CPF_FORMAT_DUINT16             0x18 /**< IEEE-20601 format. */
-#define BLE_GATT_CPF_FORMAT_UTF8S               0x19 /**< UTF-8 string. */
-#define BLE_GATT_CPF_FORMAT_UTF16S              0x1A /**< UTF-16 string. */
-#define BLE_GATT_CPF_FORMAT_STRUCT              0x1B /**< Opaque Structure. */
-/** @} */
-
-/** @defgroup BLE_GATT_CPF_NAMESPACES GATT Bluetooth Namespaces
- * @{
- */
-#define BLE_GATT_CPF_NAMESPACE_BTSIG            0x01
-#define BLE_GATT_CPF_NAMESPACE_DESCRIPTION_UNKNOWN 0x0000
-/** @} */
-
-/** @} */
-
-/** @addtogroup BLE_GATT_STRUCTURES Structures
- * @{ */
-
-/**@brief GATT Characteristic Properties. */
-typedef struct
-{
-  /* Standard properties */
-  uint8_t broadcast       :1; /**< Broadcasting of value permitted. */
-  uint8_t read            :1; /**< Reading value permitted. */
-  uint8_t write_wo_resp   :1; /**< Writing value with Write Command permitted. */
-  uint8_t write           :1; /**< Writing value with Write Request permitted. */
-  uint8_t notify          :1; /**< Notications of value permitted. */
-  uint8_t indicate        :1; /**< Indications of value permitted. */
-  uint8_t auth_signed_wr  :1; /**< Writing value with Signed Write Command permitted. */
-} ble_gatt_char_props_t;
-
-/**@brief GATT Characteristic Extended Properties. */
-typedef struct
-{
-  /* Extended properties */
-  uint8_t reliable_wr     :1; /**< Writing value with Queued Write Request permitted. */
-  uint8_t wr_aux          :1; /**< Writing the Characteristic User Description permitted. */
-} ble_gatt_char_ext_props_t;
-
-#endif // BLE_GATT_H__
-
-/** @} */
-
-/**
-  @}
-  @}
-*/
--- a/TARGET_NRF51822/TARGET_NORDIC/TARGET_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/ble_gattc.h	Fri Jul 25 09:46:51 2014 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,406 +0,0 @@
-/* Copyright (c) 2012 Nordic Semiconductor. All Rights Reserved.
- *
- * The information contained herein is confidential property of Nordic Semiconductor. The use,
- * copying, transfer or disclosure of such information is prohibited except by express written
- * agreement with Nordic Semiconductor.
- *
- */
-/**
-  @addtogroup BLE_GATTC Generic Attribute Profile (GATT) Client
-  @{
-  @brief  Definitions and prototypes for the GATT Client interface.
- */
-
-#ifndef BLE_GATTC_H__
-#define BLE_GATTC_H__
-
-#include "ble_gatt.h"
-#include "ble_types.h"
-#include "ble_ranges.h"
-#include "nrf_svc.h"
-
-/** @addtogroup BLE_GATTC_ENUMERATIONS Enumerations
- * @{ */
-
-/**@brief GATTC API SVC numbers. */
-enum BLE_GATTC_SVCS
-{
-  SD_BLE_GATTC_PRIMARY_SERVICES_DISCOVER = BLE_GATTC_SVC_BASE, /**< Primary Service Discovery. */
-  SD_BLE_GATTC_RELATIONSHIPS_DISCOVER,                         /**< Relationship Discovery. */
-  SD_BLE_GATTC_CHARACTERISTICS_DISCOVER,                       /**< Characteristic Discovery. */
-  SD_BLE_GATTC_DESCRIPTORS_DISCOVER,                           /**< Characteristic Descriptor Discovery. */
-  SD_BLE_GATTC_CHAR_VALUE_BY_UUID_READ,                        /**< Read Characteristic Value by UUID. */
-  SD_BLE_GATTC_READ,                                           /**< Generic read. */
-  SD_BLE_GATTC_CHAR_VALUES_READ,                               /**< Read multiple Characteristic Values. */
-  SD_BLE_GATTC_WRITE,                                          /**< Generic write. */
-  SD_BLE_GATTC_HV_CONFIRM                                      /**< Handle Value Confirmation. */
-};
-
-/** @} */
-
-/** @addtogroup BLE_GATTC_DEFINES Defines
- * @{ */
-
-/** @defgroup BLE_ERRORS_GATTC SVC return values specific to GATTC
- * @{ */
-#define BLE_ERROR_GATTC_PROC_NOT_PERMITTED    (NRF_GATTC_ERR_BASE + 0x000)
-/** @} */
-
-/**@brief Last Attribute Handle. */
-#define BLE_GATTC_HANDLE_END                0xFFFF
-
-/** @} */
-
-/** @addtogroup BLE_GATTC_STRUCTURES Structures
- * @{ */
-
-/**@brief Operation Handle Range. */
-typedef struct
-{
-  uint16_t          start_handle; /**< Start Handle. */
-  uint16_t          end_handle;   /**< End Handle. */
-} ble_gattc_handle_range_t;
-
-
-/**@brief GATT service. */
-typedef struct
-{
-  ble_uuid_t               uuid;          /**< Service UUID. */
-  ble_gattc_handle_range_t handle_range;  /**< Service Handle Range. */
-} ble_gattc_service_t;
-
-
-/**@brief  GATT include. */
-typedef struct
-{
-  uint16_t            handle;           /**< Include Handle. */
-  ble_gattc_service_t included_srvc;    /**< Handle of the included service. */
-} ble_gattc_include_t;
-
-
-/**@brief GATT characteristic. */
-typedef struct
-{
-  ble_uuid_t              uuid;                 /**< Characteristic UUID. */
-  ble_gatt_char_props_t   char_props;           /**< Characteristic Properties. */
-  uint8_t                 char_ext_props : 1;   /**< Extended properties present. */
-  uint16_t                handle_decl;          /**< Handle of the Characteristic Declaration. */
-  uint16_t                handle_value;         /**< Handle of the Characteristic Value. */
-} ble_gattc_char_t;
-
-
-/**@brief GATT descriptor. */
-typedef struct
-{
-  uint16_t          handle;         /**< Descriptor Handle. */
-  ble_uuid_t        uuid;           /**< Descriptor UUID. */
-} ble_gattc_desc_t;
-
-
-/**@brief Write Parameters. */
-typedef struct
-{
-  uint8_t    write_op;                 /**< Write Operation to be performed, see @ref BLE_GATT_WRITE_OPS. */
-  uint16_t   handle;                   /**< Handle to the attribute to be written. */
-  uint16_t   offset;                   /**< Offset in bytes. @note For WRITE_CMD and WRITE_REQ, offset must be 0. */
-  uint16_t   len;                      /**< Length of data in bytes. */
-  uint8_t*   p_value;                  /**< Pointer to the value data. */
-  uint8_t    flags;                    /**< Flags, see @ref BLE_GATT_EXEC_WRITE_FLAGS. */
-} ble_gattc_write_params_t;
-
-
-/**
- * @brief GATT Client Event IDs.
- */
-enum BLE_GATTC_EVTS
-{
-  BLE_GATTC_EVT_PRIM_SRVC_DISC_RSP = BLE_GATTC_EVT_BASE,  /**< Primary Service Discovery Response event.  */
-  BLE_GATTC_EVT_REL_DISC_RSP,                             /**< Relationship Discovery Response event. */
-  BLE_GATTC_EVT_CHAR_DISC_RSP,                            /**< Characteristic Discovery Response event. */
-  BLE_GATTC_EVT_DESC_DISC_RSP,                            /**< Descriptor Discovery Response event. */
-  BLE_GATTC_EVT_CHAR_VAL_BY_UUID_READ_RSP,                /**< Read By UUID Response event. */
-  BLE_GATTC_EVT_READ_RSP,                                 /**< Read Response event. */
-  BLE_GATTC_EVT_CHAR_VALS_READ_RSP,                       /**< Read multiple Response event. */
-  BLE_GATTC_EVT_WRITE_RSP,                                /**< Write Response event. */
-  BLE_GATTC_EVT_HVX,                                      /**< Handle Value Notification or Indication event. */
-  BLE_GATTC_EVT_TIMEOUT                                   /**< Timeout event. */
-};
-
-/**@brief Event structure for BLE_GATTC_EVT_PRIM_SRVC_DISC_RSP. */
-typedef struct
-{
-  uint16_t             count;           /**< Service count. */
-  ble_gattc_service_t services[1];      /**< Service data, variable length. */
-} ble_gattc_evt_prim_srvc_disc_rsp_t;
-
-/**@brief Event structure for BLE_GATTC_EVT_REL_DISC_RSP. */
-typedef struct
-{
-  uint16_t             count;           /**< Include count. */
-  ble_gattc_include_t includes[1];      /**< Include data, variable length. */
-} ble_gattc_evt_rel_disc_rsp_t;
-
-/**@brief Event structure for BLE_GATTC_EVT_CHAR_DISC_RSP. */
-typedef struct
-{
-  uint16_t            count;          /**< Characteristic count. */
-  ble_gattc_char_t    chars[1];       /**< Characteristic data, variable length. */
-} ble_gattc_evt_char_disc_rsp_t;
-
-/**@brief Event structure for BLE_GATTC_EVT_DESC_DISC_RSP. */
-typedef struct
-{
-  uint16_t            count;          /**< Descriptor count. */
-  ble_gattc_desc_t    descs[1];       /**< Descriptor data, variable length. */
-} ble_gattc_evt_desc_disc_rsp_t;
-
-/**@brief GATT read by UUID handle value pair. */
-typedef struct 
-{
-  uint16_t            handle;          /**< Attribute Handle. */
-  uint8_t             *p_value;        /**< Pointer to value, variable length (length available as value_len in ble_gattc_evt_read_by_uuid_rsp_t). 
-                                            Please note that this pointer is absolute to the memory provided by the user when retrieving the event,
-                                            so it will effectively point to a location inside the handle_value array. */
-} ble_gattc_handle_value_t;
-
-/**@brief Event structure for BLE_GATTC_EVT_CHAR_VAL_BY_UUID_READ_RSP. */
-typedef struct
-{
-  uint16_t                  count;            /**< Handle-Value Pair Count. */
-  uint16_t                  value_len;        /**< Length of the value in Handle-Value(s) list. */
-  ble_gattc_handle_value_t  handle_value[1];  /**< Handle-Value(s) list, variable length. */
-} ble_gattc_evt_char_val_by_uuid_read_rsp_t;
-
-/**@brief Event structure for BLE_GATTC_EVT_READ_RSP. */
-typedef struct
-{
-  uint16_t            handle;         /**< Attribute Handle. */
-  uint16_t            offset;         /**< Offset of the attribute data. */
-  uint16_t            len;            /**< Attribute data length. */
-  uint8_t             data[1];        /**< Attribute data, variable length. */
-} ble_gattc_evt_read_rsp_t;
-
-/**@brief Event structure for BLE_GATTC_EVT_CHAR_VALS_READ_RSP. */
-typedef struct
-{
-  uint16_t            len;            /**< Concatenated Attribute values length. */
-  uint8_t             values[1];      /**< Attribute values, variable length. */
-} ble_gattc_evt_char_vals_read_rsp_t;
-
-/**@brief Event structure for BLE_GATTC_EVT_WRITE_RSP. */
-typedef struct
-{
-  uint16_t            handle;           /**< Attribute Handle. */
-  uint8_t             write_op;         /**< Type of write operation, see @ref BLE_GATT_WRITE_OPS. */
-  uint16_t            offset;           /**< Data Offset. */
-  uint16_t            len;              /**< Data length. */
-  uint8_t             data[1];          /**< Data, variable length. */
-} ble_gattc_evt_write_rsp_t;
-
-/**@brief Event structure for BLE_GATTC_EVT_HVX. */
-typedef struct
-{
-  uint16_t            handle;         /**< Handle to which the HVx operation applies. */
-  uint8_t             type;           /**< Indication or Notification, see @ref BLE_GATT_HVX_TYPES. */
-  uint16_t            len;            /**< Attribute data length. */
-  uint8_t             data[1];        /**< Attribute data, variable length. */
-} ble_gattc_evt_hvx_t;
-
-/**@brief Event structure for BLE_GATTC_EVT_TIMEOUT. */
-typedef struct
-{
-  uint8_t          src;                       /**< Timeout source, see @ref BLE_GATT_TIMEOUT_SOURCES. */
-} ble_gattc_evt_timeout_t;
-
-/**@brief GATTC event type. */
-typedef struct
-{
-  uint16_t            conn_handle;                /**< Connection Handle on which event occured. */
-  uint16_t            gatt_status;                /**< GATT status code for the operation, see @ref BLE_GATT_STATUS_CODES. */
-  uint16_t            error_handle;               /**< In case of error: The handle causing the error. In all other cases BLE_GATT_HANDLE_INVALID. */
-  union
-  {
-    ble_gattc_evt_prim_srvc_disc_rsp_t          prim_srvc_disc_rsp;         /**< Primary Service Discovery Response Event Parameters. */
-    ble_gattc_evt_rel_disc_rsp_t                rel_disc_rsp;               /**< Relationship Discovery Response Event Parameters. */
-    ble_gattc_evt_char_disc_rsp_t               char_disc_rsp;              /**< Characteristic Discovery Response Event Parameters. */
-    ble_gattc_evt_desc_disc_rsp_t               desc_disc_rsp;              /**< Descriptor Discovery Response Event Parameters. */
-    ble_gattc_evt_char_val_by_uuid_read_rsp_t   char_val_by_uuid_read_rsp;  /**< Characteristic Value Read by UUID Response Event Parameters. */
-    ble_gattc_evt_read_rsp_t                    read_rsp;                   /**< Read Response Event Parameters. */
-    ble_gattc_evt_char_vals_read_rsp_t          char_vals_read_rsp;         /**< Characteristic Values Read Response Event Parameters. */
-    ble_gattc_evt_write_rsp_t                   write_rsp;                  /**< Write Response Event Parameters. */
-    ble_gattc_evt_hvx_t                         hvx;                        /**< Handle Value Notification/Indication Event Parameters. */
-    ble_gattc_evt_timeout_t                     timeout;                    /**< Timeout Event Parameters. */
-  } params;                                                                 /**< Event Parameters. @note Only valid if @ref gatt_status == BLE_GATT_STATUS_SUCCESS. */
-} ble_gattc_evt_t;
-/** @} */
-
-/** @addtogroup BLE_GATTC_FUNCTIONS Functions
- * @{ */
-
-/**@brief Initiate or continue a GATT Primary Service Discovery procedure.
- *
- * @details This function initiates a Primary Service discovery, starting from the supplied handle. 
- *          If the last service has not been reached, this must be called again with an updated start handle value to continue the search.
- *
- * @note If any of the discovered services have 128-bit UUIDs which are not present in the table provided to ble_vs_uuids_assign, a UUID structure with
- *       type BLE_UUID_TYPE_UNKNOWN will be received in the corresponding event.
- *
- * @param[in] conn_handle The connection handle identifying the connection to perform this procedure on.
- * @param[in] start_handle Handle to start searching from.
- * @param[in] p_srvc_uuid Pointer to the service UUID to be found. If it is NULL, all primary services will be returned.
- *
- * @return @ref NRF_SUCCESS Successfully started or resumed the Primary Service Discovery procedure.
- * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid Connection Handle.
- * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied.
- * @return @ref NRF_ERROR_BUSY Client procedure already in progress.
- */
-SVCALL(SD_BLE_GATTC_PRIMARY_SERVICES_DISCOVER, uint32_t, sd_ble_gattc_primary_services_discover(uint16_t conn_handle, uint16_t start_handle, ble_uuid_t const * const p_srvc_uuid));
-
-
-/**@brief Initiate or continue a GATT Relationship Discovery procedure.
- *
- * @details This function initiates the Find Included Services sub-procedure. If the last included service has not been reached,
- *          this must be called again with an updated handle range to continue the search.
- *
- * @param[in] conn_handle The connection handle identifying the connection to perform this procedure on.
- * @param[in] p_handle_range A pointer to the range of handles of the Service to perform this procedure on.
- *
- * @return @ref NRF_SUCCESS Successfully started or resumed the Relationship Discovery procedure.
- * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid Connection Handle.
- * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
- * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied.
- * @return @ref NRF_ERROR_BUSY Client procedure already in progress.
- */
-SVCALL(SD_BLE_GATTC_RELATIONSHIPS_DISCOVER, uint32_t, sd_ble_gattc_relationships_discover(uint16_t conn_handle, ble_gattc_handle_range_t const * const p_handle_range));
-
-
-/**@brief Initiate or continue a GATT Characteristic Discovery procedure.
- *
- * @details This function initiates a Characteristic discovery procedure. If the last Characteristic has not been reached,
- *          this must be called again with an updated handle range to continue the discovery.
- *
- * @note If any of the discovered characteristics have 128-bit UUIDs which are not present in the table provided to ble_vs_uuids_assign, a UUID structure with
- *       type BLE_UUID_TYPE_UNKNOWN will be received in the corresponding event.
- *
- * @param[in] conn_handle The connection handle identifying the connection to perform this procedure on.
- * @param[in] p_handle_range A pointer to the range of handles of the Service to perform this procedure on.
- *
- * @return @ref NRF_SUCCESS Successfully started or resumed the Characteristic Discovery procedure.
- * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid Connection Handle.
- * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
- * @return @ref NRF_ERROR_BUSY Client procedure already in progress.
- */
-SVCALL(SD_BLE_GATTC_CHARACTERISTICS_DISCOVER, uint32_t, sd_ble_gattc_characteristics_discover(uint16_t conn_handle, ble_gattc_handle_range_t const * const p_handle_range));
-
-
-/**@brief Initiate or continue a GATT Characteristic Descriptor Discovery procedure.
- *
- * @details This function initiates the Characteristic Descriptor discovery procedure. If the last Descriptor has not been reached,
- *          this must be called again with an updated handle range to continue the discovery.
- *
- * @param[in] conn_handle The connection handle identifying the connection to perform this procedure on.
- * @param[in] p_handle_range A pointer to the range of handles of the Characteristic to perform this procedure on.
- *
- * @return @ref NRF_SUCCESS Successfully started or resumed the Descriptor Discovery procedure.
- * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid Connection Handle.
- * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
- * @return @ref NRF_ERROR_BUSY Client procedure already in progress.
- */
-SVCALL(SD_BLE_GATTC_DESCRIPTORS_DISCOVER, uint32_t, sd_ble_gattc_descriptors_discover(uint16_t conn_handle, ble_gattc_handle_range_t const * const p_handle_range));
-
-
-/**@brief Initiate or continue a GATT Read using Characteristic UUID procedure.
- *
- * @details This function initiates the Read using Characteristic UUID procedure. If the last Characteristic has not been reached,
- *          this must be called again with an updated handle range to continue the discovery.
- *
- * @param[in] conn_handle The connection handle identifying the connection to perform this procedure on.
- * @param[in] p_uuid Pointer to a Characteristic value UUID to read.
- * @param[in] p_handle_range A pointer to the range of handles to perform this procedure on.
- *
- * @return @ref NRF_SUCCESS Successfully started or resumed the Read using Characteristic UUID procedure.
- * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid Connection Handle.
- * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
- * @return @ref NRF_ERROR_BUSY Client procedure already in progress.
- */
-SVCALL(SD_BLE_GATTC_CHAR_VALUE_BY_UUID_READ, uint32_t, sd_ble_gattc_char_value_by_uuid_read(uint16_t conn_handle, ble_uuid_t const * const p_uuid, ble_gattc_handle_range_t const * const p_handle_range));
-
-
-/**@brief Initiate or continue a GATT Read (Long) Characteristic or Descriptor procedure.
- *
- * @details This function initiates a GATT Read (Long) Characteristic or Descriptor procedure. If the Characteristic or Descriptor
- *          to be read is longer than GATT_MTU - 1, this function must be called multiple times with appropriate offset to read the 
- *          complete value.
- *
- * @param[in] conn_handle The connection handle identifying the connection to perform this procedure on.
- * @param[in] handle The handle of the attribute to be read.
- * @param[in] offset Offset into the attribute value to be read.
- *
- * @return @ref NRF_SUCCESS Successfully started or resumed the Read (Long) procedure.
- * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid Connection Handle.
- * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
- * @return @ref NRF_ERROR_BUSY Client procedure already in progress.
- */
-SVCALL(SD_BLE_GATTC_READ, uint32_t, sd_ble_gattc_read(uint16_t conn_handle, uint16_t handle, uint16_t offset));
-
-
-/**@brief Initiate a GATT Read Multiple Characteristic Values procedure.
- *
- * @details This function initiates a GATT Read Multiple Characteristic Values procedure. 
- *
- * @param[in] conn_handle The connection handle identifying the connection to perform this procedure on.
- * @param[in] p_handles A pointer to the handle(s) of the attribute(s) to be read.
- * @param[in] handle_count The number of handles in p_handles.
- *
- * @return @ref NRF_SUCCESS Successfully started the Read Multiple Characteristic Values procedure.
- * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid Connection Handle.
- * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
- * @return @ref NRF_ERROR_BUSY Client procedure already in progress.
- */
-SVCALL(SD_BLE_GATTC_CHAR_VALUES_READ, uint32_t, sd_ble_gattc_char_values_read(uint16_t conn_handle, uint16_t const * const p_handles, uint16_t handle_count));
-
-
-/**@brief Perform a Write (Characteristic Value or Descriptor, with or without response, signed or not, long or reliable) procedure.
- *
- * @details This function can perform all write procedures described in GATT. 
- *
- * @note    It is important to note that a write without response will <b>consume an application buffer</b>, and will therefore 
- *          generate a @ref BLE_EVT_TX_COMPLETE event when the packet has been transmitted. A write on the other hand will use the 
- *          standard client internal buffer and thus will only generate a @ref BLE_GATTC_EVT_WRITE_RSP event as soon as the write response 
- *          has been received from the peer. Please see the documentation of @ref sd_ble_tx_buffer_count_get for more details.
- *
- * @param[in] conn_handle The connection handle identifying the connection to perform this procedure on.
- * @param[in] p_write_params A pointer to a write parameters structure.
- *
- * @return @ref NRF_SUCCESS Successfully started the Write procedure.
- * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid Connection Handle.
- * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
- * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied.
- * @return @ref NRF_ERROR_DATA_SIZE Invalid data size(s) supplied.
- * @return @ref NRF_ERROR_BUSY Procedure already in progress.
- * @return @ref BLE_ERROR_NO_TX_BUFFERS There are no available buffers left.
- */
-SVCALL(SD_BLE_GATTC_WRITE, uint32_t, sd_ble_gattc_write(uint16_t conn_handle, ble_gattc_write_params_t const * const p_write_params));
-
-
-/**@brief Send a Handle Value Confirmation to the GATT Server.
- *
- * @param[in] conn_handle The connection handle identifying the connection to perform this procedure on.
- * @param[in] handle The handle of the attribute in the indication.
- *
- * @return @ref NRF_SUCCESS Successfully queued the Handle Value Confirmation for transmission.
- * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid Connection Handle.
- * @return @ref NRF_ERROR_INVALID_STATE No Indication pending to be confirmed.
- * @return @ref BLE_ERROR_INVALID_ATTR_HANDLE Invalid attribute handle.
- * @return @ref BLE_ERROR_NO_TX_BUFFERS There are no available buffers left.
- */
-SVCALL(SD_BLE_GATTC_HV_CONFIRM, uint32_t, sd_ble_gattc_hv_confirm(uint16_t conn_handle, uint16_t handle));
-
-/** @} */
-
-#endif /* BLE_GATTC_H__ */
-
-/**
-  @}
-  @}
-*/
--- a/TARGET_NRF51822/TARGET_NORDIC/TARGET_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/ble_gatts.h	Fri Jul 25 09:46:51 2014 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,566 +0,0 @@
-/* Copyright (c) 2011 Nordic Semiconductor. All Rights Reserved.
- *
- * The information contained herein is confidential property of Nordic Semiconductor. The use,
- * copying, transfer or disclosure of such information is prohibited except by express written
- * agreement with Nordic Semiconductor.
- *
- */
-/**
-  @addtogroup BLE_GATTS Generic Attribute Profile (GATT) Server
-  @{
-  @brief  Definitions and prototypes for the GATTS interface.
- */
-
-#ifndef BLE_GATTS_H__
-#define BLE_GATTS_H__
-
-#include "ble_types.h"
-#include "ble_ranges.h"
-#include "ble_l2cap.h"
-#include "ble_gap.h"
-#include "ble_gatt.h"
-#include "nrf_svc.h"
-
-/** @addtogroup BLE_GATTS_ENUMERATIONS Enumerations
- * @{ */
-
-/**
- * @brief GATTS API SVC numbers.
- */
-enum BLE_GATTS_SVCS
-{
-  SD_BLE_GATTS_SERVICE_ADD = BLE_GATTS_SVC_BASE, /**< Add a service. */
-  SD_BLE_GATTS_INCLUDE_ADD,                      /**< Add an included service. */
-  SD_BLE_GATTS_CHARACTERISTIC_ADD,               /**< Add a characteristic. */
-  SD_BLE_GATTS_DESCRIPTOR_ADD,                   /**< Add a generic attribute. */
-  SD_BLE_GATTS_VALUE_SET,                        /**< Set an attribute value. */
-  SD_BLE_GATTS_VALUE_GET,                        /**< Get an attribute value. */
-  SD_BLE_GATTS_HVX,                              /**< Handle Value Notification or Indication. */
-  SD_BLE_GATTS_SERVICE_CHANGED,                  /**< Perform a Service Changed Indication to one or more peers. */
-  SD_BLE_GATTS_RW_AUTHORIZE_REPLY,               /**< Reply to an authorization request for a read or write operation on one or more attributes. */ 
-  SD_BLE_GATTS_SYS_ATTR_SET,                     /**< Set the persistent system attributes for a connection. */  
-  SD_BLE_GATTS_SYS_ATTR_GET,                     /**< Get updated persistent system attributes after terminating a connection. */
-};
-
-/** @} */
-
-/** @addtogroup BLE_GATTS_DEFINES Defines
- * @{ */
-
-/** @brief Only the default MTU size of 23 is currently supported. */
-#define GATT_RX_MTU 23
-
-/** @defgroup BLE_ERRORS_GATTS SVC return values specific to GATTS
- * @{ */
-#define BLE_ERROR_GATTS_INVALID_ATTR_TYPE   (NRF_GATTS_ERR_BASE + 0x000) /**< Invalid attribute type. */
-#define BLE_ERROR_GATTS_SYS_ATTR_MISSING    (NRF_GATTS_ERR_BASE + 0x001) /**< System Attributes missing. */
-/** @} */
-
-/** @defgroup BLE_GATTS_ATTR_LENS_MAX Maximum attribute lengths
- * @{ */
-#define BLE_GATTS_FIX_ATTR_LEN_MAX (510)  /**< Maximum length for fixed length Attribute Values. */
-#define BLE_GATTS_VAR_ATTR_LEN_MAX (512)  /**< Maximum length for variable length Attribute Values. */ 
-/** @} */
-
-/** @defgroup BLE_GATTS_SRVC_TYPES GATT Server Service Types
- * @{ */
-#define BLE_GATTS_SRVC_TYPE_INVALID          0x00  /**< Invalid Service Type. */
-#define BLE_GATTS_SRVC_TYPE_PRIMARY          0x01  /**< Primary Service. */
-#define BLE_GATTS_SRVC_TYPE_SECONDARY        0x02  /**< Secondary Type. */
-/** @} */
-
-
-/** @defgroup BLE_GATTS_ATTR_TYPES GATT Server Attribute Types
- * @{ */
-#define BLE_GATTS_ATTR_TYPE_INVALID         0x00  /**< Invalid Attribute Type. */
-#define BLE_GATTS_ATTR_TYPE_PRIM_SRVC_DECL  0x01  /**< Primary Service Declaration. */
-#define BLE_GATTS_ATTR_TYPE_SEC_SRVC_DECL   0x02  /**< Secondary Service Declaration. */
-#define BLE_GATTS_ATTR_TYPE_INC_DECL        0x03  /**< Include Declaration. */
-#define BLE_GATTS_ATTR_TYPE_CHAR_DECL       0x04  /**< Characteristic Declaration. */
-#define BLE_GATTS_ATTR_TYPE_CHAR_VAL        0x05  /**< Characteristic Value. */
-#define BLE_GATTS_ATTR_TYPE_DESC            0x06  /**< Descriptor. */
-#define BLE_GATTS_ATTR_TYPE_OTHER           0x07  /**< Other, non-GATT specific type. */
-/** @} */
-
-
-/** @defgroup BLE_GATTS_OPS GATT Server Operations
- * @{ */
-#define BLE_GATTS_OP_INVALID                0x00  /**< Invalid Operation. */
-#define BLE_GATTS_OP_WRITE_REQ              0x01  /**< Write Request. */
-#define BLE_GATTS_OP_WRITE_CMD              0x02  /**< Write Command. */
-#define BLE_GATTS_OP_SIGN_WRITE_CMD         0x03  /**< Signed Write Command. */
-#define BLE_GATTS_OP_PREP_WRITE_REQ         0x04  /**< Prepare Write Request. */
-#define BLE_GATTS_OP_EXEC_WRITE_REQ_CANCEL  0x05  /**< Execute Write Request: Cancel all prepared writes. */
-#define BLE_GATTS_OP_EXEC_WRITE_REQ_NOW     0x06  /**< Execute Write Request: Immediately execute all prepared writes. */
-/** @} */
-
-/** @defgroup BLE_GATTS_VLOCS GATT Value Locations
- * @{ */
-#define BLE_GATTS_VLOC_INVALID       0x00  /**< Invalid Location. */
-#define BLE_GATTS_VLOC_STACK         0x01  /**< Attribute Value is located in stack memory, no user memory is required. */
-#define BLE_GATTS_VLOC_USER          0x02  /**< Attribute Value is located in user memory. This requires the user to maintain a valid buffer through the lifetime of the attribute, since the stack
-                                                will read and write directly to the memory using the pointer provided in the APIs. There are no alignment requirements for the buffer. */
-/** @} */
-
-/** @defgroup BLE_GATTS_AUTHORIZE_TYPES GATT Server Authorization Types
- * @{ */
-#define BLE_GATTS_AUTHORIZE_TYPE_INVALID    0x00  /**< Invalid Type. */
-#define BLE_GATTS_AUTHORIZE_TYPE_READ       0x01  /**< Authorize a Read Operation. */
-#define BLE_GATTS_AUTHORIZE_TYPE_WRITE      0x02  /**< Authorize a Write Request Operation. */
-/** @} */
-
-
-/** @} */
-
-/** @addtogroup BLE_GATTS_STRUCTURES Structures
- * @{ */
-
-/**
- * @brief BLE GATTS init options
- */
-typedef struct
-{
-  uint8_t   service_changed:1;             /**< Include the Service Changed characteristic in the local attributes. */
-} ble_gatts_enable_params_t;
-
-/**@brief Attribute metadata. */
-typedef struct
-{
-  ble_gap_conn_sec_mode_t read_perm;       /**< Read permissions. */
-  ble_gap_conn_sec_mode_t write_perm;      /**< Write permissions. */
-  uint8_t                 vlen       :1;   /**< Variable length attribute. */
-  uint8_t                 vloc       :2;   /**< Value location, see @ref BLE_GATTS_VLOCS.*/
-  uint8_t                 rd_auth    :1;   /**< Read Authorization and value will be requested from the application on every read operation. */ 
-  uint8_t                 wr_auth    :1;   /**< Write Authorization will be requested from the application on every Write Request operation (but not Write Command). */
-} ble_gatts_attr_md_t;
-
-
-/**@brief GATT Attribute. */
-typedef struct
-{
-  ble_uuid_t*          p_uuid;          /**< Pointer to the attribute UUID. */
-  ble_gatts_attr_md_t* p_attr_md;       /**< Pointer to the attribute metadata structure. */
-  uint16_t             init_len;        /**< Initial attribute value length in bytes. */
-  uint16_t             init_offs;       /**< Initial attribute value offset in bytes. If different from zero, the first init_offs bytes of the attribute value will be left uninitialized. */
-  uint16_t             max_len;         /**< Maximum attribute value length in bytes, see @ref BLE_GATTS_ATTR_LENS_MAX for maximum values. */
-  uint8_t*             p_value;         /**< Pointer to the attribute data. Please note that if the @ref BLE_GATTS_VLOC_USER value location is selected in the attribute metadata, this will have to point to a buffer
-                                             that remains valid through the lifetime of the attribute. This excludes usage of automatic variables that may go out of scope or any other temporary location. 
-                                             The stack may access that memory directly without the application's knowledge. */
-} ble_gatts_attr_t;
-
-
-/**@brief GATT Attribute Context. */
-typedef struct
-{
-  ble_uuid_t           srvc_uuid;       /**< Service UUID. */
-  ble_uuid_t           char_uuid;       /**< Characteristic UUID if applicable (BLE_UUID_TYPE_UNKNOWN if N/A). */
-  ble_uuid_t           desc_uuid;       /**< Descriptor UUID if applicable (BLE_UUID_TYPE_UNKNOWN if N/A). */
-  uint16_t             srvc_handle;     /**< Service Handle. */
-  uint16_t             value_handle;    /**< Characteristic Handle if applicable (BLE_GATT_HANDLE_INVALID if N/A). */
-  uint8_t              type;            /**< Attribute Type, see @ref BLE_GATTS_ATTR_TYPES. */
-} ble_gatts_attr_context_t;
-
-
-/**@brief GATT Characteristic Presentation Format. */
-typedef struct
-{
-  uint8_t          format;      /**< Format of the value, see @ref BLE_GATT_CPF_FORMATS. */
-  int8_t           exponent;    /**< Exponent for integer data types. */
-  uint16_t         unit;        /**< UUID from Bluetooth Assigned Numbers. */
-  uint8_t          name_space;  /**< Namespace from Bluetooth Assigned Numbers, see @ref BLE_GATT_CPF_NAMESPACES. */
-  uint16_t         desc;        /**< Namespace description from Bluetooth Assigned Numbers, see @ref BLE_GATT_CPF_NAMESPACES. */
-} ble_gatts_char_pf_t;
-
-
-/**@brief GATT Characteristic metadata. */
-typedef struct
-{
-  ble_gatt_char_props_t       char_props;               /**< Characteristic Properties. */
-  ble_gatt_char_ext_props_t   char_ext_props;           /**< Characteristic Extended Properties. */
-  uint8_t*                    p_char_user_desc;         /**< Pointer to a UTF-8, NULL if the descriptor is not required. */
-  uint16_t                    char_user_desc_max_size;  /**< The maximum size in bytes of the user description descriptor. */
-  uint16_t                    char_user_desc_size;      /**< The size of the user description, must be smaller or equal to char_user_desc_max_size. */ 
-  ble_gatts_char_pf_t*        p_char_pf;                /**< Pointer to a presentation format structure or NULL if the descriptor is not required. */
-  ble_gatts_attr_md_t*        p_user_desc_md;           /**< Attribute metadata for the User Description descriptor, or NULL for default values. */
-  ble_gatts_attr_md_t*        p_cccd_md;                /**< Attribute metadata for the Client Characteristic Configuration Descriptor, or NULL for default values. */
-  ble_gatts_attr_md_t*        p_sccd_md;                /**< Attribute metadata for the Server Characteristic Configuration Descriptor, or NULL for default values. */
-} ble_gatts_char_md_t;
-
-
-/**@brief GATT Characteristic Definition Handles. */
-typedef struct
-{
-  uint16_t          value_handle;       /**< Handle to the characteristic value. */
-  uint16_t          user_desc_handle;   /**< Handle to the User Description descriptor, or BLE_GATT_HANDLE_INVALID if not present. */
-  uint16_t          cccd_handle;        /**< Handle to the Client Characteristic Configuration Descriptor, or BLE_GATT_HANDLE_INVALID if not present. */
-  uint16_t          sccd_handle;        /**< Handle to the Server Characteristic Configuration Descriptor, or BLE_GATT_HANDLE_INVALID if not present. */
-} ble_gatts_char_handles_t;
-
-
-/**@brief GATT HVx parameters. */
-typedef struct
-{
-  uint16_t          handle;             /**< Characteristic Value Handle. */
-  uint8_t           type;               /**< Indication or Notification, see @ref BLE_GATT_HVX_TYPES. */
-  uint16_t          offset;             /**< Offset within the attribute value. */
-  uint16_t*         p_len;              /**< Length in bytes to be written, length in bytes written after successful return. */
-  uint8_t*          p_data;             /**< Actual data content, use NULL to use the current attribute value. */
-} ble_gatts_hvx_params_t;
-
-/**@brief GATT Read Authorization parameters. */
-typedef struct
-{
-  uint16_t          gatt_status;        /**< GATT status code for the operation, see @ref BLE_GATT_STATUS_CODES. */
-  uint8_t           update : 1;         /**< If set, data supplied in p_data will be used in the ATT response. */
-  uint16_t          offset;             /**< Offset of the attribute value being updated. */
-  uint16_t          len;                /**< Length in bytes of the value in p_data pointer, see @ref BLE_GATTS_ATTR_LENS_MAX. */
-  uint8_t*          p_data;             /**< Pointer to new value used to update the attribute value. */
-} ble_gatts_read_authorize_params_t;
-
-/**@brief GATT Write Authorisation parameters. */
-typedef struct
-{
-  uint16_t          gatt_status;        /**< GATT status code for the operation, see @ref BLE_GATT_STATUS_CODES. */
-} ble_gatts_write_authorize_params_t;
-
-/**@brief GATT Read or Write Authorize Reply parameters. */
-typedef struct
-{
-  uint8_t                               type;   /**< Type of authorize operation, see @ref BLE_GATTS_AUTHORIZE_TYPES. */
-  union {
-    ble_gatts_read_authorize_params_t   read;   /**< Read authorization parameters. */
-    ble_gatts_write_authorize_params_t  write;  /**< Write authorization parameters. */
-  } params;
-} ble_gatts_rw_authorize_reply_params_t;
-
-
-/**
- * @brief GATT Server Event IDs.
- */
-enum BLE_GATTS_EVTS
-{
-  BLE_GATTS_EVT_WRITE = BLE_GATTS_EVT_BASE,       /**< Write operation performed. */
-  BLE_GATTS_EVT_RW_AUTHORIZE_REQUEST,             /**< Read/Write Authorization request. */
-  BLE_GATTS_EVT_SYS_ATTR_MISSING,                 /**< A persistent system attribute access is pending, awaiting a sd_ble_gatts_sys_attr_set(). */
-  BLE_GATTS_EVT_HVC,                              /**< Handle Value Confirmation. */
-  BLE_GATTS_EVT_SC_CONFIRM,                       /**< Service Changed Confirmation. */
-  BLE_GATTS_EVT_TIMEOUT                           /**< Timeout. */
-};
-
-
-/**@brief Event structure for BLE_GATTS_EVT_WRITE. */
-typedef struct
-{
-  uint16_t                    handle;             /**< Attribute Handle. */
-  uint8_t                     op;                 /**< Type of write operation, see @ref BLE_GATTS_OPS. */
-  ble_gatts_attr_context_t    context;            /**< Attribute Context. */
-  uint16_t                    offset;             /**< Offset for the write operation. */
-  uint16_t                    len;                /**< Length of the incoming data. */
-  uint8_t                     data[1];            /**< Incoming data, variable length. */
-} ble_gatts_evt_write_t;
-
-/**@brief Event structure for authorize read request. */
-typedef struct
-{
-  uint16_t                    handle;             /**< Attribute Handle. */
-  ble_gatts_attr_context_t    context;            /**< Attribute Context. */
-  uint16_t                    offset;             /**< Offset for the read operation. */
-} ble_gatts_evt_read_t;
-
-/**@brief Event structure for BLE_GATTS_EVT_RW_AUTHORIZE_REQUEST. */
-typedef struct
-{
-  uint8_t                     type;             /**< Type of authorize operation, see @ref BLE_GATTS_AUTHORIZE_TYPES. */
-  union {
-    ble_gatts_evt_read_t      read;             /**< Attribute Read Parameters. */
-    ble_gatts_evt_write_t     write;            /**< Attribute Write Parameters. */
-  } request;
-} ble_gatts_evt_rw_authorize_request_t;
-
-/**@brief Event structure for BLE_GATTS_EVT_SYS_ATTR_MISSING. */
-typedef struct
-{
-  uint8_t hint;
-} ble_gatts_evt_sys_attr_missing_t;
-
-
-/**@brief Event structure for BLE_GATTS_EVT_HVC. */
-typedef struct
-{
-  uint16_t          handle;                       /**< Attribute Handle. */
-} ble_gatts_evt_hvc_t;
-
-/**@brief Event structure for BLE_GATTS_EVT_TIMEOUT. */
-typedef struct
-{
-  uint8_t          src;                       /**< Timeout source, see @ref BLE_GATT_TIMEOUT_SOURCES. */
-} ble_gatts_evt_timeout_t;
-
-
-/**@brief GATT Server event callback event structure. */
-typedef struct
-{
-  uint16_t conn_handle;                                       /**< Connection Handle on which event occurred. */
-  union
-  {
-    ble_gatts_evt_write_t                 write;              /**< Write Event Parameters. */
-    ble_gatts_evt_rw_authorize_request_t  authorize_request;  /**< Read or Write Authorize Request Parameters. */
-    ble_gatts_evt_sys_attr_missing_t      sys_attr_missing;   /**< System attributes missing. */
-    ble_gatts_evt_hvc_t                   hvc;                /**< Handle Value Confirmation Event Parameters. */
-    ble_gatts_evt_timeout_t               timeout;            /**< Timeout Event. */
-  } params;
-} ble_gatts_evt_t;
-
-/** @} */
-
-/** @addtogroup BLE_GATTS_FUNCTIONS Functions
- * @{ */
-
-/**@brief Add a service declaration to the local server ATT table.
- *
- * @param[in] type      Toggles between primary and secondary services, see @ref BLE_GATTS_SRVC_TYPES.
- * @param[in] p_uuid    Pointer to service UUID.
- * @param[out] p_handle Pointer to a 16-bit word where the assigned handle will be stored.
- *
- * @note Secondary Services are only relevant in the context of the entity that references them, it is therefore forbidden to
- *       add a secondary service declaration that is not referenced by another service later in the ATT table.
- *
- * @return @ref NRF_SUCCESS Successfully added a service declaration.
- * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
- * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied, Vendor Specific UUIDs need to be present in the table.
- * @return @ref NRF_ERROR_FORBIDDEN Forbidden value supplied, certain UUIDs are reserved for the stack.
- * @return @ref NRF_ERROR_NO_MEM Not enough memory to complete operation.
- */
-SVCALL(SD_BLE_GATTS_SERVICE_ADD, uint32_t, sd_ble_gatts_service_add(uint8_t type, ble_uuid_t const*const p_uuid, uint16_t *const p_handle));
-
-
-/**@brief Add an include declaration to the local server ATT table.
- *
- * @note It is currently only possible to add an include declaration to the last added service (i.e. only sequential addition is supported at this time). 
- *
- * @note The included service must already be present in the ATT table prior to this call.
- *
- * @param[in] service_handle    Handle of the service where the included service is to be placed, if BLE_GATT_HANDLE_INVALID is used, it will be placed sequentially.
- * @param[in] inc_srvc_handle   Handle of the included service.
- * @param[out] p_include_handle Pointer to a 16-bit word where the assigned handle will be stored.
- *
- * @return @ref NRF_SUCCESS Successfully added an include declaration.
- * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
- * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied, handle values need to match previously added services.
- * @return @ref NRF_ERROR_INVALID_STATE Invalid state to perform operation.
- * @return @ref NRF_ERROR_FORBIDDEN Forbidden value supplied, self inclusions are not allowed.
- * @return @ref NRF_ERROR_NO_MEM Not enough memory to complete operation.
- * @return @ref NRF_ERROR_NOT_FOUND Attribute not found.
- */
-SVCALL(SD_BLE_GATTS_INCLUDE_ADD, uint32_t, sd_ble_gatts_include_add(uint16_t service_handle, uint16_t inc_srvc_handle, uint16_t *const p_include_handle));
-
-
-/**@brief Add a characteristic declaration, a characteristic value declaration and optional characteristic descriptor declarations to the local server ATT table.
- *
- * @note It is currently only possible to add a characteristic to the last added service (i.e. only sequential addition is supported at this time). 
- *
- * @note Several restrictions apply to the parameters, such as matching permissions between the user description descriptor and the writeable auxiliaries bits,
- *       readable (no security) and writeable (selectable) CCCDs and SCCDs and valid presentation format values.
- *
- * @note If no metadata is provided for the optional descriptors, their permissions will be derived from the characteristic permissions.
- *
- * @param[in] service_handle    Handle of the service where the characteristic is to be placed, if BLE_GATT_HANDLE_INVALID is used, it will be placed sequentially.
- * @param[in] p_char_md         Characteristic metadata.
- * @param[in] p_attr_char_value Pointer to the attribute structure corresponding to the characteristic value.
- * @param[out] p_handles        Pointer to the structure where the assigned handles will be stored.
- *
- * @return @ref NRF_SUCCESS Successfully added a characteristic.
- * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
- * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied, service handle, Vendor Specific UUIDs, lengths, and permissions need to adhere to the constraints.
- * @return @ref NRF_ERROR_INVALID_STATE Invalid state to perform operation, a service context is required.
- * @return @ref NRF_ERROR_FORBIDDEN Forbidden value supplied, certain UUIDs are reserved for the stack.
- * @return @ref NRF_ERROR_NO_MEM Not enough memory to complete operation.
- * @return @ref NRF_ERROR_DATA_SIZE Invalid data size(s) supplied, attribute lengths are restricted by @ref BLE_GATTS_ATTR_LENS_MAX.
- */
-SVCALL(SD_BLE_GATTS_CHARACTERISTIC_ADD, uint32_t, sd_ble_gatts_characteristic_add(uint16_t service_handle, ble_gatts_char_md_t const*const p_char_md, ble_gatts_attr_t const*const p_attr_char_value, ble_gatts_char_handles_t *const p_handles));
-
-
-/**@brief Add a descriptor to the local server ATT table.
- *
- * @note It is currently only possible to add a descriptor to the last added characteristic (i.e. only sequential addition is supported at this time). 
- *
- * @param[in] char_handle   Handle of the characteristic where the descriptor is to be placed, if BLE_GATT_HANDLE_INVALID is used, it will be placed sequentially.
- * @param[in] p_attr        Pointer to the attribute structure.
- * @param[out] p_handle     Pointer to a 16-bit word where the assigned handle will be stored.
- *
- * @return @ref NRF_SUCCESS Successfully added a descriptor.
- * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
- * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied, characteristic handle, Vendor Specific UUIDs, lengths, and permissions need to adhere to the constraints.
- * @return @ref NRF_ERROR_INVALID_STATE Invalid state to perform operation, a characteristic context is required.
- * @return @ref NRF_ERROR_FORBIDDEN Forbidden value supplied, certain UUIDs are reserved for the stack.
- * @return @ref NRF_ERROR_NO_MEM Not enough memory to complete operation.
- * @return @ref NRF_ERROR_DATA_SIZE Invalid data size(s) supplied, attribute lengths are restricted by @ref BLE_GATTS_ATTR_LENS_MAX.
- */
-SVCALL(SD_BLE_GATTS_DESCRIPTOR_ADD, uint32_t, sd_ble_gatts_descriptor_add(uint16_t char_handle, ble_gatts_attr_t const * const p_attr, uint16_t* const p_handle));
-
-/**@brief Set the value of a given attribute.
- *
- * @param[in] handle    Attribute handle.
- * @param[in] offset    Offset in bytes to write from.
- * @param[in,out] p_len Length in bytes to be written, length in bytes written after successful return.
- * @param[in] p_value   Pointer to a buffer (at least len bytes long) containing the desired attribute value. If value is stored in user memory, only the attribute length is updated when p_value == NULL.
- *
- * @return @ref NRF_SUCCESS Successfully set the value of the attribute.
- * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
- * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied.
- * @return @ref NRF_ERROR_NOT_FOUND Attribute not found.
- * @return @ref NRF_ERROR_FORBIDDEN Forbidden handle supplied, certain attributes are not modifiable by the application.
- * @return @ref NRF_ERROR_DATA_SIZE Invalid data size(s) supplied, attribute lengths are restricted by @ref BLE_GATTS_ATTR_LENS_MAX.
- */
-SVCALL(SD_BLE_GATTS_VALUE_SET, uint32_t, sd_ble_gatts_value_set(uint16_t handle, uint16_t offset, uint16_t* const p_len, uint8_t const * const p_value));
-
-/**@brief Get the value of a given attribute.
- *
- * @param[in] handle     Attribute handle.
- * @param[in] offset     Offset in bytes to read from.
- * @param[in,out] p_len  Length in bytes to be read, total length of attribute value (in bytes, starting from offset) after successful return.
- * @param[in,out] p_data Pointer to a buffer (at least len bytes long) where to store the attribute value. Set to NULL to obtain the complete length of attribute value.
- *
- * @note                 If the attribute value is longer than the size of the supplied buffer,
- *                       p_len will return the total attribute value length (excluding offset),
- *                       and not the number of bytes actually returned in p_data.
- *                       The application may use this information to allocate a suitable buffer size.
- * 
- * @return @ref NRF_SUCCESS Successfully retrieved the value of the attribute.
- * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
- * @return @ref NRF_ERROR_NOT_FOUND Attribute not found.
- */
-SVCALL(SD_BLE_GATTS_VALUE_GET, uint32_t, sd_ble_gatts_value_get(uint16_t handle, uint16_t offset, uint16_t *const p_len, uint8_t* const p_data));
-
-/**@brief Notify or Indicate an attribute value.
- *
- * @details This function checks for the relevant Client Characteristic Configuration descriptor value to verify that the relevant operation
- *          (notification or indication) has been enabled by the client. It is also able to update the attribute value before issuing the PDU, so that
- *          the application can atomically perform a value update and a server initiated transaction with a single API call.
- *          If the application chooses to indicate an attribute value, a @ref BLE_GATTS_EVT_HVC will be sent up as soon as the confirmation arrives from
- *          the peer.
- *
- * @note    The local attribute value may be updated even if an outgoing packet is not sent to the peer due to an error during execution. 
- *          When receiveing the error codes @ref NRF_ERROR_INVALID_STATE, @ref NRF_ERROR_BUSY, @ref BLE_ERROR_GATTS_SYS_ATTR_MISSING and 
- *          @ref BLE_ERROR_NO_TX_BUFFERS the ATT table has been updated.
- *          The caller can check whether the value has been updated by looking at the contents of *(p_hvx_params->p_len).
- *
- * @note    It is important to note that a notification will <b>consume an application buffer</b>, and will therefore 
- *          generate a @ref BLE_EVT_TX_COMPLETE event when the packet has been transmitted. An indication on the other hand will use the 
- *          standard server internal buffer and thus will only generate a @ref BLE_GATTS_EVT_HVC event as soon as the confirmation 
- *          has been received from the peer. Please see the documentation of @ref sd_ble_tx_buffer_count_get for more details.
- *
- * @param[in] conn_handle  Connection handle.
- * @param[in] p_hvx_params Pointer to an HVx parameters structure. If the p_data member contains a non-NULL pointer the attribute value will be updated with
- *                         the contents pointed by it before sending the notification or indication.
- *
- * @return @ref NRF_SUCCESS Successfully queued a notification or indication for transmission, and optionally updated the attribute value.
- * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid Connection Handle.
- * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
- * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied.
- * @return @ref BLE_ERROR_INVALID_ATTR_HANDLE Invalid attribute handle(s) supplied. Only attributes added directly by the application are available to notify and indicate.
- * @return @ref BLE_ERROR_GATTS_INVALID_ATTR_TYPE Invalid attribute type(s) supplied, only characteristic values may be notified and indicated.
- * @return @ref NRF_ERROR_NOT_FOUND Attribute not found.
- * @return @ref NRF_ERROR_DATA_SIZE Invalid data size(s) supplied.
- * @return @ref NRF_ERROR_INVALID_STATE Invalid state to perform operation, notifications or indications must be enabled in the CCCD.
- * @return @ref NRF_ERROR_BUSY Procedure already in progress.
- * @return @ref BLE_ERROR_GATTS_SYS_ATTR_MISSING System attributes missing, use @ref sd_ble_gatts_sys_attr_set to set them to a known value.
- * @return @ref BLE_ERROR_NO_TX_BUFFERS There are no available buffers to send the data, applies only to notifications.
- */
-SVCALL(SD_BLE_GATTS_HVX, uint32_t, sd_ble_gatts_hvx(uint16_t conn_handle, ble_gatts_hvx_params_t const*const p_hvx_params));
-
-/**@brief Indicate the Service Changed attribute value.
- *
- * @details This call will send a Handle Value Indication to one or more peers connected to inform them that the attribute
- *          table layout has changed. As soon as the peer has confirmed the indication, a @ref BLE_GATTS_EVT_SC_CONFIRM event will
- *          be issued.
- *
- * @note    Some of the restrictions and limitations that apply to @ref sd_ble_gatts_hvx also apply here.
- *
- * @param[in] conn_handle  Connection handle.
- * @param[in] start_handle Start of affected attribute handle range.
- * @param[in] end_handle   End of affected attribute handle range.
- *
- * @return @ref NRF_SUCCESS Successfully queued the Service Changed indication for transmission.
- * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid Connection Handle.
- * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied.
- * @return @ref BLE_ERROR_INVALID_ATTR_HANDLE Invalid attribute handle(s) supplied, handles must be in the range populated by the application.
- * @return @ref NRF_ERROR_INVALID_STATE Invalid state to perform operation, notifications or indications must be enabled in the CCCD.
- * @return @ref NRF_ERROR_BUSY Procedure already in progress.
- * @return @ref BLE_ERROR_GATTS_SYS_ATTR_MISSING System attributes missing, use @ref sd_ble_gatts_sys_attr_set to set them to a known value.
- */
-SVCALL(SD_BLE_GATTS_SERVICE_CHANGED, uint32_t, sd_ble_gatts_service_changed(uint16_t conn_handle, uint16_t start_handle, uint16_t end_handle));
-
-/**@brief Respond to a Read/Write authorization request.
- *
- * @note This call should only be used as a response to a @ref BLE_GATTS_EVT_RW_AUTHORIZE_REQUEST event issued to the application.
- *
- * @param[in] conn_handle                 Connection handle.
- * @param[in] p_rw_authorize_reply_params Pointer to a structure with the attribute provided by the application.
- *
- * @return @ref NRF_SUCCESS               Successfully queued a response to the peer, and in the case of a write operation, ATT table updated.
- * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid Connection Handle.
- * @return @ref NRF_ERROR_INVALID_STATE   No authorization request pending.
- * @return @ref NRF_ERROR_INVALID_PARAM   Authorization op invalid,
- *                                         or for Read Authorization reply: requested handles not replied with,
- *                                         or for Write Authorization reply: handle supplied does not match requested handle.
- */
-SVCALL(SD_BLE_GATTS_RW_AUTHORIZE_REPLY, uint32_t, sd_ble_gatts_rw_authorize_reply(uint16_t conn_handle, ble_gatts_rw_authorize_reply_params_t const*const p_rw_authorize_reply_params));
-
-
-/**@brief Update persistent system attribute information.
- *
- * @details Supply to the stack information about persistent system attributes.
- *          This call is legal in the connected state only, and is usually 
- *          made immediately after a connection is established and the bond identified.
- *          usually as a response to a BLE_GATTS_EVT_SYS_ATTR_MISSING.
- *
- *          p_sysattrs may point directly to the application's stored copy of the struct.
- *          If the pointer is NULL, the system attribute info is initialized, assuming that
- *          the application does not have any previously saved data for this bond.
- *
- * @note The state of persistent system attributes is reset upon connection and then remembered for its duration. 
- *
- * @note If this call returns with an error code different from @ref NRF_SUCCESS, the storage of persistent system attributes may have been completed only partially.
- *       This means that the state of the attribute table is undefined, and the application should either provide a new set of attributes using this same call or
- *       reset the SoftDevice to return to a known state.
- *
- * @param[in]  conn_handle        Connection handle.
- * @param[in]  p_sys_attr_data    Pointer to a saved copy of system attributes supplied to the stack, or NULL.
- * @param[in]  len                Size of data pointed by p_sys_attr_data, in octets. 
- *
- * @return @ref NRF_SUCCESS Successfully set the system attribute information.
- * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid Connection Handle.
- * @return @ref NRF_ERROR_INVALID_DATA Invalid data supplied, the data should be exactly the same as retrieved with @ref sd_ble_gatts_sys_attr_get.
- * @return @ref NRF_ERROR_NO_MEM Not enough memory to complete operation.
- */ 
-SVCALL(SD_BLE_GATTS_SYS_ATTR_SET, uint32_t, sd_ble_gatts_sys_attr_set(uint16_t conn_handle, uint8_t const*const p_sys_attr_data, uint16_t len)); 
-
- 
-/**@brief Retrieve persistent system attribute information from the stack.
- *
- * @details This call is used to retrieve information about values to be stored perisistently by the application
- *          after a connection has been terminated. When a new connection is made to the same bond, the values
- *          should be restored using @ref sd_ble_gatts_sys_attr_set.
- *          The data should be read before any new advertising is started, or any new connection established. The connection handle for
- *          the previous now defunct connection will remain valid until a new one is created to allow this API call to refer to it.
- *
- * @param[in]     conn_handle       Connection handle of the recently terminated connection.
- * @param[in]     p_sys_attr_data   Pointer to a buffer where updated information about system attributes will be filled in. NULL can be provided to 
- *                                  obtain the length of the data
- * @param[in,out] p_len             Size of application buffer if p_sys_attr_data is not NULL. Unconditially updated to actual length of system attribute data.
- *
- * @return @ref NRF_SUCCESS Successfully retrieved the system attribute information.
- * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid Connection Handle.
- * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
- * @return @ref NRF_ERROR_DATA_SIZE The system attribute information did not fit into the provided buffer.
- */ 
-SVCALL(SD_BLE_GATTS_SYS_ATTR_GET, uint32_t, sd_ble_gatts_sys_attr_get(uint16_t conn_handle, uint8_t * const p_sys_attr_data, uint16_t* const p_len)); 
-
-/** @} */
-
-#endif // BLE_GATTS_H__
-
-/**
-  @}
-*/
--- a/TARGET_NRF51822/TARGET_NORDIC/TARGET_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/ble_hci.h	Fri Jul 25 09:46:51 2014 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,96 +0,0 @@
-/*
-  Copyright (c) 2012 Nordic Semiconductor. All Rights Reserved.
-
-  The information contained herein is confidential property of Nordic Semiconductor. The use,
-  copying, transfer or disclosure of such information is prohibited except by express written
-  agreement with Nordic Semiconductor.
- */
-/**
-  @addtogroup BLE_COMMON 
-  @{
-*/
-
-
-#ifndef BLE_HCI_H__
-#define BLE_HCI_H__ 
-
-/** @defgroup BLE_HCI_STATUS_CODES Bluetooth status codes
- * @{ */
-
-#define BLE_HCI_STATUS_CODE_SUCCESS                        0x00
-#define BLE_HCI_STATUS_CODE_UNKNOWN_BTLE_COMMAND           0x01
-#define BLE_HCI_STATUS_CODE_UNKNOWN_CONNECTION_IDENTIFIER  0x02 
-/*0x03 Hardware Failure
-0x04 Page Timeout
-*/
-#define BLE_HCI_AUTHENTICATION_FAILURE                     0x05
-#define BLE_HCI_STATUS_CODE_PIN_OR_KEY_MISSING             0x06
-#define BLE_HCI_MEMORY_CAPACITY_EXCEEDED                   0x07
-#define BLE_HCI_CONNECTION_TIMEOUT                         0x08
-/*0x09 Connection Limit Exceeded
-0x0A Synchronous Connection Limit To A Device Exceeded
-0x0B ACL Connection Already Exists*/
-#define BLE_HCI_STATUS_CODE_COMMAND_DISALLOWED             0x0C
-/*0x0D Connection Rejected due to Limited Resources
-0x0E Connection Rejected Due To Security Reasons
-0x0F Connection Rejected due to Unacceptable BD_ADDR
-0x10 Connection Accept Timeout Exceeded
-0x11 Unsupported Feature or Parameter Value*/
-#define BLE_HCI_STATUS_CODE_INVALID_BTLE_COMMAND_PARAMETERS 0x12
-#define BLE_HCI_REMOTE_USER_TERMINATED_CONNECTION           0x13
-#define BLE_HCI_REMOTE_DEV_TERMINATION_DUE_TO_LOW_RESOURCES 0x14
-#define BLE_HCI_REMOTE_DEV_TERMINATION_DUE_TO_POWER_OFF     0x15
-#define BLE_HCI_LOCAL_HOST_TERMINATED_CONNECTION            0x16
-/*
-0x17 Repeated Attempts
-0x18 Pairing Not Allowed
-0x19 Unknown LMP PDU
-*/
-#define BLE_HCI_UNSUPPORTED_REMOTE_FEATURE 0x1A
-/*
-0x1B SCO Offset Rejected
-0x1C SCO Interval Rejected
-0x1D SCO Air Mode Rejected*/
-#define BLE_HCI_STATUS_CODE_INVALID_LMP_PARAMETERS     0x1E
-#define BLE_HCI_STATUS_CODE_UNSPECIFIED_ERROR          0x1F
-/*0x20 Unsupported LMP Parameter Value
-0x21 Role Change Not Allowed
-*/
-#define BLE_HCI_STATUS_CODE_LMP_RESPONSE_TIMEOUT       0x22
-/*0x23 LMP Error Transaction Collision*/
-#define BLE_HCI_STATUS_CODE_LMP_PDU_NOT_ALLOWED        0x24
-/*0x25 Encryption Mode Not Acceptable
-0x26 Link Key Can Not be Changed
-0x27 Requested QoS Not Supported
-*/
-#define BLE_HCI_INSTANT_PASSED                         0x28
-#define BLE_HCI_PAIRING_WITH_UNIT_KEY_UNSUPPORTED      0x29
-#define BLE_HCI_DIFFERENT_TRANSACTION_COLLISION        0x2A
-/*
-0x2B Reserved
-0x2C QoS Unacceptable Parameter
-0x2D QoS Rejected
-0x2E Channel Classification Not Supported
-0x2F Insufficient Security
-0x30 Parameter Out Of Mandatory Range
-0x31 Reserved
-0x32 Role Switch Pending
-0x33 Reserved
-0x34 Reserved Slot Violation
-0x35 Role Switch Failed
-0x36 Extended Inquiry Response Too Large
-0x37 Secure Simple Pairing Not Supported By Host.
-0x38 Host Busy - Pairing
-0x39 Connection Rejected due to No Suitable Channel Found*/
-#define BLE_HCI_CONTROLLER_BUSY                        0x3A
-#define BLE_HCI_CONN_INTERVAL_UNACCEPTABLE             0x3B
-#define BLE_HCI_DIRECTED_ADVERTISER_TIMEOUT            0x3C
-#define BLE_HCI_CONN_TERMINATED_DUE_TO_MIC_FAILURE     0x3D
-#define BLE_HCI_CONN_FAILED_TO_BE_ESTABLISHED          0x3E
-
-/** @} */
-
-
-#endif // BLE_HCI_H__
-
-/** @} */
--- a/TARGET_NRF51822/TARGET_NORDIC/TARGET_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/ble_l2cap.h	Fri Jul 25 09:46:51 2014 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,144 +0,0 @@
-/* Copyright (c) 2011 Nordic Semiconductor. All Rights Reserved.
- *
- * The information contained herein is confidential property of Nordic Semiconductor. The use,
- * copying, transfer or disclosure of such information is prohibited except by express written
- * agreement with Nordic Semiconductor.
- *
- */
-/**
-  @addtogroup BLE_L2CAP Logical Link Control and Adaptation Protocol (L2CAP)
-  @{
-  @brief Definitions and prototypes for the L2CAP interface.
- */
-
-#ifndef BLE_L2CAP_H__
-#define BLE_L2CAP_H__ 
-
-#include "ble_types.h"
-#include "ble_ranges.h"
-#include "ble_err.h"
-#include "nrf_svc.h"
-
-/**@addtogroup BLE_L2CAP_ENUMERATIONS Enumerations
- * @{ */
-
-/**@brief L2CAP API SVC numbers. */
-enum BLE_L2CAP_SVCS 
-{
-  SD_BLE_L2CAP_CID_REGISTER = BLE_L2CAP_SVC_BASE,  /**< Register a CID. */
-  SD_BLE_L2CAP_CID_UNREGISTER,                     /**< Unregister a CID. */
-  SD_BLE_L2CAP_TX                                  /**< Transmit a packet. */
-};
-
-/** @} */
-
-/**@addtogroup BLE_L2CAP_DEFINES Defines
- * @{ */
-
-/**@defgroup BLE_ERRORS_L2CAP SVC return values specific to L2CAP
- * @{ */
-#define BLE_ERROR_L2CAP_CID_IN_USE            (NRF_L2CAP_ERR_BASE + 0x000)  /**< CID already in use. */
-/** @} */
-
-/**@brief Default L2CAP MTU. */
-#define BLE_L2CAP_MTU_DEF           (23)    
-
-/**@brief Invalid Channel Identifier. */
-#define BLE_L2CAP_CID_INVALID       (0x0000) 
-
-/**@brief Dynamic Channel Identifier base. */
-#define BLE_L2CAP_CID_DYN_BASE      (0x0040) 
-
-/**@brief Maximum amount of dynamic CIDs. */
-#define BLE_L2CAP_CID_DYN_MAX       (8) 
-
-/** @} */
-
-/**@addtogroup BLE_L2CAP_STRUCTURES Structures
- * @{ */
-
-/**@brief Packet header format for L2CAP transmission. */
-typedef struct
-{
-  uint16_t   len;                                 /**< Length of valid info in data member. */
-  uint16_t   cid;                                 /**< Channel ID on which packet is transmitted. */
-} ble_l2cap_header_t;
-
-/**@brief L2CAP Event IDs. */
-enum BLE_L2CAP_EVTS 
-{
-  BLE_L2CAP_EVT_RX  = BLE_L2CAP_EVT_BASE          /**< L2CAP packet received. */
-};
-
-
-/**@brief L2CAP Received packet event report. */
-typedef struct
-{
-  ble_l2cap_header_t header;                      /** L2CAP packet header. */
-  uint8_t    data[1];                             /**< Packet data, variable length. */
-} ble_l2cap_evt_rx_t;
-
-
-/**@brief L2CAP event callback event structure. */
-typedef struct
-{
-  uint16_t conn_handle;                           /**< Connection Handle on which event occured. */
-  union
-  {
-    ble_l2cap_evt_rx_t rx;                        /**< RX Event parameters. */
-  } params;
-} ble_l2cap_evt_t;
-
-
-/**@brief Register a CID with L2CAP.
- *
- * @details This registers a higher protocol layer with the L2CAP multiplexer, and is requried prior to all operations on the CID.
- *          
- * @param[in] cid L2CAP CID.
- *
- * @return @ref NRF_SUCCESS Successfully registered a CID with the L2CAP layer.
- * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied, CID must be above @ref BLE_L2CAP_CID_DYN_BASE.
- * @return @ref BLE_ERROR_L2CAP_CID_IN_USE L2CAP CID already in use.
- * @return @ref NRF_ERROR_NO_MEM Not enough memory to complete operation.
- */
-SVCALL(SD_BLE_L2CAP_CID_REGISTER, uint32_t, sd_ble_l2cap_cid_register(uint16_t cid));
-
-/**@brief Unregister a CID with L2CAP.
- *
- * @details This unregisters a previously registerd higher protocol layer with the L2CAP multiplexer.
- *          
- * @param[in] cid L2CAP CID.
- *
- * @return @ref NRF_SUCCESS Successfully unregistered the CID.
- * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied.
- * @return @ref NRF_ERROR_NOT_FOUND CID not previously registered.
- */
-SVCALL(SD_BLE_L2CAP_CID_UNREGISTER, uint32_t, sd_ble_l2cap_cid_unregister(uint16_t cid));
-
-/**@brief Transmit an L2CAP packet.
- *
- * @note    It is important to note that a call to this function will <b>consume an application buffer</b>, and will therefore 
- *          generate a @ref BLE_EVT_TX_COMPLETE event when the packet has been transmitted. 
- *          Please see the documentation of @ref sd_ble_tx_buffer_count_get for more details.
- *
- * @param[in] conn_handle Connection Handle.
- * @param[in] p_header    Pointer to a packet header containing length and CID.
- * @param[in] p_data      Pointer to the data to be transmitted.
- *
- * @return @ref NRF_SUCCESS Successfully queued an L2CAP packet for transmission.
- * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
- * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied, CIDs must be registered beforehand with @ref sd_ble_l2cap_cid_register.
- * @return @ref NRF_ERROR_NOT_FOUND CID not found.
- * @return @ref NRF_ERROR_NO_MEM Not enough memory to complete operation.
- * @return @ref BLE_ERROR_NO_TX_BUFFERS Not enough application buffers available.
- * @return @ref NRF_ERROR_DATA_SIZE Invalid data size(s) supplied, see @ref BLE_L2CAP_MTU_DEF.
- */
-SVCALL(SD_BLE_L2CAP_TX, uint32_t, sd_ble_l2cap_tx(uint16_t conn_handle, ble_l2cap_header_t const * const p_header, uint8_t const * const p_data));
-
-/** @} */
-
-#endif // BLE_L2CAP_H__
-
-/**
-  @}
-*/
--- a/TARGET_NRF51822/TARGET_NORDIC/TARGET_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/ble_ranges.h	Fri Jul 25 09:46:51 2014 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,89 +0,0 @@
-/*
-  Copyright (c) 2012 Nordic Semiconductor. All Rights Reserved.
-
-  The information contained herein is confidential property of Nordic Semiconductor. The use,
-  copying, transfer or disclosure of such information is prohibited except by express written
-  agreement with Nordic Semiconductor.
- */
-/**
-  @addtogroup BLE_COMMON
-  @{
-  @defgroup ble_ranges Module specific SVC and event number subranges
-  @{
-
-  @brief Definition of SVC and event number subranges for each API module.
-
-  @note
-  SVCs and event numbers are split into subranges for each API module.
-  Each module receives its entire allocated range of SVC calls, whether implemented or not,
-  but return BLE_ERROR_NOT_SUPPORTED for unimplemented or undefined calls in its range.
-
-  Note that the symbols BLE_<module>_SVC_LAST is the end of the allocated SVC range,
-  rather than the last SVC function call actually defined and implemented.
-
-  Specific SVC and event values are defined in each module's ble_<module>.h file,
-  which defines names of each individual SVC code based on the range start value.
-*/
-
-#ifndef BLE_RANGES_H__
-#define BLE_RANGES_H__
-
-#define BLE_SVC_BASE           0x60
-#define BLE_SVC_LAST           0x6B       /* Total: 12. */
-
-#define BLE_RESERVED_SVC_BASE  0x6C
-#define BLE_RESERVED_SVC_LAST  0x6F       /* Total: 4. */
-
-#define BLE_GAP_SVC_BASE       0x70
-#define BLE_GAP_SVC_LAST       0x8F       /* Total: 32. */
-
-#define BLE_GATTC_SVC_BASE     0x90
-#define BLE_GATTC_SVC_LAST     0x9F       /* Total: 16. */
-
-#define BLE_GATTS_SVC_BASE     0xA0
-#define BLE_GATTS_SVC_LAST     0xAF       /* Total: 16. */
-
-#define BLE_L2CAP_SVC_BASE     0xB0
-#define BLE_L2CAP_SVC_LAST     0xBF       /* Total: 16. */
-
-
-#define BLE_EVT_INVALID        0x00
-
-#define BLE_EVT_BASE           0x01
-#define BLE_EVT_LAST           0x0F       /* Total: 15. */
-
-#define BLE_GAP_EVT_BASE       0x10
-#define BLE_GAP_EVT_LAST       0x2F       /* Total: 32. */
-
-#define BLE_GATTC_EVT_BASE     0x30
-#define BLE_GATTC_EVT_LAST     0x4F       /* Total: 32. */
-
-#define BLE_GATTS_EVT_BASE     0x50
-#define BLE_GATTS_EVT_LAST     0x6F       /* Total: 32. */
-
-#define BLE_L2CAP_EVT_BASE     0x70
-#define BLE_L2CAP_EVT_LAST     0x8F       /* Total: 32.  */
-
-#define BLE_OPT_INVALID        0x00       /**< Invalid BLE Option. */
-
-#define BLE_OPT_BASE           0x01       /**< Common BLE Option base. */
-#define BLE_OPT_LAST           0x1F       /**< Total: 31. */
-
-#define BLE_GAP_OPT_BASE       0x20       /**< GAP BLE Option base. */
-#define BLE_GAP_OPT_LAST       0x3F       /**< Total: 32. */
-
-#define BLE_GATTC_OPT_BASE     0x40       /**< GATTC BLE Option base. */
-#define BLE_GATTC_OPT_LAST     0x5F       /**< Total: 32. */
-
-#define BLE_GATTS_OPT_BASE     0x60       /**< GATTS BLE Option base. */
-#define BLE_GATTS_OPT_LAST     0x7F       /**< Total: 32. */
-
-#define BLE_L2CAP_OPT_BASE     0x80       /**< L2CAP BLE Option base. */
-#define BLE_L2CAP_OPT_LAST     0x9F       /**< Total: 32.  */
-
-#endif /* BLE_RANGES_H__ */
-
-/**
-  @}
-  @}
-*/
--- a/TARGET_NRF51822/TARGET_NORDIC/TARGET_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/ble_types.h	Fri Jul 25 09:46:51 2014 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,169 +0,0 @@
-/* Copyright (c) 2011 Nordic Semiconductor. All Rights Reserved.
- *
- * The information contained herein is confidential property of Nordic Semiconductor. The use,
- * copying, transfer or disclosure of such information is prohibited except by express written
- * agreement with Nordic Semiconductor.
- *
- */
-/**
-  @addtogroup BLE_COMMON
-  @{
-  @defgroup ble_types Common types and macro definitions
-  @{
-
-  @brief Common types and macro definitions for the S110 SoftDevice.
- */
-
-#ifndef BLE_TYPES_H__
-#define BLE_TYPES_H__
-
-#include <stdint.h>
-
-/** @addtogroup BLE_COMMON_DEFINES Defines
- * @{ */
-
-/** @defgroup BLE_CONN_HANDLES BLE Connection Handles
- * @{ */
-#define BLE_CONN_HANDLE_INVALID 0xFFFF  /**< Invalid Connection Handle. */
-#define BLE_CONN_HANDLE_ALL     0xFFFE  /**< Applies to all Connection Handles. */
-/** @} */
-
-
-/** @defgroup BLE_UUID_VALUES Assigned Values for BLE UUIDs
- * @{ */
-/* Generic UUIDs, applicable to all services */
-#define BLE_UUID_UNKNOWN                              0x0000 /**< Reserved UUID. */
-#define BLE_UUID_SERVICE_PRIMARY                      0x2800 /**< Primary Service. */
-#define BLE_UUID_SERVICE_SECONDARY                    0x2801 /**< Secondary Service. */
-#define BLE_UUID_SERVICE_INCLUDE                      0x2802 /**< Include. */
-#define BLE_UUID_CHARACTERISTIC                       0x2803 /**< Characteristic. */
-#define BLE_UUID_DESCRIPTOR_CHAR_EXT_PROP             0x2900 /**< Characteristic Extended Properties Descriptor. */
-#define BLE_UUID_DESCRIPTOR_CHAR_USER_DESC            0x2901 /**< Characteristic User Description Descriptor. */
-#define BLE_UUID_DESCRIPTOR_CLIENT_CHAR_CONFIG        0x2902 /**< Client Characteristic Configuration Descriptor. */
-#define BLE_UUID_DESCRIPTOR_SERVER_CHAR_CONFIG        0x2903 /**< Server Characteristic Configuration Descriptor. */
-#define BLE_UUID_DESCRIPTOR_CHAR_PRESENTATION_FORMAT  0x2904 /**< Characteristic Presentation Format Descriptor. */
-#define BLE_UUID_DESCRIPTOR_CHAR_AGGREGATE_FORMAT     0x2905 /**< Characteristic Aggregate Format Descriptor. */
-/* GATT specific UUIDs */
-#define BLE_UUID_GATT                                 0x1801 /**< Generic Attribute Profile. */
-#define BLE_UUID_GATT_CHARACTERISTIC_SERVICE_CHANGED  0x2A05 /**< Service Changed Characteristic. */
-/* GAP specific UUIDs */
-#define BLE_UUID_GAP                                  0x1800 /**< Generic Access Profile. */
-#define BLE_UUID_GAP_CHARACTERISTIC_DEVICE_NAME       0x2A00 /**< Device Name Characteristic. */
-#define BLE_UUID_GAP_CHARACTERISTIC_APPEARANCE        0x2A01 /**< Appearance Characteristic. */
-#define BLE_UUID_GAP_CHARACTERISTIC_PPF               0x2A02 /**< Peripheral Privacy Flag Characteristic. */
-#define BLE_UUID_GAP_CHARACTERISTIC_RECONN_ADDR       0x2A03 /**< Reconnection Address Characteristic. */
-#define BLE_UUID_GAP_CHARACTERISTIC_PPCP              0x2A04 /**< Peripheral Preferred Connection Parameters Characteristic. */
-/** @} */
-
-
-/** @defgroup BLE_UUID_TYPES Types of UUID
- * @{ */
-#define BLE_UUID_TYPE_UNKNOWN       0x00 /**< Invalid UUID type. */
-#define BLE_UUID_TYPE_BLE           0x01 /**< Bluetooth SIG UUID (16-bit). */
-#define BLE_UUID_TYPE_VENDOR_BEGIN  0x02 /**< Vendor UUID types start at this index (128-bit). */
-/** @} */
-
-
-/** @defgroup BLE_APPEARANCES Bluetooth Appearance values
- *  @note Retrieved from http://developer.bluetooth.org/gatt/characteristics/Pages/CharacteristicViewer.aspx?u=org.bluetooth.characteristic.gap.appearance.xml
- * @{ */
-#define BLE_APPEARANCE_UNKNOWN                                0 /**< Unknown. */
-#define BLE_APPEARANCE_GENERIC_PHONE                         64 /**< Generic Phone. */
-#define BLE_APPEARANCE_GENERIC_COMPUTER                     128 /**< Generic Computer. */
-#define BLE_APPEARANCE_GENERIC_WATCH                        192 /**< Generic Watch. */
-#define BLE_APPEARANCE_WATCH_SPORTS_WATCH                   193 /**< Watch: Sports Watch. */
-#define BLE_APPEARANCE_GENERIC_CLOCK                        256 /**< Generic Clock. */
-#define BLE_APPEARANCE_GENERIC_DISPLAY                      320 /**< Generic Display. */
-#define BLE_APPEARANCE_GENERIC_REMOTE_CONTROL               384 /**< Generic Remote Control. */
-#define BLE_APPEARANCE_GENERIC_EYE_GLASSES                  448 /**< Generic Eye-glasses. */
-#define BLE_APPEARANCE_GENERIC_TAG                          512 /**< Generic Tag. */
-#define BLE_APPEARANCE_GENERIC_KEYRING                      576 /**< Generic Keyring. */
-#define BLE_APPEARANCE_GENERIC_MEDIA_PLAYER                 640 /**< Generic Media Player. */
-#define BLE_APPEARANCE_GENERIC_BARCODE_SCANNER              704 /**< Generic Barcode Scanner. */
-#define BLE_APPEARANCE_GENERIC_THERMOMETER                  768 /**< Generic Thermometer. */
-#define BLE_APPEARANCE_THERMOMETER_EAR                      769 /**< Thermometer: Ear. */
-#define BLE_APPEARANCE_GENERIC_HEART_RATE_SENSOR            832 /**< Generic Heart rate Sensor. */
-#define BLE_APPEARANCE_HEART_RATE_SENSOR_HEART_RATE_BELT    833 /**< Heart Rate Sensor: Heart Rate Belt. */
-#define BLE_APPEARANCE_GENERIC_BLOOD_PRESSURE               896 /**< Generic Blood Pressure. */
-#define BLE_APPEARANCE_BLOOD_PRESSURE_ARM                   897 /**< Blood Pressure: Arm. */
-#define BLE_APPEARANCE_BLOOD_PRESSURE_WRIST                 898 /**< Blood Pressure: Wrist. */
-#define BLE_APPEARANCE_GENERIC_HID                          960 /**< Human Interface Device (HID). */
-#define BLE_APPEARANCE_HID_KEYBOARD                         961 /**< Keyboard (HID Subtype). */
-#define BLE_APPEARANCE_HID_MOUSE                            962 /**< Mouse (HID Subtype). */
-#define BLE_APPEARANCE_HID_JOYSTICK                         963 /**< Joystiq (HID Subtype). */
-#define BLE_APPEARANCE_HID_GAMEPAD                          964 /**< Gamepad (HID Subtype). */
-#define BLE_APPEARANCE_HID_DIGITIZERSUBTYPE                 965 /**< Digitizer Tablet (HID Subtype). */
-#define BLE_APPEARANCE_HID_CARD_READER                      966 /**< Card Reader (HID Subtype). */
-#define BLE_APPEARANCE_HID_DIGITAL_PEN                      967 /**< Digital Pen (HID Subtype). */
-#define BLE_APPEARANCE_HID_BARCODE                          968 /**< Barcode Scanner (HID Subtype). */
-#define BLE_APPEARANCE_GENERIC_GLUCOSE_METER               1024 /**< Generic Glucose Meter. */
-#define BLE_APPEARANCE_GENERIC_RUNNING_WALKING_SENSOR      1088 /**< Generic Running Walking Sensor. */
-#define BLE_APPEARANCE_RUNNING_WALKING_SENSOR_IN_SHOE      1089 /**< Running Walking Sensor: In-Shoe. */
-#define BLE_APPEARANCE_RUNNING_WALKING_SENSOR_ON_SHOE      1090 /**< Running Walking Sensor: On-Shoe. */
-#define BLE_APPEARANCE_RUNNING_WALKING_SENSOR_ON_HIP       1091 /**< Running Walking Sensor: On-Hip. */
-#define BLE_APPEARANCE_GENERIC_CYCLING                     1152 /**< Generic Cycling. */
-#define BLE_APPEARANCE_CYCLING_CYCLING_COMPUTER            1153 /**< Cycling: Cycling Computer. */
-#define BLE_APPEARANCE_CYCLING_SPEED_SENSOR                1154 /**< Cycling: Speed Sensor. */
-#define BLE_APPEARANCE_CYCLING_CADENCE_SENSOR              1155 /**< Cycling: Cadence Sensor. */
-#define BLE_APPEARANCE_CYCLING_POWER_SENSOR                1156 /**< Cycling: Power Sensor. */
-#define BLE_APPEARANCE_CYCLING_SPEED_CADENCE_SENSOR        1157 /**< Cycling: Speed and Cadence Sensor. */
-#define BLE_APPEARANCE_GENERIC_PULSE_OXIMETER              3136 /**< Generic Pulse Oximeter. */
-#define BLE_APPEARANCE_PULSE_OXIMETER_FINGERTIP            3137 /**< Fingertip (Pulse Oximeter subtype). */
-#define BLE_APPEARANCE_PULSE_OXIMETER_WRIST_WORN           3138 /**< Wrist Worn(Pulse Oximeter subtype). */
-#define BLE_APPEARANCE_GENERIC_WEIGHT_SCALE                3200 /**< Generic Weight Scale. */
-#define BLE_APPEARANCE_GENERIC_OUTDOOR_SPORTS_ACT          5184 /**< Generic Outdoor Sports Activity. */
-#define BLE_APPEARANCE_OUTDOOR_SPORTS_ACT_LOC_DISP         5185 /**< Location Display Device (Outdoor Sports Activity subtype). */
-#define BLE_APPEARANCE_OUTDOOR_SPORTS_ACT_LOC_AND_NAV_DISP 5186 /**< Location and Navigation Display Device (Outdoor Sports Activity subtype). */
-#define BLE_APPEARANCE_OUTDOOR_SPORTS_ACT_LOC_POD          5187 /**< Location Pod (Outdoor Sports Activity subtype). */
-#define BLE_APPEARANCE_OUTDOOR_SPORTS_ACT_LOC_AND_NAV_POD  5188 /**< Location and Navigation Pod (Outdoor Sports Activity subtype). */
-/** @} */
-
-/** @brief Set .type and .uuid fields of ble_uuid_struct to specified uuid value. */
-#define BLE_UUID_BLE_ASSIGN(instance, value) do {\
-            instance.type = BLE_UUID_TYPE_BLE; \
-            instance.uuid = value;} while(0)
-
-/** @brief Copy type and uuid members from src to dst ble_uuid_t pointer. Both pointers must be valid/non-null. */
-#define BLE_UUID_COPY_PTR(dst, src) do {\
-            (dst)->type = (src)->type; \
-            (dst)->uuid = (src)->uuid;} while(0)
-
-/** @brief Copy type and uuid members from src to dst ble_uuid_t struct. */
-#define BLE_UUID_COPY_INST(dst, src) do {\
-            (dst).type = (src).type; \
-            (dst).uuid = (src).uuid;} while(0)
-
-/** @brief Compare for equality both type and uuid members of two (valid, non-null) ble_uuid_t pointers. */
-#define BLE_UUID_EQ(p_uuid1, p_uuid2) \
-            (((p_uuid1)->type == (p_uuid2)->type) && ((p_uuid1)->uuid == (p_uuid2)->uuid))
-
-/** @brief Compare for difference both type and uuid members of two (valid, non-null) ble_uuid_t pointers. */
-#define BLE_UUID_NEQ(p_uuid1, p_uuid2) \
-            (((p_uuid1)->type != (p_uuid2)->type) || ((p_uuid1)->uuid != (p_uuid2)->uuid))
-
-/** @} */
-
-/** @addtogroup BLE_TYPES_STRUCTURES Structures
- * @{ */
-
-/** @brief 128 bit UUID values. */
-typedef struct
-{ 
-    unsigned char uuid128[16];
-} ble_uuid128_t;
-
-/** @brief  Bluetooth Low Energy UUID type, encapsulates both 16-bit and 128-bit UUIDs. */
-typedef struct
-{
-    uint16_t    uuid; /**< 16-bit UUID value or octets 12-13 of 128-bit UUID. */
-    uint8_t     type; /**< UUID type, see @ref BLE_UUID_TYPES. If type is BLE_UUID_TYPE_UNKNOWN, the value of uuid is undefined. */
-} ble_uuid_t;
-
-/** @} */
-
-#endif /* BLE_TYPES_H__ */
-
-/**
-  @}
-  @}
-*/
--- a/TARGET_NRF51822/TARGET_NORDIC/TARGET_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/nrf_error.h	Fri Jul 25 09:46:51 2014 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,51 +0,0 @@
-/*
- * Copyright (c) 2012 Nordic Semiconductor. All Rights Reserved.
- *
- * The information contained herein is confidential property of Nordic Semiconductor. The use,
- * copying, transfer or disclosure of such information is prohibited except by express written
- * agreement with Nordic Semiconductor.
- *
- */
- /**
-  @defgroup nrf_error SoftDevice Global Error Codes
-  @{
-   
-  @brief Global Error definitions
-*/
-
-/* Header guard */
-#ifndef NRF_ERROR_H__
-#define NRF_ERROR_H__
-
-/** @defgroup NRF_ERRORS_BASE Error Codes Base number definitions
- * @{ */
-#define NRF_ERROR_BASE_NUM      (0x0)       ///< Global error base
-#define NRF_ERROR_SDM_BASE_NUM  (0x1000)    ///< SDM error base
-#define NRF_ERROR_SOC_BASE_NUM  (0x2000)    ///< SoC error base
-#define NRF_ERROR_STK_BASE_NUM  (0x3000)    ///< STK error base
-/** @} */
-
-#define NRF_SUCCESS                           (NRF_ERROR_BASE_NUM + 0)  ///< Successful command
-#define NRF_ERROR_SVC_HANDLER_MISSING         (NRF_ERROR_BASE_NUM + 1)  ///< SVC handler is missing
-#define NRF_ERROR_SOFTDEVICE_NOT_ENABLED      (NRF_ERROR_BASE_NUM + 2)  ///< SoftDevice has not been enabled
-#define NRF_ERROR_INTERNAL                    (NRF_ERROR_BASE_NUM + 3)  ///< Internal Error
-#define NRF_ERROR_NO_MEM                      (NRF_ERROR_BASE_NUM + 4)  ///< No Memory for operation
-#define NRF_ERROR_NOT_FOUND                   (NRF_ERROR_BASE_NUM + 5)  ///< Not found
-#define NRF_ERROR_NOT_SUPPORTED               (NRF_ERROR_BASE_NUM + 6)  ///< Not supported
-#define NRF_ERROR_INVALID_PARAM               (NRF_ERROR_BASE_NUM + 7)  ///< Invalid Parameter
-#define NRF_ERROR_INVALID_STATE               (NRF_ERROR_BASE_NUM + 8)  ///< Invalid state, operation disallowed in this state
-#define NRF_ERROR_INVALID_LENGTH              (NRF_ERROR_BASE_NUM + 9)  ///< Invalid Length
-#define NRF_ERROR_INVALID_FLAGS               (NRF_ERROR_BASE_NUM + 10) ///< Invalid Flags
-#define NRF_ERROR_INVALID_DATA                (NRF_ERROR_BASE_NUM + 11) ///< Invalid Data
-#define NRF_ERROR_DATA_SIZE                   (NRF_ERROR_BASE_NUM + 12) ///< Data size exceeds limit
-#define NRF_ERROR_TIMEOUT                     (NRF_ERROR_BASE_NUM + 13) ///< Operation timed out
-#define NRF_ERROR_NULL                        (NRF_ERROR_BASE_NUM + 14) ///< Null Pointer
-#define NRF_ERROR_FORBIDDEN                   (NRF_ERROR_BASE_NUM + 15) ///< Forbidden Operation
-#define NRF_ERROR_INVALID_ADDR                (NRF_ERROR_BASE_NUM + 16) ///< Bad Memory Address
-#define NRF_ERROR_BUSY                        (NRF_ERROR_BASE_NUM + 17) ///< Busy
-
-#endif // NRF_ERROR_H__
-
-/**
-  @}
-*/
--- a/TARGET_NRF51822/TARGET_NORDIC/TARGET_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/nrf_error_sdm.h	Fri Jul 25 09:46:51 2014 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,33 +0,0 @@
-/*
- * Copyright (c) 2012 Nordic Semiconductor. All Rights Reserved.
- *
- * The information contained herein is confidential property of Nordic Semiconductor. The use,
- * copying, transfer or disclosure of such information is prohibited except by express written
- * agreement with Nordic Semiconductor.
- *
- */
- /**
-  @addtogroup nrf_sdm_api
-  @{
-  @defgroup nrf_sdm_error SoftDevice Manager Error Codes
-  @{
-     
-  @brief Error definitions for the SDM API
-*/
-
-/* Header guard */
-#ifndef NRF_ERROR_SDM_H__
-#define NRF_ERROR_SDM_H__
-
-#include "nrf_error.h"
-
-#define NRF_ERROR_SDM_LFCLK_SOURCE_UNKNOWN              (NRF_ERROR_SDM_BASE_NUM + 0)  ///< Unknown lfclk source
-#define NRF_ERROR_SDM_INCORRECT_INTERRUPT_CONFIGURATION (NRF_ERROR_SDM_BASE_NUM + 1)  ///< Incorrect interrupt configuration (can be caused by using illegal priority levels, or having enabled SoftDevice interrupts)
-#define NRF_ERROR_SDM_INCORRECT_CLENR0                  (NRF_ERROR_SDM_BASE_NUM + 2)  ///< Incorrect CLENR0 (can be caused by erronous SoftDevice flashing)
-
-#endif // NRF_ERROR_SDM_H__
-
-/**
-  @}
-  @}
-*/
--- a/TARGET_NRF51822/TARGET_NORDIC/TARGET_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/nrf_error_soc.h	Fri Jul 25 09:46:51 2014 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,49 +0,0 @@
-/*
- * Copyright (c) 2012 Nordic Semiconductor. All Rights Reserved.
- *
- * The information contained herein is confidential property of Nordic Semiconductor. The use,
- * copying, transfer or disclosure of such information is prohibited except by express written
- * agreement with Nordic Semiconductor.
- *
- */
- /**
-  @addtogroup nrf_soc_api
-  @{
-  @defgroup nrf_soc_error SoC Library Error Codes
-  @{
-     
-  @brief Error definitions for the SoC library
-
-*/
-
-/* Header guard */
-#ifndef NRF_ERROR_SOC_H__
-#define NRF_ERROR_SOC_H__
-
-#include "nrf_error.h"
-
-/* Mutex Errors */
-#define NRF_ERROR_SOC_MUTEX_ALREADY_TAKEN                 (NRF_ERROR_SOC_BASE_NUM + 0)  ///< Mutex already taken
-
-/* NVIC errors */
-#define NRF_ERROR_SOC_NVIC_INTERRUPT_NOT_AVAILABLE        (NRF_ERROR_SOC_BASE_NUM + 1)  ///< NVIC interrupt not available
-#define NRF_ERROR_SOC_NVIC_INTERRUPT_PRIORITY_NOT_ALLOWED (NRF_ERROR_SOC_BASE_NUM + 2)  ///< NVIC interrupt priority not allowed
-#define NRF_ERROR_SOC_NVIC_SHOULD_NOT_RETURN              (NRF_ERROR_SOC_BASE_NUM + 3)  ///< NVIC should not return
-
-/* Power errors */
-#define NRF_ERROR_SOC_POWER_MODE_UNKNOWN                  (NRF_ERROR_SOC_BASE_NUM + 4)  ///< Power mode unknown
-#define NRF_ERROR_SOC_POWER_POF_THRESHOLD_UNKNOWN         (NRF_ERROR_SOC_BASE_NUM + 5)  ///< Power POF threshold unknown
-#define NRF_ERROR_SOC_POWER_OFF_SHOULD_NOT_RETURN         (NRF_ERROR_SOC_BASE_NUM + 6)  ///< Power off should not return
-
-/* Rand errors */
-#define NRF_ERROR_SOC_RAND_NOT_ENOUGH_VALUES              (NRF_ERROR_SOC_BASE_NUM + 7)  ///< RAND not enough values
-
-/* PPI errors */
-#define NRF_ERROR_SOC_PPI_INVALID_CHANNEL                 (NRF_ERROR_SOC_BASE_NUM + 8)  ///< Invalid PPI Channel
-#define NRF_ERROR_SOC_PPI_INVALID_GROUP                   (NRF_ERROR_SOC_BASE_NUM + 9)  ///< Invalid PPI Group
-
-#endif // NRF_ERROR_SOC_H__
-/**
-  @}
-  @}
-*/
--- a/TARGET_NRF51822/TARGET_NORDIC/TARGET_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/nrf_mbr.h	Fri Jul 25 09:46:51 2014 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,155 +0,0 @@
-/*
- * Copyright (c) 2014 Nordic Semiconductor. All Rights Reserved.
- *
- * The information contained herein is confidential property of Nordic Semiconductor. The use,
- * copying, transfer or disclosure of such information is prohibited except by express written
- * agreement with Nordic Semiconductor.
- *
- */
-/**
-  @defgroup nrf_mbr_api Master Boot Record API
-  @{
-     
-  @brief APIs for updating SoftDevice and BootLoader
- 
-*/
-
-/* Header guard */
-#ifndef NRF_MBR_H__
-#define NRF_MBR_H__
-
-#include "nrf_svc.h"
-#include <stdint.h>
-
-
-/** @addtogroup NRF_MBR_DEFINES Defines
- * @{ */
-
-/**@brief MBR SVC Base number. */
-#define MBR_SVC_BASE 0x18   
-/** @} */
-
-/** @addtogroup NRF_MBR_ENUMS Enumerations
- * @{ */
-
-/**@brief nRF Master Boot Record API SVC numbers. */
-enum NRF_MBR_SVCS
-{
-  SD_MBR_COMMAND = MBR_SVC_BASE, /**< ::sd_mbr_command */
-};
-
-/**@brief Possible values for ::sd_mbr_command_t.command */
-enum NRF_MBR_COMMANDS
-{
-  SD_MBR_COMMAND_COPY_BL,               /**< Copy a new a new BootLoader. @see sd_mbr_command_copy_bl_t */
-  SD_MBR_COMMAND_COPY_SD,               /**< Copy a new SoftDevice. @see ::sd_mbr_command_copy_sd_t*/
-  SD_MBR_COMMAND_INIT_SD,               /**< Init forwarding interrupts to SD, and run reset function in SD*/
-  SD_MBR_COMMAND_COMPARE,               /**< This command works like memcmp. @see ::sd_mbr_command_compare_t*/
-  SD_MBR_COMMAND_VECTOR_TABLE_BASE_SET, /**< Start forwarding all exception to this address @see ::sd_mbr_command_vector_table_base_set_t*/
-};
-
-/** @} */
-
-/** @addtogroup NRF_MBR_TYPES Types
- * @{ */
-
-/**@brief This command copies part of a new SoftDevice
- * The destination area is erased before copying. 
- * If dst is in the middle of a flash page, that whole flash page will be erased.
- * If (dst+len) is in the middle of a flash page, that whole flash page will be erased.
- * 
- * The user of this function is responsible for setting the PROTENSET registers.
- * 
- * @retval ::NRF_SUCCESS indicates that the contents of the memory blocks where copied correctly.
- * @retval ::NRF_ERROR_INTERNAL indicates that the contents of the memory blocks where not verified correctly after copying.
- */
-typedef struct
-{
-  uint32_t *src;  /**< Pointer to the source of data to be copied.*/
-  uint32_t *dst;  /**< Pointer to the destination where the content is to be copied.*/
-  uint32_t len;   /**< Number of 32 bit words to copy. Must be a multiple of 256 words*/
-}sd_mbr_command_copy_sd_t;
-
-
-/**@brief This command works like memcmp, but takes the length in words.
- *
- * @retval ::NRF_SUCCESS indicates that the contents of both memory blocks are equal.
- * @retval ::NRF_ERROR_NULL indicates that the contents of the memory blocks are not equal.
- */
-typedef struct
-{
-  uint32_t *ptr1; /**< Pointer to block of memory */
-  uint32_t *ptr2; /**< Pointer to block of memory */
-  uint32_t len;   /**< Number of 32 bit words to compare*/
-}sd_mbr_command_compare_t;
-
-
-/**@brief This command copies a new BootLoader.
- *  With this command, destination of BootLoader is always the address written in NRF_UICR->BOOTADDR.
- *
- *  Destination is erased by this function.
- *  If (destination+bl_len) is in the middle of a flash page, that whole flash page will be erased.
- *
- *  This function will use PROTENSET to protect the flash that is not intended to be written.
- * 
- *  On Success, this function will not return. It will start the new BootLoader from reset-vector as normal.
- *
- * @retval ::NRF_ERROR_INVALID_STATE indicates that something was wrong.
- * @retval ::NRF_ERROR_INTERNAL indicates an internal error that should not happen.
- * @retval ::NRF_ERROR_FORBIDDEN if NRF_UICR->BOOTADDR is not set
- * @retval ::NRF_ERROR_INVALID_LENGTH is invalid.
- */
-typedef struct
-{
-  uint32_t *bl_src;  /**< Pointer to the source of the Bootloader to be be copied.*/
-  uint32_t bl_len;   /**< Number of 32 bit words to copy for BootLoader */
-}sd_mbr_command_copy_bl_t;
-
-/**@brief Sets the base address of the interrupt vector table for interrupts forwarded from the MBR
- * 
- * Once this function has been called, this address is where the MBR will start to forward interrupts to after a reset.
- *
- * To restore default forwarding thiss function should be called with @param address set to 0.
- * The MBR will then start forwarding to interrupts to the adress in NFR_UICR->BOOTADDR or to the SoftDevice if the BOOTADDR is not set.
- *
- * @retval ::NRF_SUCCESS
- */
-typedef struct
-{ 
-  uint32_t address; /**< The base address of the interrupt vector table for forwarded interrupts.*/
-}sd_mbr_command_vector_table_base_set_t;
-
-typedef struct
-{
-  uint32_t command;  /**< type of command to be issued see @ref NRF_MBR_COMMANDS. */
-  union 
-  {
-    sd_mbr_command_copy_sd_t copy_sd;  /**< Parameters for copy*/
-    sd_mbr_command_copy_bl_t copy_bl;  /**< Parameters for copy SoftDevice and BootLoader*/
-    sd_mbr_command_compare_t compare;  /**< Parameters for verify*/
-    sd_mbr_command_vector_table_base_set_t base_set; /**< Parameters for vector table base set.*/
-  } params;
-}sd_mbr_command_t;
-
-/** @} */
-
-/** @addtogroup NRF_MBR_FUNCTIONS Functions
- * @{ */
-
-/**@brief Issue Master Boot Record commands
- *
- * Commands used when updating a SoftDevice and bootloader
- *
- * @param[in]  param Pointer to a struct describing the command
- *
- *@note for retvals see ::sd_mbr_command_copy_sd_t ::sd_mbr_command_copy_bl_t ::sd_mbr_command_compare_t
-
-*/
-SVCALL(SD_MBR_COMMAND, uint32_t, sd_mbr_command(sd_mbr_command_t* param));
-
-/** @} */
-#endif // NRF_MBR_H__
-
-/**
-  @}
-*/
--- a/TARGET_NRF51822/TARGET_NORDIC/TARGET_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/nrf_sdm.h	Fri Jul 25 09:46:51 2014 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,167 +0,0 @@
-/*
- * Copyright (c) 2011 Nordic Semiconductor. All Rights Reserved.
- *
- * The information contained herein is confidential property of Nordic Semiconductor. The use,
- * copying, transfer or disclosure of such information is prohibited except by express written
- * agreement with Nordic Semiconductor.
- *
- */
-/**
-  @defgroup nrf_sdm_api SoftDevice Manager API
-  @{
-     
-  @brief APIs for SoftDevice management.
- 
-*/
-
-/* Header guard */
-#ifndef NRF_SDM_H__
-#define NRF_SDM_H__
-
-#include "nrf_svc.h"
-#include "nrf51.h"
-#include "nrf_soc.h"
-#include "nrf_error_sdm.h"
-
-/** @addtogroup NRF_SDM_DEFINES Defines
- * @{ */
-
-/**@brief SoftDevice Manager SVC Base number. */
-#define SDM_SVC_BASE  (0x10)
-
-/** @} */
-
-/** @addtogroup NRF_SDM_ENUMS Enumerations
- * @{ */
-
-/**@brief nRF SoftDevice Manager API SVC numbers. */
-enum NRF_SD_SVCS
-{
-  SD_SOFTDEVICE_ENABLE = SDM_SVC_BASE, /**< ::sd_softdevice_enable */
-  SD_SOFTDEVICE_DISABLE,               /**< ::sd_softdevice_disable */
-  SD_SOFTDEVICE_IS_ENABLED,            /**< ::sd_softdevice_is_enabled */
-  SD_SOFTDEVICE_VECTOR_TABLE_BASE_SET, /**< ::sd_softdevice_vector_table_base_set */
-  SVC_SDM_LAST                         /**< Placeholder for last SDM SVC */
-};
-
-/**@brief Possible lfclk oscillator sources. */
-enum NRF_CLOCK_LFCLKSRCS
-{
-  NRF_CLOCK_LFCLKSRC_SYNTH_250_PPM,                       /**< LFCLK Synthesized from HFCLK.                    */
-  NRF_CLOCK_LFCLKSRC_XTAL_500_PPM,                        /**< LFCLK crystal oscillator 500 PPM accuracy.       */
-  NRF_CLOCK_LFCLKSRC_XTAL_250_PPM,                        /**< LFCLK crystal oscillator 250 PPM accuracy.       */
-  NRF_CLOCK_LFCLKSRC_XTAL_150_PPM,                        /**< LFCLK crystal oscillator 150 PPM accuracy.       */
-  NRF_CLOCK_LFCLKSRC_XTAL_100_PPM,                        /**< LFCLK crystal oscillator 100 PPM accuracy.       */
-  NRF_CLOCK_LFCLKSRC_XTAL_75_PPM,                         /**< LFCLK crystal oscillator 75 PPM accuracy.        */
-  NRF_CLOCK_LFCLKSRC_XTAL_50_PPM,                         /**< LFCLK crystal oscillator 50 PPM accuracy.        */
-  NRF_CLOCK_LFCLKSRC_XTAL_30_PPM,                         /**< LFCLK crystal oscillator 30 PPM accuracy.        */
-  NRF_CLOCK_LFCLKSRC_XTAL_20_PPM,                         /**< LFCLK crystal oscillator 20 PPM accuracy.        */
-  NRF_CLOCK_LFCLKSRC_RC_250_PPM_250MS_CALIBRATION,        /**< LFCLK RC oscillator, 250ms  calibration interval.*/
-  NRF_CLOCK_LFCLKSRC_RC_250_PPM_500MS_CALIBRATION,        /**< LFCLK RC oscillator, 500ms  calibration interval.*/
-  NRF_CLOCK_LFCLKSRC_RC_250_PPM_1000MS_CALIBRATION,       /**< LFCLK RC oscillator, 1000ms calibration interval.*/
-  NRF_CLOCK_LFCLKSRC_RC_250_PPM_2000MS_CALIBRATION,       /**< LFCLK RC oscillator, 2000ms calibration interval.*/
-  NRF_CLOCK_LFCLKSRC_RC_250_PPM_4000MS_CALIBRATION,       /**< LFCLK RC oscillator, 4000ms calibration interval.*/
-  NRF_CLOCK_LFCLKSRC_RC_250_PPM_8000MS_CALIBRATION,       /**< LFCLK RC oscillator, 8000ms calibration interval.*/
-  NRF_CLOCK_LFCLKSRC_RC_250_PPM_TEMP_1000MS_CALIBRATION,  /**< LFCLK RC oscillator. Temperature checked every 1000ms, if changed above a threshold, a calibration is done.*/
-  NRF_CLOCK_LFCLKSRC_RC_250_PPM_TEMP_2000MS_CALIBRATION,  /**< LFCLK RC oscillator. Temperature checked every 2000ms, if changed above a threshold, a calibration is done.*/
-  NRF_CLOCK_LFCLKSRC_RC_250_PPM_TEMP_4000MS_CALIBRATION,  /**< LFCLK RC oscillator. Temperature checked every 4000ms, if changed above a threshold, a calibration is done.*/
-  NRF_CLOCK_LFCLKSRC_RC_250_PPM_TEMP_8000MS_CALIBRATION,  /**< LFCLK RC oscillator. Temperature checked every 8000ms, if changed above a threshold, a calibration is done.*/
-  NRF_CLOCK_LFCLKSRC_RC_250_PPM_TEMP_16000MS_CALIBRATION, /**< LFCLK RC oscillator. Temperature checked every 16000ms, if changed above a threshold, a calibration is done.*/
-};
-
-/** @} */
-
-/** @addtogroup NRF_SDM_TYPES Types
- * @{ */
-
-/**@brief Type representing lfclk oscillator source. */
-typedef uint32_t nrf_clock_lfclksrc_t;
-
-
-/**@brief SoftDevice Assertion Handler type.
- *
- * When an unexpected error occurs within the SoftDevice it will call the SoftDevice assertion handler callback.
- * The protocol stack will be in an undefined state when this happens and the only way to recover will be to
- * perform a reset, using e.g. CMSIS NVIC_SystemReset().
- *
- * @note This callback is executed in HardFault context, thus SVC functions cannot be called from the SoftDevice assert callback.
- *       
- * @param[in] pc The program counter of the failed assert.
- * @param[in] line_number Line number where the assert failed.
- * @param[in] file_name File name where the assert failed.
- */
-typedef void (*softdevice_assertion_handler_t)(uint32_t pc, uint16_t line_number, const uint8_t * p_file_name);
-
-/** @} */
-
-/** @addtogroup NRF_SDM_FUNCTIONS Functions
- * @{ */
-
-/**@brief Enables the SoftDevice and by extension the protocol stack.
- *
- * Idempotent function to enable the SoftDevice.
- *
- * @note Some care must be taken if a low frequency clock source is already running when calling this function:
- *       If the LF clock has a different source then the one currently running, it will be stopped. Then, the new
- *       clock source will be started.
- *
- * @note This function has no effect when returning with an error.
- *
- * @post If return code is ::NRF_SUCCESS 
- *       - SoC library and protocol stack APIs are made available
- *       - A portion of RAM will be unavailable (see relevant SDS documentation)
- *       - Some peripherals will be unavailable or available only through the SoC API (see relevant SDS documentation)
- *       - Interrupts will not arrive from protected peripherals or interrupts
- *       - nrf_nvic_ functions must be used instead of CMSIS NVIC_ functions for reliable usage of the softdevice.
- *       - Interrupt latency may be affected by the SoftDevice  (see relevant SDS documentation)
- *       - Chosen low frequency clock source will be running
- *
- * @param clock_source Low frequency clock source and accuracy. (Note: In the case of XTAL source, the PPM accuracy of the chosen clock source must be greater than or equal to the actual characteristics of your XTAL clock).
- * @param assertion_handler Callback for SoftDevice assertions.
- *
- * @retval ::NRF_SUCCESS
- * @retval ::NRF_ERROR_SDM_INCORRECT_INTERRUPT_CONFIGURATION SoftDeviceinterrupt is already enabled, or an enabled interrupt has an illegal priority level
- * @retval ::NRF_ERROR_SDM_LFCLK_SOURCE_UNKNOWN Unknown low frequency clock source selected
- */
-SVCALL(SD_SOFTDEVICE_ENABLE, uint32_t, sd_softdevice_enable(nrf_clock_lfclksrc_t clock_source, softdevice_assertion_handler_t assertion_handler));
-
-/**@brief Disables the SoftDevice and by extension the protocol stack.
- * 
- * Idempotent function to disable the SoftDevice.
- *
- * @post SoC library and protocol stack APIs are made unavailable.
- * @post All interrupts that was protected by the SoftDevice will be disabled and initialized to priority 0 (highest).
- * @post All peripherals used by the SoftDevice will be reset to default values.
- * @post All of RAM become available.
- * @post All interrupts are forwarded to the application.
- * @post LFCLK source chosen in ::sd_softdevice_enable will be left running.
- *
- * @retval ::NRF_SUCCESS
- */
-SVCALL(SD_SOFTDEVICE_DISABLE, uint32_t, sd_softdevice_disable(void));
-
-/**@brief Check if the SoftDevice is enabled.
- *
- * @param[out]  p_softdevice_enabled If the SoftDevice is enabled: 1 else 0.
- *
- * @retval ::NRF_SUCCESS
- */
-SVCALL(SD_SOFTDEVICE_IS_ENABLED, uint32_t, sd_softdevice_is_enabled(uint8_t * p_softdevice_enabled));
-
-/**@brief Sets the base address of the interrupt vector table for interrupts forwarded from the SoftDevice
- * 
- * This function is only intended to be called when a bootloader is enabled.
- *
- * @param[in] address The base address of the interrupt vector table for forwarded interrupts.
- 
- * @retval ::NRF_SUCCESS
- */
-SVCALL(SD_SOFTDEVICE_VECTOR_TABLE_BASE_SET, uint32_t, sd_softdevice_vector_table_base_set(uint32_t address)); 
-
-/** @} */
-
-#endif // NRF_SDM_H__
-
-/**
-  @}
-*/
--- a/TARGET_NRF51822/TARGET_NORDIC/TARGET_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/nrf_soc.h	Fri Jul 25 09:46:51 2014 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,958 +0,0 @@
-/* Copyright (c) 2011 Nordic Semiconductor. All Rights Reserved.
- *
- * The information contained herein is confidential property of Nordic Semiconductor. The use,
- * copying, transfer or disclosure of such information is prohibited except by express written
- * agreement with Nordic Semiconductor.
- *
- */
- 
-/**
- * @defgroup nrf_soc_api SoC Library API
- * @{
- * 
- * @brief APIs for the SoC library.
- * 
-*/
-
-#ifndef NRF_SOC_H__
-#define NRF_SOC_H__
-
-#include <stdint.h>
-#include <stdbool.h>
-#include "nrf_svc.h"
-#include "nrf51.h"
-#include "nrf51_bitfields.h"
-#include "nrf_error_soc.h"
-
-/** @addtogroup NRF_SOC_DEFINES Defines
- * @{ */
-
-/**@brief The number of the lowest SVC number reserved for the SoC library. */
-#define SOC_SVC_BASE               (0x20)
-#define SOC_SVC_BASE_NOT_AVAILABLE (0x23)
-
-/**@brief Guranteed time for application to process radio inactive notification. */
-#define NRF_RADIO_NOTIFICATION_INACTIVE_GUARANTEED_TIME_US  (62)
-
-/**@brief The minimum allowed timeslot extension time. */
-#define NRF_RADIO_MINIMUM_TIMESLOT_LENGTH_EXTENSION_TIME_US (200)
-
-#define SOC_ECB_KEY_LENGTH            (16)                       /**< ECB key length. */
-#define SOC_ECB_CLEARTEXT_LENGTH      (16)                       /**< ECB cleartext length. */
-#define SOC_ECB_CIPHERTEXT_LENGTH     (SOC_ECB_CLEARTEXT_LENGTH) /**< ECB ciphertext length. */
-
-#define SD_EVT_IRQn                   (SWI2_IRQn)        /**< SoftDevice Event IRQ number. Used for both protocol events and SoC events. */
-#define SD_EVT_IRQHandler             (SWI2_IRQHandler)  /**< SoftDevice Event IRQ handler. Used for both protocol events and SoC events. */
-#define RADIO_NOTIFICATION_IRQn       (SWI1_IRQn)        /**< The radio notification IRQ number. */
-#define RADIO_NOTIFICATION_IRQHandler (SWI1_IRQHandler)  /**< The radio notification IRQ handler. */
-
-#define NRF_RADIO_LENGTH_MIN_US       (100)               /**< The shortest allowed radio timeslot, in microseconds. */
-#define NRF_RADIO_LENGTH_MAX_US       (100000)            /**< The longest allowed radio timeslot, in microseconds. */
-
-#define NRF_RADIO_DISTANCE_MAX_US         (128000000UL - 1UL) /**< The longest timeslot distance, in microseconds, allowed for the distance parameter (see @ref nrf_radio_request_normal_t) in the request. */
-
-#define NRF_RADIO_EARLIEST_TIMEOUT_MAX_US (128000000UL - 1UL) /**< The longest timeout, in microseconds, allowed when requesting the earliest possible timeslot. */
-
-#define NRF_RADIO_START_JITTER_US     (2)                 /**< The maximum jitter in NRF_RADIO_CALLBACK_SIGNAL_TYPE_START relative to the requested start time. */
-
-/** @} */
-
-/** @addtogroup NRF_SOC_TYPES Types
- * @{ */
-
-/**@brief The SVC numbers used by the SVC functions in the SoC library. */
-enum NRF_SOC_SVCS
-{
-  SD_FLASH_PAGE_ERASE = SOC_SVC_BASE,
-  SD_FLASH_WRITE,
-  SD_FLASH_PROTECT,
-  SD_MUTEX_NEW = SOC_SVC_BASE_NOT_AVAILABLE,
-  SD_MUTEX_ACQUIRE,
-  SD_MUTEX_RELEASE,
-  SD_NVIC_ENABLEIRQ,
-  SD_NVIC_DISABLEIRQ,
-  SD_NVIC_GETPENDINGIRQ,
-  SD_NVIC_SETPENDINGIRQ,
-  SD_NVIC_CLEARPENDINGIRQ,
-  SD_NVIC_SETPRIORITY,
-  SD_NVIC_GETPRIORITY,
-  SD_NVIC_SYSTEMRESET,
-  SD_NVIC_CRITICAL_REGION_ENTER,
-  SD_NVIC_CRITICAL_REGION_EXIT,
-  SD_RAND_APPLICATION_POOL_CAPACITY,
-  SD_RAND_APPLICATION_BYTES_AVAILABLE,
-  SD_RAND_APPLICATION_GET_VECTOR,
-  SD_POWER_MODE_SET,
-  SD_POWER_SYSTEM_OFF,
-  SD_POWER_RESET_REASON_GET,
-  SD_POWER_RESET_REASON_CLR,
-  SD_POWER_POF_ENABLE,
-  SD_POWER_POF_THRESHOLD_SET,
-  SD_POWER_RAMON_SET,
-  SD_POWER_RAMON_CLR,
-  SD_POWER_RAMON_GET,
-  SD_POWER_GPREGRET_SET,
-  SD_POWER_GPREGRET_CLR,
-  SD_POWER_GPREGRET_GET,
-  SD_POWER_DCDC_MODE_SET,
-  SD_APP_EVT_WAIT,
-  SD_CLOCK_HFCLK_REQUEST,
-  SD_CLOCK_HFCLK_RELEASE,
-  SD_CLOCK_HFCLK_IS_RUNNING,
-  SD_PPI_CHANNEL_ENABLE_GET,
-  SD_PPI_CHANNEL_ENABLE_SET,
-  SD_PPI_CHANNEL_ENABLE_CLR,
-  SD_PPI_CHANNEL_ASSIGN,
-  SD_PPI_GROUP_TASK_ENABLE,
-  SD_PPI_GROUP_TASK_DISABLE,
-  SD_PPI_GROUP_ASSIGN,
-  SD_PPI_GROUP_GET,
-  SD_RADIO_NOTIFICATION_CFG_SET,
-  SD_ECB_BLOCK_ENCRYPT,
-  SD_RADIO_SESSION_OPEN,
-  SD_RADIO_SESSION_CLOSE,
-  SD_RADIO_REQUEST,
-  SD_EVT_GET,
-  SD_TEMP_GET,
-  SVC_SOC_LAST
-};
-
-/**@brief Possible values of a ::nrf_mutex_t. */
-enum NRF_MUTEX_VALUES
-{
-  NRF_MUTEX_FREE,
-  NRF_MUTEX_TAKEN
-};
-
-/**@brief Possible values of ::nrf_app_irq_priority_t. */
-enum NRF_APP_PRIORITIES
-{
-  NRF_APP_PRIORITY_HIGH = 1,
-  NRF_APP_PRIORITY_LOW = 3
-};
-
-/**@brief Possible values of ::nrf_power_mode_t. */
-enum NRF_POWER_MODES
-{
-  NRF_POWER_MODE_CONSTLAT,  /**< Constant latency mode. See power management in the reference manual. */
-  NRF_POWER_MODE_LOWPWR     /**< Low power mode. See power management in the reference manual. */
-};
-
-
-/**@brief Possible values of ::nrf_power_failure_threshold_t */
-enum NRF_POWER_THRESHOLDS
-{
-  NRF_POWER_THRESHOLD_V21,  /**< 2.1 Volts power failure threshold. */
-  NRF_POWER_THRESHOLD_V23,  /**< 2.3 Volts power failure threshold. */
-  NRF_POWER_THRESHOLD_V25,  /**< 2.5 Volts power failure threshold. */ 
-  NRF_POWER_THRESHOLD_V27   /**< 2.7 Volts power failure threshold. */
-};
-
-
-/**@brief Possible values of ::nrf_power_dcdc_mode_t. */
-enum NRF_POWER_DCDC_MODES
-{
-  NRF_POWER_DCDC_MODE_OFF,          /**< The DCDC is always off. */
-  NRF_POWER_DCDC_MODE_ON,           /**< The DCDC is always on. */
-  NRF_POWER_DCDC_MODE_AUTOMATIC     /**< The DCDC is automatically managed. */
-};
-
-/**@brief Possible values of ::nrf_radio_notification_distance_t. */
-enum NRF_RADIO_NOTIFICATION_DISTANCES
-{
-  NRF_RADIO_NOTIFICATION_DISTANCE_NONE = 0, /**< The event does not have a notification. */
-  NRF_RADIO_NOTIFICATION_DISTANCE_800US,    /**< The distance from the active notification to start of radio activity. */
-  NRF_RADIO_NOTIFICATION_DISTANCE_1740US,   /**< The distance from the active notification to start of radio activity. */
-  NRF_RADIO_NOTIFICATION_DISTANCE_2680US,   /**< The distance from the active notification to start of radio activity. */
-  NRF_RADIO_NOTIFICATION_DISTANCE_3620US,   /**< The distance from the active notification to start of radio activity. */
-  NRF_RADIO_NOTIFICATION_DISTANCE_4560US,   /**< The distance from the active notification to start of radio activity. */
-  NRF_RADIO_NOTIFICATION_DISTANCE_5500US    /**< The distance from the active notification to start of radio activity. */
-};
-
-
-/**@brief Possible values of ::nrf_radio_notification_type_t. */
-enum NRF_RADIO_NOTIFICATION_TYPES
-{
-  NRF_RADIO_NOTIFICATION_TYPE_NONE = 0,        /**< The event does not have a radio notification signal. */
-  NRF_RADIO_NOTIFICATION_TYPE_INT_ON_ACTIVE,   /**< Using interrupt for notification when the radio will be enabled. */
-  NRF_RADIO_NOTIFICATION_TYPE_INT_ON_INACTIVE, /**< Using interrupt for notification when the radio has been disabled. */
-  NRF_RADIO_NOTIFICATION_TYPE_INT_ON_BOTH,     /**< Using interrupt for notification both when the radio will be enabled and disabled. */
-};
-
-/**@brief SoC Events. */
-enum NRF_SOC_EVTS
-{
-  NRF_EVT_HFCLKSTARTED,                         /**< Event indicating that the HFCLK has started. */
-  NRF_EVT_POWER_FAILURE_WARNING,                /**< Event indicating that a power failure warning has occurred. */
-  NRF_EVT_FLASH_OPERATION_SUCCESS,              /**< Event indicating that the ongoing flash operation has completed successfully. */
-  NRF_EVT_FLASH_OPERATION_ERROR,                /**< Event indicating that the ongoing flash operation has timed out with an error. */
-  NRF_EVT_RADIO_BLOCKED,                        /**< Event indicating that a radio timeslot was blocked. */
-  NRF_EVT_RADIO_CANCELED,                       /**< Event indicating that a radio timeslot was canceled by SoftDevice. */
-  NRF_EVT_RADIO_SIGNAL_CALLBACK_INVALID_RETURN, /**< Event indicating that a radio signal callback handler return was invalid. */
-  NRF_EVT_RADIO_SESSION_IDLE,                   /**< Event indicating that a radio session is idle. */
-  NRF_EVT_RADIO_SESSION_CLOSED,                 /**< Event indicating that a radio session is closed. */
-  NRF_EVT_NUMBER_OF_EVTS
-};
-
-/** @} */
-
-/** @addtogroup NRF_SOC_TYPES Types
- * @{ */
-
-/**@brief Represents a mutex for use with the nrf_mutex functions.
- * @note Accessing the value directly is not safe, use the mutex functions!
- */
-typedef volatile uint8_t nrf_mutex_t;
-
-/**@brief The interrupt priorities available to the application while the softdevice is active. */
-typedef uint8_t nrf_app_irq_priority_t;
-
-/**@brief Represents a power mode, used in power mode functions */
-typedef uint8_t nrf_power_mode_t;
-
-/**@brief Represents a power failure threshold value. */
-typedef uint8_t nrf_power_failure_threshold_t;
-
-/**@brief Represents a DCDC mode value. */
-typedef uint32_t nrf_power_dcdc_mode_t;
-
-/**@brief Radio notification distances. */
-typedef uint8_t nrf_radio_notification_distance_t;
-
-/**@brief Radio notification types. */
-typedef uint8_t nrf_radio_notification_type_t;
-
-/** @brief The Radio signal callback types. */
-enum NRF_RADIO_CALLBACK_SIGNAL_TYPE
-{
-  NRF_RADIO_CALLBACK_SIGNAL_TYPE_START,            /**< This signal indicates the start of the radio timeslot. */
-  NRF_RADIO_CALLBACK_SIGNAL_TYPE_TIMER0,            /**< This signal indicates the NRF_TIMER0 interrupt. */
-  NRF_RADIO_CALLBACK_SIGNAL_TYPE_RADIO,             /**< This signal indicates the NRF_RADIO interrupt. */
-  NRF_RADIO_CALLBACK_SIGNAL_TYPE_EXTEND_FAILED,     /**< This signal indicates extend action failed. */
-  NRF_RADIO_CALLBACK_SIGNAL_TYPE_EXTEND_SUCCEEDED   /**< This signal indicates extend action succeeded. */
-};
-
-/** @brief The actions requested by the signal callback.
- *
- *  This code gives the SOC instructions about what action to take when the signal callback has
- *  returned.
- */
-enum NRF_RADIO_SIGNAL_CALLBACK_ACTION
-{
-  NRF_RADIO_SIGNAL_CALLBACK_ACTION_NONE,            /**< Return without action. */
-  NRF_RADIO_SIGNAL_CALLBACK_ACTION_EXTEND,          /**< Request an extension of the current timeslot (maximum execution time for this action is when the extension succeeded). */
-  NRF_RADIO_SIGNAL_CALLBACK_ACTION_END,             /**< End the current radio timeslot. */
-  NRF_RADIO_SIGNAL_CALLBACK_ACTION_REQUEST_AND_END  /**< Request a new radio timeslot and end the current timeslot. */
-};
-
-/**@brief Radio timeslot high frequency clock source configuration. */
-enum NRF_RADIO_HFCLK_CFG
-{
-  NRF_RADIO_HFCLK_CFG_DEFAULT,                      /**< Use the currently selected oscillator as HF clock source during the timeslot (i.e. the source is not specified). */
-  NRF_RADIO_HFCLK_CFG_FORCE_XTAL,                   /**< Force external crystal to be used as HF clock source during whole the timeslot. */
-};
-
-/** @brief Radio timeslot priorities. */
-enum NRF_RADIO_PRIORITY
-{
-  NRF_RADIO_PRIORITY_HIGH,                          /**< High (equal priority as the normal connection priority of the SoftDevice stack(s)). */
-  NRF_RADIO_PRIORITY_NORMAL,                        /**< Normal (equal priority as the priority of secondary activites of the SoftDevice stack(s)). */
-};
-
-/** @brief Radio timeslot request type. */
-enum NRF_RADIO_REQUEST_TYPE
-{
-  NRF_RADIO_REQ_TYPE_EARLIEST,                      /**< Request timeslot as early as possible. This should always be used for the first request in a session. */
-  NRF_RADIO_REQ_TYPE_NORMAL                         /**< Normal timeslot request. */
-};
-
-/** @brief Parameters for a request for a timeslot as early as possible. */
-typedef struct
-{
-  uint8_t       hfclk;                              /**< High frequency clock source, see @ref NRF_RADIO_HFCLK_CFG. */
-  uint8_t       priority;                           /**< The radio timeslot priority, see @ref NRF_RADIO_PRIORITY. */
-  uint32_t      length_us;                          /**< The radio timeslot length (in the range 100 to 100,000] microseconds). */
-  uint32_t      timeout_us;                         /**< Longest acceptable delay until the start of the requested timeslot (up to @ref NRF_RADIO_EARLIEST_TIMEOUT_MAX_US microseconds). */
-} nrf_radio_request_earliest_t;
-
-/** @brief Parameters for a normal radio request. */
-typedef struct
-{
-  uint8_t       hfclk;                              /**< High frequency clock source, see @ref NRF_RADIO_HFCLK_CFG. */
-  uint8_t       priority;                           /**< The radio timeslot priority, see @ref NRF_RADIO_PRIORITY. */
-  uint32_t      distance_us;                        /**< Distance from the start of the previous radio timeslot (up to @ref NRF_RADIO_DISTANCE_MAX_US microseconds). */
-  uint32_t      length_us;                          /**< The radio timeslot length (in the range [100..100,000] microseconds). */
-} nrf_radio_request_normal_t;
-
-/** @brief Radio request parameters. */
-typedef struct
-{
-  uint8_t                         request_type;     /**< Type of request, see @ref NRF_RADIO_REQUEST_TYPE. */
-  union
-  {
-    nrf_radio_request_earliest_t  earliest;         /**< Parameters for a request for a timeslot as early as possible. */
-    nrf_radio_request_normal_t    normal;           /**< Parameters for a normal radio request. */
-  } params;
-} nrf_radio_request_t;
-
-/**@brief Return parameters of the radio timeslot signal callback. */
-typedef struct
-{
-  uint8_t               callback_action;            /**< The action requested by the application when returning from the signal callback, see @ref NRF_RADIO_SIGNAL_CALLBACK_ACTION. */
-  union
-  {
-    struct
-    {
-      nrf_radio_request_t * p_next;                 /**< The request parameters for the next radio timeslot. */
-    } request;                                      /**< Additional parameters for return_code @ref NRF_RADIO_SIGNAL_CALLBACK_ACTION_REQUEST_AND_END. */
-    struct
-    {
-      uint32_t              length_us;              /**< Requested extension of the timeslot duration (microseconds) (for minimum time see @ref NRF_RADIO_MINIMUM_TIMESLOT_LENGTH_EXTENSION_TIME_US). */
-    } extend;                                       /**< Additional parameters for return_code @ref NRF_RADIO_SIGNAL_CALLBACK_ACTION_EXTEND. */
-  } params;
-} nrf_radio_signal_callback_return_param_t;
-
-/**@brief The radio signal callback type.
- *
- * @note In case of invalid return parameters, the radio timeslot will automatically end
- *       immediately after returning from the signal callback and the
- *       @ref NRF_EVT_RADIO_SIGNAL_CALLBACK_INVALID_RETURN event will be sent.
- * @note The returned struct pointer must remain valid after the signal callback
- *       function returns. For instance, this means that it must not point to a stack variable.
- *
- * @param[in] signal_type Type of signal, see @ref NRF_RADIO_CALLBACK_SIGNAL_TYPE.
- *
- * @return Pointer to structure containing action requested by the application.
- */
-typedef nrf_radio_signal_callback_return_param_t * (*nrf_radio_signal_callback_t) (uint8_t signal_type);
-
-/**@brief AES ECB data structure */
-typedef struct
-{
-  uint8_t key[SOC_ECB_KEY_LENGTH];                  /**< Encryption key. */
-  uint8_t cleartext[SOC_ECB_CLEARTEXT_LENGTH];      /**< Clear Text data. */
-  uint8_t ciphertext[SOC_ECB_CIPHERTEXT_LENGTH];    /**< Cipher Text data. */
-} nrf_ecb_hal_data_t;
-
-/** @} */
-
-/** @addtogroup NRF_SOC_FUNCTIONS Functions
- * @{ */
-
-/**@brief Initialize a mutex.
- *
- * @param[in] p_mutex Pointer to the mutex to initialize.
- *
- * @retval ::NRF_SUCCESS
- */
-SVCALL(SD_MUTEX_NEW, uint32_t, sd_mutex_new(nrf_mutex_t * p_mutex));
-
-/**@brief Attempt to acquire a mutex.
- *
- * @param[in] p_mutex Pointer to the mutex to acquire.
- *
- * @retval ::NRF_SUCCESS The mutex was successfully acquired.
- * @retval ::NRF_ERROR_SOC_MUTEX_ALREADY_TAKEN The mutex could not be acquired.
- */
-SVCALL(SD_MUTEX_ACQUIRE, uint32_t, sd_mutex_acquire(nrf_mutex_t * p_mutex));
-
-/**@brief Release a mutex.
- *
- * @param[in] p_mutex Pointer to the mutex to release.
- *
- * @retval ::NRF_SUCCESS
- */
-SVCALL(SD_MUTEX_RELEASE, uint32_t, sd_mutex_release(nrf_mutex_t * p_mutex));
-
-/**@brief Enable External Interrupt.
- * @note Corresponds to NVIC_EnableIRQ in CMSIS.
- *
- * @pre{IRQn is valid and not reserved by the stack}
- *
- * @param[in] IRQn See the NVIC_EnableIRQ documentation in CMSIS.
- *
- * @retval ::NRF_SUCCESS The interrupt was enabled.
- * @retval ::NRF_ERROR_SOC_NVIC_INTERRUPT_NOT_AVAILABLE The interrupt is not available for the application.
- * @retval ::NRF_ERROR_SOC_NVIC_INTERRUPT_PRIORITY_NOT_ALLOWED The interrupt has a priority not available for the application.
- */
-SVCALL(SD_NVIC_ENABLEIRQ, uint32_t, sd_nvic_EnableIRQ(IRQn_Type IRQn));
-
-/**@brief  Disable External Interrupt.
- * @note Corresponds to NVIC_DisableIRQ in CMSIS.
- *
- * @pre{IRQn is valid and not reserved by the stack}
- *
- * @param[in] IRQn See the NVIC_DisableIRQ documentation in CMSIS
- *
- * @retval ::NRF_SUCCESS The interrupt was disabled.
- * @retval ::NRF_ERROR_SOC_NVIC_INTERRUPT_NOT_AVAILABLE The interrupt is not available for the application.
- */
-SVCALL(SD_NVIC_DISABLEIRQ, uint32_t, sd_nvic_DisableIRQ(IRQn_Type IRQn));
-
-/**@brief  Get Pending Interrupt.
- * @note Corresponds to NVIC_GetPendingIRQ in CMSIS.
- *
- * @pre{IRQn is valid and not reserved by the stack}
- *
- * @param[in]   IRQn          See the NVIC_GetPendingIRQ documentation in CMSIS.
- * @param[out]  p_pending_irq Return value from NVIC_GetPendingIRQ.
- *
- * @retval ::NRF_SUCCESS The interrupt is available for the application.
- * @retval ::NRF_ERROR_SOC_NVIC_INTERRUPT_NOT_AVAILABLE IRQn is not available for the application.
- */
-SVCALL(SD_NVIC_GETPENDINGIRQ, uint32_t, sd_nvic_GetPendingIRQ(IRQn_Type IRQn, uint32_t * p_pending_irq));
-
-/**@brief  Set Pending Interrupt.
- * @note Corresponds to NVIC_SetPendingIRQ in CMSIS.
- *
- * @pre{IRQn is valid and not reserved by the stack}
- *
- * @param[in] IRQn See the NVIC_SetPendingIRQ documentation in CMSIS.
- *
- * @retval ::NRF_SUCCESS The interrupt is set pending.
- * @retval ::NRF_ERROR_SOC_NVIC_INTERRUPT_NOT_AVAILABLE IRQn is not available for the application.
- */
-SVCALL(SD_NVIC_SETPENDINGIRQ, uint32_t, sd_nvic_SetPendingIRQ(IRQn_Type IRQn));
-
-/**@brief  Clear Pending Interrupt.
- * @note Corresponds to NVIC_ClearPendingIRQ in CMSIS.
- *
- * @pre{IRQn is valid and not reserved by the stack}
- *
- * @param[in] IRQn See the NVIC_ClearPendingIRQ documentation in CMSIS.
- *
- * @retval ::NRF_SUCCESS The interrupt pending flag is cleared.
- * @retval ::NRF_ERROR_SOC_NVIC_INTERRUPT_NOT_AVAILABLE IRQn is not available for the application.
- */
-SVCALL(SD_NVIC_CLEARPENDINGIRQ, uint32_t, sd_nvic_ClearPendingIRQ(IRQn_Type IRQn));
-
-/**@brief Set Interrupt Priority.
- * @note Corresponds to NVIC_SetPriority in CMSIS.
- *
- * @pre{IRQn is valid and not reserved by the stack}
- * @pre{priority is valid and not reserved by the stack}
- *
- * @param[in] IRQn      See the NVIC_SetPriority documentation in CMSIS.
- * @param[in] priority  A valid IRQ priority for use by the application.
- *
- * @retval ::NRF_SUCCESS The interrupt and priority level is available for the application.
- * @retval ::NRF_ERROR_SOC_NVIC_INTERRUPT_NOT_AVAILABLE IRQn is not available for the application.
- * @retval ::NRF_ERROR_SOC_NVIC_INTERRUPT_PRIORITY_NOT_ALLOWED The interrupt priority is not available for the application.
- */
-SVCALL(SD_NVIC_SETPRIORITY, uint32_t, sd_nvic_SetPriority(IRQn_Type IRQn, nrf_app_irq_priority_t priority));
-
-/**@brief Get Interrupt Priority.
- * @note Corresponds to NVIC_GetPriority in CMSIS.
- *
- * @pre{IRQn is valid and not reserved by the stack}
- *
- * @param[in]  IRQn         See the NVIC_GetPriority documentation in CMSIS.
- * @param[out] p_priority   Return value from NVIC_GetPriority.
- *
- * @retval ::NRF_SUCCESS The interrupt priority is returned in p_priority.
- * @retval ::NRF_ERROR_SOC_NVIC_INTERRUPT_NOT_AVAILABLE - IRQn is not available for the application.
- */
-SVCALL(SD_NVIC_GETPRIORITY, uint32_t, sd_nvic_GetPriority(IRQn_Type IRQn, nrf_app_irq_priority_t * p_priority));
-
-/**@brief System Reset.
- * @note Corresponds to NVIC_SystemReset in CMSIS.
- *
- * @retval ::NRF_ERROR_SOC_NVIC_SHOULD_NOT_RETURN
- */
-SVCALL(SD_NVIC_SYSTEMRESET, uint32_t, sd_nvic_SystemReset(void));
-
-/**@brief Enters critical region.
- *
- * @post Application interrupts will be disabled.
- * @sa sd_nvic_critical_region_exit
- *
- * @param[out]  p_is_nested_critical_region  1: If in a nested critical region.
- *                                           0: Otherwise.
- *
- * @retval ::NRF_SUCCESS
- */
-SVCALL(SD_NVIC_CRITICAL_REGION_ENTER, uint32_t, sd_nvic_critical_region_enter(uint8_t * p_is_nested_critical_region));
-
-/**@brief Exit critical region.
- *
- * @pre Application has entered a critical region using ::sd_nvic_critical_region_enter.
- * @post If not in a nested critical region, the application interrupts will restored to the state before ::sd_nvic_critical_region_enter was called. 
- *
- * @param[in] is_nested_critical_region If this is set to 1, the critical region won't be exited. @sa sd_nvic_critical_region_enter.
- *
- * @retval ::NRF_SUCCESS
- */
-SVCALL(SD_NVIC_CRITICAL_REGION_EXIT, uint32_t, sd_nvic_critical_region_exit(uint8_t is_nested_critical_region));
-
-/**@brief Query the capacity of the application random pool.
- *
- * @param[out] p_pool_capacity The capacity of the pool.
- *
- * @retval ::NRF_SUCCESS
- */
-SVCALL(SD_RAND_APPLICATION_POOL_CAPACITY, uint32_t, sd_rand_application_pool_capacity_get(uint8_t * p_pool_capacity));
-
-/**@brief Get number of random bytes available to the application.
- *
- * @param[out] p_bytes_available The number of bytes currently available in the pool.
- *
- * @retval ::NRF_SUCCESS
- */
-SVCALL(SD_RAND_APPLICATION_BYTES_AVAILABLE, uint32_t, sd_rand_application_bytes_available_get(uint8_t * p_bytes_available));
-
-/**@brief Get random bytes from the application pool.
- *
- * @param[out]  p_buff  Pointer to unit8_t buffer for storing the bytes.
- * @param[in]   length  Number of bytes to take from pool and place in p_buff.
- *
- * @retval ::NRF_SUCCESS The requested bytes were written to p_buff.
- * @retval ::NRF_ERROR_SOC_RAND_NOT_ENOUGH_VALUES No bytes were written to the buffer, because there were not enough bytes available.
-*/
-SVCALL(SD_RAND_APPLICATION_GET_VECTOR, uint32_t, sd_rand_application_vector_get(uint8_t * p_buff, uint8_t length));
-
-/**@brief Gets the reset reason register. 
- *
- * @param[out]  p_reset_reason  Contents of the NRF_POWER->RESETREAS register.
- *
- * @retval ::NRF_SUCCESS
- */
-SVCALL(SD_POWER_RESET_REASON_GET, uint32_t, sd_power_reset_reason_get(uint32_t * p_reset_reason));
-
-/**@brief Clears the bits of the reset reason register. 
- *
- * @param[in] reset_reason_clr_msk Contains the bits to clear from the reset reason register.
- *
- * @retval ::NRF_SUCCESS
- */
-SVCALL(SD_POWER_RESET_REASON_CLR, uint32_t, sd_power_reset_reason_clr(uint32_t reset_reason_clr_msk));
-
-/**@brief Sets the power mode when in CPU sleep.
- *
- * @param[in] power_mode The power mode to use when in CPU sleep. @sa sd_app_evt_wait
- *
- * @retval ::NRF_SUCCESS The power mode was set.
- * @retval ::NRF_ERROR_SOC_POWER_MODE_UNKNOWN The power mode was unknown.
- */
-SVCALL(SD_POWER_MODE_SET, uint32_t, sd_power_mode_set(nrf_power_mode_t power_mode));
-
-/**@brief Puts the chip in System OFF mode. 
- *
- * @retval ::NRF_ERROR_SOC_POWER_OFF_SHOULD_NOT_RETURN
- */
-SVCALL(SD_POWER_SYSTEM_OFF, uint32_t, sd_power_system_off(void));
-
-/**@brief Enables or disables the power-fail comparator.
- *
- * Enabling this will give a softdevice event (NRF_EVT_POWER_FAILURE_WARNING) when the power failure warning occurs.
- * The event can be retrieved with sd_evt_get();
- *
- * @param[in] pof_enable    True if the power-fail comparator should be enabled, false if it should be disabled.
- *
- * @retval ::NRF_SUCCESS
- */
-SVCALL(SD_POWER_POF_ENABLE, uint32_t, sd_power_pof_enable(uint8_t pof_enable));
-
-/**@brief Sets the power-fail threshold value.
- *
- * @param[in] threshold The power-fail threshold value to use.
- *
- * @retval ::NRF_SUCCESS The power failure threshold was set.
- * @retval ::NRF_ERROR_SOC_POWER_POF_THRESHOLD_UNKNOWN The power failure threshold is unknown.
- */
-SVCALL(SD_POWER_POF_THRESHOLD_SET, uint32_t, sd_power_pof_threshold_set(nrf_power_failure_threshold_t threshold));
-
-/**@brief Sets bits in the NRF_POWER->RAMON register.
- *
- * @param[in] ramon Contains the bits needed to be set in the NRF_POWER->RAMON register.
- *
- * @retval ::NRF_SUCCESS
- */
-SVCALL(SD_POWER_RAMON_SET, uint32_t, sd_power_ramon_set(uint32_t ramon));
-
-/** @brief Clears bits in the NRF_POWER->RAMON register.
- *
- * @param ramon Contains the bits needed to be cleared in the NRF_POWER->RAMON register.
- *
- * @retval ::NRF_SUCCESS
- */
-SVCALL(SD_POWER_RAMON_CLR, uint32_t, sd_power_ramon_clr(uint32_t ramon));
-
-/**@brief Get contents of NRF_POWER->RAMON register, indicates power status of ram blocks.
- *
- * @param[out] p_ramon Content of NRF_POWER->RAMON register.
- *
- * @retval ::NRF_SUCCESS
- */
-SVCALL(SD_POWER_RAMON_GET, uint32_t, sd_power_ramon_get(uint32_t * p_ramon));
-
-/**@brief Set bits in the NRF_POWER->GPREGRET register.
- *
- * @param[in] gpregret_msk Bits to be set in the GPREGRET register.
- *
- * @retval ::NRF_SUCCESS
- */
-SVCALL(SD_POWER_GPREGRET_SET, uint32_t, sd_power_gpregret_set(uint32_t gpregret_msk));
-
-/**@brief Clear bits in the NRF_POWER->GPREGRET register.
- *
- * @param[in] gpregret_msk Bits to be clear in the GPREGRET register.
- *
- * @retval ::NRF_SUCCESS
- */
-SVCALL(SD_POWER_GPREGRET_CLR, uint32_t, sd_power_gpregret_clr(uint32_t gpregret_msk));
-
-/**@brief Get contents of the NRF_POWER->GPREGRET register.
- *
- * @param[out] p_gpregret Contents of the GPREGRET register.
- *
- * @retval ::NRF_SUCCESS
- */
-SVCALL(SD_POWER_GPREGRET_GET, uint32_t, sd_power_gpregret_get(uint32_t *p_gpregret));
-
-/**@brief Sets the DCDC mode.
- *
- * Depending on the internal state of the SoftDevice, the mode change may not happen immediately.
- * The DCDC mode switch will be blocked when occurring in close proximity to radio transmissions. When
- * the radio transmission is done, the last mode will be used.
- *
- * @param[in] dcdc_mode The mode of the DCDC.
- *
- * @retval ::NRF_SUCCESS
- * @retval ::NRF_ERROR_INVALID_PARAM The DCDC mode is invalid.
- */
-SVCALL(SD_POWER_DCDC_MODE_SET, uint32_t, sd_power_dcdc_mode_set(nrf_power_dcdc_mode_t dcdc_mode));
-
-/**@brief Request the high frequency crystal oscillator.
- *
- * Will start the high frequency crystal oscillator, the startup time of the crystal varies
- * and the ::sd_clock_hfclk_is_running function can be polled to check if it has started.
- *
- * @see sd_clock_hfclk_is_running
- * @see sd_clock_hfclk_release
- *
- * @retval ::NRF_SUCCESS
- */
-SVCALL(SD_CLOCK_HFCLK_REQUEST, uint32_t, sd_clock_hfclk_request(void));
-
-/**@brief Releases the high frequency crystal oscillator.
- *
- * Will stop the high frequency crystal oscillator, this happens immediately.
- *
- * @see sd_clock_hfclk_is_running
- * @see sd_clock_hfclk_request
- *
- * @retval ::NRF_SUCCESS
- */
-SVCALL(SD_CLOCK_HFCLK_RELEASE, uint32_t, sd_clock_hfclk_release(void));
-
-/**@brief Checks if the high frequency crystal oscillator is running.
- *
- * @see sd_clock_hfclk_request
- * @see sd_clock_hfclk_release
- *
- * @param[out] p_is_running 1 if the external crystal oscillator is running, 0 if not.
- *
- * @retval ::NRF_SUCCESS
- */
-SVCALL(SD_CLOCK_HFCLK_IS_RUNNING, uint32_t, sd_clock_hfclk_is_running(uint32_t * p_is_running));
-
-/**@brief Waits for an application event.
- * 
- * An application event is either an application interrupt or a pended interrupt when the
- * interrupt is disabled. When the interrupt is enabled it will be taken immediately since
- * this function will wait in thread mode, then the execution will return in the application's
- * main thread. When an interrupt is disabled and gets pended it will return to the application's 
- * thread main. The application must ensure that the pended flag is cleared using 
- * ::sd_nvic_ClearPendingIRQ in order to sleep using this function. This is only necessary for
- * disabled interrupts, as the interrupt handler will clear the pending flag automatically for
- * enabled interrupts.
- *
- * In order to wake up from disabled interrupts, the SEVONPEND flag has to be set in the Cortex-M0
- * System Control Register (SCR). @sa CMSIS_SCB
- *
- * @note If an application interrupt has happened since the last time sd_app_evt_wait was
- *       called this function will return immediately and not go to sleep. This is to avoid race
- *       conditions that can occur when a flag is updated in the interrupt handler and processed
- *       in the main loop.
- *
- * @post An application interrupt has happened or a interrupt pending flag is set.
- *
- * @retval ::NRF_SUCCESS
- */
-SVCALL(SD_APP_EVT_WAIT, uint32_t, sd_app_evt_wait(void));
-
-/**@brief Get PPI channel enable register contents.
- *
- * @param[out] p_channel_enable The contents of the PPI CHEN register.
- *
- * @retval ::NRF_SUCCESS
- */
-SVCALL(SD_PPI_CHANNEL_ENABLE_GET, uint32_t, sd_ppi_channel_enable_get(uint32_t * p_channel_enable));
-
-/**@brief Set PPI channel enable register.
- *
- * @param[in] channel_enable_set_msk Mask containing the bits to set in the PPI CHEN register.
- *
- * @retval ::NRF_SUCCESS
- */
-SVCALL(SD_PPI_CHANNEL_ENABLE_SET, uint32_t, sd_ppi_channel_enable_set(uint32_t channel_enable_set_msk));
-
-/**@brief Clear PPI channel enable register.
- *
- * @param[in] channel_enable_clr_msk Mask containing the bits to clear in the PPI CHEN register.
- *
- * @retval ::NRF_SUCCESS
- */
-SVCALL(SD_PPI_CHANNEL_ENABLE_CLR, uint32_t, sd_ppi_channel_enable_clr(uint32_t channel_enable_clr_msk));
-
-/**@brief Assign endpoints to a PPI channel.
- *
- * @param[in] channel_num Number of the PPI channel to assign.
- * @param[in] evt_endpoint Event endpoint of the PPI channel.
- * @param[in] task_endpoint Task endpoint of the PPI channel.
- *
- * @retval ::NRF_ERROR_SOC_PPI_INVALID_CHANNEL The channel number is invalid.
- * @retval ::NRF_SUCCESS
- */
-SVCALL(SD_PPI_CHANNEL_ASSIGN, uint32_t, sd_ppi_channel_assign(uint8_t channel_num, const volatile void * evt_endpoint, const volatile void * task_endpoint));
-
-/**@brief Task to enable a channel group.
- *
- * @param[in] group_num Number of the channel group.
- *
- * @retval ::NRF_ERROR_SOC_PPI_INVALID_GROUP The group number is invalid
- * @retval ::NRF_SUCCESS
- */
-SVCALL(SD_PPI_GROUP_TASK_ENABLE, uint32_t, sd_ppi_group_task_enable(uint8_t group_num));
-
-/**@brief Task to disable a channel group.
- *
- * @param[in] group_num Number of the PPI group.
- *
- * @retval ::NRF_ERROR_SOC_PPI_INVALID_GROUP The group number is invalid.
- * @retval ::NRF_SUCCESS
- */
-SVCALL(SD_PPI_GROUP_TASK_DISABLE, uint32_t, sd_ppi_group_task_disable(uint8_t group_num));
-
-/**@brief Assign PPI channels to a channel group.
- *
- * @param[in] group_num Number of the channel group.
- * @param[in] channel_msk Mask of the channels to assign to the group.
- *
- * @retval ::NRF_ERROR_SOC_PPI_INVALID_GROUP The group number is invalid.
- * @retval ::NRF_SUCCESS
- */
-SVCALL(SD_PPI_GROUP_ASSIGN, uint32_t, sd_ppi_group_assign(uint8_t group_num, uint32_t channel_msk));
-
-/**@brief Gets the PPI channels of a channel group.
- *
- * @param[in]   group_num Number of the channel group.
- * @param[out]  p_channel_msk Mask of the channels assigned to the group.
- *
- * @retval ::NRF_ERROR_SOC_PPI_INVALID_GROUP The group number is invalid.
- * @retval ::NRF_SUCCESS
- */
-SVCALL(SD_PPI_GROUP_GET, uint32_t, sd_ppi_group_get(uint8_t group_num, uint32_t * p_channel_msk));
-
-/**@brief Configures the Radio Notification signal.
- *
- * @note
- *      - The notification signal latency depends on the interrupt priority settings of SWI used
- *        for notification signal.
- *      - In the period between the ACTIVE signal and the start of the Radio Event, the SoftDevice
- *        will interrupt the application to do Radio Event preparation.
- *      - Using the Radio Notification feature may limit the bandwidth, as the SoftDevice may have
- *        to shorten the connection events to have time for the Radio Notification signals.
- *
- * @param[in]  type      Type of notification signal.
- *                       @ref NRF_RADIO_NOTIFICATION_TYPE_NONE shall be used to turn off radio
- *                       notification. Using @ref NRF_RADIO_NOTIFICATION_DISTANCE_NONE is
- *                       recommended (but not required) to be used with
- *                       @ref NRF_RADIO_NOTIFICATION_TYPE_NONE.
- *
- * @param[in]  distance  Distance between the notification signal and start of radio activity.
- *                       This parameter is ignored when @ref NRF_RADIO_NOTIFICATION_TYPE_NONE or 
- *                       @ref NRF_RADIO_NOTIFICATION_TYPE_INT_ON_INACTIVE is used.
- *
- * @retval ::NRF_ERROR_INVALID_PARAM The group number is invalid.
- * @retval ::NRF_SUCCESS
- */
-SVCALL(SD_RADIO_NOTIFICATION_CFG_SET, uint32_t, sd_radio_notification_cfg_set(nrf_radio_notification_type_t type, nrf_radio_notification_distance_t distance));
-
-/**@brief Encrypts a block according to the specified parameters.
- *
- * 128-bit AES encryption.
- *
- * @param[in, out] p_ecb_data Pointer to the ECB parameters' struct (two input
- *                            parameters and one output parameter).
- *
- * @retval ::NRF_SUCCESS
- */
-SVCALL(SD_ECB_BLOCK_ENCRYPT, uint32_t, sd_ecb_block_encrypt(nrf_ecb_hal_data_t * p_ecb_data));
-
-/**@brief Gets any pending events generated by the SoC API.
- *
- * The application should keep calling this function to get events, until ::NRF_ERROR_NOT_FOUND is returned.
- *
- * @param[out] p_evt_id Set to one of the values in @ref NRF_SOC_EVTS, if any events are pending.
- *
- * @retval ::NRF_SUCCESS An event was pending. The event id is written in the p_evt_id parameter.
- * @retval ::NRF_ERROR_NOT_FOUND No pending events. 
- */
-SVCALL(SD_EVT_GET, uint32_t, sd_evt_get(uint32_t * p_evt_id));
-
-/**@brief Get the temperature measured on the chip
- * 
- * This function will block until the temperature measurement is done.
- * It takes around 50us from call to return.
- *
- * @note Pan #28 in PAN-028 v 1.6 "Negative measured values are not represented correctly" is corrected by this function.
- *
- * @param[out] p_temp Result of temperature measurement. Die temperature in 0.25 degrees celsius.
- *
- * @retval ::NRF_SUCCESS A temperature measurement was done, and the temperature was written to temp
- */
-SVCALL(SD_TEMP_GET, uint32_t, sd_temp_get(int32_t * p_temp));
-
-/**@brief Flash Write
- *
- * Commands to write a buffer to flash
- *
- * This call initiates the flash access command, and its completion will be communicated to the
- * application with exactly one of the following events:
- *      - NRF_EVT_FLASH_OPERATION_SUCCESS - The command was successfully completed.
- *      - NRF_EVT_FLASH_OPERATION_ERROR   - The command could not be started.
- *
- * @note
- *      - This call takes control over the radio and the CPU during flash erase and write to make sure that
- *        they will not interfere with the flash access. This means that all interrupts will be blocked
- *        for a predictable time (depending on the NVMC specification in nRF51 Series Reference Manual
- *        and the command parameters).
- *
- *
- * @param[in]  p_dst Pointer to start of flash location to be written.
- * @param[in]  p_src Pointer to buffer with data to be written
- * @param[in]  size  Number of 32-bit words to write. Maximum size is 256 32bit words.
- *
- * @retval ::NRF_ERROR_INVALID_ADDR   Tried to write to a non existing flash address, or p_dst or p_src was unaligned.
- * @retval ::NRF_ERROR_BUSY           The previous command has not yet completed.
- * @retval ::NRF_ERROR_INVALID_LENGTH Size was 0, or more than 256 words.
- * @retval ::NRF_ERROR_FORBIDDEN      Tried to write to or read from protected location.
- * @retval ::NRF_SUCCESS              The command was accepted.
- */
-SVCALL(SD_FLASH_WRITE, uint32_t, sd_flash_write(uint32_t * const p_dst, uint32_t const * const p_src, uint32_t size));
-
-
-/**@brief Flash Erase page
- *
- * Commands to erase a flash page
- *
- * This call initiates the flash access command, and its completion will be communicated to the
- * application with exactly one of the following events:
- *      - NRF_EVT_FLASH_OPERATION_SUCCESS - The command was successfully completed.
- *      - NRF_EVT_FLASH_OPERATION_ERROR   - The command could not be started.
- *
- * @note
- *      - This call takes control over the radio and the CPU during flash erase and write to make sure that
- *        they will not interfere with the flash access. This means that all interrupts will be blocked
- *        for a predictable time (depending on the NVMC specification in nRF51 Series Reference Manual
- *        and the command parameters).
- *
- *
- * @param[in]  page_number Pagenumber of the page to erase
- * @retval ::NRF_ERROR_INTERNAL      If a new session could not be opened due to an internal error.
- * @retval ::NRF_ERROR_INVALID_ADDR  Tried to erase to a non existing flash page.
- * @retval ::NRF_ERROR_BUSY          The previous command has not yet completed.
- * @retval ::NRF_ERROR_FORBIDDEN     Tried to erase a protected page.
- * @retval ::NRF_SUCCESS             The command was accepted.
- */
-SVCALL(SD_FLASH_PAGE_ERASE, uint32_t, sd_flash_page_erase(uint32_t page_number));
-
-
-/**@brief Flash Protection set
- *
- * Commands to set the flash protection registers PROTENSETx
- *
- * @note To read the values in PROTENSETx you can read them directly. They are only write-protected.
- *
- * @param[in]  protenset0 Value to be written to PROTENSET0
- * @param[in]  protenset1 Value to be written to PROTENSET1
- *
- * @retval ::NRF_ERROR_FORBIDDEN Tried to protect the SoftDevice
- * @retval ::NRF_SUCCESS Values successfully written to PROTENSETx
- */
-SVCALL(SD_FLASH_PROTECT, uint32_t, sd_flash_protect(uint32_t protenset0, uint32_t protenset1));
-
-/**@brief Opens a session for radio requests.
- *
- * @note Only one session can be open at a time.
- * @note p_radio_signal_callback(NRF_RADIO_CALLBACK_SIGNAL_TYPE_START) will be called when the radio timeslot
- *       starts. From this point the NRF_RADIO and NRF_TIMER0 peripherals can be freely accessed
- *       by the application.
- * @note p_radio_signal_callback(NRF_RADIO_CALLBACK_SIGNAL_TYPE_TIMER0) is called whenever the NRF_TIMER0
- *       interrupt occurs.
- * @note p_radio_signal_callback(NRF_RADIO_CALLBACK_SIGNAL_TYPE_RADIO) is called whenever the NRF_RADIO
- *       interrupt occurs.
- * @note p_radio_signal_callback() will be called at ARM interrupt priority level 0. This
- *       implies that none of the sd_* API calls can be used from p_radio_signal_callback().
- *
- * @param[in] p_radio_signal_callback The signal callback.
- *
- * @retval ::NRF_ERROR_INVALID_ADDR p_radio_signal_callback is an invalid function pointer.
- * @retval ::NRF_ERROR_BUSY If session cannot be opened.
- * @retval ::NRF_ERROR_INTERNAL If a new session could not be opened due to an internal error.
- * @retval ::NRF_SUCCESS Otherwise.
- */
- SVCALL(SD_RADIO_SESSION_OPEN, uint32_t, sd_radio_session_open(nrf_radio_signal_callback_t p_radio_signal_callback));
-
-/**@brief Closes a session for radio requests.
- *
- * @note Any current radio timeslot will be finished before the session is closed.
- * @note If a radio timeslot is scheduled when the session is closed, it will be canceled.
- * @note The application cannot consider the session closed until the NRF_EVT_RADIO_SESSION_CLOSED
- *       event is received.
- *
- * @retval ::NRF_ERROR_FORBIDDEN If session not opened.
- * @retval ::NRF_ERROR_BUSY If session is currently being closed.
- * @retval ::NRF_SUCCESS Otherwise.
- */
- SVCALL(SD_RADIO_SESSION_CLOSE, uint32_t, sd_radio_session_close(void));
-
- /**@brief Requests a radio timeslot.
- *
- * @note The timing of the radio timeslot is specified by p_request->distance_us. For the first
- *       request in a session, p_request->distance_us is required to be 0 by convention, and
- *       the timeslot is scheduled at the first possible opportunity. All following radio timeslots are
- *       requested with a distance of p_request->distance_us measured from the start of the
- *       previous radio timeslot.
- * @note A too small p_request->distance_us will lead to a NRF_EVT_RADIO_BLOCKED event.
- * @note Timeslots scheduled too close will lead to a NRF_EVT_RADIO_BLOCKED event.
- * @note See the SoftDevice Specification for more on radio timeslot scheduling, distances and lengths.
- * @note If an opportunity for the first radio timeslot is not found before 100ms after the call to this
- *       function, it is not scheduled, and instead a NRF_EVT_RADIO_BLOCKED event is sent.
- *       The application may then try to schedule the first radio timeslot again.
- * @note Successful requests will result in nrf_radio_signal_callback_t(NRF_RADIO_CALLBACK_SIGNAL_TYPE_START).
- *       Unsuccessful requests will result in a NRF_EVT_RADIO_BLOCKED event, see @ref NRF_SOC_EVTS.
- * @note The jitter in the start time of the radio timeslots is +/- NRF_RADIO_START_JITTER_US us.
- * @note The nrf_radio_signal_callback_t(NRF_RADIO_CALLBACK_SIGNAL_TYPE_START) call has a latency relative to the
- *       specified radio timeslot start, but this does not affect the actual start time of the timeslot.
- * @note NRF_TIMER0 is reset at the start of the radio timeslot, and is clocked at 1MHz from the high frequency
- *       (16 MHz) clock source. If p_request->hfclk_force_xtal is true, the high frequency clock is 
- *       guaranteed to be clocked from the external crystal.
- * @note The SoftDevice will neither access the NRF_RADIO peripheral nor the NRF_TIMER0 peripheral
- *       during the radio timeslot.
- *
- * @param[in] p_request Pointer to the request parameters.
- *
- * @retval ::NRF_ERROR_FORBIDDEN If session not opened or the session is not IDLE.
- * @retval ::NRF_ERROR_INVALID_ADDR If the p_request pointer is invalid.
- * @retval ::NRF_ERROR_INVALID_PARAM If the parameters of p_request are not valid.
- * @retval ::NRF_SUCCESS Otherwise.
- */
- SVCALL(SD_RADIO_REQUEST, uint32_t, sd_radio_request(nrf_radio_request_t * p_request ));
-
-/** @} */
-
-#endif // NRF_SOC_H__
-
-/**@} */
--- a/TARGET_NRF51822/TARGET_NORDIC/TARGET_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/nrf_svc.h	Fri Jul 25 09:46:51 2014 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,33 +0,0 @@
-#ifndef NRF_SVC__
-#define NRF_SVC__
-
-#ifdef SVCALL_AS_NORMAL_FUNCTION
-#define SVCALL(number, return_type, signature) return_type signature
-#else
-
-#ifndef SVCALL
-#if defined (__CC_ARM)
-#define SVCALL(number, return_type, signature) return_type __svc(number) signature
-#elif defined (__GNUC__)
-#define SVCALL(number, return_type, signature) \
-  _Pragma("GCC diagnostic ignored \"-Wreturn-type\"") \
-  _Pragma("GCC diagnostic ignored \"-Wunused-function\"") \
-  __attribute__((naked)) static return_type signature \
-  { \
-    __asm( \
-        "svc %0\n" \
-        "bx r14" : : "I" (number) : "r0" \
-    ); \
-  }
-#elif defined (__ICCARM__)
-#define PRAGMA(x) _Pragma(#x)
-#define SVCALL(number, return_type, signature) \
-PRAGMA(swi_number = number) \
- __swi return_type signature;
-#else
-#define SVCALL(number, return_type, signature) return_type signature  
-#endif
-#endif  // SVCALL
-
-#endif  // SVCALL_AS_NORMAL_FUNCTION
-#endif  // NRF_SVC__
--- a/TARGET_NRF51822/TARGET_NORDIC/TARGET_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/softdevice_assert.h	Fri Jul 25 09:46:51 2014 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,46 +0,0 @@
-/*
- * Copyright (c) 2012 Nordic Semiconductor. All Rights Reserved.
- *
- * The information contained herein is confidential property of Nordic Semiconductor. The use,
- * copying, transfer or disclosure of such information is prohibited except by express written
- * agreement with Nordic Semiconductor.
- *
- */
-
-/** @brief Utilities for verifying program logic
- */
-
-#ifndef SOFTDEVICE_ASSERT_H_
-#define SOFTDEVICE_ASSERT_H_
-
-#include <stdint.h>
-
-/** @brief This function handles assertions.
- *
- *
- * @note
- * This function is called when an assertion has triggered.
- * 
- *
- * @param line_num The line number where the assertion is called
- * @param file_name Pointer to the file name
- */
-void assert_softdevice_callback(uint16_t line_num, const uint8_t *file_name);
-
-
-/*lint -emacro(506, ASSERT) */ /* Suppress "Constant value Boolean */ 
-/*lint -emacro(774, ASSERT) */ /* Suppress "Boolean within 'if' always evaluates to True" */ \
-/** @brief Check intended for production code
- *
- * Check passes if "expr" evaluates to true. */
-#define ASSERT(expr) \
-if (expr)                                                                     \
-{                                                                             \
-}                                                                             \
-else                                                                          \
-{                                                                             \
-  assert_softdevice_callback((uint16_t)__LINE__, (uint8_t *)__FILE__);        \
-  /*lint -unreachable */                                                      \
-}
-
-#endif /* SOFTDEVICE_ASSERT_H_ */
--- a/TARGET_NRF51822/TARGET_NORDIC/TARGET_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_softdevice.hex	Fri Jul 25 09:46:51 2014 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,5290 +0,0 @@
-:020000040000FA
-:10000000C0070000D1060000D1000000B1060000CA
-:1000100000000000000000000000000000000000E0
-:100020000000000000000000000000005107000078
-:100030000000000000000000DB000000E500000000
-:10004000EF000000F9000000030100000D010000B6
-:1000500017010000210100002B0100003501000004
-:100060003F01000049010000530100005D01000054
-:1000700067010000710100007B01000085010000A4
-:100080008F01000099010000A3010000AD010000F4
-:10009000B7010000C1010000CB010000D501000044
-:1000A000DF010000E9010000F3010000FD01000094
-:1000B00007020000110200001B02000025020000E0
-:1000C0001FB5C046C04600F0EFFA04B00FB41FBD24
-:1000D00008205A49096809580847382057490968CB
-:1000E000095808473C2055490968095808474020E5
-:1000F0005249096809580847442050490968095875
-:10010000084748204D490968095808474C204B4981
-:10011000096809580847502048490968095808479C
-:100120005420464909680958084758204349096836
-:10013000095808475C204149096809580847602068
-:100140003E4909680958084764203C49096809582C
-:100150000847682039490968095808476C20374919
-:100160000968095808477020344909680958084740
-:100170007420324909680958084778202F490968CE
-:10018000095808477C202D490968095808478020EC
-:100190002A490968095808478420284909680958E4
-:1001A0000847882025490968095808478C202349B1
-:1001B00009680958084790202049096809580847E4
-:1001C00094201E4909680958084798201B49096866
-:1001D000095808479C201949096809580847A02070
-:1001E0001649096809580847A4201449096809589C
-:1001F0000847A8201149096809580847AC200F4949
-:10020000096809580847B0200C4909680958084787
-:10021000B4200A49096809580847B82007490968FD
-:1002200009580847BC2005490968095808470000D3
-:1002300003480449024A034B7047000000000020B5
-:10024000C0070000C00700000122D84B5A6000BF61
-:10025000D74A1268002AFBD0016000BFD44A126856
-:10026000002AFBD00022D14B5A6000BFD04A12684E
-:10027000002AFBD07047F0B505460E46174600240D
-:1002800006E0A200B158A2005019FFF7DDFF641C80
-:10029000BC42F6D30020F0BD0120C043C549086030
-:1002A000401048607047014601229204086890425D
-:1002B00001D9102070470020FCE7F0B505460C4638
-:1002C0001646002706E028462168FFF7BDFF2D1DD2
-:1002D000241D7F1CB742F6D3F0BD70B505460C4611
-:1002E0002E460BE0304600F075F9FF2C01D80024B3
-:1002F00001E0FF3C013C012080023618002CF1D1C6
-:1003000070BD0146012292044868904201D909203B
-:100310007047A9484069401C01D10F20F8E7002030
-:10032000F6E7FEB504462068030000F037FA05043E
-:100330002B4249598B00201DFFF7E3FF0546002D96
-:1003400001D02846FEBDFFF7A7FF0120C00200F044
-:1003500041F9042221469948FFF78DFF002801D07A
-:100360000320EFE708222146944800F06DF90028A9
-:1003700006D1002192480068FFF766FF00F00CF9F3
-:100380000320DFE7A768E6686068019031463846D9
-:10039000FFF7A3FF324638460199FFF78EFFB20000
-:1003A0003846019900F050F9002800D1CAE703202F
-:1003B000C8E700F0E3F9834800688349086041E03A
-:1003C00060680190E668A0680090B200009901980A
-:1003D00000F03AF90746002F00D1B3E70E20B1E74D
-:1003E000201DFFF760FF0546002D01D02846A9E734
-:1003F0006068002807D1FFF74FFF0320800200F05C
-:10040000E9F800F0C9F8FFF747FF0120C00200F04B
-:10041000E1F8042221466948FFF72DFF002801D0AA
-:1004200003208FE708222146644800F00DF90028D8
-:1004300006D1002162480068FFF706FF00F0ACF823
-:1004400003207FE700BF00207CE770B505460C461F
-:10045000182D04D12068FFF764FF206002E001201E
-:10046000206000BF00BF70BDF0B589B05248406940
-:1004700003905248806881000398081802900398FE
-:10048000000B01900121090302984018401E000B47
-:1004900000900124002520462946019A00F0C4F866
-:1004A0000022401E91410791069001260027304608
-:1004B0003946009A00F0B8F80022401E914105919B
-:1004C0000490049BDB43059AD2430698184307998E
-:1004D00011430791069037490698086007984860CD
-:1004E00009B0F0BD70B53448446934488568466841
-:1004F000AA003146204600F0A7F8002801D00020CD
-:1005000070BD0120FCE72D484068002801D0012083
-:1005100000E000200546FFF7E5FF002807D0FFF7C1
-:10052000BBFE0320800200F055F800F035F8FFF71D
-:100530009BFF002D0ED020484669204884684768FC
-:1005400021463046FFF7C9FE224639463046FFF7BE
-:10055000B4FE00BF00F020F810B5184844681A48EF
-:100560000460204600F0DCF810BD15480068006803
-:10057000401C01D100BFFEE710480068002802D0EF
-:10058000042806D101E0FFF7BEFFFFF7E5FF00BF3B
-:10059000FEE700BF00BFFEE7BFF34F8F0B480C49DB
-:1005A000C860BFF34F8F00BFFEE7000000E50140C9
-:1005B00000E40140000600400010001000080000A8
-:1005C000B8070000BC070000000000200400FA0586
-:1005D00000ED00E010B50146104B1A6808460223F2
-:1005E0000F4C636000BF0F4B1B68002BFBD0531CEC
-:1005F00004D0904202D20A4B186101E0084B986087
-:1006000000BF084B1B68002BFBD00023044C636029
-:1006100000BF044B1B68002BFBD010BD0010001066
-:1006200000E5014000E4014010B5202A04DB01464A
-:10063000203A9140002010BD914020239C1A03468F
-:10064000E3401943904010BD034610B50B439B0790
-:100650000FD1042A0DD308C810C9121FA342F8D025
-:1006600018BA21BA884201D9012010BD0020C04328
-:1006700010BD002A03D0D30703D0521C07E000208E
-:1006800010BD03780C78401C491C1B1B07D1037854
-:100690000C78401C491C1B1B01D1921EF1D118463D
-:1006A00010BD70477047704710B500F007F810BDD7
-:1006B000014B1B68DB6818470000002019481A49E5
-:1006C0007047FFF7FBFFFFF7FBFC00BD20BFFDE716
-:1006D0001649174C24688C420BD1164B1B68994263
-:1006E0000CD1154B154A1360186810498842EDD09B
-:1006F0000AE0134880F30888124B18470F4A13602A
-:1007000018680A498842E1D080F308880E49884277
-:1007100004DD0E48026802210A4302605B68184744
-:100720000346DFE7C0070000C0070000FFFFFFFF30
-:10073000000C000014100010001000000000002049
-:10074000000400206B05000000200020240500406C
-:100750000D48704502D1EFF3098101E0EFF3088104
-:10076000886902380078182802D1C046074A104725
-:10077000074A12682C3212681047000000B5054B7A
-:10078000054A9B58984700BDFDFFFFFF4B04000042
-:1007900000000020001000000400000030B4744687
-:1007A000641E2578641CAB4204D3635D5B00E318D0
-:1007B00030BC18471D46F8E7000C00000010000090
-:10100000901D002079500100ED3D0000DF4F0100F0
-:1010100000000000000000000000000000000000D0
-:10102000000000000000000000000000E950010086
-:101030000000000000000000ED3D0000ED3D00005C
-:10104000555101005B510100ED3D0000ED3D0000F8
-:10105000ED3D0000ED3D0000ED3D0000ED3D0000E8
-:1010600061510100ED3D0000ED3D000067510100C0
-:10107000ED3D00006D5101007351010079510100F7
-:10108000ED3D0000ED3D0000ED3D0000ED3D0000B8
-:10109000ED3D0000ED3D0000ED3D0000ED3D0000A8
-:1010A0007F51010085510100ED3D0000ED3D000044
-:1010B000ED3D0000ED3D0000ED3D0000ED3D000088
-:1010C00000F002F813F0B9FF0CA030C8083824185B
-:1010D0002D18A246671EAB4654465D46AC4201D170
-:1010E00013F0ABFF7E460F3E0FCCB64601263342CF
-:1010F00000D0FB1AA246AB463343184744410100D7
-:1011000074410100103A02D378C878C1FAD8520766
-:1011100001D330C830C101D504680C6070470000AD
-:101120000023002400250026103A01D378C1FBD803
-:10113000520700D330C100D50B6070471FB5C046C1
-:10114000C04613F01BFF04B00FB41FBD82690249F3
-:1011500081610248104470476111000001000000E5
-:1011600001B41EB400B510F02FFC01B401988646FE
-:1011700001BC01B01EBD0000F0B4404649465246D5
-:101180005B460FB402A0013001B50648004700BF1E
-:1011900001BC86460FBC8046894692469B46F0BC01
-:1011A00070470000C1100000401E00BF00BF00BF1C
-:1011B00000BF00BF00BF00BF00BF00BF00BF00BF37
-:1011C00000BFF1D17047000070B505460C461646C9
-:1011D00002E00FCC0FC5103E102EFAD2082E02D31B
-:1011E00003CC03C5083E042E07D301CC01C5361F2E
-:1011F00003E021782970641C6D1C761EF9D270BD45
-:101200008307FF22DB0E9A408907090E99400028C8
-:101210000BDA0007000F0838830828489B001B18CA
-:10122000D86990430843D8617047830824489B00DD
-:101230001B181868904308431860704710B504469F
-:1012400000210120FFF7DCFF00211820FFF7D8FF65
-:1012500000210B20FFF7D4FF02211920FFF7D0FF58
-:1012600002210D20FFF7CCFF02210E20FFF7C8FF5F
-:1012700002210F20FFF7C4FF0221C81FFFF7C0FFA4
-:1012800003211620FFF7BCFF03211520FFF7B8FF4D
-:10129000204600F019F8002010BD4F210180704752
-:1012A00010B500F03AF810BD0648704710B500F0D0
-:1012B00035F810BD704770477047000000ED00E042
-:1012C00000E400E003F900C330B50446374D95B0A3
-:1012D00007202870A81CFFF7E0FF5920A880344899
-:1012E00001F020FC0546072000F0DCF929462F48D4
-:1012F00000F08CFA641E072C0AD830216846017071
-:10130000847001F0DDFA002802D009A800F0DDFCAD
-:10131000284601F083FE15B030BD7047F8B5234E66
-:101320000446B61E307801270D46002807D0204617
-:1013300060380B2808D8204601F096FB2BE0602C83
-:10134000F9D01C480860F8BD20466C38032803D843
-:10135000204601F0CBFB1EE0204670381F2803D842
-:10136000204600F037F816E0204690380F2803D8C2
-:10137000204600F0BBF80EE02046A0380F2803D826
-:10138000204600F023F906E02046B0380F2804D8A4
-:10139000204600F000F9286000E02F60602CD2D1D8
-:1013A00028680028CFD13770F8BD00001A0000204F
-:1013B000C33300000130000070477047704770472A
-:1013C000704770477047704710B5012801D100F091
-:1013D00042FA10BD10B57038030013F0EBFE150C87
-:1013E00012161E22252C33383D41454950555C6468
-:1013F0006C747B8085004A680878114603F081FF91
-:1014000010BD086803F0F9FF10BD0C790B7B8A68EA
-:101410000868214604F005F810BD086804F07EF85D
-:1014200010BD03F05BFC10BD08884A6880B211460D
-:1014300004F043FA10BD0A790888114680B204F01E
-:1014400091FA10BD087840B204F09CFA10BD0888EB
-:1014500080B204F0B8FA10BD086804F0C7FA10BDF5
-:10146000086804F0DFFA10BD086804F00AFB10BD3C
-:10147000088982B209C9194604F034FB10BD05C9B8
-:10148000114604F082FB10BD08884A6880B21146FC
-:1014900004F0A0FB10BD0B7908888A6880B2194659
-:1014A00004F0FDFB10BD0B7908888A6880B21946EC
-:1014B00004F0B3FC10BD08884B688A6880B21946F6
-:1014C00004F0F3FC10BD08884A6880B2114604F0AD
-:1014D0003EFD10BD088880B204F056FD10BD08889E
-:1014E00080B204F076FD10BD012010BD10B590381B
-:1014F000030013F05FFE09060F161D242C363F462D
-:101500004E0088888A6883B20888194680B205F040
-:1015100093F910BD08884A6880B2114605F0E9F9D0
-:1015200010BD08884A6880B2114605F02DFA10BD3A
-:1015300008884A6880B2114605F063FA10BD088831
-:101540004B688A6880B2194605F094FA10BD088984
-:1015500082B2888883B20888194680B205F0C9FA39
-:1015600010BD08894B6882B20888194680B205F020
-:10157000FEFA10BD08884A6880B2114605F02EFBBD
-:1015800010BD888882B20888114680B205F0C2FB7F
-:1015900010BD012010BD10B5B02805D0B12808D06D
-:1015A000B2280BD0012010BD088880B205F0A6FE3D
-:1015B00010BD088880B205F0D1FE10BD08884B68C8
-:1015C0008A6880B2194605F0DAFE10BD10B5A03861
-:1015D000030013F0EFFD0B070E172028323C434D9C
-:1015E000545D65004B6808788A68194607F017FA59
-:1015F00010BD88888A6883B20888194680B207F0CF
-:1016000023FA10BD08884C68CB688A6880B22146EE
-:1016100007F02AFA10BD08884B688A6880B219461C
-:1016200007F044FA10BD8888CB6884B208888A68BD
-:1016300080B2214607F064FA10BD8888CB6884B276
-:1016400008888A6880B2214607F089FA10BD0888A8
-:101650004A6880B2114607F0BDFA10BD088982B20F
-:10166000888883B20888194680B207F0BDFA10BD99
-:1016700008884A6880B2114607F0DAFA10BD088976
-:101680004B6882B20888194680B207F057FB10BD3C
-:1016900008884B688A6880B2194607F014FC10BDB0
-:1016A000012010BD10B507F0FAFC0FF0A7FF00F005
-:1016B00007F810F0F5F808F0F5F908F081F910BD19
-:1016C00001202B49C00308602A490020087003202C
-:1016D0002949800288607047F8B5264D044628786D
-:1016E000A04207D0002C05D0002803D023A14D2014
-:1016F00013F06FFC2878A04213D02C700325002330
-:101700002349AD021C48002C27D01B4A214E4032F1
-:10171000214F012C06D0022C13D018A16E2013F0FB
-:1017200058FCF8BD0B6002230B604E6185601B49BD
-:1017300011625762091D91621749091DD162456006
-:10174000F8BD0B6003230B604E610121C90281606B
-:10175000134B9362D7624160F8BD0B600B608560EC
-:10176000F8BD10B505A1772013F033FC10BD0000C3
-:1017700080E100E02000002000F501407372635C0E
-:1017800068616C5F63636D5F6161722E630000006E
-:1017900000F500407C01002000F0004000110040F6
-:1017A000488100401CB50446002069460870204668
-:1017B00009F0F6F86946204608F0B4FF002803D186
-:1017C000FBA1B62013F005FC01A9204608F009FF93
-:1017D000002803D1F6A1BB2013F0FBFB684600787C
-:1017E0001CBD70B5F74D002428462C76203084713E
-:1017F000C47113F0EDFC2846403804702030847327
-:10180000847484762C74AC7070BDEAE710B50C4615
-:10181000ED4982888A8042884A80007808700846AC
-:101820000A38847008F0B3FEFFF7DBFF20460AF0A9
-:101830002FFAE44AE0321146383908461446813816
-:1018400009F020F92146E0480BF0C2FC09F09FF8AE
-:1018500013F0BEFC10BD10B50120FFF7ADFD10BDAB
-:10186000F8B509F083FDD84DD64C0A3D022802D0C8
-:10187000207C00287CD0207E0026102819D1A0785A
-:10188000002803D0CAA1D14813F0A3FBCD48E83803
-:10189000817A89070DD50146267160398989E180F1
-:1018A000C17A217281896181C089A0810120A070E3
-:1018B0002676C44F203FB87C002859D1C4486946D9
-:1018C000808908F02FFF002805D0694668780978DC
-:1018D0004018687004E0BD48B5A11D3013F079FBD5
-:1018E000207C002838D0BA488189FF300930406D0B
-:1018F0008089814204D0B548ADA1223013F069FB44
-:10190000B348808908F0B4FF002804D1AF48A8A1EB
-:10191000283013F05EFB09F022F800281CD0AC48F8
-:101920008089FFF73FFF697840186870A548403804
-:10193000416D20318A7C012A0DD1A54A3E779289DA
-:10194000C287C87C20700120B876207E102801D084
-:10195000282800D1267626746978002908D09C486A
-:101960008289FF300930C28601870120B8746E7009
-:1019700009F0CCFC002805D1207C002802D0A878F2
-:1019800001F0F4F8F8BDF8B50F460446FFF768FF1C
-:101990008C4D403D28788B4E002813D0002F10D15D
-:1019A000307E002804D0FF2081A1C63013F011FB47
-:1019B0002C22A91C204613F06FF90E202070002065
-:1019C00028708FE07F4D203DA87B002818D0002F85
-:1019D000F7D1307E102808D0282806D0002804D05F
-:1019E000FF2073A1D23013F0F4FA0120E070E87BFD
-:1019F000A070287C60700F2020700020A87371E018
-:101A00000121204608F0E4FF002807D0307C0028A0
-:101A100051D13946204608F0DBFFF8BDA97C694862
-:101A20000C38009068480A38002913D0017805293D
-:101A300010D2002F56D1491C0170002666700D206F
-:101A40002070012028750622A01C009913F024F9AB
-:101A5000AE7447E05C4800210A380170B078002875
-:101A600014D0002F3ED1307E002803D050A1594819
-:101A700013F0AFFA002565700120524920700A2248
-:101A8000091DA01C13F008F9B5702BE0394620465B
-:101A90000BF008FB002825D1A87C002805D0002FDA
-:101AA00020D149480A380178C5E7A87E002802D02D
-:101AB000307C002801D00020F8BD002F12D1307EEC
-:101AC000002804D08F203AA1800013F082FA00266B
-:101AD00066700A203B4920700622091FA01C13F0E3
-:101AE000DBF8AE760120F8BD10B53648017E00293E
-:101AF00008D1007C012805D001210020FFF743FF19
-:101B0000002801D0072010BD012010BD10B5012410
-:101B10000AF006F90443FFF7E7FF044308F038FF33
-:101B200001462143084610BDF8B51D4614460E4631
-:101B300008F077FD002807D0684608F07DFD0028F2
-:101B400003D0002C07D101E00120F8BD9B2018A193
-:101B5000800013F03EFA08F01BFDA04204D21D489D
-:101B600013A1583013F035FA009808F089F931467E
-:101B7000009808F097F9E2B22946009808F04EFB69
-:101B800008F06CFD002804D19F2009A1800013F00B
-:101B900020FA08F0FFFE0E4800244030417C002966
-:101BA00002D044740AF0A7F90948C480CCE70000C9
-:101BB0007372635C6C6C5F6374726C2E73302E6333
-:101BC00000000000200300202C00002082060000FE
-:101BD000D80100201502000010B50179002908D0B5
-:101BE00001290BD0FF20FE49043013F0F2F9002048
-:101BF00010BD831D42880488022103E042880488C6
-:101C0000831D01212046FFF78FFF10BDF8B51F4649
-:101C100015460E46044609F0A9FB022803D0F148F8
-:101C2000007C00281FD0F0488089208008F020FE2A
-:101C3000002803D1EA49ED4813F0CBF905246846A2
-:101C400008F021FE00280ED0009808F063F93070EB
-:101C5000022809D0012807D008F055FE641E24068A
-:101C6000240EECD10020F8BD3946009808F0EEFAB9
-:101C70002880002804D1AF20D949800013F0A9F9A9
-:101C800008F041FE002804D1D848D549193013F096
-:101C9000A0F90120F8BD38B50446831D821C6946B1
-:101CA000FFF7B4FF00280DD000206071684600786F
-:101CB000012808D0022806D0FF20C949253013F09A
-:101CC00088F9012038BD2071FBE700215BE670B583
-:101CD000C44C0546403C2078002803D1C148007E12
-:101CE000002804D0C120BE49C00013F072F9287842
-:101CF00008F085FF28780BF0C1FB0020207101203F
-:101D000060713921E170207070BD70B5B54D044629
-:101D1000403D2878002803D1B248007E002804D036
-:101D20005F20AF49000113F054F9AF4E2188B0890C
-:101D3000884203D109F01AFB022807D0022028713B
-:101D4000012068713821E970287070BD7F2070769D
-:101D5000A548E17820304174A17801740020EEE7B5
-:101D600010B5A04C403C207800280BD19D48007E47
-:101D7000002807D109F0FAFA032803D009F0FAFA8B
-:101D8000032804D199489649653013F022F9954902
-:101D900000202031C8712071012060713A21E1706A
-:101DA000207010BD70B58F4C0646403C207800284E
-:101DB0000BD18C48007E002807D109F0D7FA032800
-:101DC00003D009F0D7FA032804D1884884497B302E
-:101DD00013F0FFF8834D2035E87908280CD2E87914
-:101DE0001022000100196830314600F025FEE87924
-:101DF000401CE871002000E0072020710120607184
-:101E00003B21E170207070BDF8B5764D0446403D31
-:101E10002878002803D17348007E002803D0704939
-:101E2000734813F0D6F8704F2188B889884203D1DF
-:101E300009F09CFA022801D0022022E03E8C64883E
-:101E40007200788CF98B521C944217D3694A514323
-:101E50009200504312F09AFF401EFF2180B2F531EC
-:101E6000884200D90846844200D22046711C401C9A
-:101E700012F08CFF761C7043401E86B2FE85EE8009
-:101E800000202871012068713C21E9702870F8BD9C
-:101E9000F8B5544C0546403C2078002803D1514801
-:101EA000007E002804D052484D492C3813F091F898
-:101EB000A878002801D0012804D1A888FF21F53195
-:101EC000884204D959204649000113F082F8464E51
-:101ED0002988B089884203D109F048FA022807D03E
-:101EE00002202071012060713621E1702070F8BD60
-:101EF0003D48002720308772A988B18501213176BD
-:101F0000A978012900D00021817237484030407CF7
-:101F1000002801D009F0EFFF2771E3E770B5314CDD
-:101F20000546403C2078002807D12E48007E002836
-:101F300003D109F01BFA002804D02D482849533852
-:101F400013F047F8287809F0EEFE002020710120F8
-:101F500060713021E170207070BD70B5214C054674
-:101F6000403C2078002803D11E48007E002804D081
-:101F70001F481B495F3013F02CF8287800280BD03D
-:101F8000012809D0022807D06878402804D31848CF
-:101F90001349663013F01DF8284609F0DEF90028D1
-:101FA00001D0002000E00C2020710120607134215C
-:101FB000E170207070BD70B50A4C0546403C207839
-:101FC000002807D10748007E002803D109F0CEF988
-:101FD000002804D057200249000112F0FAFF0BE05C
-:101FE000B01B000020030020D8010020AA0200003E
-:101FF000B6050000C40900002978002913D00A2979
-:1020000011D014290FD01E290DD028290BD0322928
-:1020100009D04B2907D0642905D0FF2903D0FE49F8
-:10202000FE4812F0D6FF284609F0FCFE0020207181
-:10203000012060713321E170207070BD70B5F84CE3
-:1020400006462078251D002804D120464030007E19
-:10205000002804D05520F049000112F0BAFF3146A3
-:10206000002008F0A1FD2870002804D10622314686
-:10207000EC4812F011FE012060713221E1702070F5
-:1020800070BD70B5E64C05462078002804D1204686
-:102090004030007E002804D0A720DF49C00012F0A5
-:1020A00098FF00216956042914D0002912D0081D78
-:1020B00010D0001D0ED0001D0CD0001D0AD0001D38
-:1020C00008D00A3006D0283104D0D448D249443848
-:1020D00012F07FFFD448297801700120607131210E
-:1020E000E170207070BD10B5CD4C2078002804D16F
-:1020F00020464030007E002803D0C749CB4812F06C
-:1021000068FF08F045FAE08008F00AFB2072002022
-:102110002071012060710521E170207010BDF8B5BB
-:10212000BF4C07462034A07B25462035002805D12A
-:10213000287E002802D1A878002804D0B748B649E4
-:10214000703812F046FF09F011F91026022822D14A
-:10215000B7483988808988421DD1B1494839084635
-:102160000A7F6038807A002A03D080070CD40C20C4
-:102170000CE0800708D406200877AD484030407C4A
-:10218000002801D009F0B7FE2E760020E0732674F7
-:102190000120A073F8BD0220F8E710B5A04C20780C
-:1021A000002804D120464030007E002804D09B48FF
-:1021B0009949823812F00DFF002020710E20A07086
-:1021C0000F20E070FF20A0710020C04320819548BF
-:1021D000C01D0178A1728188A1814088E081012021
-:1021E0006071207010BD10B58D4C2078002804D18E
-:1021F00020464030007E002803D087498D4812F0E9
-:10220000E8FE0821A01D0FF095FA002020710120A2
-:1022100060712B21E170207010BD70B5804D0446B7
-:102220002878002804D128464030007E002804D0B9
-:102230007A487949B13012F0CCFE7D48102221460F
-:10224000303800F0F9FB7A481022A118203800F04D
-:10225000F3FB774830380FF074FB754910221039C2
-:102260002C46A81D00F0E8FB002020710E20A07075
-:102270002A20E07001206071207070BDF8B5684CB4
-:1022800005462034A07B26462036002802D1307E29
-:10229000002804D067486049E53012F09AFEA9781A
-:1022A000052912D0132910D014290ED015290CD0CD
-:1022B0001A290AD0292908D03D2906D03B2904D063
-:1022C0005C485549ED3012F084FE28885A4988420E
-:1022D00004D958485049F63012F07BFE09F046F810
-:1022E0000C212827022809D151482A888089904248
-:1022F00015D14B484838027E002A01D0E17310E026
-:10230000A97841760121017637760020E0734848AC
-:102310004030407C002804D009F0EDFD01E00220AF
-:10232000E07327740120A073F8BDF8B53C4F064652
-:1023300038783D1D002804D138464030007E002802
-:1023400004D089203449C00012F043FE31460120F8
-:1023500008F02AFC01242870002807D13048062202
-:1023600060303146054612F097FCAC717C71172045
-:10237000F8703C70F8BDF0B52B4F85B0403F3D7A0A
-:10238000064627480078002804D13846A038007E49
-:10239000002804D0D3202049800012F01AFE3078A3
-:1023A000002806D0012804D022481B492C3812F0FE
-:1023B00010FE082D4CD21C4820380190C46930789A
-:1023C00000283FD0012804D01A4813491E3812F0C3
-:1023D00000FE294608310120884004430120A8401E
-:1023E00020430090B1790E4C0802727969000919F6
-:1023F0001043FF3101318881B01C12F0AEFC7178BE
-:1024000000020843A9000919C031C862387A401C8B
-:1024100038720199009811E0B01B00007E050000A1
-:10242000E00200202500002000040020E706000054
-:10243000D801002079030000FF0E0000C8610020D1
-:10244000207108E029460831012088408443C5E70F
-:10245000FE48072101710121FC480B224171C27025
-:10246000017005B0F0BD10B5F84C2078002804D1FB
-:1024700020464030007E002803D0F549F54812F090
-:10248000A8FD12F0A5FE00202071012060710A2134
-:10249000E170207010BD10B509F0DDFB002804D0FC
-:1024A000EC48EB49583812F094FD08F06FFA08F048
-:1024B00052F80AF07EFE002804D0BD20E4498000D6
-:1024C00012F087FD08F0B3FA002804D05F20E0493D
-:1024D000C00012F07EFD12F07BFEDF480024047085
-:1024E000FFF77FF9D9480121047141710222C270BE
-:1024F000017010BD70B5D54D04462878002804D170
-:1025000028464030007E002804D0F320D0498000C7
-:1025100012F05FFD20781F2801D8601C04D1CD483F
-:10252000CB498F3012F055FD002028712078611CB6
-:1025300008F054FB012068712021E970287070BDFB
-:10254000F8B5C24C0646207825464035002802D111
-:10255000287E002804D0BF48BD499C3012F039FDC8
-:102560003078012806D0002804D0BA48B8499D30F8
-:1025700012F02FFD012060710C20207130780027AF
-:10258000B64E012808D008F0F1FE032867D008F005
-:10259000F1FE032871D076E008F0E8FE002803D1B0
-:1025A00008F0E8FE002804D008F0E0FE02283DD044
-:1025B00069E008F07EFA002865D0287C002862D106
-:1025C000A64802210C300FF03EF8002806D00F215B
-:1025D000B089090212F0DAFBB18100E0B781012273
-:1025E00003219E4807F05AFE9C4808F006FCB0897B
-:1025F00007F0D0FF002804D196489549B83012F072
-:10260000E8FCB089002108F0C9F9002804D09148FD
-:102610008F49BC3012F0DDFC297F688B09F087FB05
-:1026200000282FD08B488A49C03015E008F0A2FE60
-:10263000002828D1287F002825D0012823D008F0A1
-:1026400038FA00281FD0297F688B09F070FB00281A
-:1026500018D080487E49D33012F0BBFC12E0002035
-:1026600009F098FA00280ED12771287C00280AD199
-:10267000B089FFF797F806E0FFE7002009F08AFA33
-:10268000002800D127711B20E07001202070F8BDC8
-:1026900070B56E4D04462878002804D12846403095
-:1026A000007E002804D06B486949803012F091FC0C
-:1026B00020781F2801D8601C04D166486449813005
-:1026C00012F087FC002028712078611C08F09AFA2B
-:1026D000012068711A21E970287070BDF8B55B4D52
-:1026E000044628780C272E46403600280AD1307E32
-:1026F000002807D108F03AFE032803D008F03AFE7C
-:10270000032804D153485249473012F062FC6079E3
-:10271000002801D001282FD1A079002801D001285C
-:102720002AD1A07B002805D0012803D0022801D09F
-:10273000032821D1607B40071ED0618801208003DF
-:10274000814202D82288824201D920790CE0207986
-:10275000002804D0022805D0032803D004E0202953
-:1027600004D209E0A02A01D2012805D1208888429C
-:1027700007D92079012804D0364835495C3012F059
-:1027800028FC20887083207930776079002802D077
-:10279000012803D00CE0324A002105E02B4A6032C8
-:1027A0009079002804D00121204608F086F90746D8
-:1027B00001202F7168711821E9702870F8BD70B57B
-:1027C000224C05462078002804D120464030007E67
-:1027D000002803D01E49234812F0FBFB08F0C6FD79
-:1027E0000C2102280ED11D482A8883899A4219D1CA
-:1027F0000246C032137F002B04D1807E0E2803D006
-:102800000F2801D0217103E00520107700202071EE
-:102810000E20A0702E20E0702888E08001206071DA
-:10282000207070BD0220F2E770B5084C0546207894
-:10283000002804D120464030007E002804D00948FA
-:1028400003492C3812F0C5FB0EE00000E002002026
-:10285000B01B00003E03000000040020D80100204F
-:1028600025000020D104000008F080FD0C21022882
-:102870000ED178482A8883899A421FD10646C036ED
-:10288000327F002A04D1807E0E2803D00F2801D089
-:10289000217109E06F481022A91CEA3012F0FCF9FE
-:1028A00004203077002020710E20A0702D20E070D1
-:1028B0002888E08001206071207070BD0220F2E75E
-:1028C00010B501780B0012F075FC3D8787388787BB
-:1028D00058878787873B3E878787515487878787B5
-:1028E00087874228872C3087878787348787878721
-:1028F00087878746874A4E872024876B5B5F63679D
-:10290000876F877E827B77738700801CFFF78CFF41
-:1029100060E0801CFFF753FF5CE0801CFFF7DEFEE9
-:1029200058E0801CFFF7B4FE54E0801CFFF708FE5F
-:1029300050E0801CFFF7DEFD4CE0FFF7ACFD49E006
-:10294000FFF791FD46E0801CFFF715FD42E0801C7B
-:10295000FFF7EBFC3EE0801CFFF790FC3AE0801CA8
-:10296000FFF75BFC36E0FFF73EFC33E0FFF715FCBA
-:1029700030E0801CFFF7D3FB2CE0FFF7B4FB29E02D
-:10298000801CFFF77EFB25E0801CFFF757FB21E052
-:10299000801CFFF710FB1DE0801CFFF7DEFA19E03A
-:1029A000801CFFF7BBFA15E0801CFFF771FA11E0FD
-:1029B000801CFFF729FA0DE0801CFFF7F3F909E00E
-:1029C000FFF7CEF906E0801CFFF79FF902E0801CBC
-:1029D000FFF77DF9012010BD002010BD10B51E4984
-:1029E0001E4812F0F6FA10BD70B51D4A01241146BA
-:1029F000184D4031030012F0DDFB05191C1C0419B1
-:102A00001C0001220021134807F048FC1448002153
-:102A1000483801774177C03809F005FA002804D01A
-:102A20000E480D49D33012F0D4FA70BD0C745565C0
-:102A300070BD09490B48F6E730B5134606E0CC18DF
-:102A4000203CE47FD51A44555B1EDBB2002BF6D147
-:102A500030BD0000D8010020B01B0000410600007E
-:102A6000E00200204707000010B56038030012F0B4
-:102A7000A1FB0A060A0F13181F262A31363B0868E5
-:102A800000F093FD10BD05C9114600F0ADFD10BD6D
-:102A9000086800F04CFE10BD05C9114600F054FE58
-:102AA00010BD4B6808788A68194600F065FE10BDB5
-:102AB0004B688A680868194600F07FFE10BD0868F8
-:102AC00000F09AFE10BD08884A6880B2114600F0F6
-:102AD000EAFE10BD05C9114600F00AFF10BD05C988
-:102AE000114600F01DFF10BD012010BD10B56C286F
-:102AF00001D0012010BD087800F0B8FE10BD000024
-:102B000001203F49400608603E4908603E490A6886
-:102B1000FF231B029A4383121A430A603849803903
-:102B20000860704710B502460420384904E0C3002D
-:102B30005B181B79002B0AD00346401EC0B2002B45
-:102B4000F5D133A1432012F044FAFF2010BDC30099
-:102B5000CA50002259184A718A7101220A7110BDA7
-:102B60002A4A0021C00080180171704710B5044640
-:102B7000042803D326A1522012F02BFA2348E100A7
-:102B80000C182079012803D021A1532012F021FA3A
-:102B90006079A179401CC0B2814200D060710120EF
-:102BA000174940068031086010BD70B516480068AE
-:102BB0000004800F022803D015A1692012F009FA41
-:102BC000124E194C03252078C10088190279012A78
-:102BD00007D1427983799A4203D042798271705841
-:102BE00080472078401CC0B22070042801D3002008
-:102BF000207028466D1EEDB20028E4D170BD0000A3
-:102C000080E100E080E200E018E400E02C12002007
-:102C10007372635C736F635F7369676E616C6C6919
-:102C20006E672E63000000003C00002010B5EFF33B
-:102C30001080C407E40F72B6D6484178491C417031
-:102C40004078012801D10FF065F9002C00D162B65F
-:102C500010BD70B5CF4CE07800280AD10125E57091
-:102C6000FFF7E4FF0FF05EF9002804D000200FF01A
-:102C700031F9002070BDC84865714560F9E770B54D
-:102C8000EFF31080C507ED0F72B6C24C60780028D4
-:102C900003D1C2A18F2012F09CF96078401E6070B1
-:102CA0006078002801D10FF039F9002D00D162B60B
-:102CB00070BD10B5B748C178002904D0002141711A
-:102CC000C170FFF7DCFF002010BD10B504460FF007
-:102CD00029F9B049C978084000D0012020600020BF
-:102CE00010BDF8B50246AB4C0026A67108200421A1
-:102CF00001251027130012F05DFA0D080A0C0E10C2
-:102D00001214161E262123252800257122E00220F8
-:102D100001E021711EE020711CE027711AE02020E3
-:102D2000F9E7012616E0FFF781FF0FF0FBF8002816
-:102D3000FBD002260EE02171A5710BE02771FBE7A5
-:102D4000202000E040202071F6E7FF2093A17E3094
-:102D500012F03FF90FF0F2F8002809D00FF0F4F864
-:102D6000B04205D130460FF0F2F80028FAD024E046
-:102D700001208007C5608D4A002151608C4A966110
-:102D8000854B02225A6085608A4803690569DB43E6
-:102D9000DB06DB175B1C10273D430561834D00E01C
-:102DA00020BF6F68002FFBD0002B03D107691023D1
-:102DB0009F430761784882606960A07900280CD041
-:102DC0000FF0B0F805460FF00DF87B4A002D02D049
-:102DD000A260E06001E0E260A060002E01D100F09E
-:102DE000B1F8F8BD10B504460FF0A2F8002805D0E0
-:102DF00068490120C8704A78521C4A702046FFF783
-:102E000070FF10BDF8B5694FB8680025012802D1E0
-:102E1000BD600FF05FF87868012800D17D603868E8
-:102E200001265C4C012814D13D606079002803D054
-:102E300000200FF04FF865712078002809D00FF0BE
-:102E400071F8002805D05948C0388663000606612D
-:102E5000A670386901282CD13D6100F068F8012086
-:102E600080074661A079002815D00FF05BF800902C
-:102E70000EF0B8FF0099002901D0E16800E0A168D8
-:102E8000411A022901DA8A1C13DC0099002901D0B9
-:102E9000E06000E0A060FFF7C9FE0FF043F80028F3
-:102EA00006D04248C038866300060661A67000E07E
-:102EB0002670F868012819D100F039F800F037F8C9
-:102EC00000F035F8A078002804D1FF2033A10530A8
-:102ED00012F07FF8FD60A5702570FFF7D0FE0EF0B0
-:102EE000F8FA002802D03148C038C663F8BD10B5E2
-:102EF000284CE078002801D10FF010F8012081075C
-:102F0000886100F014F8A07800280BD0274CE06806
-:102F1000002803D10FF01BF80028F8D10020E06052
-:102F200000F005F800201C49C043886010BD08B5BA
-:102F30005020694608806A461088411E118000288A
-:102F4000F9D108BDF8B51448192787601749002042
-:102F50000860C8600EF0E6FFBD0701240D4E002892
-:102F600005D01248C03884632C61B47000E034701E
-:102F7000FFF75CFE084847600D4930798863FFF72A
-:102F8000D6FFAC61FFF7D3FF0849002008616C61F0
-:102F9000F8BD000040000020000300407372635C35
-:102FA000736F635F636C6F636B2E6300000100409F
-:102FB0000005004000ED00E0FFFFFF7F10B510F0BE
-:102FC00064F810BD00200449C8630120012181403C
-:102FD000024A116000BF7047C01F004080E200E05D
-:102FE00010B504460BF095F820460CF0AAF810BD79
-:102FF0007047704770477047704770477047704719
-:1030000010FFFFFFDBE5B151006001004F00FFFF43
-:1030100003B40148019001BD09000020FE49487039
-:10302000704710B5030012F0C5F8080E050E080829
-:103030000B0B0E1104F07DF810BDFFF7D1FF10BD92
-:103040000DF0E8FF10BD01F095FE10BDFF20F3A1CB
-:10305000713011F0BEFF10BD7FB5F44905464868D8
-:103060008968082301910090F14A1946F1480EF051
-:103070008BFD0024F0480EF0A5FD641CE4B2082C82
-:10308000F8D3EB490320803140020CF02FF90028DF
-:1030900003D0E2A1962011F09CFF1E220221E748F6
-:1030A0000AF0E7FCE5481E22032110300BF05BFA22
-:1030B000E2480722342174300AF034FCDF484C2106
-:1030C000283011F048FEDD496A46743108464C3814
-:1030D0000164FF317B31416401211172039002F0E0
-:1030E000B4F802A80CF050FC002803D0CBA1AA2011
-:1030F00011F06FFFCF4802222421A8380AF012FCF9
-:10310000CC4802222C215C380AF00CFCCC490B2064
-:103110000EF082F8002803D0C0A1B72011F059FFAB
-:1031200003F0F4FF03F0F8F904F05AFE6B460022B6
-:103130000821C4A001F070FF002803D0B7A1BE2071
-:1031400011F047FF284605F071F9002803D0B3A11C
-:10315000C02011F03EFF8521C900BD4811F0FBFDE4
-:10316000BB49B24A0020135C0C18401CC0B2E3708B
-:103170000428F8D3A849002048608870C8707FBD33
-:1031800070B5B44E0546706A94B00C46401C04D12C
-:10319000B06AC0430004000C0BD0306AC007C00FF7
-:1031A0002870706A11F0EAFDB06A2071000A60713F
-:1031B00013E02B206946087009A968460AF0F8FB5D
-:1031C000002803D095A1E42011F003FF012028700E
-:1031D00006220AA9204611F05FFD2878002803D0B6
-:1031E0006079C0210843607114B070BDF0B5994C8E
-:1031F0000646206895B00D463746401C0837002823
-:1032000008D16068401C05D1A068401C02D1E0686C
-:10321000401C11D02068314611F0B0FD6068311DAE
-:1032200011F0ACFDA068394611F0A8FDE068314608
-:103230000C3111F0A3FD25E02B206946087009A987
-:1032400068460AF0B5FB002804D0FF2073A10E30B9
-:1032500011F0BFFE08220AA9304611F01DFD2B20F7
-:103260006946087009A968460AF0A2FB002804D044
-:10327000FF206AA1153011F0ACFE08220AA93846D9
-:1032800011F00AFD20692E46401C0836002808D19E
-:103290006069401C05D1A069401C02D1E069401C56
-:1032A00012D02069294611F069FD6069291D11F0CD
-:1032B00065FDA069314611F061FDE06929460C31D8
-:1032C00011F05CFD15B0F0BD2B246846047009A90F
-:1032D0000AF06EFB002804D0FF2050A1333011F01B
-:1032E00078FE082209AF0AA9284611F0D5FC6846E5
-:1032F000047009A90AF05CFB002804D0FF2047A154
-:103300003A3011F066FE0822391D304611F0C4FC37
-:10331000D8E710B5002108460EF00CFD0021012071
-:103320000EF008FD002102200EF004FD0021032014
-:103330000EF000FD002104200EF0FCFC0021052011
-:103340000EF0F8FC10BD10B5414CA0780B2804D34A
-:10335000FF2032A18A3011F03CFE207860214843E2
-:1033600000190830002101704178E722C908C9001E
-:10337000C91C11404170284A0121917010BD70B5DF
-:10338000254CA07800280ED0314800250178491C32
-:10339000C9B201700B2900D105708178491C817078
-:1033A0000EF093FDA57070BD70B51B4C05466068AE
-:1033B000002804D0FF2019A1B33011F00AFE656087
-:1033C00070BD70B5144E224DFFF7BDFF7168044605
-:1033D000002907D06022FDF7F7FEFFF7D0FF00209D
-:1033E0007060F1E72879002876D012485C380AF03E
-:1033F000A9FA6060002804D1FF2008A1D13011F0A3
-:10340000E8FD60680AF0FCFA002831D0204600F0A0
-:103410006FFF607801071FE0340000207372635C67
-:10342000686F73745F636F72652E6300E051010013
-:10343000040400200C12002023300000840A002025
-:10344000B41000206E524635313832320000000090
-:103450008C0C00208000001007D5C008C000401C64
-:1034600060702879401E287127E0F74861682AE0DB
-:10347000F54861680AF06FFA687900282CD0F248A4
-:103480004C380AF05FFA6060002804D1FF20EF4951
-:10349000F43011F09EFD60680AF0B6FA002816D0EC
-:1034A000204603F085FE6078010709D5C008C000FA
-:1034B000801C60706879401E6871FFF760FF83E7C9
-:1034C000E14861684C380AF046FA7DE704E0DE48DE
-:1034D00061684C380AF03FFA70BDF7B505460078D0
-:1034E000002700090C463E46062803D0D749D84895
-:1034F00011F06FFD287A00280ED0012814D0D4488E
-:10350000D249213011F065FD0298002C068001D0CF
-:10351000278066800020FEBD02270926002C0ED0E1
-:10352000A889A080A87B08E003271426002C06D0D9
-:103530002869E060A88A2082287B2072E4E702984C
-:103540000680E7E770B50E4600211C461980154637
-:10355000030011F02FFE0723050B1711231D230075
-:1035600022462946304603F0EFFD70BD224629462B
-:10357000304601F078F970BD22462946304604F005
-:103580002AFB70BD22462946304602F0F9FF70BD85
-:10359000224629463046FFF7A0FF70BD9720AB4971
-:1035A000800011F016FD032070BD10B5A94C2178E4
-:1035B000002901D0082010BDFFF74EFD012020702A
-:1035C000002010BD0146A04810B54C380AF0C3F9E0
-:1035D000A1494879401CC0B24871012803D19D48D7
-:1035E0004078FFF7C3FA10BDF8B50546072040073D
-:1035F0000F460A18012189038A4209D2002D02D000
-:103600002818884204D2E81C80088000A84201D013
-:103610001020F8BD90488178002911D03988009198
-:103620004178602251430C18083420783B4600074B
-:10363000000F00222146FFF785FF060004D015E0A9
-:10364000002038800520F8BD002D13D0398800985F
-:10365000814201D90C260DE020783B460007000F7F
-:103660002A462146FFF76EFF060005D00C2E01D03A
-:10367000002038803046F8BD774D6878401CC0B2D5
-:1036800068700B2801D100206870A878401EA870CF
-:1036900061784807400F022810D00128EAD16A4813
-:1036A00061680AF058F92879401CC0B228710128D5
-:1036B000E0D168484078FFF759FADBE7C806D9D46B
-:1036C0006068FFF77FFFD5E770B50446634816468C
-:1036D0000D46814204D15E485C49C53011F079FC49
-:1036E000012E05D05A485949D53011F072FC70BDF1
-:1036F00058480121C1706620207000202072A581E9
-:10370000A17370BD70B516460D46040001D1FFF7D8
-:103710001AFE662101700121017229680161A988E0
-:1037200081820673002C01D1FFF729FE70BD0721AD
-:103730004907012241189203914201D3102070479A
-:103740000721017000207047454A10B590420ED302
-:1037500001239B04C21A434B9A4208D3424B98421E
-:1037600005D2072252078A18DB139A4201D3102090
-:1037700010BD0DF08AFD10BD394B10B599420ED326
-:1037800001239B04374CCB1AA34208D3364B9942F2
-:1037900005D2E3020124D318A403A34201D31020CD
-:1037A00010BD022803D0102801D0092010BD0DF053
-:1037B00092FD0028FAD0052010BD70B5284B984224
-:1037C00012D301239B04274CC31AA3420CD3264BCC
-:1037D000984209D2E4020D19DB139D4204D2002A5B
-:1037E00004D014199C4201D3102070BD0DF099FD36
-:1037F0000028FAD0072070BD10B504460720400706
-:1038000001212018890394B0884202D3102014B0FB
-:1038100010BD01F06AFD002801D01120F7E70F204C
-:1038200008A9087369460BA80AF0C2F80028EED16F
-:103830006846007A207068464089608068468089C2
-:10384000A0800020E3E70000B01100201C3400003D
-:1038500015020000340000208C0C0020FFFF000047
-:10386000006001000000FC1F0040002010B594B073
-:10387000044601F03AFD002801D01120C7E7002CD2
-:1038800001D00720C3E7392168460170002181700B
-:1038900009A90AF08DF8002803D02B492B4811F014
-:1038A00098FB0020B3E770B5294C0846E178002961
-:1038B00013D000280FD007225207012385189B033D
-:1038C0009D4203D20568AA189A4201D3102070BD08
-:1038D0008288002A03D0012903D0082070BD092066
-:1038E00070BD04F0E1FA0028FAD10021E17070BD4A
-:1038F000184A10B5914208D301229204164B8A1A35
-:103900009A4202D3154A914201D3102010BD0246BB
-:10391000203A1F2A02D801F01FFC10BD072010BD5D
-:1039200007225207012310B58A189B039A4201D33C
-:10393000102010BD0246203A1F2A02D801F068FC70
-:1039400010BD072010BD00001C34000079030000EA
-:1039500034000020006001000000FC1F0040002037
-:103960008107C90E002808DA0007000F0838800810
-:103970002C4A80008018C06904E080082A4A800030
-:1039800080180068C8400006800F704710B50D20F1
-:10399000FFF7E6FFC4B20420C043FFF7E1FFC0B267
-:1039A000844203D021A11A2011F013FB10BD012184
-:1039B000234A48031060234B00221A60224A5160B8
-:1039C000224A1060224A11601D4980390860704700
-:1039D00001211B4A480310601D4A5160194A002109
-:1039E00011601A490860704710B516490868012827
-:1039F00004D00EA1562011F0ECFA10BD15488068D5
-:103A00000022C0B20A600DF0BBFE10BD10B50D481B
-:103A100001680029FCD0FFF7E7FF01200B494003B4
-:103A2000086010BD00ED00E000E400E07372635C2C
-:103A3000736F635F68616C5F726E672E6300000076
-:103A400080E100E000D1004000D3004080E200E0CF
-:103A500000D0004000D5004030B40121BC48C9026C
-:103A60000160CD1005604A030260BA4803681B027A
-:103A70001B0A036004680023240A24020460B64879
-:103A80000468240A24020460B44801244460846069
-:103A9000B34C23606360A360B24B19601D601A6071
-:103AA000B14B19601A600121016030BC704710B43D
-:103AB0000121A748CC0204600A0202600B060360E1
-:103AC000A64841608160A64900200860486088607F
-:103AD000A44804600260036010BC70470121A14843
-:103AE000C9020160C91001607047002805D0012893
-:103AF00005D0022805D19D4870479D4870479D48D4
-:103B0000704710B59CA18B2011F063FA002010BD06
-:103B100070B500219F4CA04DA04A914B002808D0C1
-:103B200001281DD0022822D093A1B32011F051FA10
-:103B300070BD01200004A060A86011601960984B5E
-:103B400042109A60974A9060814A0012106096482D
-:103B5000016087480160954801609548017070BD1B
-:103B600001204004A060A8605160596070BD012030
-:103B70008004A060A8609160996070BDF8B594461B
-:103B8000844A854D00240127754E002808D001285D
-:103B900036D0022844D078A1E82011F01AFAF8BDF6
-:103BA000891E0902090A01200004906034606860DF
-:103BB0007A4A1160012B21D000217D4A7D4B517042
-:103BC00061463D31DC63DF637B4B5C6002249C60BB
-:103BD00004241C61744B196074490F60614B891592
-:103BE0001960704B58606048016075487349C16046
-:103BF00086606B49600348601770F8BD0121DCE7FF
-:103C000001205C4E40046F4F012B04D134605060A2
-:103C100068603960F8BD9060346068603960F8BDF4
-:103C20000120524E8004684F012BF4D1EEE7674823
-:103C30004068704770B54A4D28680026554C0128E9
-:103C400006D1A068C00303D501200004A0602E6047
-:103C50006868012809D1A068800306D501204004C6
-:103C6000A0606E6001200FF04CF9A868012809D10E
-:103C7000A068400306D501208004A060AE60022049
-:103C80000FF03FF970BD10B549490878002818D0E9
-:103C90000120434AC0039060424A400090602C4A91
-:103CA00000121060404A00201060314A10603F4A04
-:103CB000106008704A78002A02D048700FF021F98D
-:103CC00010BD0320FAE70120414900060860704753
-:103CD0000120244900060860704701203C49400546
-:103CE0000860704701201F4940050860704731494E
-:103CF0000020C86388151B4908607047410A354A8F
-:103D0000C005C00D5043801C5143400A081870473D
-:103D100010B4314C430B63431B0C5C020C602D4C04
-:103D20006343C31A2D485C0258432A4B400D43435A
-:103D3000E31A0124DB0324041B191B1613700A6801
-:103D40001018086010BC704710B50FF0B2F910BD24
-:103D500080E100E008E400E018E400E000B000408A
-:103D600040B1004080E200E000E100E048B10040E6
-:103D70004081004044B100407372635C72656D5FC6
-:103D800068616C5F6576656E745F74696D65722ECF
-:103D90006300000000B3004040B3004040B5004065
-:103DA00000F5014000830040408500400082004053
-:103DB00050000020C08F004000850040008000407F
-:103DC00080F5014044B5004048B5004000B50040D2
-:103DD00000E200E0093D0000378600006F0C0100A2
-:103DE0000E4A12680C498A420AD118470B4A1268D7
-:103DF000094B9A4204D101B50DF0DDFD03BC8E469E
-:103E0000074909680958084706480749054A064B03
-:103E10007047000000000000BEBAFECA1C0100206E
-:103E200004000020901D0020901D002010B5FA4CC9
-:103E300094B02168087A002836D017206A4610709E
-:103E400000A806220931023010F026FF09A96846B1
-:103E500009F0AEFD112825D02168C03189790629E5
-:103E600020D007291ED008291CD004291AD00929DE
-:103E700018D00A2916D00B2914D0052912D00028F1
-:103E800003D0E6A1F32011F0A4F82168B82040582F
-:103E900006221C30093110F0FFFE2068017A8030C4
-:103EA000806BC17614B010BD3220C7E770B5DA4D13
-:103EB000044629680300C03111F07CF90C077C0B23
-:103EC0001A212E3B48515C677080FF20D3A1093036
-:103ED0006EE0887901286DD009286BD0052869D05B
-:103EE0000A2867D00B2865D0FF20CCA10E305FE0F8
-:103EF000887901285ED0FF20C8A1153058E0887964
-:103F0000062857D0072855D0082853D0052851D067
-:103F1000FF20C2A118304BE0887909284AD00A282E
-:103F200048D00B2846D0042844D0FF20BBA11E3027
-:103F30003EE0887903283DD007283BD0082839D0B7
-:103F4000092837D0FF20B5A1243031E08879062830
-:103F500030D00A282ED0FF20B0A12A3028E088795E
-:103F6000062827D0072825D00B2823D0FF20ABA177
-:103F70002E301DE0887906281CD00A281AD00B287C
-:103F800018D0FF20A5A1333012E08879092811D07C
-:103F90000A280FD0FF20A1A1383009E0887909282C
-:103FA00008D00A2806D0082804D0FF209BA13C3066
-:103FB00011F00FF82868C030847170BDFF2097A100
-:103FC0004130F5E79449C9220968525CD206920F44
-:103FD00005D1A0318A8B824201D1887F70470020B1
-:103FE000704770B504461120207000218A4D617021
-:103FF0002968C031897A002908D003290ED0042904
-:1040000010D0FF2085A16A3010F0E3FF207800096E
-:10401000012802D92868807D607070BD0007000FFC
-:10402000203002E00007000F30302070EEE730B59E
-:1040300003887E497E4C8B4202D09A1FA2421ED238
-:1040400042888A4202D0951FA54218D2934216D8C0
-:1040500083887D24E400A34211D8C088884205D01B
-:10406000734D04460A3C2D1FAC4208D2884208D04A
-:104070008A4206D05B1C5A43C000824201DD072001
-:1040800030BD002030BDFFB50022099B002802D0C2
-:10409000994205DC5CE0002902D1002004B0F0BDAB
-:1040A0000920FBE7845C002C12D085186F780D2F57
-:1040B0004CD010DC3B0011F07DF80A421B2A2A305C
-:1040C0003032323A3A42835C002B3FD1521CD2B29A
-:1040D0008A42F8DBE1E7122F31D004DC0E2F35D015
-:1040E0000F2F2CD132E0142F11D0152F27D116E02D
-:1040F000022CD5D1AB78039C072B237001D25B0730
-:1041000001D40A20CAE7029B01241B7814E0E34390
-:10411000DB0708E0012C08D011E00620BEE70F25E0
-:1041200023072D075B19002BF4D03046B6E7029B1E
-:104130001B789C070AD402242343029C2370835CCF
-:10414000521C9A18D2B28A4204DDA9E70B20A5E7D7
-:10415000192676028A42A5DB9FE705E00278401C1B
-:10416000002A01D0002070470A46491E89B2002A61
-:10417000F4D10120704730B5274D0021286887B061
-:10418000C943A030818300248477214606200DF0A6
-:10419000D1FD002105200DF0CDFD002102200DF004
-:1041A000C9FD0120FFF782FE28686946C030C4714E
-:1041B00004720120087068460BF007FC07B030BDA0
-:1041C00030B5154C95B02268C0329279042A0CD0D3
-:1041D000052A0AD028236A4613705080132906D076
-:1041E0003B2904D0072015B030BD0820FBE7117132
-:1041F000104609A909F0DCFB05000BD12068C0308E
-:104200008179062916D0082914D0072912D0052053
-:10421000FFF74CFE2846E6E7540000207372635C0B
-:104220006761705F636F72652E630000FFFF0000BF
-:104230007B0C00000420EBE730B587B0040003D00E
-:10424000002107200DF076FDFE4D012128686A4609
-:1042500001720421117003210C300DF06BFA2968F2
-:104260004022887B8006800E1043887368460BF0DE
-:10427000ACFB00280DD12968098A00299ED0002CAA
-:104280009CD08B000122002107200DF0AEFC0728F6
-:1042900001D0032092E7002090E770B50025064684
-:1042A000002803D0002107200DF044FDE54C01213A
-:1042B00020680172062109300DF03CFA2068817BEC
-:1042C0008906890E8173FFF7B1FD2068008A0028F6
-:1042D0000AD0002E08D083000122002107200DF013
-:1042E00084FC072802D00325284670BD0025FBE783
-:1042F000F0B59BB0040004D11920D349400110F05F
-:1043000068FE72202070616800260A780825521F16
-:104310000127CC48130010F04DFF0F0976D9FD7628
-:1043200078FCFBB576767676FAF97600C5480068B3
-:10433000C0308079032803D0C349C44810F049FE37
-:10434000002108460DF0F6FC002107200DF0F2FCDC
-:104350006078BC4A28436070106810250146C0315F
-:104360004B7A2B434B7263689D783C2D48D00246B4
-:104370009D88A032977763688030DB890B80636803
-:104380001B8A4B8063685B8A8B8095836168826B34
-:10439000C97911756168806B08311530062210F0FB
-:1043A0007BFC0620FFF782FDA648CA210068FB229D
-:1043B0000E54017E11400176B82109588A7A92087C
-:1043C00092008A724682284602F0ACFE002804D091
-:1043D0009E489D491A3010F0FCFD284602F0BCF8BA
-:1043E000002804D0994898491D3010F0F2FD284665
-:1043F00003F008FD002806D069209349C0003EE183
-:104400000120FFF753FD1BB0F0BD064600688F8802
-:10441000C0308079062812D0072810D008280ED086
-:1044200004280CD009280AD00A2808D00B2806D066
-:10443000052804D0D5208449800010F0CAFD60789A
-:10444000284360703068C030417A294341728079D6
-:10445000092811D00A280FD00B280DD005280BD021
-:10446000FFF789FE384602F062FE384602F07AF81D
-:10447000384603F0FDFCC6E7FFF77DFE0220FFF79C
-:1044800015FDEFE70068C0308079062812D00728B4
-:1044900010D008280ED004280CD009280AD00A28E9
-:1044A00008D00B2806D0052804D06F206649C0002C
-:1044B00010F08FFD6068807902F0F1FE0028A2D034
-:1044C0006178294361706168C8809CE7074600688D
-:1044D000C0308079062812D0072810D008280ED0C6
-:1044E00004280CD009280AD00A2808D00B2806D0A6
-:1044F000052804D055485449623010F06AFD6078B0
-:10450000284360706068C188386804E032E197E150
-:1045100084E084E00FE0C030018061680989418057
-:10452000616849898180002102200DF003FC386810
-:10453000C030C67167E706460068C030807906283B
-:1045400019D0072817D0082815D0042893D0092897
-:1045500011D00A280FD00B280DD005288BD03B484E
-:104560003949793010F035FD3068C0308079042841
-:10457000ABD00528A9D03068807C40063AD5606869
-:1045800002210C30FFF7E9FD002833D060680821D4
-:10459000001DFFF7E2FD00282CD03168B8204058FC
-:1045A000807A800708D1CA20405C002808D1488A58
-:1045B000C20505D5C00703D14A8A402082434A82FA
-:1045C0004A8A802082434A822D2268460270BC209B
-:1045D000425A684642801022973101A810F05CFBD5
-:1045E00009A9684609F0E4F90028A3D0174816493C
-:1045F000A03044E062683068AC2192890A52616858
-:104600000822091DAE3010F047FB10A80574306871
-:10461000AE30159014A80BF0D8F9F4E68F71064669
-:104620000068C030807906281FD007281DD00828D0
-:104630001BD00428F1D0092817D00A2815D00B2840
-:1046400013D005E0540000201C42000029030000A4
-:104650000528E2D0F949FA4810F0BBFC3068C030B8
-:1046600080790428D9D00528D7D0606881790029BD
-:1046700002D08078002805D0F148F0496C3010F065
-:10468000A8FCC0E66078B8212843607030680958FB
-:10469000897A8907890F012952D1817C09064FD473
-:1046A000017E490701D5042100E00321C030817259
-:1046B0002B206946087009A9684609F079F9002895
-:1046C00004D0DF48DD49213010F083FC69463068B2
-:1046D000098D81820E2210A90A74DA49B822159137
-:1046E000125808324A61024660324A6092790A7072
-:1046F000024614320A61521D8A601032CA60133AAF
-:104700008A619632CA61921C0A62473A4A62103242
-:104710008A621032CA62473ACA63521E0A64921F02
-:1047200050304A64886414A80CF038FB022815D075
-:10473000002813D0C248C1494A3010F04AFC0DE0AD
-:10474000817C4906017E490701D5042100E003214F
-:10475000C0308172002106200DF0ECFA3068418AE9
-:104760000A0602D440229143418289B280229143B9
-:10477000418248E6B4480068C0308079032804D0FC
-:10478000AF48AE49783010F024FC002108460DF007
-:10479000D1FA002107200DF0CDFA6078AA4A28430B
-:1047A0006070106810250146C0314B7A2B434B7264
-:1047B00063689D783C2D00D122E602469D88A03298
-:1047C000977763688030DB890B8063681B8A4B8036
-:1047D00063685B8A8B8095836168826BC979117588
-:1047E0006168806B08311530062210F055FA0620FA
-:1047F000FFF75CFB9448CA210068FB220E54017E3F
-:10480000114001764682284602F08CFC002804D034
-:104810008B488A49923010F0DCFB284601F09CFE60
-:10482000002804D086488549953010F0D2FB2846F0
-:1048300003F0E8FA00289CD08148804997301EE7B1
-:10484000607828436070DEE500290BD088807E48C0
-:104850000068C0300288CA8002880A8142884A8182
-:10486000808888817047F7B5064600780C46002797
-:10487000010982B03D46012974D073480068009058
-:10488000C03002296FD0072904D00A296CD06B49A7
-:104890006E48E3E171680A78521F130010F08AFC39
-:1048A0000F09A551A5A52F585847A5A5A5A5656F22
-:1048B000A5008A783C2A1BD010271625002C7DD015
-:1048C0008888A0807068A21DC08920827068C08915
-:1048D000E0817068008A60827068408AA082716896
-:1048E00008460831C07901F09FFB0020607375E035
-:1048F00019270725002CE2D00021A17171E01127B2
-:104900000725002CDBD089880091A1807168F722EF
-:104910008979A171417A11404172009802F008FC36
-:10492000009801F023FE009803F0B0FAC1E10127DE
-:104930000925002CC3D08888A080706880792072F7
-:10494000B7E1888812270E252146FFF77DFFB0E1E9
-:1049500018270825002CB2D08888A080A01DFFF75A
-:1049600040FBA6E145E0A1E15DE01A270725002C08
-:10497000A5D04888A08070680079A07199E18A78F4
-:104980003C2AB5D010271625002C98D08888A08006
-:104990007068C08920827068C089E0817068008A70
-:1049A00060827068408AA0827168607B497D40089F
-:1049B0004000C907C90F0843607300E036E1716821
-:1049C000C007497DC00F49084900084360737168FA
-:1049D000A21D08460831C07901F026FB1A4800687C
-:1049E000C030417AEF22114046E1532013490001C3
-:1049F00034E1307A012803D014481049C5382DE13C
-:104A000012270E2570892146FFF71EFF002C91D03A
-:104A100070784007400F032888D10B480068C030E9
-:104A2000417AFB22DFE708490968A031002C01D058
-:104A30008A8BA280327A921E0AE000001C4200009B
-:104A4000ED030000AC120020540000200C06000012
-:104A5000130010F0AFFB073D4853EDEE6F05ED007E
-:104A600013270C25002C90D0009900224A82F1686F
-:104A700089788907890F0129217A26D049084900B8
-:104A80002172FD231940F3689B785B07DB0F5B0005
-:104A900019432172E323E2801940F3681B785B0716
-:104AA000DB0E19432172DF231940F3685B78DB07C3
-:104AB0009B0E194321726272F1680122C978A172BA
-:104AC000017A1143F7221140ADE001231943D7E7E2
-:104AD00015270C25002C9AD0F06806220068A11D2D
-:104AE0000EF07CFFE5E016270725002C8FD0317BE8
-:104AF000A171017A08221BE00172DAE01427122565
-:104B0000002C84D00098A21D8030806B01461531A6
-:104B1000007D01F089FAB089E081207C0121084301
-:104B2000F92108402074FE480068C030017A022252
-:104B30001143E1E717273825002C77D03221A01D3B
-:104B400010F007F90020A071207A03210843207299
-:104B5000FB210840F24909680A7E5207D20F9200F1
-:104B600010432072B8204058807A800757D0A07A2E
-:104B70008A7C4008D2074000D20F1043FD2210402B
-:104B8000A0728B7CFB229B07DB0F10409B0018431D
-:104B9000A0728B7CF7269B07DB0F3040DB001843AD
-:104BA000EF231840A072E07A10408A7CD206D20F20
-:104BB00092001043E0728A7C3040D206D20FD200BD
-:104BC0001043E072888AA0812046102267310E309F
-:104BD00010F062F8D249A07F0968C0078A7DC00F33
-:104BE00052001043A0770A7E400852074000D20FBF
-:104BF0001043A077084640304DC820344DC4303CA7
-:104C00003F20405C22463032393101F00DFAC44871
-:104C100000688030806B817A890889008172C04881
-:104C20000068C030017AFB22114065E737E000E000
-:104C300038E0327B022A14D017273825002C2ED0DA
-:104C4000017AFB2319400172012A17D0032A17D0D9
-:104C5000042A18D0052A16D0B249B34810F0B9F981
-:104C600027E019270725002C19D0898BA180012165
-:104C7000A171417A4908490041721AE0012000E01F
-:104C80000220A07106E0707B0007000F8030A07149
-:104C9000052A02D00020E0710BE00120FBE7049818
-:104CA00005800CE0A0489F490A30D7E7317A0029F7
-:104CB00008D00498002C058001D027806580002052
-:104CC00005B0F0BD19270725002CE8D00021C94305
-:104CD000A1800021A171417AFD2284E610B5904C9B
-:104CE00094B02068C0308079022809D0032807D00A
-:104CF000052805D0092803D00A2801D00B2837D170
-:104D00001B2108A801730021817369460BA808F0D4
-:104D10004FFE002804D1684640781B2802D00320AB
-:104D200014B010BD002108460DF004F80021072042
-:104D30000DF000F868468078002819D12068C0304E
-:104D40008079801E030010F035FA0A060613081356
-:104D500013130D0F1113012000E00420FFF7A6F834
-:104D60000020DDE70620F9E70720F7E70820F5E750
-:104D70000820D5E770B50025694C002807D0022827
-:104D800017D0072828D033206649400146E0FFF7B6
-:104D9000A5FF00280CD1FEF7D6FA2221017005727A
-:104DA000FEF7EDFA2068C030417A022211434172C9
-:104DB00070BDFEF7C8FA122101700121017221684D
-:104DC000BC22525A4281C031CD71FEF7D8FA206818
-:104DD000C030417A0422E9E72168C620405C0228FD
-:104DE00009D0032807D0092805D00A2803D00B28AA
-:104DF00001D00528DCD1887B8109012911D08009E7
-:104E000004D0494847496E3010F0E3F80020FFF71E
-:104E100044FA0028CCD044484249723010F0D9F806
-:104E200070BD0020FFF708FAF3E770B50D460400E7
-:104E300004D1CD203B49C00010F0CBF820780128E8
-:104E400005D0394837499D3010F0C3F870BDA188AE
-:104E50003648334E814209D1E288824206D1306819
-:104E60001321A030808BFFF7ABF970BD814202D1D6
-:104E7000E08800280AD012202870687808210843AA
-:104E8000687007CC083507C5002106E000227823AA
-:104E9000114602200CF0A9FE02213068C030C17119
-:104EA00070BD1F480068C030807A704738B51C4C10
-:104EB00005460278206813000146C03110F07AF9E7
-:104EC00009A8060909A21945728AA800FEF7AEFFD3
-:104ED00038BD8879062806D0092804D0124811491F
-:104EE000B53010F076F820680422017E1143017677
-:104EF00088E0A9880029EBD0A030808B0B4988423C
-:104F0000E6D0A868002804D107480649C53010F04B
-:104F100060F8A8680A38A8600090AB88206807E0AD
-:104F2000540000201C420000E9050000FFFF0000C3
-:104F3000A030808B0622042102F028F80028C7D078
-:104F4000F849F94810F045F838BD287902288879E1
-:104F50000DD00428F8D00528F6D0284601F075F8C1
-:104F600020681321A030808BFFF72AF938BD07286D
-:104F700006D00A2804D0EC48EA490A3010F029F893
-:104F8000284601F062F820680122C030417A1143BE
-:104F900041728079072803D00920FEF787FF38BDCA
-:104FA0000620FAE7887906280AD0042808D00928BC
-:104FB00006D0052804D0DC48DA49313010F009F871
-:104FC0000ECDDA480361C2608160A2210170FEF754
-:104FD000EBF938BD8879062818D0072816D009289B
-:104FE0000DD00A280BD0D048CE4944300FF0F1FF45
-:104FF0002068C0308079062808D0072806D00B200A
-:10500000FEF754FF284601F020F838BD0820F7E7E6
-:10501000C548C449583095E7FFB593B001246846A8
-:1050200003218470C9021D4601800AF0A6F90022FE
-:105030006946012003F0ABF906460AF0A2F9002EFA
-:105040005CD16846152184704902018000271C212B
-:1050500001A808970FF07FFE01200146103108A833
-:1050600001700020014608A841708178F9200140B4
-:10507000891C214308A881706846017902263143C2
-:10508000017114998185C7851F21018608A80A909E
-:1050900013980D90684609900AF06FF90EAA09A9B5
-:1050A00001A802F036FF07460AF06BF9002F02D084
-:1050B000384617B0F0BD9E4F68463968008F48806B
-:1050C000684684709B49018008A88078F9210840CF
-:1050D000801C4108490008A88170684686850686BC
-:1050E00015A80D900AF049F90EAA09A901A802F025
-:1050F00010FF06460AF045F9002E01D03046D8E7E9
-:1051000068463968008F88808A4968468470C91C5F
-:105110000180298810A8018069884180A988818040
-:10512000E988C180082168468185018610A80D9014
-:105130000AF023F90EAA09A901A802F0EAFE044622
-:105140000AF01FF9002C01D02046B2E76846396802
-:10515000008FC8800020ACE7F0B5774D95B00C46C5
-:10516000A9423FD30126B604744FA11BB94239D3DB
-:1051700073498C4236D2202806D0212827D02228F5
-:1051800042D0072015B0F0BD3C216846017021884F
-:1051900041806188818009A908F00AFC0028F1D1CA
-:1051A00008A98979002903D002290ED00320E9E754
-:1051B0006168A942E6D38A1BBA42E3D3604A9142AE
-:1051C000E0D26A46128D0A80DCE75E48DAE72068A2
-:1051D000574C002813D00721490701224118920398
-:1051E000914201D31020CDE706210EF0E1FB2168AA
-:1051F000A82250500120A03188750020C2E7206805
-:105200000021A0308175F8E7204600F02AFFB9E7B9
-:10521000494A10B5914208D301229204474B8A1A99
-:105220009A4202D3464A914201D3102010BD202851
-:1052300005D0212803D0222803D0072010BD062046
-:1052400010BD084600F051FF10BD70B50446374848
-:10525000CC21AC300FF07FFD3448354EAC3000210E
-:105260003060C943A0308183002585770120FEF797
-:105270001DFE3068C7210D54E121C57389000182EC
-:10528000B6210D54014609310830FDF779FF316828
-:10529000084629311930FDF7A9FF002C24D03068C9
-:1052A00080308463FEF7C2FD1E20E081607A8F218A
-:1052B0000840303060723068014614312161983105
-:1052C0006162933921601031616025721339A162E6
-:1052D000091FE1628531E163303921631031616377
-:1052E00010310930A163A06470BD11480068C0305E
-:1052F0008079042803D0052801D0002070470120C0
-:10530000704770B506460C480C46814208D3012010
-:1053100080040A49201A884202D30948844213D3E0
-:10532000102070BD1C420000B30600004C1200208B
-:1053300054000020012A0000006001000000FC1F52
-:105340000040002002300000FFF7CFFF002801D00E
-:105350001120E6E7FD48FE4D002E02D0012E46D179
-:105360002FE02278002A0AD00121012A09D0022A3E
-:1053700014D0032AD5D1A2799209D2D112E000210A
-:1053800003E0A2799209032ACBD128680622017290
-:1053900060308171611C0FF07FFC05E0A2799209F9
-:1053A000012ABED128680172002107200CF0C2FC3E
-:1053B00028680622611C09300FF06EFCFEF736FDEE
-:1053C00011E02178002912D0012910D0022910D033
-:1053D0000329A6D10120FEF760FF002803D0DD4994
-:1053E000DD480FF0F6FD2868C673002099E7072016
-:1053F00097E70120FEF720FFEFE707214907012289
-:1054000010B541189203914201D3102010BDD0492C
-:10541000024609680B7A0931184600F005FE0020A3
-:1054200010BDFFB599B005460020694608710872A5
-:1054300008A9087408751E4614460121C748890446
-:10544000C74AC84B002D06D085420DD36F1A97422C
-:105450000AD39D4208D2002C09D0844204D3601A9A
-:10546000904201D39C4202D310201DB0F0BD2846CB
-:10547000204318D01F270CAB01AA009728461A9981
-:10548000FEF701FE0028F0D10DAB02AA31462046FE
-:105490000097FEF7F8FD0028E7D16846007AC107BB
-:1054A00003D00A20E1E70720DFE7800705D568463B
-:1054B0000079800701D50B20D7E7FFF716FF0028FA
-:1054C00001D01120D1E703AF002D0FD01A2069467B
-:1054D00008731A9888732946F81C1A9A0FF0DCFB97
-:1054E0000EA903A808F064FA0028BED1002C0ED043
-:1054F000202168460173867332462146F81C0FF05E
-:10550000CBFB0EA903A808F053FA0028ADD19049AF
-:1055100008A80968007C08700020A6E7F0B50446DA
-:105520008E48002795B084426FD301208004211A51
-:105530008B488142F8D38B48844266D22378012B72
-:105540000BD1864960688842EED39904421A844997
-:105550008A42E9D383498842EFD27D490A681546D9
-:10556000C035A879022814D0032812D0052810D0FD
-:1055700009280ED00A280CD00B280AD0012803D005
-:10558000002B06D0012B04D0687AC506AD0F06D1DA
-:1055900001E00820F6E5850701D4400701D5112078
-:1055A000F0E5012B15D0208A6F4E0546203DB5420F
-:1055B0007ED2022B01D0032B01D1A02878D3012B5E
-:1055C00007D01078C00704D0608A002870D0B428B3
-:1055D0006ED8002B06D0012B08D0022B04D0032B51
-:1055E00066D110E0002512E0022510E06068012578
-:1055F000007800280BD0012808D0022806D0032804
-:1056000004D05248BEE5032501E066E00127D07BC7
-:1056100001281CD1108A002819D0907B810901290A
-:1056200011D0800904D04C484A49E4300FF0D1FC35
-:105630000120FEF732FE00280BD047484549E830EC
-:105640000FF0C7FC05E00120FEF7F6FDF3E7FEF7DB
-:10565000EDFB207A002806D0012806D0022806D0CB
-:10566000032825D105E0002604E0012602E00226F9
-:1056700000E00326002D01D0022D42D1002E40D0A3
-:10568000E068002814D00179002928D008290FD813
-:10569000027B9446082A0BD800290ED02F4A0168B5
-:1056A00091421AD3012292048B1A2D4A934200E0B0
-:1056B00084E012D32B4A91420FD26146002912D0C6
-:1056C00080682649884208D301218904421A244966
-:1056D0008A4202D32349884205D3102052E5027B37
-:1056E000002A6BD0D4E71A4800680078800702D0FF
-:1056F0001648401E46E5022D03D1022E5ED0032E31
-:105700005CD0182168460170218A4180218A8180FD
-:1057100085710F480068007A002801D0012870D1F7
-:105720006946C8716846077221780930012932D06C
-:1057300006210FF00EFB07216846C173067409A904
-:1057400008F036F90028C9D10A210FE00232000022
-:10575000540000201C4200005F08000000600100AF
-:105760000000FC1F00400020E13F0000684601707F
-:1057700009A908F01DF90028B0D13A20694608703F
-:1057800009A9684608F014F90028A7D1002D08D00F
-:10579000022D06D04CE061680622491C0FF07CFA0D
-:1057A000C9E7002E44D00026374623E00168B00048
-:1057B00009580978002903D0012904D00720E1E421
-:1057C00069468F7002E001216A469170E168062205
-:1057D0000968095800A8491C03300FF05DFA0B2036
-:1057E0006946087009A9684608F0E2F80028E6D181
-:1057F000761CF6B2E0680179B142D7D800266F4630
-:1058000012E050E08068B10041581022B81C0FF03F
-:1058100043FA3B206946087009A9684608F0C8F8B1
-:105820000028CCD1761CF6B2E068017BB142E9D801
-:105830001B20694608700120887009A9684608F095
-:10584000B7F80028BBD108A840791B282BD1002D20
-:105850000AD0012D04D0022D08D0032D18D105E067
-:105860000320FEF723FB26E003200FE0FE4800683C
-:10587000C030807903000FF09DFC0916061616183B
-:1058800016081A1C1600022000E00920FEF70EFB85
-:10589000608A00280FD000228300114610460CF0C9
-:1058A000A4F9002807D003206CE40520EEE70A20C5
-:1058B000ECE70B20EAE7002064E470B586B00C004A
-:1058C00006460BD0E94884424AD301208004E849C7
-:1058D000201A884244D3E748844241D2E24D2868E6
-:1058E000C030C179022902D0407A400702D5112088
-:1058F00006B016E5002C04D02046FEF798FB0028E1
-:10590000F6D13046FEF75EFB012803D0022823D0F3
-:10591000D948EDE721001BD1082069468882286814
-:1059200001ABC08805AA002103F019F90028DFD1D6
-:105930006846808A082801D00320D9E76846818814
-:105940008181C188C181018901824189418203A984
-:10595000304601F074FCCBE7002C01D00620C7E7ED
-:105960001020C5E770B50C460546FEF72BFB012855
-:1059700003D0022801D0C048D3E421462846FEF7D0
-:105980001FFCCEE400B50146143095B0192801D2B1
-:10599000880707D008461E3004D00A3002D00720FE
-:1059A00015B000BDFFF7A1FC002801D01120F7E7DA
-:1059B000AD4831220068417068460270817009A9C3
-:1059C00007F0F6FFECE701B582B0022069460880D7
-:1059D000A54802AB00686A468088002102F02AFFD1
-:1059E00069460988022900D003200EBD38B502217E
-:1059F0006A4611800721490701224118920391420A
-:105A000001D3102038BD9849034609686A468C883E
-:105A10000021204603F0A3F8694609880229F1D045
-:105A2000032038BD3EB504460820694608808F48EB
-:105A3000844208D3012080048D49201A884202D371
-:105A40008C48844201D310203EBD2046FEF7EFFA79
-:105A50000028F9D12088694688806088C880A0889D
-:105A60000881E0884881804801AB00686A46C088A8
-:105A7000002102F0DFFE694609880829E4D00320EE
-:105A80003EBD1FB504460820694688817748844298
-:105A900008D3012080047649201A884202D3754831
-:105AA000844202D3102004B010BD6F486B460068DA
-:105AB00003AAC088002103F052F80028F3D16946F8
-:105AC0008989082901D00320EDE7694609882180EA
-:105AD00069464988618069468988A1806946C98884
-:105AE000E180E0E7FEB50546604817460E46814274
-:105AF00008D3012189045E4A731A934202D35D4B95
-:105B00009E4201D31020FEBD1F2F01D90C20FEBDE7
-:105B1000554C85422AD3681A904227D39D4225D2FC
-:105B2000206801A9408802F037FE0028EFD12878CC
-:105B300069464871206801A9408802F010FE0028DB
-:105B4000E5D169460090087802210843694608704B
-:105B50004979090703D0082108436946087020687D
-:105B60006946408802F0A5FD0028D0D169460F8122
-:105B700020683346408802AA002102F05BFE694695
-:105B80000989B942C3D00320FEBD38B50C460721B0
-:105B9000012249079203002802D04318934202D2FF
-:105BA0006118914201D3102038BD21886A461180C6
-:105BB000002801D000290BD02B49034609684D88E5
-:105BC0000021284602F0CBFF69460988218038BDB4
-:105BD0000C2038BD30B50C46244987B08C4208D320
-:105BE00001218904224A611A914202D321498C423F
-:105BF00002D3102007B030BD1B4D2968C0310A7A8E
-:105C0000520708D48979491F0B000FF0D3FA050415
-:105C10000604040604000820ECE7FEF7D3F9012887
-:105C200003D0022839D01448E4E720881E2801D286
-:105C30000720DFE72868C030807906282BD00A20AB
-:105C4000FEF734F90520694608700879A1788008C4
-:105C5000C9078000C90F084369460871FB21084045
-:105C6000A1788907C90F09E05400002000600100F5
-:105C70000000FC1F004000200230000089000843A3
-:105C8000694608712088C880684609F09EFE002891
-:105C9000B0D00320AEE70720D2E70620AAE7F0B590
-:105CA00087B014460D46FEF78DF9012804D002286E
-:105CB00002D0FE4807B0F0BDFD4B18680146C03168
-:105CC0000A7AD20707D08A79042A04D0052A02D09A
-:105CD000002D02D052E00820ECE7F64A944208D3A7
-:105CE00001229204F44BA21A9A4202D3F34A94423C
-:105CF00001D31020DEE7A278D206520F042A0CD876
-:105D0000E378072B09D3102B07D822799A4204D3C2
-:105D1000102A02D822881E2A01D00720CAE702468C
-:105D20008032966BF727F372966B23793373966BF9
-:105D3000737A3B40A778BF06FF0FFF003B437372A7
-:105D4000966B2388F381966BA778B37AFF079B083D
-:105D50009B00FF0F3B43B372FB273B40A778966B3A
-:105D6000BF07FF0FBF003B43B372926BA478537A17
-:105D7000E406DB08DB00640F234353720B226B46FF
-:105D80001A70852D22D008DC002D17D0812D17D058
-:105D9000822D17D0832D08D116E0862D18D0882D9E
-:105DA00018D0892D18D08A2D18D00B221A71B6223E
-:105DB000125CBF4C002A13D0A83012E00022F5E795
-:105DC0000122F3E70222F1E70322EFE70522EDE7E4
-:105DD0000622EBE70822E9E70922E7E70A22E5E7DE
-:105DE00000200290887907280BD0082809D00920C4
-:105DF000FEF75CF8684609F0E8FD002803D00320B0
-:105E000058E70620F4E720680422C030017A4908E8
-:105E100049001143017200204CE770B5A44E0D46B5
-:105E2000316886B0C031097A1446090701D40820C8
-:105E30005EE5FEF7C7F8012803D0022801D09B4891
-:105E400056E5002D12D09B48844208D301208004DF
-:105E50009949201A884202D39848844201D31020DD
-:105E600046E5012D0BD0022D02D106E0002C01D019
-:105E700007203DE50020029005E0022000E001201F
-:105E8000694608710294032069460870684609F063
-:105E90009CFD002801D003202AE53068F722C0309D
-:105EA000017A11400172002022E570B594B01446C9
-:105EB0000E46FEF787F8012804D0022802D07B485E
-:105EC00014B059E57A4D2868C030007A800701D4B3
-:105ED0000820F5E7002C01D00720F1E7FFF705FACD
-:105EE000002801D01120EBE7002E1DD02D2168469F
-:105EF00001702C68BC20015B684641801022B11CF7
-:105F000001A80EF0C9FE207EFB210840B17CC90724
-:105F1000490F08432076B07CFF214008A075608AB5
-:105F200082310843608207E02E21684601702868AC
-:105F3000A030818B6846418009A9684607F038FD8A
-:105F40002968FD23C0310A7A1A400A72B8E710B5F1
-:105F50000C46FEF737F8012803D0022801D0534839
-:105F600010BD5448844208D3012080045249201AAD
-:105F7000884202D35148844201D3102010BD2046EC
-:105F8000FEF72FF8002010BD10B594B00446FEF7C0
-:105F900019F8012804D0022802D0444814B010BDDA
-:105FA00043480068C0308179042910D005290ED0FB
-:105FB0003820694608704C8001200871487109A991
-:105FC000684607F0F5FC0028E8D00B20E6E7002043
-:105FD000E4E710B594B00446FDF7F4FF012803D0C0
-:105FE000022801D03148D9E731480068C0308179B2
-:105FF00004290DD005290BD03820694608704C8043
-:1060000000200871487109A9684607F0D1FCC5E76E
-:106010000020C3E726480068C0308079062801D3F5
-:10602000012070470020704708B51346002806D0AD
-:1060300023A00068009048796A468009105C1870B7
-:106040000622581C0EF028FE08BD10B50446FDF7C8
-:106050007AF9A22101700ECC08300EC0FDF78FF93D
-:1060600010BD70B5124C054601682068002913D098
-:10607000104A914208D3012292040F4B8A1A9A4285
-:1060800002D30E4A914201D3102075E410227730DA
-:106090000EF002FE206801218030806B01722068C2
-:1060A000A9880182C17B012919D10BE002300000CF
-:1060B00054000020006001000000FC1F0040002090
-:1060C0000302FF01807B800901280AD00120FEF72E
-:1060D000E4F8002803D01A491A480EF07AFF00208D
-:1060E0004AE40120FEF7A8F8F3E770B5054600681A
-:1060F000154C00281ED007214907401801218903AB
-:10610000884201D3102037E42068B8210958097A61
-:10611000012909D00146773129300AF08EFF206825
-:1061200001218030806B017221681022286877314C
-:106130000EF0B2FD2068008AA88000201CE4000058
-:106140001C420000FD02000054000020FFB581B099
-:1061500001980E46C078174610360E37022809D02F
-:10616000032840D005287DD0F2A1F7480EF031FF7A
-:1061700005B0F0BDCC890A2060430E301880312371
-:106180000A98002A0380F3D0486800889080002095
-:10619000D0801081097B9481891FCDB21AE03088AC
-:1061A0007168388048780A7800021043F880C8780F
-:1061B0008A78000210433881BA1C091D28460BF06A
-:1061C0008AF8002D01D0002802D000203871788094
-:1061D00008360A372046641EA4B20028DFD1019990
-:1061E0000020C870C4E7CC890A2060430E301880B4
-:1061F00032230A98002A0380BAD048680025008814
-:106200009080D5801581087B401FC0B2009094819A
-:1062100042E0716832880878FA803A79C3075208F8
-:106220005200DB0F1A43FD231A408307DB0F5B008C
-:106230001A43FB231A404307DB0F9B001A43F72343
-:106240001A400307DB0FDB001A43EF231A40C30693
-:10625000DB0F1B011A43DF231A408306DB0F5B01B0
-:106260001A4300E020E0BF231A404306DB0F9B01E6
-:106270001A433A71C00978718A784B781002184332
-:1062800038813A46C91C00980BF025F8002801D047
-:10629000BD703D8008360A372046641EA4B200282F
-:1062A000B7D10198C57063E7087BCC89801E85B2A1
-:1062B0002846083060431030188034230A98002A9A
-:1062C00003808FD048681746008890800020D080D7
-:1062D000108194811037E000D581C0190CE030881E
-:1062E0003880009878602A46716800980EF0D4FCD7
-:1062F000009808360837401900902046641EA4B262
-:106300000028ECD16BE7FFB50546C07881B00C469C
-:106310000A9E03000EF04EFF0BA3071733414F6D8B
-:106320008F9D9D9DA300207B1746082806D003283B
-:1063300004D085487FA154300EF04BFE04990E2006
-:10634000088030200CE0207B1746042804D07E48CB
-:1063500078A171300EF03DFE04990E2008803120A6
-:106360003080002F44D060680088B880607AFF30A9
-:106370000130F880E08938810020B88137E0207B47
-:106380001746042804D070486AA18D300EF021FE13
-:1063900004990E2008803220E2E7207B174602286D
-:1063A00004D0694863A1A9300EF013FE04990E20B1
-:1063B00008803320D4E7207B1746042804D06248A5
-:1063C0005CA1C4300EF005FE049810210180342039
-:1063D0003080002F0CD060680088B880607AFF3071
-:1063E0000130F880E08938810020B881F881E870B8
-:1063F000BEE6207B1746052806D0062804D0524862
-:106400004CA1E1300EF0E5FD049812210180352009
-:106410003080002FECD060680088B880607AFF3050
-:106420000130F880E0893881E089B8810020388225
-:10643000A988F981DBE7207B1746072804D042486A
-:106440003CA1F8300EF0C5FD04990E2008803620DE
-:1064500086E700962846049B00F02DFD88E635A1CE
-:106460003A480EF0B6FD83E670B5054600780C4656
-:10647000082603000EF09EFE124C3434241C380A09
-:106480000A0A0A0A0A0A0A0A0A0A0A4C687800284A
-:1064900004D02E4827A12C300EF09BFD002C03D1F8
-:1064A0001F2024A1400108E060783043607020E0A4
-:1064B000002CF9D17D201FA1C0000EF08AFDF3E76A
-:1064C000002904D03F201BA100010EF082FDFCF743
-:1064D0003AFF0446407830436070FCF750FF08E014
-:1064E0001A4814A1473002E0184812A14C300EF0AF
-:1064F00070FD002C0AD06078000707D5932020702B
-:106500002046582229460830FAF75EFE002070BD6A
-:106510000E4808A15030EAE710B500200C4C0D4998
-:106520000346C2008C525218401C0006D370000E65
-:10653000F7D010BD7372635C67617474635F636FDF
-:1065400072652E63000000005A020000B3030000D1
-:10655000FFFF000058000020FE49088001208870DD
-:1065600000207047FB4900208870704710B500215B
-:10657000F848C94301800021C17007F053FAD8E7F9
-:10658000F7B584B0054600276846078187806868AC
-:106590000C46008800F0ECFB0646287A032805D05C
-:1065A000002E03D1EC49ED480EF013FD297A204668
-:1065B000C91E123000900B000EF0FCFD0FF2F1F03E
-:1065C0003D09AA465C6D34B3CDF38B8BF000F078B7
-:1065D000012803D0E049AD200EF0FBFCA8896946F4
-:1065E000C0000E30888030200881002C22D06868DE
-:1065F0000188A180E7802781A989A18100200DE081
-:10660000C100B27909190A74B288CA81820052198C
-:10661000D3894B82128A401C8A8280B2A18981422E
-:10662000EED8D7E002A8009001AB224629463046BA
-:1066300000F0CCFBF1E002A8009001AB2246294615
-:10664000304600F005FCE8E0F07806281AD0FF207C
-:10665000C149223014E068680188A180E780278161
-:10666000A989A181B188E181E9892182EA89296921
-:1066700000982BE0F078062804D0FF20B6493C3083
-:106680000EF0A7FCE8896946123088803520088121
-:10669000002CE0D1C1E0F078072804D0FF20AE49FB
-:1066A00056300EF096FCA88969460E308880362058
-:1066B0000881002CBED068680188A180E78027810E
-:1066C000A989A1812046AA890E3029690EF0E4FA31
-:1066D00080E0E8896946123080B2382288800A81D9
-:1066E000002C79D068680188A180E7802781A9897A
-:1066F000A181287A102809D00221A173E989218279
-:10670000EA89296900980EF0C7FA86E00121F4E7CA
-:1067100002A8009001AB224629463046FFF716FD3D
-:106720007BE0F078082803D08B498D480EF051FCAF
-:1067300014206946888037200881002C6DD0686855
-:106740000188A180E7802781A989A18167822782AA
-:106750000120A0733EE0F078092804D080487E49EB
-:1067600018300EF036FC288A6946143088803720AD
-:106770000881002C51D068680188A180E78004213D
-:106780002781A173A989A181E9892182298A61824E
-:1067900020462A8A1430696998E702E038E01CE054
-:1067A00024E0F0780A2804D06D486B4933300EF0AD
-:1067B00010FC14206946888037200881002C2CD0DA
-:1067C00068680188A180E78027810521A173A781DE
-:1067D00027826782F77020E017E002A8009001ABE3
-:1067E000224629463046FFF78EFD16E00D20694609
-:1067F000392288800A81002C07D00120E08055488A
-:106800000188A1802781277307E00699088010E09E
-:106810008F205149C0000EF0DCFB68460699808845
-:106820000880002C05D06846008920806846808852
-:106830006080002007B0F0BDF7B594B015460F4654
-:10684000149800F0A0FA04000AD0032000F088FB9E
-:10685000022802D2E078002804D0112017B0F0BD41
-:106860004048FBE71720694601260883002D0FD01A
-:106870000321684601711021018210A8024605908B
-:1068800004A928460AF04DFD00280DD00720E5E7B1
-:1068900008216846017100210781C9434181052112
-:1068A0008673C90281810CE0A878A0712888A08035
-:1068B000684605218673C902818100210781C94389
-:1068C000418109AA023206A901A807F0E4F80028CC
-:1068D00002D000F06BFAC1E707A800906846038B6E
-:1068E00004220321149800F051FB0028B6D1E67071
-:1068F000B4E770B592B00D0006460ED000F043FA32
-:1069000004000CD0032000F02BFB022802D2E07818
-:10691000002806D0112012B070BD1020FBE71148EE
-:10692000F9E7172168468180042101722988818155
-:106930006988C181012181740B4901820AAA02324E
-:1069400001A902A807F0A7F800280FD000F02EFA3E
-:10695000E1E7000058000020346500003C0400001E
-:1069600063020000023000000228000008A8009026
-:106970006846838804220321304600F007FB002884
-:10698000C9D10221E170C6E770B592B00D0006468C
-:106990000DD000F0F8F904000BD0032000F0E0FA6D
-:1069A000022802D2E078002805D01120B3E7102099
-:1069B000B1E7FA48AFE717216846818004210172E8
-:1069C000298881816988C18101218174F44901820A
-:1069D0000AAA023201A902A807F05DF8002802D035
-:1069E00000F0E4F997E708A800906846838804223D
-:1069F0000321304600F0CAFA00288CD10321E1704F
-:106A000089E770B592B00D0006460DD000F0BBF9D5
-:106A100004000BD0032000F0A3FA022802D2E07891
-:106A2000002805D0112076E7102074E7DB4872E7D4
-:106A3000022168460172298881816988C1811721F4
-:106A400081800AAA023201A902A807F024F80028CE
-:106A500002D000F0ABF95EE708A800906846838892
-:106A600004220321304600F091FA0028DBD10421F2
-:106A7000E17050E7F0B591B015000E4607460ED014
-:106A800000F081F904000CD0032000F069FA02281C
-:106A900002D2E078002806D0112011B0F0BD1020FD
-:106AA000FBE7BE48F9E7172168468180042101729F
-:106AB000298881816988C181B17881743188018296
-:106AC0000AAA023201A902A806F0E5FF002802D0B6
-:106AD00000F06CF9E1E708A800906846838804227A
-:106AE0000321384600F052FA0028D6D10521E17082
-:106AF000D3E7F7B592B015460E46129800F043F969
-:106B000004000AD0032000F02BFA022802D2E07819
-:106B1000002804D0112015B0F0BDA048FBE70627DF
-:106B2000002D12D0684607728681C581A580172086
-:106B3000694688800AAA023201A902A806F0ABFFC2
-:106B4000002807D000F032F9E5E705216846017218
-:106B50008681EBE708A80090684683880422032119
-:106B6000129800F013FA0028D5D1E770D3E7F7B5F3
-:106B700092B016460D000ED0129800F004F90400F1
-:106B80000BD0032000F0ECF9022802D2E0780028B4
-:106B900005D01120BFE71020BDE78048BBE70727DD
-:106BA0006846077286811721049581800AAA0232FD
-:106BB00001A902A806F06FFF002802D000F0F6F845
-:106BC000A9E708A800906846838804220321129848
-:106BD00000F0DCF900289ED1E7709CE7F3B51720A0
-:106BE00091B00C46002915D021780B000EF0E2FA86
-:106BF000062B05051A041C2B1520C01EE28880B246
-:106C0000002A02D0A368002B04D0824204D90C20B1
-:106C100013B0F0BD1020FBE7042905D0A0880028A0
-:106C200011D101E00620F3E7119800F0ACF805005F
-:106C30000BD02078092701281AD0022807D0042871
-:106C400024D0052835D00720E2E75448E0E768461D
-:106C5000077161880181E1884181A068082603905D
-:106C6000304600F07DF9072829D34C48801CCFE737
-:106C70000C216846017161880181E1884181A06829
-:106C800003900EE0E878002811D118E00D21684645
-:106C9000017161880181A1884181E1888181A068B9
-:106CA00004900326304600F05BF90228EAD3112055
-:106CB000AEE70E2168460171217B0172F1E71721D1
-:106CC0006846018309AA023206A901A806F0E3FE7C
-:106CD000002802D000F06AF89AE707A800906846FA
-:106CE000038B04223146119800F050F900288FD10F
-:106CF0002178012907D002298AD0042905D0052945
-:106D000005D0032084E7082102E0EF7080E70A2124
-:106D1000E9707DE730B591B00C46054600F033F8D8
-:106D2000002808D0032000F01BF9022805D31B48D7
-:106D3000801C11B030BD1948FBE70F216846017176
-:106D400004811721018309AA023206A901A806F0CD
-:106D5000A2FE002802D000F029F8EAE707A8009078
-:106D60006846038B04220321284600F00FF9E0E770
-:106D70000C49884205D00C490988814201D10A4852
-:106D800070470020704710B5FFF7F2FF002802D0CF
-:106D90008178C90700D1002010BD0000023000003A
-:106DA00003280000FFFF000058000020002806D044
-:106DB000012805D0052805D0062805D003207047F6
-:106DC00011207047082070475C487047FFB583B0BA
-:106DD00003980C9EC0781D4614460F46012803D028
-:106DE0005749D2200EF0F5F8F889C0000E302880FF
-:106DF00030203080387B001FC0B20190002C26D09C
-:106E000078680088A0800020E0802081F889A08137
-:106E1000002616E0F0000519C01900902A464169C5
-:106E20000E3201980AF057FA002802D00020287488
-:106E3000E8810098761C008A68820098B6B2408A81
-:106E4000A882A089B042E5D803990020C870F1E477
-:106E5000F8B50646C0781F4614460D46042804D0EF
-:106E6000FF20374903300EF0B4F8A88906214843C3
-:106E70000E30388033210698002C01801AD06868C3
-:106E80000088A0800020E0802081A989A18103469C
-:106E90000CE01946062251434A190919D789CF81B6
-:106EA000977C8F74128A5B1C0A829BB2A1899942DB
-:106EB000EFD8F070F8BD70B514460546142204985A
-:106EC0001A8037220280002C18D0486800260088DB
-:106ED000A080487AFF300130E080C8892081C889CD
-:106EE000A0816682E878082809D0092811D00A28EC
-:106EF00019D0134913480EF06CF8EE7070BD087B82
-:106F00000C2804D00F480E490C380EF062F801200E
-:106F100012E0087B0D2804D00A48094908380EF011
-:106F200058F8042008E0087B0E2804D005480449DE
-:106F3000001F0EF04EF80520A073DEE703300000BE
-:106F4000346500008203000001460020FA4A02E096
-:106F5000401C082803D24300D35A8B42F8D1704713
-:106F600030B50446F44A0020163A117953790AE004
-:106F70005518AD79A54201D1401CC0B2491CC9B217
-:106F8000102900D100218B42F2D130BDFFB5EA4873
-:106F900081B0163841790A9C491CCDB21E46102D8D
-:106FA00000D10025E44816380079A84202D1042017
-:106FB00005B0F0BD0820FFF7D3FF0746072804D926
-:106FC000FF20DEA1A5300EF004F80298082801D1B8
-:106FD000072F17D001982080301D6080002060713D
-:106FE0002071E68003982081204606F005FD0028E8
-:106FF0000AD0D148029916384379821D99544571B7
-:107000000020D5E7D248D3E7FF20CCA1B7300DF060
-:10701000E0FF0320CCE7F0B58DB0044600256846BC
-:10702000057116468C460620FFF79AFF00281CD1F2
-:1070300021780127C807002801D0132917D96846ED
-:1070400087766178C17602218183C58304A8009088
-:1070500070680C23008805220621FFF797FF00289F
-:1070600003D0B6A185200DF0B4FF0DB0F0BDB2483D
-:1070700016380278002AF8D0427863789A42F4D120
-:10708000012918D0132919D16146062916D1057096
-:10709000002101200AF04EFE6846077170680188E1
-:1070A0006846C1800021C9430181607922790102CB
-:1070B000114368461AE06146062908D068460079FF
-:1070C0000028D2D0314601A8FDF7AFFECDE705700C
-:1070D000002101200AF02EFE6846077160792279AE
-:1070E00001021143684601810021C9434181E9E75A
-:1070F000914810B50021163801704A1E4280417037
-:107100000171417101200AF015FE10BD10B5FFF7A5
-:10711000EFFF0020884902464300401CCA5208285D
-:10712000FAD310BD84491639488000207047DFE744
-:1071300070470EB501216846017086498180C18083
-:107140000021FDF772FE0EBDF7B505460078002759
-:1071500000090C463E46012804D0FF2077A1683084
-:107160000DF037FF287A02280CD0FF2073A17E3063
-:107170000DF02FFF0298002C068001D0278066803A
-:107180000020FEBDEA89702710460A3086B2002C26
-:107190000BD068680088A080A8892081E280204602
-:1071A0000A3029690DF078FDE4E702980680E7E7E8
-:1071B000F0B543680246D9799C79090221435C7A8B
-:1071C0001E7A25025C88981D3543241F87B0A14292
-:1071D0001DD11B79022B1AD1042D1AD0052D2AD0CE
-:1071E000062D1AD0402D12D3061D0F4614462846F0
-:1071F000FFF7AAFE08280AD0112020700220207272
-:10720000A581E7812661607808210843607007B096
-:10721000F0BD001D00F0E1F8F9E7041D0D46FEF792
-:10722000F9FE0028F3D0062168460170019405722A
-:1072300008F0CBFBEBE7001DFFF7EDFEE7E710B52D
-:107240003D4C8AB0163C2278012A26D012236A4689
-:10725000937363789B1CD373082313820B88538228
-:107260004B8893828B88D382C988118301A90091AE
-:107270000C2305220721FFF789FE00280BD10022ED
-:10728000F023114601200AF0B0FC01202070607844
-:10729000801C607000200AB010BD1120FBE7F0B523
-:1072A000254C0027163C87B00646A51D1FE06079D7
-:1072B0002179884204D1112020A140010DF089FEDE
-:1072C0002079405D042804D0082808D17F1CFFB233
-:1072D00005E0072069460870684608F076FB2079CB
-:1072E000401CC0B22071102801D10020207130460E
-:1072F000761EF6B20028DAD1384688E710B5044683
-:10730000402801D2072010BDFFF71EFE082802D03A
-:107310003120000210BD0021074802E0491C082965
-:1073200003D24A00825A002AF8D1082914D0490011
-:107330004452002010BD0000DA1300207372635C19
-:107340006C326361705F636F72652E6300000000D2
-:1073500004300000FFFF00000420EBE700B54028E8
-:1073600001D2072000BDFFF7EFFD082805D000215E
-:107370003B4A40001152084600BD052000BDF0B553
-:107380008BB016460C00074607D0002E05D061884A
-:10739000402904D207200BB0F0BD1020FBE7208865
-:1073A000002801D0172801D90C20F4E70846FFF780
-:1073B000CBFD08280FD0258803A82A463146023085
-:1073C0000DF06AFC01A8009062882B46082138461F
-:1073D000FFF7DCFDDFE70520DDE7F0B50E460746E9
-:1073E00001468BB014460125304606F0D1FC082832
-:1073F0001DD10020694608850120FFF7B1FD002856
-:1074000002D117206946088503AB02330AAA394620
-:107410003046009407F0CFF800280AD0022819D08F
-:10742000032804D0FF200F4902300DF0D2FD28467A
-:10743000B1E76846038D002BF9D001A80090606881
-:10744000042200880121FFF7A1FD0028EFD00549A3
-:10745000EC20EAE760780025102108436070E6E739
-:10746000DA1300203C730000002803D08178012942
-:1074700039D101E0102070470188FA4A881A9142F8
-:1074800033D01BDCF84A881A91422ED00BDC00293D
-:107490002BD00320C002081A27D0012825D00121B3
-:1074A0000903401A07E001281FD002281DD0FF2839
-:1074B0001BD0FF380138002815D116E0FF22013219
-:1074C000811A904211D008DC01280ED002280CD07D
-:1074D000FE280AD0FF2806D107E0012905D002299D
-:1074E00003D0032901D0002070470F20704700B55A
-:1074F0000A2821D008DC03000DF05CFE0A1C2024C1
-:10750000241A24282224261A102819D008DC0B2833
-:1075100016D00C2814D00D281AD00F2808D111E04D
-:1075200011280FD0822807D084280DD085280DD0AF
-:10753000032000BD002000BD052000BDCB4800BDDC
-:10754000072000BD0F2000BD042000BD062000BDA7
-:107550000C2000BD70B500290BD0CB1FFA3B812455
-:107560001E46CDB2112B1BD2012805D0022806D011
-:1075700009E0002010701DE0FF20043001E0FF2032
-:107580000330814218D033000DF014FE111613138E
-:1075900016131616131616161313131316131600B6
-:1075A0000846FF3881381F2803D9FF39FE390229E0
-:1075B00002D81570002070BD1470072070BD00B592
-:1075C00003000DF0F7FD060406040C080A0C002069
-:1075D00000BD112000BD072000BD082000BD032014
-:1075E00000BD00780207120F04D0012A05D0022A3C
-:1075F0000AD10EE0000907D108E00009012805D0F2
-:10760000022803D0032801D007207047087000200B
-:10761000704706207047002807D0012807D00228AD
-:1076200007D0032807D007207047002004E011206E
-:1076300002E0212000E0312008700020704738B5BA
-:107640000C4605004FD06946FFF7CBFF002822D13A
-:107650002088032189028843694609788907090D32
-:10766000084320806946681CFFF7BBFF002812D141
-:107670002188032000038143684600788007800C3E
-:1076800001432180A8784007820F2020012A03D0DF
-:10769000022A03D0072038BD814300E00143218046
-:1076A00088B20105890F08D0012189038843A97890
-:1076B0000907C90F89030843208080B28104890F1C
-:1076C0000AD0A9784004C906C90F400CC903084371
-:1076D00020808004800F02D12088400403D52088B8
-:1076E000402108432080002038BD70B504460020AA
-:1076F000088015466068FFF7A2FF002815D1218990
-:10770000A089814210D86168594E8978C90707D08D
-:10771000711E884208D831460DF038FB298009E0F7
-:10772000FF21FF31884201D90C2070BDFF30FF30AE
-:107730000330288060688078C007A08903D0314674
-:107740000DF024FB03E0FF30FF30033081B22980CD
-:1077500020688178474801732068464900882039AD
-:107760004885002070BD10B5137804785B08E407E5
-:107770005B00E40F23431370FD2423400478A40727
-:10778000E40F640023431370FB2423400478640750
-:10779000E40FA40023431370F72423400478240744
-:1077A000E40FE40023431370EF2423400478E4063D
-:1077B000E40F240123431370DF2423400478A4063C
-:1077C000E40F6401234313700078BF244006C00F08
-:1077D0002340800103431370002906D00878C107B5
-:1077E00001D1800701D5012000E00020C001590629
-:1077F000490E0843107010BD30B50A8803239B0260
-:1078000004889A4323059D0F02D1A3049C0F01D045
-:107810009B0F00E001239B021A4303230A801B03F2
-:107820009A4303889804840F02D11805830F01D06E
-:10783000800F00E00120000302430A8030BDF3B551
-:1078400091B00D0018D01198002818D012212846A8
-:107850000DF07FFA01A9012007F0A9FE00242646B9
-:10786000374677E0022900000128000003300000BD
-:10787000010200000C140020102013B0F0BD0720FE
-:10788000FBE76846007C01280BD16846C1890520CA
-:10789000C002081A0AD001280AD002280CD00328F6
-:1078A0000CD0042C0ED0052C0FD10DE0012400E0EB
-:1078B00002246846868908E0032406E0684604241A
-:1078C000878902E0052400E0062468468189119832
-:1078D00081423FD12C74002E3AD00BA800900CAB03
-:1078E00010220021304607F0F4FE002820D168461F
-:1078F000808D2A46C0B20CA909F0EDFC002817D1F2
-:10790000AE81002F24D00BA8009006AB13220021DB
-:10791000384607F0DEFE00280AD16846808D06A9A9
-:10792000C01E0331C0B22A1D09F0D5FC002801D0C9
-:107930000320A2E76846817E427E08021043E88168
-:10794000062C05D16846007CA8726846C08928814B
-:10795000002092E701A807F032FE002891D0FFF73F
-:10796000C6FD8AE7002804D0012903D0022904D0EB
-:1079700003207047F949C98D02E0F8494031C988B0
-:10798000814201D1002070470720704730B5F34C89
-:107990000025608B91B0C00B2ED1216900292BD01E
-:1079A000207B800728D401226846027102720022DF
-:1079B0004272228B8281A28A8282049117210183E2
-:1079C00009AA0023023206A901A807F0A7F9002896
-:1079D00003D0FFF7F4FD11B030BD207B0221084336
-:1079E000207307A8009069460B8B20880422012190
-:1079F000FFF7CCFA05460BE0FBF7A5FC84210170EC
-:107A00000921017218341ECC0C301EC0FBF7B7FCE4
-:107A10002846E0E710B5D14C034621690020002933
-:107A200009D02146012210311846FBF76BFE0020D9
-:107A30002061A0820120217BF9221140217310BD19
-:107A400070B50C4605461C2120460DF082F9002039
-:107A50002080002D08D0012D04D0C1A1C5480DF013
-:107A6000B8FA70BD062000E00520A07070BD10B50A
-:107A700007F07CFB10BDFEB50546007800260C46DD
-:107A8000374603000DF096FB0C91070C1D962F4610
-:107A90002F46486C899168680A38FBF793FD89E0A6
-:107AA000002904D0B348AEA11B300DF092FAFBF7C9
-:107AB0004AFC04464078082108436070FBF75FFCED
-:107AC00078E0002C04D1BB20A5A180000DF081FA44
-:107AD000284601F0B1FA00286CD0607808210843EC
-:107AE0006070022666E0E888694608800190002CF4
-:107AF00004D1A0489AA12F300DF06BFA28780728FE
-:107B00001CD10198C00B19D0944800218171A9881B
-:107B1000818012E003264DE0002C04D1C52090A105
-:107B200080000DF056FA8D48017B89070BD500695E
-:107B3000002802D0E888C00B3CD0022660780821DB
-:107B40000843607036E0291D8EC918308EC0283871
-:107B50000188022601222046FBF7B6FD0127EDE74A
-:107B6000002C04D183487EA164300DF032FA7B48AA
-:107B70000821007B4007C00F460060780843607012
-:107B8000002E17D12879012802D16879002811D058
-:107B90002046FFF73FFF07460CE0002CCED10D201A
-:107BA0006FA180010DF015FAC8E772486CA17A3018
-:107BB0000DF00FFA002C0CD06078000709D5002FCB
-:107BC00007D1842020702046582229460830F9F732
-:107BD000FBFA3046FEBDF7B5027A88B00C46054682
-:107BE00020460C300490069216300027921E029018
-:107BF0003E460A31594813000DF0DCFA0ADF06E66A
-:107C00002AE62AE66A98C6E64288002A02D0522767
-:107C10000726DDE051271E26002C7DD06A684F48DC
-:107C20001288A2800122A2718079C0004019C08907
-:107C3000FFF705FE002877D148488179C900491926
-:107C4000C98921818079C0004019408AA083BFE0A2
-:107C5000688A00900698072817D1E889C00B14D0CD
-:107C600000985127223086B2002C55D0A88904995B
-:107C7000FFF7E5FD002857D168680088A080022042
-:107C8000A071A8892081012041E000985027203070
-:107C900086B2002C40D0A889FFF7D1FD002843D13F
-:107CA00068680088A080A889E080287A07280AD020
-:107CB00002202072288AA0830098E0832046696908
-:107CC0002030009A01E00120F3E70CF0E5FF7FE0AF
-:107CD000698A00910169002902D0E989C90B22D083
-:107CE0000099512722318EB200218171A9898180AA
-:107CF000002C5FD00088A080A8890499FFF79FFD21
-:107D0000002811D10220A071A88920810420A0722E
-:107D1000288AE083009801E04CE005E0208469694E
-:107D2000009A0298D1E703200BB0F0BD007B40071A
-:107D300002D55127222601E050272026002C39D0D9
-:107D40006868502F0088A08016D00220A0712146BC
-:107D5000287B0831FFF774FE3AE00000EC130020A6
-:107D60007372635C67617474735F636F72652E63B3
-:107D700000000000CB020000287BA11DFFF760FE81
-:107D80000020FFF747FE23E0A9890089884207D138
-:107D900054270626002C0DD068680088A08017E0C4
-:107DA00053270826002C05D068680088A080A88981
-:107DB000E0800DE00A98068010E055270726002C89
-:107DC000F8D00020A07103E0FD49FE480DF001F954
-:107DD0000A98002C068001D0278066800020A3E747
-:107DE000F94800210172203801814181418081716F
-:107DF0008180027BF923520852001A40027301610C
-:107E00008182704770B5F04C86B0203C2080002005
-:107E10006080A071A0806946012007F0C8FB102691
-:107E200008E00199088802461207D20FB0431201F8
-:107E300010430880684607F0C2FB0500F1D02069B6
-:107E4000002804D0DF48DE4933300DF0C2F8207B33
-:107E5000800704D5DB48DA4934300DF0BAF8822DBA
-:107E600004D02846FFF743FB06B070BD0020FBE7B7
-:107E7000D54810B52038017B012211430173002140
-:107E800041808171818006F045FB10BD10B5CE4C5C
-:107E90000020C043203C20800020FFF7BBFD207B5A
-:107EA00040084000207310BD70B5C74D0446203D0A
-:107EB000287B800704D5C348C1494B300DF089F8B1
-:107EC000287BC00706D12888C049884202D028698B
-:107ED000002801D0082070BD002C08D0A0881628EA
-:107EE00001D2092070BD20682861A088A882FFF710
-:107EF0004DFD70BD10B50C4607F02DFB002804D0D9
-:107F0000C520AF49C0000DF064F82046FFF7EFFA36
-:107F100010BDF0B5AC4D0446203591B0002008905E
-:107F200068820E462882E8812946E8804039088622
-:107F3000694608830885088688838882A2480E904F
-:107F4000007A1746012808D0022806D0032804D05A
-:107F5000042802D0082011B0F0BD9D48844269D3A6
-:107F600001239B049B49E21A8A4263D39A4A9442B2
-:107F700060D286425ED31001331A0846834259D339
-:107F80001046864256D26068002815D09049884233
-:107F900050D31101421A8F498A424BD38E498842ED
-:107FA00048D260892189884203D801225202914235
-:107FB00001D90C20CFE7089010AA0CA93046FFF792
-:107FC00094FB0028C7D106A92069FFF738FB0028D9
-:107FD000C1D1206900280CD060788007002868464D
-:107FE000008B03DA8004800F75D002E08004800FDC
-:107FF00071D16846008B81061ED58004800F6068B1
-:1080000009D0002818D00721490740180121890309
-:1080100088420FD201E000280ED06D496068884286
-:1080200008D301218904421A6A498A4202D36A4963
-:10803000884201D310208EE705A96069FFF7FFFA97
-:10804000002888D16069002808D06846808A010528
-:10805000890F01293FD18004800F3CD007A9A06976
-:10806000FFF7EDFA0028A5D16846808A800632D451
-:108070006846808B81062ED4A169002906D00105AF
-:10808000890F012927D18004800F24D0E0680028BF
-:1080900004D0007800281ED01C281CD24A4A611C3B
-:1080A000123220460992FFF75EFB0321002089026D
-:1080B000884301218902411868460D9101850121FB
-:1080C000817446490182404A0FA91532306809F08F
-:1080D00028F9002801D007203DE708A8007F3A4989
-:1080E000C01CC2B26A7100201031FF3200900190B2
-:1080F000FF3203460291039003320AA904A807F055
-:10810000C5F9002827D130482038008E0B902E4822
-:108110003389383032690146123902910093019255
-:10812000039010A90A8873890CA9306807F0AEF98A
-:1081300001007CD12448E98811308170090AC1709E
-:108140000026009631386A79008E3146099B07F087
-:108150001CF9002802D0FFF7CAF9FCE60E98807CD3
-:10816000C00928D068460D99018501218174292113
-:1081700009020182AE81287B61784008C90740006E
-:10818000C90F08432873FD2108406178022289073E
-:10819000C90F4900084328730B4900922A31881CF3
-:1081A00002910190002303960D4A0AA904A807F042
-:1081B0006DF901003BD1606800283DD0206911E0D5
-:1081C000607D0000220400000C140020FFFF00006E
-:1081D000006001000000FC1F004000200328000098
-:1081E0000302000000280DD106A90CA8FFF704FB2C
-:1081F0006078800706D46946088B03210903884309
-:1082000069460883012069468874FD4808822089F0
-:10821000FC490CF0BBFD6268089BFB48019200938F
-:1082200002900A460396002306A904A800E081E014
-:1082300007F02CF901007DD12078C10601D4800619
-:108240002ED568460684606900280DD105A90CA8C2
-:10825000FFF7D2FA6846818A032080028143012019
-:1082600080020918684681826946888A4821084345
-:108270006946888201208874E14808AA401C088267
-:10828000E1490192891C0220DE4A029100900023FC
-:108290000396921C05A904A807F0F8F8010063D121
-:1082A0002078C0072ED068460684A06900280DD12A
-:1082B00007A90CA8FFF7A0FA6846818B032080026B
-:1082C0008143012080020918684681836846818BBA
-:1082D000402001436846818301218174C84908AA6E
-:1082E000891C0182C8480192001D0221C54A0091E3
-:1082F000029000230396921C07A904A807F0C6F871
-:10830000010031D1E068002832D068460D9901851E
-:1083100001218174BA49C91C0182E16808A80A7860
-:10832000027049784170E068418868464184E0689D
-:10833000017900E018E008A80171E0680722C1880F
-:1083400008A84171090A8171AF4808A9801D0092EF
-:1083500001910290412200230396D2000AA904A8A9
-:1083600007F094F8010003D00B98FFF7C3FDF2E586
-:1083700003210E98002F017207D0E8883880E88921
-:108380007880288AB880688AF8800020E3E5F0B514
-:1083900001248BB016460F46012802D002281BD1BB
-:1083A00004E0684605218474C90202E068469749E2
-:1083B00084740182002F11D0032100208902884398
-:1083C0000121890241186846018506AA05A9384697
-:1083D00008F0A7FF002803D00720A5E41020A3E49D
-:1083E000894DB8782E3D287338882F46203F7885F0
-:1083F0006A46127D0020294606AB00920E31019399
-:10840000FF32029103900346FF3203320AA904A807
-:1084100007F03CF8002802D0FFF769F884E4002E4A
-:1084200001D0F88D30802C7200207DE470B592B0C0
-:108430000446012508A8857075496846018406F040
-:108440009CFF002208A90120FFF7A1FF064606F0C5
-:1084500098FF30003AD120780024C00700283FD090
-:108460001C2168460CF077FC684601782020014307
-:108470006846017008A885706649684601841194B1
-:108480000794817FF9200140891C6846817700208C
-:10849000014668460177002001466846417704217D
-:1084A0008185C485018607A80A9011A80D9008A8A7
-:1084B000099006F062FF0EAA09A96846FFF729FD98
-:1084C000054606F05EFF002D02D0284612B070BDB2
-:1084D0004D486946098F4E3801816946898F41812F
-:1084E00049482E3804720020F0E7F7B5464E9CB09C
-:1084F00000212E3E0091317A012904D0022902D0B8
-:1085000008201FB0F0BD40494E39CA8D824201D0CB
-:108510000620F6E71D98824201D10720F1E73B488B
-:10852000012110AA9176401C1083002003239B0296
-:1085300002469A438B02D31810AA93846A46918408
-:108540003549D18410AA9077908317AA0A926A4677
-:1085500091850C9009A807F051F80024254627467C
-:1085600004A909A807F04DF8002810D082287BD173
-:10857000002C7CD0002D7AD010A8048145810024E5
-:10858000047518A8807812AD012872D07AE0684688
-:10859000807D002F1FD0012862D16846818A1B4848
-:1085A000401C814219D114A800906846408A0EAB45
-:1085B0001022002107F08DF8002877D110A8008A3A
-:1085C000042801D006285BD16846018F1D9881429E
-:1085D00046D10F2095E7012842D16846808A0521BF
-:1085E000C902884202D0491C884239D106484E3817
-:1085F000C18D6846408A814210D101270FE00000FA
-:1086000001290000010200003A14002001280000A6
-:1086100001180000052A0000FFFF00000027002CC1
-:1086200001D0002D0DD01D99884219D114A90091B7
-:1086300004460EAB1022002107F04BF8002835D17C
-:1086400001E0009D0CE010A8008A022801D010284B
-:1086500016D1C0B218AA0EA908F03DFE00280FD10D
-:108660006846408A00907BE720E000E001E00520BA
-:1086700047E72A1D15A918A808F053FE002801D0C5
-:1086800003203EE710A8007D0023001DC2B210A801
-:1086900002751E98029019A901950394009216A8DC
-:1086A00006F0F4FE002801D102213172FEF71FFF0F
-:1086B00027E73EB50B46401E84B201AA00211846AA
-:1086C000FFF751F806F059FE02A8009001AB012215
-:1086D0000021204606F059FE044606F052FE684688
-:1086E0000089012803D0FE49FE480CF072FC2046A8
-:1086F000FEF7FDFE3EBDF0B5FB4E0446307A89B074
-:108700000F46032804D0042802D0082009B0F0BD89
-:1087100004AA06A92046FEF7E8FF0500F6D1F248B4
-:108720002389383022690146103902910093019261
-:10873000039069460A8A638906A9206806F0A6FEA6
-:10874000002802D0FEF7D3FEE0E7002F03D0E64872
-:10875000203000893880042030722846D6E738B5AA
-:108760000C00054608D00022694607F00CF80028E6
-:1087700004D0FEF7BCFE38BD102038BD6946204647
-:10878000FEF75DFF0028F8D1A0786946C207D20F36
-:10879000284607F013F8ECE73EB50C0008D002AA13
-:1087A000694606F0F0FF002804D0FEF7A0FE3EBDAB
-:1087B00010203EBD032120460CF0CBFA684600880D
-:1087C00001A90005800FFEF726FF00280BD168469F
-:1087D000007920706846008801A98004800FFEF7A8
-:1087E0001AFF002801D003203EBD68460079607062
-:1087F000A278EF20024068460088C10B09010A43B5
-:10880000F7210A404104C90FC9000A43A270F921A7
-:108810000A40800601D5012000E0022040006946A0
-:108820000243097A50084000C907C90F0843A070E5
-:1088300000203EBDFEB51D4614460E46074606F016
-:108840009CFD01A8009022882B463146384606F050
-:108850009CFD054668468088208006F092FD2846EB
-:10886000FEF745FEFEBDF0B50C46002199B0074667
-:10887000684681850D46002C11D0E068002806D09E
-:10888000A06800280BD002886B469A850180A078EA
-:10889000012806D0022804D0072019B0F0BD10200E
-:1088A000FBE72088002807D0401E80B201A906F00F
-:1088B0007EFE002842D136E08C48EEE769468A8980
-:1088C00021888A420BD26846007C002501282CD1E1
-:1088D0006846C0898649884227D1012525E08A4219
-:1088E00003D1002D2FD06D1C01E0022D02D0032DED
-:1088F0001BD31FE06946097C012916D169467C4BD0
-:10890000CA895B1ED11A9A421DD005DC7948101A1B
-:1089100019D0012809D116E0012914D0FF390139F5
-:1089200003D1032506E00D26B60201A806F047FE96
-:108930000028C3D0822804D0002806D0FEF7D7FD37
-:10894000ABE7022DFAD13046A7E7E068002813D044
-:1089500006F013FD0BA800906A46A1882088928D2E
-:10896000E36806F012FD054606F00BFD002D19D157
-:108970006846A168808D088002980078C00601D5FD
-:108980005D488AE706F0F9FC0EA8009068468089E9
-:108990000CAB0222002106F09CFE054606F0F1FC1D
-:1089A000002D01D02846C9E76846008F022801D073
-:1089B000032072E7A078012808A8007C03D0800774
-:1089C0000ED4082069E7C007FBD00820FEF7C8FADC
-:1089D000072802D34548401C5FE70825022001E034
-:1089E000022503206946087621886846818317217D
-:1089F000818611AA002302320DA906A806F08EF97D
-:108A0000002802D0FEF7DBFD47E70FA8009068467C
-:108A1000838E042229463846FEF7B8FA3DE770B542
-:108A2000064615460C460846FEF71EFD00280AD1EC
-:108A300006F0A3FC2A4621463046FFF7A8FC044670
-:108A400006F09FFC204670BD70B514460D460646E4
-:108A500006F093FC224629463046FFF746FD0446C1
-:108A600006F08FFC204670BD70B51E4614460D0002
-:108A70001AD0002C18D06168002915D00121FEF70A
-:108A800071FF00280FD12068FEF7EEFC00280AD104
-:108A900006F073FC324621462846FFF73AFA0446B0
-:108AA00006F06FFC204670BD102070BD70B51546F5
-:108AB0000C0023D00221FEF755FF00280ED12068BC
-:108AC000FEF7D2FC002809D106F057FC29462046C3
-:108AD000FFF711FE044606F054FC204670BD00006E
-:108AE000607D00003E0600000C14002003300000F2
-:108AF0000328000000280000013400001020EDE7EA
-:108B0000FEB507460E4607201546400701211218FC
-:108B100089031C468A4219D2002C02D020188842B0
-:108B200014D2384600F045FA00280AD1002C0FD1A3
-:108B300001AA6946384606F026FE002802D0FEF754
-:108B4000D6FCFEBD68460088800601D41020FEBD1C
-:108B500023462A4631463846FFF76CFEFEBDFFB578
-:108B600085B01E4614000F4609D003AA02A9059835
-:108B700006F009FE002804D0FEF7B9FCC6E5102077
-:108B8000C4E568460089C00601D5FB48BEE506F08D
-:108B9000F4FB01A800900023F84A3946059806F036
-:108BA00098FD054606F0EDFB002D11D1002E0CD0EE
-:108BB00006F0E3FB002000902288334639460598F2
-:108BC00006F087FD054606F0DCFB684680882080BD
-:108BD0002846D1E7002906D0E94B0A885B899A42EA
-:108BE00001D8E84870473EE610B586B004236C46CD
-:108BF000A382E34B1C89002C07D05B898B4201D2F6
-:108C0000914204D9DF4806B010BD0620FBE76B4651
-:108C100019825A820021009101911C8002219970D1
-:108C200005A9029104A903916946FFF71CFEEAE732
-:108C3000F0B591B00D4681206946087105F09CFCA5
-:108C40000646002D08D02878CD4C012806D00228F1
-:108C500028D0072011B0F0BD1020FBE7A98801AA99
-:108C6000FEF778FC0028F5D1B00734D568460079C6
-:108C7000002820D1A879C0071DD006F07EFB002077
-:108C800000906A892989A088EB6806F07EFB694616
-:108C9000087106F076FB6946087900280BD0FEF7CC
-:108CA00026FCD7E7A98801AAFEF754FC0028D1D1F9
-:108CB000342006420FD00121684601720173017908
-:108CC0004173F00609D5A18868460182A18A018313
-:108CD0002069059004E00820BCE7A0886946088266
-:108CE000FAF731FB05461720694688830AAA2B4606
-:108CF000023207A902A806F011F8074668780007B3
-:108D000001D5FAF73CFB002F03D03846FEF757FC9D
-:108D1000A0E7F00603D5207B062108432073B006A8
-:108D200002D50020FEF776FE08A8009069468B8BDE
-:108D3000208804220121FEF729F98BE7F0B50026EF
-:108D400095B014460D4600290FD0022C4FD3A71E14
-:108D5000BAB28A480AF052FE29191039CA7B8B7BB5
-:108D600011021943884242D1BCB201A9012006F088
-:108D70001EFC7AE0029F3888010776D5002D41D08D
-:108D8000A9190691CA788B78361D1102B6B219431B
-:108D90008919A1422BD869468A8906994B780978A6
-:108DA0001B020B439A4222D1C00623D506F0E5FAF6
-:108DB00007A800900698AB19C17880780A02069936
-:108DC00002434878097800020843002106F0DDFAE2
-:108DD000009006F0D6FA009800283ED10698C17897
-:108DE000827808026946898B1043884202D00B20A2
-:108DF00015B0F0BD0698C17882780802104380193A
-:108E000086B22EE0C0062CD5002007AA01461154D8
-:108E1000401C80B21028FAD306F0AFFA06A80090E2
-:108E20006846002380891022194606F052FC009003
-:108E3000002803D006F0A5FA00980EE00BA86946BA
-:108E4000009088890A8B07AB002106F09EFA0090FB
-:108E500006F097FA0098002803D0FEF748FBC7E712
-:108E600003E0388810218843388001A806F0A7FB6A
-:108E7000002800D17EE7424D6988002921D00122D7
-:108E800068460276027700244477018417218185A1
-:108E90000EAA234602320BA906A805F03FFF0028C0
-:108EA00002D0FEF78CFBA3E70CA8009069468B8DDF
-:108EB000288804220121FEF769F8002898D16C80E7
-:108EC00096E7002094E7F0B5002487B015460E46DB
-:108ED000002A04D002A9012006F069FB41E010201D
-:108EE00007B0F0BD0398007800073AD506F045FAC0
-:108EF00001A8009068460023008A204A194606F01F
-:108F0000E8FB074606F03DFA002F23D1002E23D0C0
-:108F100068468088298820183719001D814239D376
-:108F20006946098A3970090A797069468988B97071
-:108F3000090AF97006F021FA01A869460090088A2A
-:108F40008A883B1D002106F0C4FB074606F019FA8B
-:108F5000002F01D00320C3E7684680882018001D39
-:108F600084B202A806F02BFB0028BBD082280BD0CD
-:108F7000FEF7BDFAB4E7000001340000FFFF000077
-:108F8000EC13002003300000002E0ED02988A01C16
-:108F9000814201D20C20A3E72246314639480AF02B
-:108FA0002DFD31190870000A4870A41C2C80002087
-:108FB00096E700B585B06946FEF741FC00280AD166
-:108FC0006846007C03000CF0F5F808052F2F2F2FC2
-:108FD00008080531032005B000BD684680780128E7
-:108FE00007D1684600880321C902401A1CD0012815
-:108FF0001AD068468079012806D1684680881521F4
-:109000004902401A05280FD96846807A012811D1F3
-:109010006846018929200002081A05D0022803D0D9
-:10902000032801D0042805D10F20D4E7164917489A
-:109030000BF0CFFF0020CEE738B5154A0021518054
-:1090400003791AE0CC002418A46800946C462488A4
-:10905000250707D5E50605D5D90008182038C08BA7
-:10906000508006E0640406D59171C9000818C088D4
-:109070009080012038BD491CC9B28B42E2D8002043
-:1090800038BD0000FFFF0000607D000033020000DB
-:10909000EC1300200120F8494006C861704770B504
-:1090A000F54D0024AC7028466C7020304470047478
-:1090B0006C61AC72AC6209F01AFFA86128463430CA
-:1090C0000AF0B4FD002804D0FF20ECA13A300BF0E8
-:1090D00080FFEE48C46301204006E86170BD70B5B2
-:1090E0000125EB4902260E60E849CD63E949C96ACA
-:1090F00009070ED4E7494031CB6AE74A53620B6B4C
-:1091000093624B6BD3628B6B1363C96BD3051943AB
-:109110005163D949E14CC96900282BD001282DD0D1
-:10912000FF20D6A169300BF054FFDD48A063FF207B
-:10913000043060632563DB49032008602061D74960
-:10914000962040314860D948D7494163D549FC3918
-:109150000163D549091FC163D249F03981630320F6
-:10916000D249000340394860D14910204860D148B5
-:10917000066070BDD0486061D04804E0CF48E03060
-:109180006061CE48801F0143A161CEE7BA4901204A
-:1091900008707047B84900200870704770477047E2
-:1091A000BE4940310028086802D00122104301E086
-:1091B000400840000860704770B50C46AE4D01464F
-:1091C0000622E81C0BF068FD6C7270BDAA482030C6
-:1091D00040787047A84A91705070704770B50D463E
-:1091E0000446082904D9FF20A4A1C6300BF0F1FEE3
-:1091F0000022B34809E09100635809180B6053003E
-:109200001B191B8C0B62521CD2B2AA42F3D3206BE7
-:10921000AB494031086070BD0B23DB4310B5C21A67
-:109220009E4998421FD008DC1C3222D00A2A20D046
-:10923000142A1CD0182A08D117E0083011D00428AD
-:109240000DD0082809D00C2805D0FF208BA1F230C2
-:109250000BF0BFFE10BD04200CE000200AE0FC2053
-:1092600008E0F82006E0F42004E0F02002E0EC2022
-:1092700000E0D820C86010BD7F482030007B7047D8
-:1092800010B5864CC17861620BF067FD0002E061A9
-:1092900010BD252808D0262808D0272808D041004E
-:1092A0000A2807D8091D06E0022105E01A2103E07B
-:1092B000502101E0891DC9B2784A91607749403157
-:1092C000486170476C494861704770B56A4CA0723C
-:1092D00000F01FFBA07AC00740D0724D28688007BD
-:1092E00003D466A177480BF074FEA07A01061DD561
-:1092F000800707D5734861A1801C0BF06AFEA07A35
-:10930000000613D52078694E012816D0002804D015
-:109310006C485AA111300BF05CFE6B487061A0697B
-:109320003061FF206149013040394860A07A8007F0
-:1093300014D52868C00708D102E06348001FEDE794
-:1093400060484EA11A300BF044FEA07A400728680E
-:1093500001D5042100E008210843286070BD70B5E4
-:109360000124454D002807D0012818D002281AD022
-:10937000232042A100010BE000F0CBFA52482978EB
-:10938000001F012907D0002907D04E483BA15738BC
-:109390000BF01FFE70BD046070BD446070BD812085
-:1093A000FFF793FF70BD00F0B4FA6869002804D19C
-:1093B000444832A14F380BF00CFE6969A86A401886
-:1093C0004249C86039484249403001603E490C3149
-:1093D00041600814354940394860274820300474FA
-:1093E00070BDF8B50C2069460870314C6068C00645
-:1093F000C50F1026A66034480021FC300161324BB5
-:1094000001221B1F1A610BE000BF00BF00BF00BF9D
-:1094100000BF00BF00BF00BF6B461A78521E1A7013
-:109420006A461278002A02D00269002AECD0016153
-:1094300068460078002804D1912010A180000BF02C
-:10944000C8FD002D00D06660F8BD0B490020C86142
-:10945000704710B50BF081FC00021049000AC86388
-:1094600010BD0B49022008607047094902200860BE
-:109470001049086070470000481400207372635C54
-:1094800068616C5F7263732E63000000C01F004050
-:1094900080E100E08000001000170040001500404F
-:1094A0005B060000001200404480004040F501408F
-:1094B0000013004080E200E00601020025000300E6
-:1094C0000016004075020000041000404085004076
-:1094D0004C810040F74902200860CBE7F64908704C
-:1094E000C8E710B5F5480AF0A9FB002803D0F449F5
-:1094F000F4480BF06EFD10BD10B5F0480AF0B6FB55
-:1095000010BDF1494860B5E7EC4910B53439EF4B6F
-:109510000022C8605A60896A0818ED49486000F066
-:10952000FFF910BDE54810B5C2213438C160E74AE3
-:1095300000215160806AE649C230486000F0F0F9CD
-:1095400010BD0120E34940028860DC490020343925
-:10955000C860DF4948608DE7D84900203439886207
-:1095600088E7D648DA493438806AFE30886081E777
-:10957000D749002088607DE7D748016810229143D1
-:109580000160D6490120886174E7D5490020C8618F
-:10959000D14801681022114301606BE700B5FFF765
-:1095A000EBFFC64900203439087400BD00B5FFF751
-:1095B000ECFFC24901203439087400BDC849CA69AA
-:1095C000012A01D0002055E7BF4A40329268520676
-:1095D000520E524202700020C86101204AE7F8B5DD
-:1095E000BF4C2069012806D00021B44834380078E7
-:1095F000012802D004E04021F7E7E268012A04D004
-:1096000000220A43012802D004E02022F9E7616821
-:10961000012905D000211143B24A002802D007E0F9
-:109620001021F8E71368012B02D1E368012B04D065
-:1096300000230B43002802D007E00823F9E7116854
-:10964000002902D1E168012905D000221A439F4E6A
-:10965000002802D004E00422F8E77168012904D050
-:1096600000211143002802D004E00221F9E76068DC
-:10967000012829D000259C480D4301680906090EE0
-:1096800002D06169012900D000218C4F143F397349
-:1096900000680006000E02D0A069012800D000205A
-:1096A00078738B488068002803D000F03DFA0128C9
-:1096B00000D00020B8730021E16021616160616128
-:1096C000A16171602846F8BD0125D4E77B480121DE
-:1096D0001438C173CEE6F8B5784E0127143E307CBD
-:1096E0000025002825D07C4C206800902560FFF7DD
-:1096F00078FE009820607A48C56005614560456144
-:1097000085617449001488603046203801787348B8
-:1097100001290AD000290AD0D920694980000BF01C
-:1097200058FCF9F775FC3574F8BD0760F9E7476038
-:10973000F7E7FFF754FF04460020F07364484268DF
-:109740005E4D343D6A620068A8622978002909D11B
-:10975000A978002906D05C4B5B681B780B406978C0
-:10976000994309D000213170E10707D0104602F07B
-:1097700029FD0121A86A08E03770F5E7A10601D5A7
-:10978000022102E0A10702D5002102F02AFD4E4F7E
-:10979000796806220931E81C0BF051FA002807D13C
-:1097A000687A79680978C909884201D1012000E006
-:1097B00000207070204600F0BDF83F48C2270078B6
-:1097C000002815D0012828D002283BD003285AD0E1
-:1097D0003B4946480BF0FDFB287C002804D0287844
-:1097E000002865D0FFF7C8FE2878002861D089E0FE
-:1097F000A00701D501F0CCFB200703D50120EF60C5
-:1098000001F0FEFB600703D50020EF6001F0F8FBDC
-:10981000A006E1D501F068FBDEE7A00701D503F063
-:1098200026FF200703D50120EF6003F09FFE6007AD
-:1098300003D50020EF6003F099FEA006CCD503F01D
-:1098400020FEC9E7A00703D5BF200440F9F7D2FBEB
-:10985000200705D5BF2004400120EF60F9F7C9FBC0
-:10986000600705D5BF2004400020EF60F9F7C1FB79
-:10987000A00603D5BF200440F9F7BAFB6006ABD5BC
-:10988000F9F7B9FBA8E7A00701D5F9F7B7FB20075F
-:1098900003D50120EF60F9F7B0FB600703D5002086
-:1098A000EF60F9F7AAFBA00696D5F9F7A5FB93E7B9
-:1098B0001EE020E000E100E0600000207C140020B9
-:1098C0007C940000AB020000001500404081004085
-:1098D0004085004000F501400012004000100040AB
-:1098E00000110040001400404016004094040000A5
-:1098F000FFF74BFE78E7E868002803D0A96A09184B
-:1099000028484160F07B002800D10DE7F9F780FB83
-:10991000F8BD254903200860881524498860A9E519
-:10992000224823494030C161224981611F494015C5
-:1099300048609FE570B50546FFF7EBFF1E4CA17A26
-:10994000080701D568071CD41C4AC80605D5507BFA
-:10995000002802D0907B002813D0880602D510780A
-:1099600000280ED1480602D55078002809D00020E2
-:109970008A070026002A07DA4A0704D50122227046
-:1099800002E00120F4E72670CA0709D0AA0705D42F
-:10999000890705D5002803D0A80601D4FFF721FDCB
-:1099A000A67270BD408500400012004000F50140E5
-:1099B000101000404481004048140020681400202A
-:1099C0002E48002101704170704770B5064614465C
-:1099D0000D460120F7F780FE28490120284B08702A
-:1099E0009E60DC601D6170BDF8B504460120F7F78C
-:1099F00073FE22490120087021494C60214900264C
-:109A00004E600321204D8902A960204F002C0AD00E
-:109A1000012C03D01EA140200BF0DBFA3E60032096
-:109A200080026860F8BD386001208002F9E710B557
-:109A30001248017800290ED00321134A890291604F
-:109A400010494A680021002A03D0154A1268427062
-:109A500000E0417001700020F7F73EFE10BD07489E
-:109A60000178002907D007484068002802D00C4838
-:109A70000068C0B270474078704700006100002065
-:109A800000F5004000F1004000F5014000F2004008
-:109A90007372635C68616C5F63636D2E63000000CA
-:109AA00000F400403648002101704170102181709F
-:109AB000704770B5064614460D460220F7F70CFEB7
-:109AC00001202F492F4A0870E41E146196605560EA
-:109AD00070BD10B50220F7F7FFFD2949012008707D
-:109AE000294800210160416081602849C014486014
-:109AF00010BD10B5224C2078002811D00120234938
-:109B0000C002886000F02EF80021002804D0012057
-:109B100060701F48006801E061701020A070217023
-:109B20000020F7F7D9FD10BD10B5154801780029C0
-:109B300005D000F017F8002800D0012010BD4078B3
-:109B400010BD10B50E480178002909D000F00AF8C0
-:109B5000002803D00E480068C0B210BD102010BD10
-:109B6000807810BD08480168002905D041680029A7
-:109B700002D08068002801D0002070470120704783
-:109B80006300002000F5004000F1004000F50140B6
-:109B900000F4004010B528210BF0DBF810BD407830
-:109BA0008006800E704740788006800EC01C70478B
-:109BB0002820704770B5054600780A0700090001A3
-:109BC000120F104328700B000BF0F4FA070507057D
-:109BD000070509050B00062408E00C2406E02224F2
-:109BE00004E00024FEA158200BF0F3F96878800906
-:109BF00080012043687070BD00780007000F704737
-:109C000010B50622C01C0BF047F810BD0B4610B56E
-:109C1000C11C062218460BF03FF810BD10B50622F5
-:109C200009300BF039F810BD0B46014610B506227D
-:109C3000093118460BF030F810BD0278BF23C90770
-:109C40001A40490E0A430270704700784006C00F60
-:109C5000704702785206520EC9010A4302707047DB
-:109C60000078C009704770B50C460546C11C2046F7
-:109C7000062209300BF010F820784006400E2070C4
-:109C800029784906C90FC9010843207070BD70B515
-:109C900015460E4604461F2A03D9D1A1A9200BF070
-:109CA00098F920462A46314609300AF0F5FF6078D7
-:109CB000AD1D80098001A906890E0843607070BD42
-:109CC00070B5054640780E468406A40E062C03D2D5
-:109CD000C3A1B9200BF07DF9A41FE4B21F2C00D959
-:109CE0001F2429462246093130460AF0D5FF204676
-:109CF00070BD70B515460E4604461F2A03D9B8A19B
-:109D0000CD200BF066F920462A46314609300AF08C
-:109D1000C3FF6078AD1D80098001A906890E084344
-:109D2000607070BD70B5044640780E468506AD0E75
-:109D3000062D03D2AAA1DE200BF04BF9AD1FEDB228
-:109D40001F2D03D9A6A1E2200BF043F921462A4694
-:109D5000093130460AF0A0FF284670BD10B5042234
-:109D60000F300AF099FF10BD0B46014610B50422D2
-:109D70000F3118460AF090FF10BD10B503221330C2
-:109D80000AF08AFF10BD0B46014610B503221331BD
-:109D900018460AF081FF10BD4176090A81767047A6
-:109DA000817E427E080210437047C176090A01771E
-:109DB0007047017FC27E0802104370474177090A4D
-:109DC00081777047817F427F080210437047C175D9
-:109DD000090A01767047017EC27D08021043704770
-:109DE00081757047807D704720300279C90652091D
-:109DF0005201C90E0A430271704720300079C00633
-:109E0000C00E704720300279D206D20E49010A43B3
-:109E100002717047203000794009704710B5052263
-:109E20001F300AF039FF10BD0B46014610B5052260
-:109E30001F3118460AF030FF10BD30B5411C837E3B
-:109E40000A461902D37D447E927D1B0221431343AF
-:109E5000674D827D8C1FAC4210D8002A0ED0082A94
-:109E60000CD88A420AD28B4208D8817F427F0802EE
-:109E70001043A91D884201D8012030BD002030BD0B
-:109E800000210A464254491C2229FBDB70474078D6
-:109E9000C006C00E70474078C006C00EC01C704798
-:109EA0002220704710B502788B07920892009B0F12
-:109EB0001A4302704278520952014270012908D0B7
-:109EC000022906D0032905D0FF2045A1A3300BF0BD
-:109ED00080F810BD01210A43427010BD10B5027810
-:109EE0008B07920892009B0F1A4302704278520926
-:109EF00052014270012908D0022906D0032905D059
-:109F0000FF2037A1BD300BF064F810BD01210A43DA
-:109F1000427010BD00788007800F70470278FB23E5
-:109F2000C9071A40490F0A4302707047007840077A
-:109F3000C00F70470278F723C9071A40090F0A4378
-:109F40000270704700780007C00F70470278EF2357
-:109F5000C9071A40C90E0A43027070470078C0064C
-:109F6000C00F704770B50546C1700B000BF022F9A9
-:109F70000E080A0C0E1012120C14141212160C18E1
-:109F80000C2413E0082411E002240FE017240DE054
-:109F90000D240BE0012409E0092407E0062405E074
-:109FA000452000240EA1C0000BF013F8687840098A
-:109FB00040012043687070BDC078704770B504469A
-:109FC00040780E46C506ED0E1B2D03D904A10948A5
-:109FD0000AF0FFFF6019C01C042231460CE00000AB
-:109FE0007372635C756C5F7064752E6300000000B3
-:109FF0007A0C00003A0200000AF04EFE70BD70B507
-:10A00000044640780E46C506ED0E1B2D03D9A04927
-:10A01000A0480AF0DEFF6119C91C042230460AF08C
-:10A020003BFE70BDC171090A01727047017AC279A5
-:10A030000802104370474172090A81727047817AA1
-:10A04000427A080210437047C172090A01737047CF
-:10A05000017BC27A0802104370474171090A81717D
-:10A060007047817942790802104370470171704747
-:10A07000007970474173090A81737047817B427B85
-:10A0800008021043704730B5411C037A0A46C47970
-:10A0900019022143537914791B0223437E4D007921
-:10A0A0008C1FAC4210D800280ED008280CD888424B
-:10A0B0000AD28B4208D8D07A917A00020843A91DAF
-:10A0C000884201D8012030BD002030BD10B50522E6
-:10A0D000001D0AF0E1FD10BD0B4610B5011D052263
-:10A0E00018460AF0D9FD10BD4172090A8172704705
-:10A0F000817A427A080210437047017170470079F3
-:10A10000704710B50822001D0AF0C6FD10BD0B46B1
-:10A1100010B5011D082218460AF0BEFD10BD0A78D0
-:10A120000273497841737047027B0A70407B487024
-:10A13000704710B508220E300AF0AEFD10BD0B4678
-:10A14000014610B508220E3118460AF0A5FD10BDD3
-:10A1500010B5042216300AF09FFD10BD0B460146D3
-:10A1600010B50422163118460AF096FD10BD10B540
-:10A170000822001D0AF090FD10BD0B4610B5011D10
-:10A18000082218460AF088FD10BD10B504220C30D4
-:10A190000AF082FD10BD0B46014610B504220C31B9
-:10A1A00018460AF079FD10BD017170474171090A26
-:10A1B00081717047C171090A017270470079704757
-:10A1C00081794279080210437047017AC279080206
-:10A1D00010437047017170470079704701717047F3
-:10A1E0000079704710B50822001D0AF055FD10BD1A
-:10A1F0000B4610B5011D082218460AF04DFD10BD92
-:10A2000010B50822001D0AF047FD10BD0B4610B521
-:10A21000011D082218460AF03FFD10BD70B5154615
-:10A220000E4604461B2A04D93720194900010AF0BA
-:10A23000D0FE2A463146E01C0AF02EFD6078E90681
-:10A2400040094001C90E0843607070BD70B50546F5
-:10A2500040780E46C406E40E1B2C04D9DF200C49BE
-:10A2600080000AF0B6FE2246E91C30460AF014FDD2
-:10A27000204670BD4078C006C00E1B2801D80120C2
-:10A2800070470020704710B522220AF005FD10BD6E
-:10A29000E09F0000430200007A0C0000FEB50F466C
-:10A2A00004460146064620302546C031603640351A
-:10A2B0000190032F04D0002F2DD0012F2BD04BE085
-:10A2C00000206080A080E08020816081A082E08505
-:10A2D000E0826874A074E074A076E076A073E07306
-:10A2E00020746074019B987401232B74A8822883C6
-:10A2F0000876E883B0706883A873E8732077607786
-:10A30000019988720199087430727072B072327457
-:10A31000B074A883FEBD0020A8822883012F52D0EC
-:10A32000E08B0090608C0290C00000990AF02EFD36
-:10A33000401C80B2E8820099192241439202914266
-:10A3400001DD401EE8827D20000200990AF01EFD1A
-:10A35000401C3080002F01D0022FDBD10198007A01
-:10A36000C1060198C90E01720020687322182421C9
-:10A370008B5C4032D9075B08DE07C90FF60F7118F6
-:10A380005B08DE07F60F71185B08DE07F60F711821
-:10A390005B08DE07F60F71185B08DE07F60F711811
-:10A3A0005B08DE07F60F76185908891911726A7B67
-:10A3B000401C5118C0B269730528D7D3002FA9D10A
-:10A3C0000020A874FEBD4A7F2046E030022A12D049
-:10A3D000097F022913D050A173200AF0FAFD012051
-:10A3E00000900290E08BA98B484300990AF0DCFCB6
-:10A3F000A883029898E7818800910089F1E7018A93
-:10A400000091808AEDE770B504464034667B0546CE
-:10A41000002E68D0252E66D8002964D03E20405DED
-:10A42000A27B4843101825210AF0B0FC0846A1730E
-:10A430004207C908520F3C4B691820319A5C0979D0
-:10A440008A4367D031460AF0A1FC491CCAB20020F9
-:10A4500006E0002804D029184031C979511ACAB23F
-:10A46000291848235B5C93423AD320310979C943C8
-:10A47000CB07DB17D21A521E1206120E34D08B07EE
-:10A48000DB17D21A521E1206120E2FD04B07DB1703
-:10A49000D21A521E1206120E2BD00B07DB17D21A3D
-:10A4A000521E1206120E27D0CB06DB17D21A521EEE
-:10A4B0001206120E23D08B06DB17D21A521E12067A
-:10A4C000120E1FD04B06DB17D21A521E1206120EA6
-:10A4D0001BD00906C917511A491E0A06120E17D0B9
-:10A4E000401C0528B5DB70BDC00013E0C000401C57
-:10A4F00010E0C000801C0DE0C000C01C0AE0C000DD
-:10A50000001D07E0C000401D04E0C000801D01E008
-:10A51000C000C01DE07370BD7372635C6C6C5F75CE
-:10A5200074696C2E63000000EC51010010B5FF4807
-:10A530000021017041708170C17041718171C171E0
-:10A54000083009F073FB002804D0FF20F8A1843004
-:10A550000AF03FFD10BD10B5F44900204872081DF7
-:10A5600009F064FB002804D0FF20F1A1C3300AF0F9
-:10A5700030FDFFF7DBFFF148FFF782FC0021EF48D9
-:10A58000FFF7E4FC0121ED48FFF78CFC10BDE2E78A
-:10A590001B207047E5494A7A002A01D00020704705
-:10A5A000488101204872704710B5E0494A7A002A74
-:10A5B00002D04989814201D0002010BDDB48001D36
-:10A5C00009F03CFB002804D0FF20D9A1B4300AF0E8
-:10A5D00000FDD648001D09F049FBFFF7A7FF012049
-:10A5E00010BD70B5D14C0025627A002A02D0628974
-:10A5F000824201D00D700DE0227863789A4203D335
-:10A6000022786378D21A04E062782378D21A102371
-:10A610009A1A0A70FFF7C8FF002801D0657201205E
-:10A6200070BDC2494A7A002A04D04989814201D1C9
-:10A630000120704700207047BC490A784B78521CB3
-:10A640001207120F9A4207D0097822225143BC4ABE
-:10A65000891801600120704700207047B3480178D5
-:10A660004278491C0907090F914206D00178491C1C
-:10A670000907090F01700120704700207047AB499E
-:10A680004A7A002A04D04989814201D101207047C9
-:10A6900000207047A5490A784B789A4207D049783C
-:10A6A00022225143A64A89180160012070470020E8
-:10A6B000704710B59D4C20786178884216D060783C
-:10A6C000401C0007000F6070201D09F0B7FA002839
-:10A6D00004D0E078401CE070012010BDA078401C40
-:10A6E000A0709248001D09F0C1FAF5E7002010BDE6
-:10A6F0008E4801784078814201D1012070470020C6
-:10A7000070478A4801784278914202D301784078B4
-:10A7100003E041780078081A1021081AC0B2704787
-:10A720000F20704770B5814C0D46617A002916D014
-:10A730006189814213D100262E70201D09F07EFA16
-:10A74000002805D1A0782870A670201D09F08EFA87
-:10A750002878E17840182870E670012070BD00204C
-:10A7600070BD76490160704770494A7A002A04D06A
-:10A770004989814201D101207047002070476B490F
-:10A780004979002901D0002070476E4901600120FD
-:10A79000704766484179002901D0002070470121A7
-:10A7A00041710846704761494A7A002A04D04989B4
-:10A7B000814201D101207047002070475B494979EF
-:10A7C000012901D0002070475E49016001207047D7
-:10A7D00056484179012901D000207047002141717C
-:10A7E0000120704751484079012801D0012070476D
-:10A7F000002070474D494A7A002A04D04989814295
-:10A8000001D1012070470020704770B5474C0546C4
-:10A81000A0790721401C0AF0B9FAE079814208D0FA
-:10A82000A07922214843474922314018286001205D
-:10A8300070BD002070BD10B53C4C0721A079401CB4
-:10A840000AF0A4FAE079814207D0A0790721401CE0
-:10A850000AF09CFAA171012010BD002010BD334800
-:10A860008179C079814201D1012070470020704771
-:10A870002E494A7A002A04D04989814201D1012017
-:10A8800070470020704710B504462848083009F08A
-:10A89000D5F9002815D125498879CA7990420CD07C
-:10A8A000C8792221484327492231401820601F4897
-:10A8B000083009F0DBF9012010BD1C48083009F010
-:10A8C000D5F9002010BD10B504461848083009F02D
-:10A8D000B5F9002815D115498879CA7990420CD06C
-:10A8E000C8792221484317492231401820600F4877
-:10A8F000083009F0BBF9012010BD0C48083009F000
-:10A90000B5F9002010BD094810B5083009F096F9D6
-:10A91000002822D1054CA079E17988421AD0E0794B
-:10A920000721401C0AF032FAE1710DE066000020B8
-:10A930007372635C646D5F712E630000B01700205A
-:10A9400080140020A01600202046083009F08EF95F
-:10A95000012010BD0C4809F089F9002010BD0A48FB
-:10A9600008388179C079814201D1012070470020E7
-:10A970007047054808388179C079814201D10120AA
-:10A9800070470020704700006E000020704770473D
-:10A99000FF207047704770470020704700207047C5
-:10A9A000002070470020704700207047002070474B
-:10A9B000002070470020704700207047012070473A
-:10A9C000002070470020704700207047002070472B
-:10A9D000F8B5FF4D0446A87F002600280CD00029BA
-:10A9E00023D1667010202070E87FA07028462030A8
-:10A9F0000078E070AE7718E0287A012801D00020B6
-:10AA0000F8BD002911D16670F149687A01270A3131
-:10AA1000002801D0132000E0052020701422A01C83
-:10AA20000AF03AF9A7716E722E720120F8BDF8B5DE
-:10AA3000E8480078002802D00C273846F8BD0027E7
-:10AA4000E34D3C46203DAF74EF746F75AF752F75C5
-:10AA500028466F732038DE4E47737771E87D0028F3
-:10AA600004D0FEF785FDFFF744F8EC75347274727C
-:10AA7000B477D7482430FFF78DF8D5484C30FFF72E
-:10AA800089F8DAE710B5D34C00232370D04C203C72
-:10AA9000E375CF4B01241C71603B583307C3FFF7AC
-:10AAA000C6FF002804D0FF20CBA102300AF091FAA3
-:10AAB00010BDC7482038807C7047F8B5C44D0646A5
-:10AAC000407B203DE873C24837791346AF73B27BB1
-:10AAD00082710446603C217006221946601C0AF00F
-:10AAE000DBF8B07960730622F11DE01D0AF0D4F89E
-:10AAF000687B0126002800D0EE74B5484038407BC2
-:10AB0000002800D02E75002F09D0012F09D0022F68
-:10AB100024D0032F46D0FF20AFA14D3013E00021F9
-:10AB20001DE0AB4801212430FFF744F8A848E11D9F
-:10AB30002430FFF773F8607B002807D0012807D086
-:10AB4000FF20A5A143300AF044FA0CE0002100E008
-:10AB500001219F482430FFF77CF804E006219C483F
-:10AB60002430FFF727F800206875A8759848611C05
-:10AB70002430FFF745F8964821782430FFF75DF838
-:10AB8000934804214C30FFF715F89148611C4C3074
-:10AB9000FFF736F88E4821784C30FFF74EF8AE7448
-:10ABA0000020F8BD0221DAE770B5894C0125203C70
-:10ABB0000246A5758648007A002801D03A2070BD6B
-:10ABC000834860380378934206D1002262750622DA
-:10ABD000401C0AF061F86575002070BD70B5044630
-:10ABE0007B4D0020203D28752846224632380AF049
-:10ABF00053F82846203844730120287570BD7449E5
-:10AC00000871704710B5724C0022203CE2746073EA
-:10AC10000246204612380AF03FF80120E07410BDC9
-:10AC2000F8B500F04CFB6A4C0025203CE07D002884
-:10AC300004D0FEF79DFCFEF75CFFE575654E3570B0
-:10AC4000FEF75AFCA07B012804D00021084601F041
-:10AC500082FAF8BD0021022001F07DFA5C4C207AD6
-:10AC60000127002809D0A07F0028F2D10520E07735
-:10AC7000204620300570A777F8BD70780028FBD0FB
-:10AC8000534906226039487BE073C91D0846693084
-:10AC90000AF002F83C20A07227727570F8BD10B55A
-:10ACA0004B4C203CE17B207CCA0701D0C2070BD073
-:10ACB0008A070FD582070DD42620FEF7EAFA207CFA
-:10ACC00002210843207410BD2520FEF7E2FA207C03
-:10ACD0000121F6E74907F6D54007F4D42720FEF70F
-:10ACE000D8FA207C0421ECE770B53A4D287800288A
-:10ACF0007CD1374C203CA07C00287CD0FEF7F1FBB7
-:10AD00000026267466746E703046FEF7E7FB00205E
-:10AD1000FEF7E5F93448FEF7B3FA2546403D296EC3
-:10AD20008857FEF779FA3048C01EFEF792FBFEF70F
-:10AD300008FCFFF7B4FFFEF729FAFEF7CBFB012072
-:10AD4000FEF70DFB0F210520FEF744FA2978681C59
-:10AD5000FEF732FAA07B01280AD0E07C002807D059
-:10AD6000214612390846627B5630FEF790FFE674A2
-:10AD7000207D002808D0164840380146427B123911
-:10AD80008C30FEF7B6FF2675607D00280BD010488A
-:10AD9000691C2430FEF734FF0D48691C4C30FEF767
-:10ADA0002FFF6675A675E86D0178002903D001783C
-:10ADB000001DFEF713FAA86D0178002907D001786D
-:10ADC000034A401C7732FEF774FE0120E0750EE066
-:10ADD00034180020740000207372635C6C6C5F6137
-:10ADE00064762E6300000000F751010003E0FEF7D7
-:10ADF00083FB002070BD0C2070BDFB49486070478C
-:10AE000070B50546FEF79DFB002D06D00020FEF72D
-:10AE10005CFAFEF7BBF9FFF742FFF44C607C0028B8
-:10AE200009D0A07B012803D1F149F2480AF0D1F8FA
-:10AE3000FFF7F6FE70BD0126002D05D00220FEF7BB
-:10AE40008EFAEA4820304671E8484430FEF759FB54
-:10AE5000012008F0A8FDFEF7A1F9A07B00280FD083
-:10AE600001280DD002280BD003280BD0E148E0497F
-:10AE70001E300AF0AEF8E07B217C884306D009E062
-:10AE8000032000E00120FEF720FAF4E7A07B012870
-:10AE900003D06674D448067070BD00202074F9E7B2
-:10AEA00010B5FEF71EFBD048007800280ED1CF4821
-:10AEB000807C00280AD00020FFF7A2FFF6F781FA75
-:10AEC000CA4820300079012806D007E000F0F7F9E1
-:10AED000FEF712FB0C2010BDF8F79AF8002010BD09
-:10AEE000C14901204870704770B500F0DAFF0028B2
-:10AEF0001BD0FF202D30FEF7E5F9BB4E3078BB4C60
-:10AF00002034012814D0022801D003282ED0A520F7
-:10AF1000B74980000AF05DF83078002807D0F6F7CE
-:10AF200050FA207901282BD02FE0FFF779FE70BD71
-:10AF3000AE4DA87B032819D0FEF7F4FAE87D00286F
-:10AF400003D0FEF7C6FDFEF70CFBA8489430FEF7D1
-:10AF5000D8FA012008F028FDA87B01280BD0A179A0
-:10AF60006F20012906D0032904D004E00120FFF757
-:10AF700047FFD1E77F20FEF7A8F902203070CBE72A
-:10AF80006079002801D1FEF7A1FB0020607170BD3F
-:10AF900070B5964CE07D002803D0FEF7E9FAFEF785
-:10AFA000A8FD00F07EFF00281CD08F4D28780228D5
-:10AFB00003D08F4990480AF00CF8A07B012814D0E8
-:10AFC000FF202D30FEF77EF90120FFF719FF2878CA
-:10AFD000002809D0F6F7F5F9844C203420790128AF
-:10AFE00006D00AE0FFF71CFE70BD99208000E9E75B
-:10AFF0006079002801D1FEF769FB0020607170BD07
-:10B00000F8B50446FEF738F90746FEF78DFD01282E
-:10B0100027D0002674480078022804D07648744966
-:10B020003C3009F0D6FF714DE87D002803D0FEF7D3
-:10B030009FFAFEF75EFDFEF784FA6C489430FEF747
-:10B04000DBFD21006D4C009064D0FEF7BFF80028B6
-:10B0500060D0009803000AF0ADF8065D5D5D065D06
-:10B060001E5D0126D6E7A87B012853D0374304D1C3
-:10B07000A079002801D002284CD160484C30FEF75E
-:10B0800040FA012008F08FFC0120FEF71EF9564817
-:10B090000321017045E059487430C178D438C27931
-:10B0A00091421DD10146D4310A79037A9A4217D1CF
-:10B0B0004A79437A9A4213D18A79837A9A420FD194
-:10B0C000CA79C37A9A420BD10A7A037B9A4207D192
-:10B0D0000978407B4906C90F814201D1012100E076
-:10B0E0000021A87B012802D0002803D012E000290B
-:10B0F00007D10FE0374304D1A079002801D00128FF
-:10B1000008D13E487430FEF798FE002802D0A87D92
-:10B11000002810D0FF202D30FEF7D4F80120FFF7D3
-:10B120006FFE3148007800286AD0F6F74AF9207996
-:10B1300001286ED0C0E02C4F30497868042283315A
-:10B14000343009F0A9FD2D484021743000784006C4
-:10B15000C20F78680A54294906227731413009F034
-:10B160009BFD2649786803228731383009F094FD29
-:10B1700022483B217430827D78680A541F4974311B
-:10B180000A7ECB7D12021A4382878A7E4B7E120290
-:10B190001A43C2830A7FCB7E1102194301841749E7
-:10B1A00074318A7F4B7F1102194341841349052270
-:10B1B0009331243009F070FD10497F68943108798B
-:10B1C000C20638462030D20E0090827709794909AC
-:10B1D000C177207A00281DD0A07F00285BD1607A3B
-:10B1E00000280ED013200DE0740000201418002059
-:10B1F000D8AD0000F9030000BF02000034180020A1
-:10B200005CE00520E0773449002008700120A07739
-:10B2100041E04CE03048E97D1038002924D000217D
-:10B22000A172B989A1814021C95DE1733946062225
-:10B23000413109F031FDF88BE082388C2083788C25
-:10B2400060830098C07F2077607F400840003043D3
-:10B250006077FEF776FC617F4000C907C90F0143A4
-:10B2600061770120607215E00021A172B989A18186
-:10B270004021C95DE17339460622413109F00CFDD8
-:10B28000F88BE082388C2083788C60830098C07FB4
-:10B29000207701202072114D0020287000F00FF857
-:10B2A000FEF72AF90120696800F055FF39E7607957
-:10B2B000002801D1FEF70AFA00206071F8BD10B530
-:10B2C000FEF74AF9FEF73DF9FEF78BF80020FDF78F
-:10B2D000FCFFFEF7CAF810BD5418002074000020CF
-:10B2E0008107C90E002808DA0007000F0838800817
-:10B2F000FD4A80008018C06904E08008FB4A800095
-:10B3000080180068C8400006800F704710B500F034
-:10B310007BFF10BD70B5F64C0546A26800290DD024
-:10B32000002A04D0FF20F3A14C3009F052FEA560A2
-:10B33000F6F748F80220F6F73FF870BD002A04D16E
-:10B34000FF20ECA1543009F044FE0020A060F6F785
-:10B350003AF80120F6F738F870BDE5481030C07EA5
-:10B36000002801D00020704701207047E0481030CD
-:10B37000C07E7047DE483430C07E70470021C17601
-:10B38000817601600162DA481030C07E002807D162
-:10B39000D7483430C07E002802D1D549012008703A
-:10B3A000704710B50B46C17E847EA14204D0114681
-:10B3B000184607F0B4FB10BDFFF7E0FF10BD38B52D
-:10B3C000CB4C606801684978012924D00121684686
-:10B3D00006F05EF968460078CA49000209F0D6FC1A
-:10B3E00060680268C0685268511807F0B5F9616872
-:10B3F000C860BF49606834310022884215D0018B93
-:10B40000002912D04272032101720271021D017FD4
-:10B41000FFF7C7FF38BD7D21C068C90007F09CF960
-:10B420006168C860B8480861E3E7018B491C018383
-:10B4300002214172E7E7FFB5AD4F02461037386A87
-:10B440003C68056889B060680790A948C1680291A6
-:10B450006B880B98C01A80B208900C98002804D012
-:10B46000264638362046483002E03E1D28466430E5
-:10B47000059003203071002A15D0012A7ED0022ABF
-:10B4800052D0032A7BD09BA1A04809F0A2FD0C98C2
-:10B490000028307974D0032804D09C4895A1093045
-:10B4A00009F097FD40E1002904D1984891A169383D
-:10B4B00009F08FFD9549A88FA839484340180A998B
-:10B4C00000F0A8FEA0619149E88BA83948430A9989
-:10B4D00000F0A0FEE06186488C4AC068A98FA83AB7
-:10B4E000514384464118A069894A091A8A183B21A8
-:10B4F000A262864B495DA83B594341180818FF30AA
-:10B500001630206260626046101AFF38ED2135382F
-:10B51000C9008842BBD27F49884204D27B4875A1CA
-:10B520005C3809F056FDBAE0784AA88FA83AE1687D
-:10B53000504308180A9900F06DFEA0617349E88B2A
-:10B54000A83948430A9900F065FEE0616848C06880
-:10B55000002804D16D4867A1543809F03AFD5820FD
-:10B56000405B6D4A0028A88FE16822D0504308183C
-:10B57000A169401AA0622169A06802E022E051E0BE
-:10B58000CDE04843A169644A40183B21495D5143DD
-:10B5900041180818FF3014302062E88BE1695043ED
-:10B5A000411A0F208001081A60625148A16AC068E0
-:10B5B0006DE050430818A169401A3968D3384968CA
-:10B5C0004018D7E7284640300290008B002801D071
-:10B5D000002904D14D4847A13C3809F0FAFCE88B1A
-:10B5E0004D494843E169401AA062029A138B2269CF
-:10B5F0009B1A9C46A3685343A2699A186346594311
-:10B6000051183B22525D444B5A438A185118FF315E
-:10B61000143121620F218901411A61623449C968DC
-:10B62000401A35E00C98002803D03420005D002833
-:10B6300074D1E88B38494843E169401A0899484376
-:10B64000A062284640300690008B0028079829D039
-:10B65000002804D02D4827A1163809F0BAFC069816
-:10B660002D4A018B08980818E16948434000FF30D3
-:10B6700014302062E88B5043411A0F208001081AD1
-:10B68000606200F0C1FD00281CD0A16A0298081A6F
-:10B69000FF38ED212338C900884200D3F7E60220A5
-:10B6A0003071F4E6002802D00298002804D117482F
-:10B6B00010A11D3809F08DFC0798A16AD33808182D
-:10B6C000A062CCE706F0B1FD7A690146104607F0AA
-:10B6D000D5FFA16A081AFF38ED211E38C90088423B
-:10B6E000DCD201200DB0F0BD00ED00E000E400E090
-:10B6F000D01800207372635C6C6C5F6C6D2E7330BD
-:10B700002E63000010270000B78913008A0500008F
-:10B7100036040000A3020000E20400002AE003282F
-:10B7200002D1FD4807210170A16A786907F014F879
-:10B73000B060616A206A884202D90598016001E020
-:10B74000059908600598F54900680818F060A9880F
-:10B750000B98081A00B2002801DD022000E000204A
-:10B7600070710C9830700C98002805D03420005D62
-:10B77000002801D00220B5E70C9801214840203470
-:10B780006075397F32463846FFF70BFE0020A9E787
-:10B7900010B5E14900284A68116A096807D01268A3
-:10B7A000C98BDF4BD2695943891A09F0EFFA10BDF2
-:10B7B000F8B5D94F35227868016A0C680168525C87
-:10B7C000002A0AD0498E6288914206D1407A002828
-:10B7D00003D1D449D44809F0FCFB06F026FD01460C
-:10B7E0007868406907F04AFFFFF7D2FF79686588FB
-:10B7F0000B682E185A8EB24202DB521C5A8602E0A7
-:10B80000401C2818588608683622125C002A05D188
-:10B81000428E23899A4201D1521C4286088B03280A
-:10B8200002D2401C088302E00868408EA0802046B7
-:10B830004030C18A808A081A6188401E401885B24B
-:10B84000203416E0096AE67F097976004B00B74993
-:10B85000007DCB5A895BC91889B20023FFF7EBFD45
-:10B86000002811D0012810D0AF48AE493A3009F075
-:10B87000B0FB79680868428EAB1A1BB2002BE1DA84
-:10B880000820E07400F00BFEF8BD78680068418E77
-:10B89000491C4186EDE770B51F209F4D002128709F
-:10B8A000E960A868C27E130009F084FC04545403C4
-:10B8B0004654026A14680268117002685160006898
-:10B8C0002030407D002808D106F0AFFCA968096847
-:10B8D000096C07F0D3FE002815DCA86801684A8EC1
-:10B8E00061888A4204D12289511A6181628004E010
-:10B8F000511A61810168498E61800268C1681164D2
-:10B90000C16841610FE0A8680168098E6288891AE0
-:10B9100061810168098E618001680A6CC2600A6CED
-:10B920004261886C6066204601F06DFC00280ED0F4
-:10B930007B487C49BD3808E0C1684161FFF7D4F914
-:10B94000002804D076487749B73809F042FBF5F76C
-:10B9500038FD70BD72487349B038F6E710B56E4ACD
-:10B960000B00526809F026FC0906090F1E0C2D2D4C
-:10B97000082A2D00FFF78FFF10BD00F059FC10BD05
-:10B98000FDF7A9FE10BDD07E022805D0D07E032889
-:10B9900005D0644966480EE0FFF70AFF10BDFFF7C7
-:10B9A0000EFD10BDD07E0228F6D0D07E0328F6D042
-:10B9B0005F485C490B3009F00CFBF0E706F01BFC1C
-:10B9C00010BD23205749000109F003FB10BDF3B55A
-:10B9D00081B0514C029825460026012710350300FE
-:10B9E00009F0E8FB0906313C3C3143433C3C430051
-:10B9F000494801211030FFF78DFC02990198FFF7AB
-:10BA0000ADFFE87E022828D1A0680468006A0668B5
-:10BA100006F0EAFBF18B424A5143E269891AD339B5
-:10BA2000FF223232E162904202D24248081802E01C
-:10BA3000081A41494018E0624048E16A814200D852
-:10BA40000846E06206E001460198FFF787FFE87EBE
-:10BA5000022802D1286820300775FEBD01466560C6
-:10BA60000198FFF77BFF6660FEBDFF202D49C130C6
-:10BA700009F0AFFAFEBDF8B5064627480D4600248A
-:10BA80003430254F0B0009F095FB09060C10100C03
-:10BA9000161610101600204801213430FFF73AFC2A
-:10BAA00029463046FFF75AFFF8BD78603046FFF769
-:10BAB00055FF7C60F8BDFF201A49F53009F089FA7E
-:10BAC000F8BDF0B5144C0020616885B003268E7671
-:10BAD000CA7E0746032A03D0C97E00293FD03FE033
-:10BAE000087F002804D112480E49D93009F071FAB4
-:10BAF0006068057F684606710221417106F095FB7A
-:10BB00000290FF20F53003900121684601706946DC
-:10BB1000284607F004F814E0D0180020EF160000C3
-:10BB2000E2040000F4B6000074060000FC510100BD
-:10BB30001602000084F8FFFFB5F9FFFF161200009F
-:10BB400020BF6068007F07F025FE0028F8D06068FD
-:10BB5000007F06F050FB60680777FFF70FFC0120BD
-:10BB600061688F7605B0BEE5FD494A68907600E0D1
-:10BB700020BF4A68D07E002803D0D07E937E9842B2
-:10BB8000F6D0D07E002803D00020002191767047A7
-:10BB90000120FAE770B5F24900241031CA7EF04D59
-:10BBA000032A03D02431CA7E032A17D169600028F2
-:10BBB00010D001280AD0EB49EB4809F00AFA00201E
-:10BBC0006968002C0860686008D070BD0320FFF72A
-:10BBD000CBFF01E0FFF775FF0446F0E70C2070BDD6
-:10BBE000F8B5DF4F04461F25E67E330009F0E2FA80
-:10BBF000042A20031B20DA481030844203D0D9499C
-:10BC0000DA4809F0E6F902207C60FFF7ADFF002872
-:10BC100005D07968002008600862786012E00C2581
-:10BC2000002078600BE00120FFF7B4FF054604E038
-:10BC3000CE48CC490C3009F0CCF9002D02D0E07E82
-:10BC4000B042D1D1E07E002804D0C848C5491230A6
-:10BC500009F0BFF9F8BDC24810B51030FFF7C0FFBA
-:10BC6000BF483430FFF7BCFFBD490020583108758C
-:10BC7000BF494870BA49103148610A4624325061C0
-:10BC800088769076012210390A708860486010BD6D
-:10BC900070B504460120FFF723FBC5B20B20FFF768
-:10BCA0001FFBC0B2854204D0B048AE49343809F019
-:10BCB00090F90120FFF714FBC5B21820FFF710FB25
-:10BCC000C0B2854204D0A948A649333809F081F9A9
-:10BCD0000420C043FFF704FBC5B21920FFF700FBA7
-:10BCE000C0B2854204D0A1489E49323809F071F9AA
-:10BCF0009F489B490C38047000201031C876887624
-:10BD00000A462432D0769076994B0124083B1C7168
-:10BD100018600862106208601060FFF79CFF70BD39
-:10BD20008F48007870479249083908717047F3B519
-:10BD30000D468B4983B01031CA7E08462430884CAA
-:10BD4000002A02D1C27E002A03D0C97E022903D074
-:10BD500005E08848616006E0C17E002901D00C2022
-:10BD600000E76060844806F0F2F96168087760686F
-:10BD70007F490160007F002804D17B4879496238FF
-:10BD800009F027F906F030FA7C49884200D20846CB
-:10BD9000FF30C83086B260680321C1760027012DCC
-:10BDA0002FD0724A0399121D5143026851600068F6
-:10BDB00001210170684605F06BFC68460078704907
-:10BDC000000208F0E3FF019106F02FFA01997118C3
-:10BDD00006F0C2FC6168032DC86021D06948086183
-:10BDE000606803210172022141720771021D017F07
-:10BDF000FFF7D7FA6068078307202070002067608C
-:10BE0000B0E606F012FA314606F0A6FC6168C8609A
-:10BE10005D48086108680770096801204870DFE71D
-:10BE20005A48DCE77047F8B54D4E1036F17E0029D0
-:10BE300004D131462431C97E002901D00C20F8BD3F
-:10BE40000221F176464C4A4F5834083F376234603D
-:10BE5000002538602575397920304A004C49C07F6B
-:10BE60008A5A4000085A2B46101881B22A462846A2
-:10BE7000FFF7E1FA002804D03B483A49323009F094
-:10BE8000A8F825610120A5602075658625863448BF
-:10BE90007830857539684888401E48803583002091
-:10BEA000F8BD10B52E4901248868827E032A0CD083
-:10BEB00000684078002806D0C8683649884202D910
-:10BEC0000024FFF70DF8204610BD0024FBE72448AE
-:10BED000826813681978491C1970C1681068C26AB1
-:10BEE000914204D8007D012801D001207047002034
-:10BEF000704700207047F8B51948194C1030606041
-:10BF0000016A00260D68006834212F460E54403720
-:10BF1000B97C002963D1007D032860D106F085F942
-:10BF200001466068406907F0A9FB002857DDFFF76C
-:10BF30002FFC6988401C41186068026811860068FF
-:10BF40002989028E91424AD9012120308175F88ACF
-:10BF5000B98A401A6988401E401887B238E000004C
-:10BF6000D0180020F4B600008D0300006D02000020
-:10BF700088000020CFB9000077BA0000F605000065
-:10BF800010270000CB120000B7891300B70800008B
-:10BF9000FC5101002E841300096A09794A00CD4939
-:10BFA0008B5A028E007D94463F22525D5200895A80
-:10BFB000C91889B201236246FFF73DFA00280ED066
-:10BFC00001280ED002280AD0C349C44809F001F85C
-:10BFD00061680868028EBA1A12B2002ADCDA66605A
-:10BFE000F8BD60680068018E491C0186F0E7F8B56D
-:10BFF000BB4D0026AA680128116A0C6810D00720E2
-:10C00000287006F05DF8B7480078F6F7AFFDA8682D
-:10C010000683026861885186006820308675F8BD05
-:10C02000087913684100AB481F7D415A032F18D08F
-:10C030001A7D022A22D01A7D012AE2D13F231B5DFC
-:10C0400022895B00C05A0023401881B20120FFF70B
-:10C05000F2F90028D5D0A1489F49B53008F0B9FFC2
-:10C06000CFE71E6112683F2396601B5D22895B004B
-:10C07000C05A0023401881B20320E8E75822125B1F
-:10C080001A613F231B5D22895B00C05A00234018C0
-:10C0900081B20220FFF7CFF9AA6801211268117559
-:10C0A000D7E738B58E4C0021A0680D46006842786D
-:10C0B000002A01D045701FE00078002809D0012136
-:10C0C000684605F0E5FA684600788749000208F0FE
-:10C0D0005DFEA0680268C0685268511806F03CFB1B
-:10C0E0000146A068C160057102214172021D017FF5
-:10C0F000FFF757F9A068058305F0E2FF794800785B
-:10C10000F6F734FD38BD10B50146754A0B0090684E
-:10C1100009F050F8060D150408190C1C012100F057
-:10C12000A6F807E00021506800F0A1F810BD01203A
-:10C13000FFF75DFF00210846FFF7ECF810BD00682F
-:10C140000321017510BD00F0A5F810BD62496748D4
-:10C1500008F03FFF10BD70B5614C002809D00128E0
-:10C1600016D0022821D061485B49243008F031FF05
-:10C1700070BDFFF796FF00210846FFF7CBF8A068D7
-:10C18000807E002801D01F2000E00720207070BDB5
-:10C19000A068002501684D70FFF7F0F80320F6F75E
-:10C1A00023FC05F08DFFA56070BDFFF77AFFA06846
-:10C1B000FFF7E4F800210846FFF7ACF80420F6F793
-:10C1C00013FC70BD46498968CA7E022A08D10A68F4
-:10C1D0001378002B04D150600968CA6A1018C8622D
-:10C1E000704710B53E4A00290CD0012907D002291A
-:10C1F00007D03E483849443008F0EBFE10BD401EE1
-:10C2000000E0401FD06010BD35488068002800D095
-:10C210000120704710B504460020002907D034489B
-:10C2200008F0B4FD0146204608F0B0FD401C10BDEA
-:10C2300010B52B488068C07E030008F0BBFF0414D3
-:10C2400014030A1401F0F2F800280BD022492948FF
-:10C2500006E0FEF725FE002804D026481E49001DF2
-:10C2600008F0B7FE10BD23481B490B30F8E710B5A6
-:10C270000446002903D00020FFF7B9FE03E0194867
-:10C280000078F6F773FC2046FFF778F80020F6F701
-:10C29000ABFB10BD10B512488268106A11680068C7
-:10C2A000CB698B60134BC18B9B3359431368D960A7
-:10C2B0000146E0314B8883870C783B231C548B88E4
-:10C2C000C383CB88038409894184116802200875DF
-:10C2D00010BD0000FC510100F4B600005A06000039
-:10C2E000D01800207C00002010270000B2070000BA
-:10C2F00040420F0047040000F8B5FEF702FA064678
-:10C30000FEF770FAF94D07466879F94C002809D014
-:10C31000012823D0022826D003282ED0FF20F5A103
-:10C32000C63033E0F2481830FEF748FA002801D052
-:10C3300003200FE0EE481830FEF7ACF9002804D0D7
-:10C3400060696030007A002806D0E9481830FEF7AE
-:10C3500008FA012068711BE00220FBE7E44818306E
-:10C36000FEF7FFF914E0E2481830FEF793F90028D1
-:10C370000ED1FF20DFA1B83008E0DD481830FEF70D
-:10C380001DFA002804D1FF20DAA1C03008F021FEF8
-:10C39000A169F722087810400870AA79D207120F15
-:10C3A0001043FB2210400870EA79D207520F104365
-:10C3B00008706B79EF22022B04D0012B07D0032BDE
-:10C3C00007D00CE0012E06D8002F04D007E07F1E16
-:10C3D0003E43002E03D010401022104300E01040D6
-:10C3E0000870287C002811D0687901280ED0BF4839
-:10C3F0005438FDF786F8BD49606954397830A26930
-:10C40000FDF7E3FA0020FDF7EFFA04E00846FDF738
-:10C4100078F8FDF70CFBA0690078C00606D4E06947
-:10C420000078C00602D4E079002802D0A079002864
-:10C4300001D0012000E00320FCF747FF032020701B
-:10C4400001202071F8BDAA4810B51C30FEF7DDF9B7
-:10C45000A74C002802D00020607004E0012060702A
-:10C46000A2485438E061A148407C002802D060789E
-:10C47000002805D0E069FDF744F8FDF7D8FA10BDB3
-:10C480009A485438FDF73DF8984A6069543AA0300C
-:10C49000E169FDF79AFA0120FDF7A6FA10BD10B583
-:10C4A00093490022486932238276C27601221A54C7
-:10C4B0004030807C002803D00A700021022001E077
-:10C4C00000210320FFF71FFE10BD70B5884C607976
-:10C4D000C2062046416908464030002A01DA00229F
-:10C4E00002E0028B4B89D2180B460283C0331A7EBE
-:10C4F000002A03D0828B4D8952198283627A002AE6
-:10C5000003D03D2001F0C9F852E08A7E032A4FD0C3
-:10C51000227A002A13D0500701D4D00601D51E205C
-:10C5200036E0100701D53D2032E0D00705D1900755
-:10C5300003D470A1734808F04CFD2A2028E0603134
-:10C540008A78002A05D0C28B551CC5830D88AA4263
-:10C550000FD25A7F062A02D01A7F062A05D1428BB3
-:10C56000531C438309888A4203D2828BC18A8A4240
-:10C5700001D322200CE0027C808A002A0FD00628FA
-:10C580000FD35A48C07B012801D03E2000E008208C
-:10C5900001F083F86069807E032809D001E08842B9
-:10C5A000F5D20120207000210846FFF7ACFD70BDD8
-:10C5B000FFF775FF70BD10B54C494D48CA7B002A86
-:10C5C0002BD0012A29D0022A27D0032A04D049A13E
-:10C5D0004D4808F0FEFC10BD897B02290FD00729C9
-:10C5E0001BD0406901464031CA8A898A511A891E86
-:10C5F00089B2032900D30321028951180BE0406955
-:10C60000014640318A8A032A01D2018903E0428827
-:10C61000C98A5118491C818010BD4069F5E700B5F1
-:10C62000030008F0C7FD0604070B0F1212170029BC
-:10C630000ED00FE0491E02290AD90BE0491F01293B
-:10C6400006D907E0072903D004E00A390C2901D8EC
-:10C65000012000BD002000BDFEB50546244818306D
-:10C66000FEF78DF8002804D1274822A1CF3808F022
-:10C67000B0FC1F4CA069FDF703FC0321A069FDF786
-:10C680002DFCA069EF220178114001702946FDF7C9
-:10C6900069FC002601272B0008F08CFD0E5D5D086B
-:10C6A0005D1D6161155D4D5D613D385D60697121A4
-:10C6B000095C002901D0062101E0C030417EA0695B
-:10C6C000FDF71BFD4BE0E069FDF776FC0146A06934
-:10C6D000FDF784FD43E06169A069D031FDF747FDB6
-:10C6E0006169A0699531FDF750FD38E0C819002057
-:10C6F000900000207372635C6C6C5F736C61766594
-:10C700002E6300006B020000780800000621A0697B
-:10C71000FDF760FD23E020690178A069FDF744FD85
-:10C7200020698188A069FDF741FD20694188A069E1
-:10C73000FDF740FD13E00096019660696030007CD3
-:10C74000002803D069460878384308706946A06914
-:10C75000FDF756FD03E0FE49FE4808F03AFCFEF7FF
-:10C7600018F8002804D1FB48F949801D08F031FC75
-:10C770000C2D07D0072D04D060695E210E52603069
-:10C780008770FEBD606940304683FEBDF0B5F24C57
-:10C79000DC2061698DB0405C042809D0052834D1C3
-:10C7A0006031487A002829D001204874022026E010
-:10C7B0001022EA31684600F0A8FF61691022C831F2
-:10C7C00004A800F0A2FF684605F0BBF8616908AA5A
-:10C7D0006CCA0F46CB6778378A670846FE608030A0
-:10C7E000BD60074620376CC7002303634363012005
-:10C7F000A0310876D9494874052000E00D20FFF7E4
-:10C800002BFF61690020C03108770DB0F0BDF8B58D
-:10C81000D1481830FDF7B3FF002842D0CE4C207A23
-:10C8200000283ED160690025C030007ECB4E002834
-:10C830000BD0B17B0120FFF7F2FE002805D1B17BC0
-:10C840000420FFF7ECFE002806D060690127C03005
-:10C85000407F062807D00CE060695C210D526030F3
-:10C86000457402202FE0B17B0420FFF7D8FE00289A
-:10C8700010D0B07B030008F09DFC173F3F3F3F1EE8
-:10C880003F3F3F3D3F203F3F3F292C3F3F3F3F3F02
-:10C890003F2F3F0060696A21095CC90702D0C030A0
-:10C8A0004577F8BD0C20FFF7D7FE60696030817ACC
-:10C8B00039438172F8BD072005E0FDF7D0FF00285D
-:10C8C000F8D075740B20FFF7C7FEF8BD00F02CFF01
-:10C8D000F8BDFFF75BFFF8BD606900218030816023
-:10C8E000C160057437740620FFF7B6FE60696030DA
-:10C8F0008570F8BD0920E6E700F0D8FEF8BD70B5F8
-:10C90000964DA87B072834D1934CDE22606941887C
-:10C91000125A491C91422CD1217A002929D1014671
-:10C92000E0318B88C28B934207D1CA88068CB24211
-:10C9300003D10A89468CB2420DD0884A8689303AA2
-:10C9400056819381CB88D3810989118201462E318A
-:10C9500051600121117001221146FDF79FFC002159
-:10C960000420FFF7D0FB61690020C0314877A8732D
-:10C97000E87370BD70B5794CA07B162803D074495C
-:10C98000774808F026FB74480021426973486032FA
-:10C99000117291703038067E0B250123002E06D0CF
-:10C9A000027D002A12D14575817503750EE0567A15
-:10C9B000002E06D051722288828381760C22027664
-:10C9C00004E022888283817683770576A17370BD27
-:10C9D000F8B5614DA879800723D5287A002820D1A1
-:10C9E0005E4C0120A17BFFF71AFE002819D1A8692F
-:10C9F0000127C0780026030008F0DCFB0E62620805
-:10CA0000622E3B4F0A62146220524562022021E0EE
-:10CA1000A07B042804D052484D49333808F0D9FA95
-:10CA2000A673F8BDA07B082804D04D4848492D388E
-:10CA300008F0CFFA686960308670F1E7A07B0A28B9
-:10CA400004D047484249263808F0C3FA6869603084
-:10CA500007720B20A073F8BDA07B0E2804D0AB207A
-:10CA60003B49C00008F0B5FA6869603007720F20D2
-:10CA7000F0E7A07B0F2804D039483549183808F072
-:10CA8000A8FA1120E6E7A07B0F2804D034483049EB
-:10CA9000123808F09EFA1320DCE7FFF76BFFF8BDB1
-:10CAA00069690846C0310A7F062A04D16030807A5D
-:10CAB000800700D50E77487F0628F0D14E77F8BD65
-:10CAC000274823496E3008F084FAF8BD10B5234C8E
-:10CAD0000020A17BFFF7A3FD002804D11E480122FE
-:10CAE000017A114301720420A07310BD10B51A4CD5
-:10CAF00060690146C0314A7F002A06D0097F0629B5
-:10CB000003D0217A0122114321726030807A80079C
-:10CB100015D4E069FDF752FB61696031C872E069C4
-:10CB2000FDF74EFB616960318881E069FDF74DFBDF
-:10CB3000616902226031C881887A10438872606915
-:10CB400000220146C0310B7F062B00D10A7709E095
-:10CB5000F4C60000ED07000090000020C819002076
-:10CB6000770500006A231B5CDB0703D106234B77A4
-:10CB70004030428310BDF8B5FE48817B0020FFF7AE
-:10CB80004EFDFD4C0126002807D160696030407AD7
-:10CB9000002802D1207A30432072616900255E208E
-:10CBA000455262204654C831E069FDF7C8FA616910
-:10CBB000E0699131FDF7D2FA6169042208469131AA
-:10CBC000B93008F069F8EB483038017E08270029B1
-:10CBD00006D0017D002912D14775857506750EE0D6
-:10CBE0006169054689894183E249E0691439FDF7A5
-:10CBF0008EFAE049E0690C39FDF796FA2F76DD48A8
-:10CC00000E218173F8BD70B5DA4D0020A97BFFF7C6
-:10CC100006FDD94C002803D1207A01210843207257
-:10CC2000E069FDF730FA00280ED0E069FDF726FA3A
-:10CC30006169DE225052498800F0C1FD002806D00B
-:10CC4000282000F02AFD70BDFFF740FF70BDE069AD
-:10CC5000FDF70EFA6169E0310870E069FDF701FA4D
-:10CC60006169E0314880E069FDF7E0F96169E03130
-:10CC70008880E069FDF7E3F96169E031C880E06927
-:10CC8000FDF7E6F96169E03108810720A87370BDFE
-:10CC9000F8B5B94CA079C0076FD0207A00286CD1C4
-:10CCA000B44D0120A97BFFF7BAFC002853D1E069FD
-:10CCB0000027C178022201260B0008F07BFA0D162E
-:10CCC0001308354A4A384C474A1929444A00FDF7A7
-:10CCD00016FA6169DA225054AE735E204752603111
-:10CCE0008E7038E000F076FD35E0FFF78CFF32E023
-:10CCF000A97B0020FFF793FC002802D1207A304363
-:10CD0000207260695E210F52603086700A2018E040
-:10CD1000A87B0B2802D0207A104320722F74606900
-:10CD2000603046720C200CE0FFF725FF13E0A87B73
-:10CD3000112802D0207A1043207260696030877019
-:10CD40001620A87307E0FFF7D1FE04E000F00FFD06
-:10CD500001E0FFF7BBFEFDF76EFD002804D14F2078
-:10CD60008649000108F035F9606900238030016BC5
-:10CD7000426B491C5A4142630163F8BDF8B57D4FCF
-:10CD8000012814D1787C002802D1387C002801D0F9
-:10CD9000FCF74DFEFCF7E0FBFCF7D3FB0020FCF7B3
-:10CDA00094FAFCF71EFBFCF760FBFCF7A5FBF87B95
-:10CDB00001260025704C00280FD16079C10705D0ED
-:10CDC0000220F87360694030057402E0800717D5CF
-:10CDD000FE7300210120FFF796F9F87B012802D0AD
-:10CDE000022808D00CE06079C00709D00220F8734F
-:10CDF0006069403005746079000701D50320F8733D
-:10CE000000F018FDFFF703FD2079002801D03D81D7
-:10CE100002E03889401C38816079C007606904D01D
-:10CE200072210D544030858203E04030818A491CD4
-:10CE30008182E079002806D061696031887C02280F
-:10CE400006D8401C887460696030807C022804D950
-:10CE50003D817D81606960308574B97B0020FFF77A
-:10CE6000DEFB002802D1B87B06284BD16069014661
-:10CE7000C0310A7F062A45D0497F062942D03D4964
-:10CE8000C97B03293ED16030807C00283AD1FDF770
-:10CE90002FFC002836D0FDF7A5FC002832D06169B0
-:10CEA000C88801282ED90A4640325674D08A978AFB
-:10CEB000831E9F4201DB012002E0C01B401E80B2A6
-:10CEC0002C4B1F89A3899F4201D3012302E0DB1B66
-:10CED0005B1C9BB2984200D91846012800D15574BA
-:10CEE0002A22525C002A11D0224A898D52898A4214
-:10CEF00001D3012102E0891A491C89B2884205D96F
-:10CF0000084603E06169012040314D7461694A8837
-:10CF100010180881FFF74FFB6069122215490C3089
-:10CF200007F0BAFEFFF7D1FAFEF7E3FF00280AD0B8
-:10CF3000104810388179002905D161690246898934
-:10CF4000203A118586710C481C30FDF7BCFC002886
-:10CF50000FD0E06900788007800F012809D00228EF
-:10CF600007D0FDF7D0FC002803D10449044808F09D
-:10CF700030F807E0C819002090000020F4C6000037
-:10CF80007F030000606940308574F8BD70B5FE4CC9
-:10CF9000607900283CD0FD4D022810D1FDF789FBB7
-:10CFA000002803D1FA49FB4808F013F86A69002306
-:10CFB00080329068D168401C5941D1609060002651
-:10CFC00066712079012804D12671A87910210843BF
-:10CFD000A871E078012816D1E670A87908210843E5
-:10CFE000A871FDF7F5FB002804D1EA48E84918309C
-:10CFF00007F0EFFF6969002380318A68C868521C16
-:10D0000058418A60C860A079012802D00120A0712F
-:10D0100070BDA67170BDF8B5DC4CDB4DE269002730
-:10D020001078042183079B0FE8790126012B11D08A
-:10D03000022B0FD0032B01D0207A30E06178002939
-:10D0400005D1AE70A1793143A17123E0EF71F8BD34
-:10D05000EE71F8BD5278D3061CD060780028F8D164
-:10D06000D006C00E1B2818D8607908436071FDF700
-:10D07000E2FB002804D1C748C5494B3007F0A9FF9F
-:10D08000606900238030026B416B521C594102637E
-:10D090004163E8790128DBD1D8E7207A10210843E1
-:10D0A0002072F8BDF8B5B84D0446303D287D002704
-:10D0B00000280AD0002978D1677010202070687D80
-:10D0C000A070A87DE0702F756FE02878002814D03C
-:10D0D00000296AD1072067702E462070083607E0C5
-:10D0E000686807802F700A223146A01C07F0D4FD23
-:10D0F00028780028F4D1A77057E0287EA24E143E6D
-:10D10000002837D0002950D1297EA0480B0008F014
-:10D1100051F80D2C2C2C2C2C2C2C2C112C2C2008C8
-:10D120002C0067700C212170A97EA1704069808954
-:10D13000A08018E008216770217040690A46808944
-:10D14000914960801439201D07F0A6FD3089A08127
-:10D1500009E067700B212170A97EA1704069808968
-:10D16000A080A87FA0712F761FE089498A4807F028
-:10D1700030FF1AE0844810388279002A08D000294C
-:10D1800013D1677011212170B189618087710CE022
-:10D19000827A002A0BD0002907D1677012212170F2
-:10D1A000318A6180718AA18087720120F8BD0020D8
-:10D1B000F8BD76480078012801D00C2070477249EC
-:10D1C0000020303908700875087620318871704762
-:10D1D00070B56E4C064620780D46002804D093208A
-:10D1E0006B49000107F0F5FE01202661E07225621F
-:10D1F0002070FFF7DEFF002804D0674864494930FB
-:10D2000007F0E7FE70BDF8B5604C2178012902D126
-:10D210002178012901D00C20F8BD01460546606146
-:10D2200012220C31584807F037FD01274035AF7402
-:10D23000554D2888FDF723FA002827D02888FDF7C8
-:10D24000D9FA002822D02888FDF78EFA00281DD0B0
-:10D250002888FDF7A8FA002818D0FCF742F9606981
-:10D260000026C088002825D048481830FDF787FAE6
-:10D2700000281FD06069C030007E00281AD0A97B2A
-:10D280000120FFF7CCF9002802D013E01220F8BDEE
-:10D29000A97B0420FFF7C3F900280BD16069014680
-:10D2A0004030868360314E740220FFF7D5F9606903
-:10D2B00040304674344830380078002806D1606920
-:10D2C000C18D008C814201D9A18102E06069008C8E
-:10D2D000A08160694189491E8AB2298989182981FA
-:10D2E000297B002902D06E812E7302E0698989189A
-:10D2F0006981014640318B8A9B188B82C388012B40
-:10D3000001D85B1CC380002A01D060308674A87BE2
-:10D31000032816D0487C002815D02889A189884286
-:10D3200011D2FDF7E5F900280DD060692A21095CCA
-:10D3300000290BD06989808D814207D3A670E770E0
-:10D340000CE0A7700AE0A670E67007E0688900218B
-:10D35000401C6881A7700520FEF7D5FE6069512149
-:10D360000E54A97B052901D0062920D1DE2142884F
-:10D37000095A511A09B2002919DB01460522E03188
-:10D380002430F3F721FF09E0C819002090000020A5
-:10D39000F4C6000039070000F10800000122022154
-:10D3A0006069FCF77BFF6069C0304677AE736069E7
-:10D3B0004189FDF728F8A07800282AD1606920303B
-:10D3C000807A002800D06E810120FBF788FE60691A
-:10D3D0003830FCF73EF860693430FBF751FF216AC2
-:10D3E00000200856FBF718FF0120FCF777F8FBF741
-:10D3F000D1FEFCF76FF80120FBF7B1FF6069406ECA
-:10D40000FCF782F8FFF71FF860694030C07BFBF73C
-:10D4100040FF6671E671A6712672A6726672267169
-:10D4200002202070FCF768F80020F8BD10B5F74C1A
-:10D430002078022801D00C2010BDA078002803D04D
-:10D440000020FFF79BFC17E0FCF74BF800F01DF9FC
-:10D4500060692030007C012809D0FCF79FF8FBF7B9
-:10D460009EFEF3F7AEFFE07A012803D004E0FCF75C
-:10D470009DF8F4E7F5F7CCFD002010BDE349C87234
-:10D48000704710B5E14C2078032803D0E049E1480B
-:10D4900007F09FFDE04801218278002A06D0002293
-:10D4A00082700171A27904231A43A271A2691378D0
-:10D4B000DB439B0707D1C378002B04D1C170A0794F
-:10D4C00002210843A0711078C00606D4E0690078F4
-:10D4D000C00602D4E07900280CD06078002809D179
-:10D4E000A079002806D1FEF7F2FC002802D0207AAD
-:10D4F000002803D00120FFF741FC03E0FEF7A3FF63
-:10D5000000F0C3F82078012806D0F3F75AFFE07A3C
-:10D51000012801D1FCF7DAF810BD38B5BB4C6069C1
-:10D520002030007C012820D1A07A00281DD1684637
-:10D53000FCF744F8002818D061693120405C0128CC
-:10D5400010D1B54A0D236D460020D356285683428C
-:10D5500008D050738989303A9185114620318873FB
-:10D5600001208872A07A401CA07238BD70B5A74C0B
-:10D5700006462078042804D0A648A549553007F06F
-:10D5800028FD607910210843A34D6071002E47D01B
-:10D59000FCF765FA61780126084300280ED1687C03
-:10D5A00000280BD0E0694178C90607D00078E979F6
-:10D5B0000007C00F884201D1667247E0E07800287A
-:10D5C00009D0E0694178C90605D10078C00602D4C7
-:10D5D000FFF7A3FF3AE0FFF7A0FFE069A979007821
-:10D5E0004007C00F884205D0FFF7D0FC60790821C2
-:10D5F00008436071E069E97900780007C00F88424C
-:10D6000001D1FFF708FD6079304360710020E071BF
-:10D61000A079000702D5A87B022817D0207A13E052
-:10D62000022108436071E079401CC0B2E07101281A
-:10D630000CD8687C00280DD0774854384078C10653
-:10D64000C90E052906D2C006002803D00120FFF725
-:10D6500095FB01E0FEF750FE2078012806D0F3F795
-:10D66000B0FEE07A012801D1FCF730F870BD10B5AA
-:10D6700066480078042804D066486549B73007F04A
-:10D68000A8FC0120FFF77AFB10BD10B50720FBF7BF
-:10D690001CFE5E490420087010BD5C4933224969B4
-:10D6A00050545D4A032090738876704710B5574CEC
-:10D6B0006069C030007F00281CD0062806D056487C
-:10D6C000817B0020FEF7ABFF002813D06069014684
-:10D6D000C0310A7F130007F06DFD070D0D0D0D0D14
-:10D6E0000D050D006030807AC20704D0C04380076A
-:10D6F00000D1087710BD0C20FEF7AEFF6069012253
-:10D700006030817A1143817210BD10B5002A0AD0B1
-:10D71000002306E0D41A6418203CE47FC4545B1C48
-:10D72000DBB29342F6D310BD10B503F0B0FF0C2866
-:10D730001CD3364C08216069D03003F0A9FF0028C3
-:10D7400006D060690421953003F0A2FF002803D1C0
-:10D750002F49324807F03DFC6169042208469531A3
-:10D76000BD3007F099FA0420FEF776FF10BD7CB5B6
-:10D77000294E0020B17BFEF752FF0125234C0028E3
-:10D7800002D1207A284320726946E069FCF73EFD09
-:10D79000684600780021C207D20F684602706069AF
-:10D7A000002A02D06030057401E0603001746069C5
-:10D7B0005E221152603085700820B0737CBD401A23
-:10D7C000174900B2884201DC002801DC01207047C3
-:10D7D0000020704770B5104D0020A97BFEF71FFF99
-:10D7E0000A4C002803D1207A012108432072E06905
-:10D7F000FCF77EFC6169DE2250524988FFF7DFFFAB
-:10D8000000280FD02820FFF748FF70BD90000020AF
-:10D81000F4C60000330A0000C819002062060000A8
-:10D82000FE7F00006169E069E031FCF755FC0520EE
-:10D83000A873EAE770B500F047F8384C384D6079C6
-:10D84000400709D5A97B0520FEF7E9FE002803D093
-:10D85000207A082108432072FFF71AFA00F012F824
-:10D86000FFF7B6F8A079C00609D5A87B030007F03A
-:10D87000A1FC06060606060604060620A873FFF7A6
-:10D880003EF8C2E710B525488179490714D5017AD9
-:10D89000002911D12249897B0B0007F08BFC080D70
-:10D8A000050D0D0D0E0D100D4069002262210A5468
-:10D8B000C030807EFFF7F1FE10BD012100E00221A3
-:10D8C0004069C030417710BD10B51448817909070F
-:10D8D0001DD5017A00291AD1114A947B230007F043
-:10D8E00069FC1416160B16161616161616161616AC
-:10D8F0001616161616161716406960308170407C91
-:10D90000002801D0062000E01620FFF7C6FE10BD5B
-:10D910004069603001728170917310BD90000020E9
-:10D92000C819002010B5031D03600020521E04E03A
-:10D930005C181C60401C2346C0B29042F8DB0020FB
-:10D94000186010BD01460A680020002A02D0104667
-:10D9500012680A60704702680A6001607047000040
-:10D9600000B51A2822D00ADC030007F023FC0D11B1
-:10D970001F131F1F191915171F1F1F1B1F002A28F0
-:10D9800014DD3A38030007F015FC030F11091100EC
-:10D99000002000BD1E4800BD042000BD0D2000BDBC
-:10D9A0000F2000BD082000BD112000BD032000BDD8
-:10D9B00010B50C46F4F784FF00281AD02046F4F77F
-:10D9C00084F9002812D020780E280BD00F2809D017
-:10D9D000022807D0032805D00EA1772007F0F9FA16
-:10D9E000002010BDA078FFF7BBFF10BD09A17D206E
-:10D9F000F4E708A18320F1E710B5F4F7EDF810BDC6
-:10DA000010B5F4F762F910BD10B5F4F744F910BD84
-:10DA1000023000007372635C686F73745F686369DF
-:10DA20002E630000F0B597B00021032004F082F9C6
-:10DA30000025FE4E022775807574347C12E0F06874
-:10DA4000E1004018818800290CD0858069460F705C
-:10DA50004D7001680291808869468880002168467F
-:10DA6000F8F702FD2046641EE4B20028E7D117B0A3
-:10DA7000F0BDEE4BD86019741A80D3E7EB49EC4B3C
-:10DA80004A8800201A4200D00120497C002901D098
-:10DA9000082108437047F7B504460E460078012177
-:10DAA000E34A8140521C114098B0E04A00915188ED
-:10DAB000E04B994205D0009B002B05D0DC4B19426E
-:10DAC00002D001201BB0F0BD009BD84A1943518001
-:10DAD0001A9D002D11D00020287022781A98002756
-:10DAE000401C130007F066FB10EF0D152137555D44
-:10DAF0006A39AFAB85B3EEEDECEF0B28EDD0042027
-:10DB0000E0E702212970A1880170090A4170032011
-:10DB100093E004212970A1880170090A4170E1880D
-:10DB20008170090AC170052087E006212970A1884B
-:10DB30000170090A4170E1888170090AC170218968
-:10DB40000171090A4171A289E81D216907F0A4F851
-:10DB5000A089C01D71E0082129702178082901D110
-:10DB600010212970A1880170090A4170E188817033
-:10DB7000090AC1700520308020466A1D01A90830BD
-:10DB800003F0CFFB00287DD1694630880979401821
-:10DB900053E00A212970A1880170090A417003200D
-:10DBA0000AE00C212970A1880170090A4170E188FE
-:10DBB0008170090AC170052030809DE0A0888446EC
-:10DBC0004000401C81B2308888425BD3052959D37C
-:10DBD0000E202870002008E0A36842009B5A5219CA
-:10DBE00053701B0A401C937080B26045F4D331809F
-:10DBF000B6E08E49487C002873D0401E4874C8683F
-:10DC000021790822C9004518A988286840180838D1
-:10DC1000A16807F041F802216846017100214171B5
-:10DC200028680390A98868460181002101A8F8F7B7
-:10DC30001BFC0020A880002E00D0308090E02978C6
-:10DC400080221143297029784022114329702978B4
-:10DC50008909890112312970A1880170090A41706E
-:10DC6000E288E81CA16807F017F8E088C01C308043
-:10DC70002878410640D5C00972D00121684601715B
-:10DC8000002100E02BE041713188ED1C091D01816C
-:10DC90001A980390E08840190490001D634D059088
-:10DCA000297C68460176002101A8F8F7DDFB0746CC
-:10DCB00030880C303080022F06D0002F50D060E02A
-:10DCC0003CE032E01CE059E06946097EE868CA00A1
-:10DCD00080182A7C914202D28188002902D0042730
-:10DCE0004FE02EE0697C491C69741A990160318803
-:10DCF00081800020308044E04C48A188C1802FE022
-:10DD000029788909890116312970A1880170090AC9
-:10DD10004170E1888170090AC1702289681DE1683B
-:10DD200006F0BAFF2089401D46E728788009800167
-:10DD3000183028702079687002207EE73B480A047A
-:10DD400001D405271DE00289A3889A4201D0062745
-:10DD500017E01E222A70012249043280490C4180BA
-:10DD6000009800280DD0314D0022288811468300EC
-:10DD7000032003F03AFF2078287107E0002030806C
-:10DD800003272A48009942888A434280384699E608
-:10DD9000F7B59AB002000C4606D0172A04D82348DB
-:10DDA000244B4088984202D107201DB0F0BD237853
-:10DDB0005D0601D4DB0901D00820F6E700236D469B
-:10DDC0002B706B701D462378611C9F06931E189361
-:10DDD000531E19939BB2169302AB1793134BBF0EAE
-:10DDE000DE883B0007F0E6F9208511F15EF16BF16A
-:10DDF000A3F1C6F1F2F1FBF1EEF1EDF1ECF1F1F18D
-:10DE0000EBF1EAF1E9F1E8F185F1052A71D104229B
-:10DE100069460A7005490A7969460A71E178A3786A
-:10DE20000A021A436946CA80227905E0DC190020FB
-:10DE3000FE710000FFFF00004A7061788906890EBC
-:10DE40000C2923D009DC891E0B0007F0B3F9091354
-:10DE500052155219521B521D520012291CD004DCBB
-:10DE60000E2915D01029D1D114E0162916D0182961
-:10DE7000CCD115E0800700E04007002839DA2AE11C
-:10DE80000007FAE7C006F8E78006F6E74006F4E781
-:10DE90000006F2E7C005F0E7C004EEE78004ECE717
-:10DEA0004004EAE7800724D5032AAFD105206A465B
-:10DEB0001070487809780002084390800BE1400711
-:10DEC000F1D5062A15D31898617880B2012902D0BD
-:10DED00002299BD101E0022700E0102706226946B3
-:10DEE0000A7000228A8001AEA11C0236BA1C179269
-:10DEF00018E0B6E04A780B7812021A433280801E8E
-:10DF0000891C1890B21C1691384603F0E4F9169952
-:10DF100018986B469A88C919C01BB61D521C9A8066
-:10DF2000179A80B28242E5D900289CD1D3E000073D
-:10DF3000B9D51998694682B20720087000208880F8
-:10DF4000601C891D11E0437806781B0233430B8067
-:10DF5000C37886781B0233434B806E46121FB3880A
-:10DF6000001D091D5B1C92B2B380042AEBD2002A6B
-:10DF700077D1B0E0C00674D5022A72D31898082170
-:10DF800082B2684601700021C18063780371A01CD1
-:10DF900017990EE04678077836023E430E80861CBD
-:10DFA0004E606F46D21AFE88C0180831761C92B2B5
-:10DFB000FE809342EED9DAE76FE076E065E051E06B
-:10DFC00046E01EE014E00AE000E0A0E0800648D54C
-:10DFD00009206A46107096801698D0800FE040069F
-:10DFE0003FD50A22684602708680169AC28006E0F3
-:10DFF000000636D50B206A46107016989080029164
-:10E0000069E0C0052DD5022A7FD318980C2182B271
-:10E01000684601700021C18063780371A01C1799C4
-:10E0200013E04678077836023E430E80C67887783C
-:10E0300036023E434E80061D4E606F46D21AFE8861
-:10E04000C0180831761C92B2FE809342E9D98EE75F
-:10E05000C0045AD5012A58D10D2168460170868026
-:10E0600039E052E0800450D5052A4ED30E2368468D
-:10E0700003708680C8788B78010219436846C18096
-:10E08000521F0281601D039025E040043DD5012A06
-:10E090003BD10F20694608701DE0030435D44B784E
-:10E0A0000E781B023343244E3381032A2DD31B2FBA
-:10E0B00027D011236E46337001261F4BF6033043E1
-:10E0C000588048780B780102194368468180D21E37
-:10E0D000C280E01C029020788006800E1B280AD0A7
-:10E0E0001D2808D00021032003F024FE1248418897
-:10E0F000C90BC903418068461C99F8F7B5F9284651
-:10E1000053E610206B461870DBE70725F7E7082574
-:10E11000F5E700B50022D243074997B04A800328AB
-:10E1200007D1032268460270097901710021F8F7CE
-:10E130009BF917B000BD0000DC190020FFB589B0C5
-:10E140000020019009981027FE4C1E46154608280D
-:10E1500006D0E06901F05EF8002809D03770BEE013
-:10E16000288809213843108013980227017016E08F
-:10E17000E169012088710521E269C9029180E169A4
-:10E180008872E169F0480881E16900208873288875
-:10E190002021084328801121139804270170139827
-:10E1A0000225801C0290307806900A203070E548E5
-:10E1B0001830049001F022FA0020059020462C30FF
-:10E1C00003906DE00998102808D1022D06D001991E
-:10E1D0000298A28D401A8270110AC170E08D0A99CE
-:10E1E000884202D901F0CDF806E0884204D10698B1
-:10E1F000002801D030701CE00298E18D0170090AFE
-:10E20000417012980088401BC01B82B2FF20C01BC7
-:10E21000904200D2024607A8009002980021C3193C
-:10E22000E08D01F056FA3070002805D0C0B2832886
-:10E2300058D0E08D20833EE00598002804D0206C63
-:10E2400000790A282CD336E06846808BC119C9B200
-:10E250000191022D0DD01399019A4978914202D172
-:10E26000228F824208D00191206C0178032908D0C6
-:10E2700023E0084613994870206C0178042906D0E1
-:10E2800007E000790A2818D20120059008E0E18D06
-:10E29000818002990198081802900198281885B287
-:10E2A0000399049801F0ADF9002804D11298008870
-:10E2B000401BB84286DA022D0DD00998102806D1ED
-:10E2C00002990198A28D081A8270110AC1701298E1
-:10E2D000058000203070206C0078032802D00020D8
-:10E2E0000DB0F0BD0220FBE7F8B5964A0026126D8E
-:10E2F000002A2ED0401F934D84B24035E88A234631
-:10E300000833AF8AC318BB4222D88B784F781B02E0
-:10E3100010183B4303701B0A43700B79CF781A0225
-:10E320003A438270120AC2700471220A4271224674
-:10E33000491D801D06F0B0FCE88AA41D001980B2BA
-:10E340008049E882096D002208180270427000E0DE
-:10E3500009263046F8BD30B57A4B028840339B8A97
-:10E36000934213D9774B1C6DA3185C781D78240257
-:10E370002C430BD05C791D7924022C436404640C7B
-:10E38000A41D1219028000200B6030BD822030BD18
-:10E39000F0B585B0074600266846068155E001982D
-:10E3A000417802780D021543417902790802104341
-:10E3B00000044AD43D8003A80023012200905202A9
-:10E3C0001946284601F085F9040044D168460189C0
-:10E3D0000182019841790279090211434378027858
-:10E3E0001C021443AC421CD10A041AD44A04012171
-:10E3F000520C89030A430096C178807809020143D0
-:10E400000023204600F0C1FF040010D10199487993
-:10E410000A79000210430122D20310430871000A56
-:10E42000487101A904A8FFF796FF0400D1D0019913
-:10E4300000964878097800020843694600238A89D3
-:10E44000194600F0A2FF822C05D101A902A8FFF70E
-:10E4500082FF0400A3D06846068109E0019948794B
-:10E460000A79000210434004400C0871000A487108
-:10E4700001A902A8FFF76FFF0028EFD0822C02D07D
-:10E48000204605B0F0BD0020FBE7F7B584B0144688
-:10E490000646002700F071FF2A480025006D00287D
-:10E4A0002FD0059801282CD12046FFF771FF0700D7
-:10E4B00027D1002E29D06846058118E001994878B7
-:10E4C0000978000208432080019B0095587919794A
-:10E4D0000202D8780A4301029F78587839431F789E
-:10E4E00000029B1D384300F050FF002805D101A910
-:10E4F00002A8FFF730FF0028E0D0822800D10020DA
-:10E500000746002E01D00F48056500F03AFF384657
-:10E5100007B0F0BDF0B597B00021042003F00AFC6D
-:10E52000084F00243D467C8040356C73AC73287BDB
-:10E53000B96CC00008380E18B08800280DD0012032
-:10E54000694603E0F01900200128000008703068D7
-:10E55000019000216846F9F78EFAB4803C65AC82E0
-:10E56000EC8217B0F0BDFE4B986418464030017342
-:10E570001A803838D861CDE7F949002049880A0760
-:10E5800000D501200A06120F01D002221043CA054D
-:10E5900001D5042210438A0501D5102210434905F4
-:10E5A00001D520210843EE494031497B002901D0A3
-:10E5B000082108437047FFB5A7B004002898164605
-:10E5C0001B9022D00178E6484D06428822920246EE
-:10E5D00040320092002D14DB8A06920E1E2A0ED0C5
-:10E5E000229A5205520E10D13288172A0DD3009A62
-:10E5F000927B002A09D1DB4D229AAA4205D0CA0992
-:10E6000006D08A06920E122A02D003202BB0F0BD4B
-:10E61000D348826C0098007B2590C0000838101801
-:10E620001F9048060CD40098407B002808D0009921
-:10E6300088731F99289808601F9884800220E5E756
-:10E64000002718A90F7069460F72C54902AA0A640B
-:10E65000309A4A6410A90F850F861B981D460078D2
-:10E6600020908106BE4B601F24901A462C322192C6
-:10E670002898DA691833890E1E93401C0B0006F0A7
-:10E6800099FD1FFDFD11FD1AFD90FDFCFDFBFDFA3E
-:10E69000FDF9FDFCFDF8FDFDFDF7FDF6FDFDFDFDC1
-:10E6A000FDF5FD00032C7BD10320287017226A7032
-:10E6B0000022AA70E0E2052CF5D141780278090227
-:10E6C0001143A74B10AA19831185C27880781202D2
-:10E6D00002435A8300297DD091427BD800211846FD
-:10E6E00081720181491E01841E9800F087FF052078
-:10E6F0002870A81C1D900220009021991E9800F0FF
-:10E7000080FF002803D047E018A90870F0E2944881
-:10E710002030807C012803D002206870102002E0A5
-:10E7200001206870022022908D4830302390002212
-:10E7300020A9239802F0F5FD00282AD120A800780E
-:10E740002299814225D132880099801C511A814238
-:10E750001FDB83481D99C08D0870000A48701D9802
-:10E7600020A9801C1D9000981D9A801C0090239861
-:10E7700002F0D7FD20A909781D9840181D90009837
-:10E78000401880B2009021991E9800F03AFF0028AE
-:10E79000CDD0009802288DD10A2018A908706CE20B
-:10E7A0006DE0072C6BD341780378090219436C4B59
-:10E7B0008446198310AB1985C37880781B021843EF
-:10E7C000674B0029588305D0814203D801211846A0
-:10E7D000817200E0A4E061464B7909791B020B438A
-:10E7E000038100218173104600F014FD00280FD131
-:10E7F0005B480121C26991710522C369D2029A80E6
-:10E80000C2699172C26958491181C069002181733E
-:10E810005349E01F08841B98C01D48621E9800F0F1
-:10E82000EDFE07202870681C009001201D904C48C8
-:10E830000021C18530E01D98012815D04848C169E4
-:10E84000897901292FD000981038C17B807B09027B
-:10E85000014300980170090A41700098801C0090E3
-:10E860001D98801C80B21D903D4809E013E2BEE176
-:10E870007AE1D8E00DE2A0E080E03BE01EE2B6E005
-:10E88000C18D00980170090A41700098801C0090A9
-:10E890001D98801C80B21D9021991E9800F0B1FE39
-:10E8A000002802D006E0818DD3E731881D98081A30
-:10E8B0000428C0DA1D98012800D16DE72848C169F5
-:10E8C0008979012903D0828D26498A4205D1818D1B
-:10E8D00000980170090A417009E000981038C17B66
-:10E8E000827B0802009910430870000A48701D9846
-:10E8F000801CC1E1072C01D0152C78D14178037818
-:10E9000009021943164B198310AB1985C378807817
-:10E910001B02034312480029438301D0994201D9C5
-:10E920000120F1E60E4801218172002101818173ED
-:10E93000052C07D024981B99C0B2491D02F0CBFCCE
-:10E940000028BAD100200649C04308841B980096CD
-:10E950000195007818AB8006800E1CAA002105E006
-:10E96000F0190020FFFF000001280000FFF7E6FB80
-:10E970000746FE4810A9008B08857EE1032CBCD118
-:10E98000402210A90A86417802780802F74910430C
-:10E99000088310A9088520A9009131886B1C491EA5
-:10E9A0008AB2002100F095FE18A90870002830D125
-:10E9B0000B20287020A8008833E0052C9DD18021F1
-:10E9C00010AB1986014640780B780202E7481A43DB
-:10E9D0000283CB7889781B021943E44B10461984D3
-:10E9E00010AB1A85E24A914202D307208CE697E0E9
-:10E9F0003F23DE4A9B021943118421AA00923288E8
-:10EA00006B1C521E92B200F064FE18A90870002818
-:10EA100003D08328B1D102272FE10D20287020A830
-:10EA20008088401C28E120990C22C9095143C91C47
-:10EA30001E91A14204D92098400671D500201BE107
-:10EA4000417800780902014310A801851B980078DD
-:10EA500042062898C01C1D90002A62DA05206A46EA
-:10EA600010721B980078C00944D0082268460272D0
-:10EA70008181A01A87B268468782289806901E98DE
-:10EA8000201A81B26846C1811D980490401806F092
-:10EA900064F9079006982599C0190890491E08A89E
-:10EAA000017102A83099F8F7E6FF07460021684691
-:10EAB0000172002F1BD0022F18D1009808A9007BEB
-:10EAC0000979401E884210DDA848289A836CC90045
-:10EAD0005A50816C08A80079C000001D0C520098A3
-:10EAE0000099407B401C4873C7E00527EAE00620F8
-:10EAF00069460872002000901E980021201A20907C
-:10EB000082B21B9B10A8DB1C008D00F03EFC01466E
-:10EB100018A80170002268460272832903D003E01E
-:10EB200093E00720E4E702271B98007840060ED503
-:10EB30008E484188C90506D510AA018B128D9142D5
-:10EB400001D100214162002018A9087094E0FF2142
-:10EB5000013110A80186018D844801832099018428
-:10EB60001D994162132085E0052C6ED3417803780E
-:10EB70000A021A4310A90A859446092269460A72B4
-:10EB80000021009101222499D20311438AB2C17855
-:10EB9000807809021B9B01435B1D604600F0F5FB7A
-:10EBA00018A90870002269460A720122520210A9AF
-:10EBB0000A86832802D0002805D099E06B48098D89
-:10EBC000018302277EE06948006D002807D02046B7
-:10EBD0001B99FFF789FB18A9087000284DD12B4617
-:10EBE000324620461B9900F024FB074645E01B985F
-:10EBF000022C4078009064D1002801D0012860D117
-:10EC00000A2168460172009901731AAA002000992E
-:10EC1000FFF73BFC0146684641730021817302A85F
-:10EC20003099F8F728FF0746002168460172012154
-:10EC3000890210A80186022F08D04C48006C807908
-:10EC4000002807D018A9087020E04BE04749009839
-:10EC5000088337E0002F03D0812018A9087031E025
-:10EC60001AAA01200099FFF710FC18A908700028C3
-:10EC700003D119202870012030806846007A0028CE
-:10EC800004D002A83099F8F7F6FE0746002F2BD0E3
-:10EC900018E0062038E522993448090711D5012CDF
-:10ECA0000FD10B2269460A72C08888810021042096
-:10ECB00003F040F8082010A90886BFE62098400617
-:10ECC00010D50327294810AA4188128E114341808C
-:10ECD0005005400E04D01F99289808601F98848022
-:10ECE000384693E404200FE518A8007800280ED0D9
-:10ECF000012028701B980078687010A8008DA870FB
-:10ED0000000AE87018A8007828710520308017489C
-:10ED100010AA4188128E91434180E1E7FFB5064673
-:10ED20009FB000201B903178012088401149124A81
-:10ED3000084010A908860D494988914203D000284F
-:10ED400004D0080702D5012023B0F0BD219D002783
-:10ED50002F7020983C46018810A8018418A80771DC
-:10ED600000F00BFB6846077202A907E0F0190020CB
-:10ED70000102000009F80000FFFF0000FA480164EA
-:10ED800001464031826C1A91097BC9000839571835
-:10ED900022994164307801282AD0022809D003281A
-:10EDA00079D12878800980011D302870EE48B1881B
-:10EDB000C1803078022804D12878800980011B3076
-:10EDC000287001A8009010A8008CEB1CC01E82B215
-:10EDD000B088002100F07DFC0028E1D1B188697085
-:10EDE000090AA9706946888810A9C01C08842DE109
-:10EDF000717918A801713079012802D00228CFD189
-:10EE0000E6E0D9487F2340881B010246184010AB3A
-:10EE10001886802840D006DC102810D020280ED07C
-:10EE200040280AD120E0FF38013859D0FF38013896
-:10EE30006AD0FF38FF3802387ED0052491E0D00632
-:10EE400001D5082000E010201B90042069460872BC
-:10EE50000020888118A800900195318919AB1CAA5F
-:10EE60001B98FFF76BF977E0BF4B3289188B824212
-:10EE70004FD10A221B92002973D101A9009110A938
-:10EE8000098C6B1C491E8AB2002100F022FC18A9D3
-:10EE900008710B2017E0F6E0B34B3289188B8242E1
-:10EEA00037D10C221B9200295BD101A9009110A936
-:10EEB000098C491E8AB21946098C6B1C00F009FCAA
-:10EEC00018A908710D2028706946888810A9401C6F
-:10EED0000884042069460872A348008B888140E0BA
-:10EEE000A14A3389108B834213D112231B9300292B
-:10EEF00037D1536A002B05D00091128C00F045FAEF
-:10EF000018A9087113205EE097483289038B9A4252
-:10EF100001D00424E7E016221B92026D002A09D1D9
-:10EF2000F268002A06D002651A98328A82821A9AFA
-:10EF30000020D082002900E02FE012D1B888396883
-:10EF4000FFF7D2F918A9087100280AD1B8882B4612
-:10EF500018AA396800F06DF90446022818D0042C6C
-:10EF600016D0B88800280FD06846007A002804D050
-:10EF700002A82299F8F77FFD04460120694608722D
-:10EF8000386803900020B880002C5FD0052C7BD01F
-:10EF90006846007A032873D0A5E018201B9000294A
-:10EFA00005D071483189018300210165D9E76E4898
-:10EFB0000246017E18320120FFF767FA18A908718E
-:10EFC0000028CED119202870012010A90884C8E794
-:10EFD0001A98407B002856D0307AC0001358001D84
-:10EFE0000193105A1D9000291AD100F0CAF9062089
-:10EFF00069460872002000901D980F3882B201986F
-:10F000008178437808021843019B0021DB1C00F043
-:10F01000BCF918A90871002269460A72832830D009
-:10F02000002118A8017110A801840121684601720D
-:10F03000019803901A981A99407B401E48731A98B9
-:10F04000807B002802D01A99401E887310A8008E79
-:10F050007F21090102468A431DD0434800220088CF
-:10F0600011468300042002F0C0FD3F483178017151
-:10F0700010A94088098E08433B4948800FE003E00F
-:10F080002BE002242FE00524374810AA4188128E75
-:10F090009143418027E034494A8882434A80684648
-:10F0A000007A002805D03048416C02A8F8F7E3FC4C
-:10F0B000044618A80079002815D01B986870012014
-:10F0C00028702948008BA870000AE87018A80079F9
-:10F0D0002871052110A8018405E02348416C02A88D
-:10F0E000F8F7C9FC044600F04CF91F484088400579
-:10F0F000400E20D11A98807B00281CD1B8880028A7
-:10F1000019D0209910AA0988118422990091396890
-:10F1100018AA219BFFF74FFA044602280BD00120C2
-:10F12000694608723868039002A82299F8F7A3FC90
-:10F1300004460020B88010A8018C20980180204649
-:10F1400002E600B50022D243074997B04A8004285E
-:10F1500007D1022268460270097901710021F8F78F
-:10F160008AFC17B000BD0000F019002010B5394C22
-:10F1700003780022216C012B02D0022B44D126E01F
-:10F180000B78002B01D0042B03D10A71226C0321D0
-:10F190001170216C83880A79D200921D8B52216CE8
-:10F1A0000A79D20008328918C2880A80216C038942
-:10F1B0000A79D2000A328B524289206C0179C90047
-:10F1C0000C314252216C0879401C087120E00A740D
-:10F1D000226C81889180216CC288CA80226C01894E
-:10F1E0001181226C41895181216CC068C860616CB9
-:10F1F000206CF8F740FC0146022807D0206C007C08
-:10F20000002802D1002903D0812010BD832010BD29
-:10F21000002010BD8178012909D100880521C9028B
-:10F22000884202D0491C884201D100207047052045
-:10F23000704710B51488844201D2052010BD1724F0
-:10F240001C701080421E491C581C05F025FD002032
-:10F2500010BD0000F019002010B58B78002B11D0E4
-:10F2600082789A4207D10B88002B0BD003E0091D4E
-:10F270008B78002B08D08B789A42F8D103880C88C1
-:10F28000A342F4D1002010BD812010BD10B500298B
-:10F2900002D001290DD102E00088000501E00088BC
-:10F2A0008004800F07D001281CD0022809D0032831
-:10F2B00010D0812010BD002901D0032010BD0220F4
-:10F2C00010BDF5F7EEFD03280CD004280AD0002865
-:10F2D00006D009E0F5F7E5FD042803D0022803D0A5
-:10F2E000052010BD002010BD0F2010BDF3B5C81CB7
-:10F2F00080080E46800081B0B04201D08620FEBD5D
-:10F30000FE4C354626600198A08000202081E080D8
-:10F3100014E0B807A978800D0843F94905F036FDD7
-:10F32000E088401CE080B80607D42089401880B2ED
-:10F3300020810199081A8019A8600C352F88780758
-:10F34000E7D40020A072FEBDEC480C22C1880089E1
-:10F350005143081880B2704770B51346E74A451804
-:10F360009488AC4201D2842070BD126810180A46FD
-:10F37000194605F091FC002070BDE049012088721B
-:10F380007047DE49002088727047FFB589B0970446
-:10F390000E460546BF0C029200F034FA040021D05C
-:10F3A000002069460873D548807A012812D00121CF
-:10F3B0002046FFF76BFF002815D12078400609D5BD
-:10F3C0000221684601730582218841828682C782B4
-:10F3D0000C9806900298000407D500273E460125A8
-:10F3E00001970CE001200DB0F0BD2078A1788007D6
-:10F3F000800D0843C249019005F0C8FC0D460298F3
-:10F4000040040AD50198A84207D12088E1788005F8
-:10F41000800F00020843B04201D3AE4201D9072059
-:10F42000E1E7B81980B20290A84201D90D20DAE7CD
-:10F430006846007B002804D003A8F8F718FB0028D2
-:10F44000D1D10198A8420BD1208803210902884319
-:10F4500002998905890F0902084320800298E0700B
-:10F460001298002800D007800C9800280CD0207833
-:10F47000000609D4A0683A4680190C9905F00CFCE6
-:10F4800020881021884320800020ACE7FFB59B4DE9
-:10F4900081B00E46E8882F680C21009048433C1844
-:10F4A0009749039805F072FC0A462889E11B8446B7
-:10F4B0000C314018318880B28B0601D5002300E062
-:10F4C00013461818AB8880B2834202D8842005B056
-:10F4D000F0BD0098894D401C80B2E88021800D99D4
-:10F4E000002900D00C600399A170E2702188039D6F
-:10F4F0008908AD058900AD0F294303252D02A943D5
-:10F500009505AD0F2D0229430425294321800C992F
-:10F51000002900D0088001998978A1710199098892
-:10F52000A1803178890601D50B9905E073496244C1
-:10F5300092B20A81991AC919A16000212173327807
-:10F54000920601D50020C2E700910B9B0A9A04990C
-:10F55000FFF71BFFBBE7FEB5044600F053F90700B9
-:10F5600008D0664D641EE8880190A6B2286834462B
-:10F57000009015E00120FEBD0C2000996043095A5F
-:10F580008A060BD489078A0D0099801C085C5C49A7
-:10F59000104305F0FBFB2889401A2881641CA4B2A3
-:10F5A0000198A042E8D8EE8000203870FEBD002807
-:10F5B00003D0401E0880002070470120704710B51E
-:10F5C0004E490288CB889A4201D3822010BD0B6835
-:10F5D0000C21514359180B88CC789B059B0F1B02BB
-:10F5E000234341608C7904738C884481C38189688A
-:10F5F000521C016102800281002010BD01210182A4
-:10F600007047FEB505460020C043088068680F4675
-:10F6100081786846817068680188684601800021A9
-:10F620008171288A2C88A04200D304462C8234E0C1
-:10F63000288A401C2882301D6968FFF70DFE0028CB
-:10F6400029D139882F48814201D1601E38806888CD
-:10F65000A04227D33088F1788005800F000208434C
-:10F6600002906946301DFFF7F7FD002813D1298964
-:10F67000244881421AD000213046FFF707FE0028B7
-:10F6800009D12A890298824205D1E968B06805F05B
-:10F69000D6FA00280AD0641CA4B2204600F0B2F8C2
-:10F6A0000600C5D1641E2C828220FEBD7C80B0790C
-:10F6B000B871B088B8803088388130788007810D83
-:10F6C000B078014379810298B881B0683861002030
-:10F6D000FEBDFFB585B014460F46059800F092F8C0
-:10F6E000050037D00548BE05807AB60D01281CD02C
-:10F6F00000212846FFF7CAFD002805E0481A00202F
-:10F7000001020000FFFF000022D1287840060CD53E
-:10F71000012168460170059981802988C180068190
-:10F720004481F8F7A4F9002812D12888AA78810723
-:10F73000890D11438005800FEA7800021043BE4214
-:10F740000AD0374A914207D3611E814204DD0B2063
-:10F7500009B0F0BD0120FBE7864201D90720F7E799
-:10F76000801B82B2A24200D922460E98002800D007
-:10F7700002800898002804D0A8688119089805F02C
-:10F780008BFA0020E4E770B514460D4600F03AF815
-:10F7900000280DD001882980002C0DD001788078B8
-:10F7A0008907890D01431E48814203D2012002E0EE
-:10F7B000012070BD00202070002070BD70B516467D
-:10F7C0000D4600F01FF804000DD02D882580FF2E77
-:10F7D00016D0A807A178800D0843114905F0D6FA84
-:10F7E000002E06D101E0012070BDFF31FF31033151
-:10F7F00089B2A170A80880008905890F084320807C
-:10F80000002070BD0749CA88824207D3002805D06E
-:10F810000C22096850430C380818704700207047C4
-:10F8200001020000481A0020F0B585B00E460546DA
-:10F830000020694608707078FE49C00003900C589B
-:10F84000FD4F002D0ED0022D73D0002C72D02078E9
-:10F85000801E030005F0AEFC09837F7F7F83797FE4
-:10F8600077727F00002C03D1F4A16B2005F0B1FB6F
-:10F870002078801E030005F09DFC09065E5E5E197F
-:10F88000365E50545E003078062803D0EBA1762017
-:10F8900005F09FFBB8687168806C032205F0FCF9E5
-:10F8A000012069460870002835D1CEE730780C2851
-:10F8B00003D0E2A1812005F08CFBE06800780028ED
-:10F8C00006D0B8687168806B102205F0E5F928E071
-:10F8D000B8681021006B05F03CFAB868816A006BCB
-:10F8E0000A787168F1E730780D2803D0D3A194200D
-:10F8F00005F06FFB04206946087071684878097844
-:10F9000000020843B9684A6A517812780902114323
-:10F91000484069468880084608E0C8A1AF2005F045
-:10F9200058FB6846007800288FD06846F5F7BEFA85
-:10F930008BE727E01CE0C1A1B420F0E7B86861695B
-:10F94000006CFEF708F8A16900E0E168B868006C97
-:10F95000FEF701F803E0B9A1E32005F03AFBB8682F
-:10F960002146006CFDF7F7FFB24A03990020505082
-:10F97000022D07D0002D05D0012D03D0AFA1EF201F
-:10F9800005F027FB05B0F0BD10B501780124012971
-:10F9900002D0022910D112E04268A74800218260FB
-:10F9A0000170A4486C38C166016741678167D289DC
-:10F9B00002214C3001F0E1F90024204610BDFF2067
-:10F9C0009EA1163005F005FBF7E7F0B505469EA1B0
-:10F9D00003C997B014911390002008A908759549A0
-:10F9E0002A781031944C0491217805910126914F89
-:10F9F000A168130005F0DEFB0CEF07309AF0EDEC88
-:10FA0000EBEAE9E9E8EF20700124FF264F360546CE
-:10FA100010A80570457001F0C1F90746012803D010
-:10FA200086A1304605F0D5FA10A93846FFF7FCFE4E
-:10FA30002046641EE4B20028EAD10A206946087014
-:10FA40006846029501F088FA002803D0FF207BA1C8
-:10FA5000583068E0002646E3C86A0078C0072FD017
-:10FA6000012069460870684601F076FA002804D043
-:10FA7000FF2072A16B3005F0ACFAA068006CFDF7B6
-:10FA800061FF050004D1FF206CA16E3005F0A1FAE2
-:10FA900008984078C0003D5006202870A068016892
-:10FAA00069600069A8606448C01CE860284601F0ED
-:10FAB00053FA022804D0FF2060A1783005F089FABB
-:10FAC000A068C06A00784007C4D501206946087064
-:10FAD000684601F041FA002804D0FF2057A1803089
-:10FAE00005F077FAA068006CFDF72CFF050004D143
-:10FAF000FF2052A1833005F06CFA08984078C000CE
-:10FB00003D5006202870A068016869600069A860FF
-:10FB10004948401DE860284601F01EFA022899D0A5
-:10FB2000FF2046A18D3005F054FA93E7A96800291B
-:10FB300033D0694608712979012932D0022904D0CD
-:10FB4000FF203EA1A73005F044FA3A4810221030B9
-:10FB5000A96805F0A1F837481030364920314860CF
-:10FB60002078C1062CD5EF2108402070032069467B
-:10FB70000870304810300290684601F00FF90446D2
-:10FB8000022808D0002C06D0012C04D0FF202BA185
-:10FB9000B83005F01EFA69466FE101216A4611711D
-:10FBA000DBE7244A04996C3AD06748608860C860F3
-:10FBB0000621A86803F0FCFE1E4910310860CAE760
-:10FBC00020210843207045E7A1E15AE119E1E6E070
-:10FBD00086E056E000E081E2886C407980090128E7
-:10FBE00004D0FF2015A1CC3005F0F3F9A068017A0C
-:10FBF000002906D1416B406801F01FFAA16801207D
-:10FC00000872012069460870684601F0A5F90028CD
-:10FC100004D0FF2009A1D73005F0DBF9A068006C03
-:10FC2000FDF790FE050004D1FF2004A1DA3005F0B5
-:10FC3000D0F90DE0C01A0020B40000207372635C9C
-:10FC4000736D2E630000000004411A8800A4800038
-:10FC500008984078C0003D5002202870A068416B91
-:10FC60006960806CC01CA860284601F075F904002A
-:10FC700004D0FF20FD49E23005F0ABF929462831D8
-:10FC8000FBE0172268460272012202708078820827
-:10FC9000287992008007800F024368468270FB201B
-:10FCA000024028794007C00F8000024368468270F6
-:10FCB000EA8882804A6C02A901F090F9002804D0F9
-:10FCC000FF20EA49F73005F084F9052108A80175FD
-:10FCD0006846017A0187A0680026406C0F9006E212
-:10FCE000012069460870684601F036F9002803D003
-:10FCF000DE49DF4805F06DF9A068006CFDF722FED3
-:10FD0000060004D18320D949800005F062F9A0687B
-:10FD1000006CFDF717FE1290002804D1D448D34997
-:10FD2000801D05F056F9D3488068006CFDF70AFE87
-:10FD3000040004D1CE48CD49093005F04AF90898AD
-:10FD40004078C0003E500A203070287A30716868D0
-:10FD5000C84DB060A868406C3061172030731298AD
-:10FD6000B4617061304601F0F7F80446022808D00B
-:10FD7000002C06D0012C04D01120BC49400105F014
-:10FD800028F92046316AFFF74FFD28780521014008
-:10FD9000042900D05EE6FB21084028702AE005987F
-:10FDA00040084000207082071CD5FD2210402070C2
-:10FDB0000F206A46107017201071486C0290684638
-:10FDC00000F0ECFF0546022808D0002D06D0012DDA
-:10FDD00004D0A748A5493A3005F0FBF86946284603
-:10FDE000FFF722FD2078052101400429D2D1FB2113
-:10FDF00008402070072008A908759E48807808767A
-:10FE000028E6012069460870684601F0A5F8002838
-:10FE100004D097489549543005F0DBF8A068006C91
-:10FE2000FDF790FD060004D113209049400105F034
-:10FE3000D0F890488068006CFDF784FD040004D180
-:10FE40008B488A495A3005F0C4F808984078C000B9
-:10FE50003E5007203070874880684068706068684E
-:10FE6000F460B060304601F077F8040004D08048B8
-:10FE70007E49653005F0ADF8316A2046FFF7D4FCC5
-:10FE8000E8E5012069460870684601F065F8002839
-:10FE900004D0774875497A3005F09BF80898407887
-:10FEA0001190A068006CFDF74DFD060004D15120B3
-:10FEB0006E49C00005F08DF8A068006CFDF742FDAA
-:10FEC000040004D16A486949823005F082F811982B
-:10FED000C0003E50C019296941600920307068682F
-:10FEE0007060A868B060A889B08163483061103044
-:10FEF000B4617061304601F02FF8022804D05C48EC
-:10FF00005A49903005F065F811982875A2E55A4ACB
-:10FF100000208C32107002206B46187001922879F4
-:10FF2000002801D0107098E0524803230C3040683C
-:10FF3000FB2703708378504A9B089B003B408370EB
-:10FF40004B7A00271B07DB0F43708C3257600B7B0B
-:10FF5000C370CB7A1372537A0C7D5B08E4075B00A5
-:10FF6000E40F23430C461534D460FD242340CC7E9B
-:10FF7000E407A40F234353720B461C3313614771EC
-:10FF800007718B7A3B4A9C070C32A40F1268012C34
-:10FF900004D19478A407A40F012C1DD09B089B00CA
-:10FFA0008B7293785B0702D48B7A5B0728D54B7AE8
-:10FFB00013AF5B075B0FDC005B00E3181478640091
-:10FFC0001B19DBB2DC083C5D5F077F0F0623DB1BE0
-:10FFD000DC40A3079B0F14E04C7A53796406640F4E
-:10FFE00023404371147906273C400471E4001C430C
-:10FFF000204B5C7083789B089B005B1C8370D0E770
-:020000040001F9
-:1000000000238478FB273C408F7A7F07FF0FBF00D7
-:100010003C4384704C7A6407640F04705078012864
-:1000200007D1487A000704D5032008A908750220E3
-:100030002DE0022B27D0012B2BD00F4B0020049A50
-:10004000D86750609060D06018467C30024610320D
-:100050005060887AFB2210408872684600F09EFE4D
-:10006000040035D0012C34D0004907E03CFC0000EE
-:1000700009020000B4000020541A00206520C000CE
-:1000800004F0A7FF25E0032008A9087501200876E1
-:10009000E3E77E4C0D21E01C04F05BFE20461030AF
-:1000A0004460022008A908750E94A868002807D0AB
-:1000B0000068206005997648202211430170CCE742
-:1000C00005980007C9D57349734804F082FFC4E757
-:1000D000002669462046FFF7A7FB04E06E486D49FD
-:1000E000203004F076FF08A8007D002802D00DA87B
-:1000F000F4F7DCFE304617B0F0BDF0B597B00C4613
-:10010000054600206946087061482F785F4E0178E7
-:10011000583E82683B0005F04DF80BAA8407263B49
-:100120004C6B79798F9CAA002B20694608730CA927
-:1001300003A8FDF73DFC002804D05748554941303D
-:1001400004F047FF55490D9804F020FE4F48016028
-:100150004F4869680C300160AA684260019108202C
-:10016000694608708CE08A0610D5DF2211400170C4
-:1001700003202070454810304168A1604068002885
-:1001800002D00020207177E00120FBE7102256E02A
-:100190002B20694608733D4903A85C39FDF708FC2C
-:1001A000002804D03C483B496A3004F012FF042088
-:1001B0001BE02A206946087303A8102202306968F0
-:1001C00004F06AFD07A810220230A96804F064FD5B
-:1001D0002E4903A85C39FDF7EBFB002804D0392039
-:1001E0002C49000104F0F5FE05202070666043E014
-:1001F0002A79002A02D001221143017005206946A4
-:10020000087028798880A868029039E0D06A402375
-:10021000018819430180D06B6968102204F03CFD0D
-:100220002AE0FB2211400170062069460870A96887
-:1002300068680291019023E0CB0703D002221143AA
-:10024000017058E70F20207017202071506CA060BB
-:1002500012E0937A9B0706D0D26A44781388FF3461
-:1002600001342343138004221143017004E00A483F
-:100270000849BD3004F0ADFE684600780028E0D0A3
-:100280006846F4F713FE36E701207047D01A0020C5
-:10029000B40000203CFC00001503000040420F00A9
-:1002A00070B504780D460646230004F083FF0B1C4E
-:1002B000181C1C1C1C07181C1C181C0000210520E5
-:1002C00001F038FDB068007805280CD0FA4800220B
-:1002D000008811468300052001F087FC03E000211F
-:1002E000052001F027FD002D0ED0002028702946A2
-:1002F0003046FFF702FFF1482978005D884201D1BE
-:10030000032070BD022070BD00213046FFF7F5FECE
-:10031000002070BD30B5E8494B68497A0A011146A2
-:100320000C315C5C032C0CD0044600252034257174
-:1003300025725C5CA500AA18641C5C5498500320CC
-:1003400030BD062030BDF0B50446264620360D46A9
-:100350003279012008218FB0002A0CD0012A21D047
-:10036000022A2BD0032A04D12A78052A01D1297028
-:1003700000200FB0F0BD01203071606800280AD065
-:10038000A069017061684160216981606169C16033
-:10039000FFF7C0FFEDE707202870206968606069FB
-:1003A000A86009E029780729E3D1022030710520EF
-:1003B0002870C248203868600320DAE729780529C8
-:1003C000D7D1A08910280AD9103880B2A081A1689D
-:1003D0001023091803A86A6800F054FE2DE01028C5
-:1003E00004D0C1B20BAA1020A76809E0102322692B
-:1003F000A16817E0491EC9B2401EC0B27B5C13540D
-:100400000029F7D100280AD0401EC0B28021115423
-:10041000002102E0401EC0B211540028FAD16269E6
-:1004200010230BA907A800F02DFE102307A903A88D
-:100430006A6800F027FE032030716068019003A80D
-:10044000029005206946087029466846FFF728FF94
-:100450008FE7F0B5044626460D4620363179012057
-:100460008DB000290BD0012938D0022905D1297877
-:10047000052902D10920287000200DB0F0BD217D92
-:100480006846CA07D20F02738807C10F6846017415
-:10049000012203A905A800F0EDFD04A9012205AF82
-:1004A000481D00F0E7FD0722B81CE16800F0E2FDFE
-:1004B00007A807220130216900F0DCFD6068019087
-:1004C00009A80290102305AAA16800F0DBFD012015
-:1004D0003071052168460170294621E029780529F7
-:1004E000CBD1062203A8E16900F0C4FD04A80622CE
-:1004F0000230A16900F0BEFD042106A800F0B2FDA3
-:100500006068019007A80290102303AA696800F0B0
-:10051000B9FD0220307105206946087029466846F9
-:10052000FFF7BEFEA9E7F0B5074685B00D460020EF
-:10053000694608703E466248203632798179133820
-:1005400001240078130004F035FE180DFEFDFCFBBD
-:10055000FAF9F8F7F6F5F4F3F2F1F0EFEEEDECEB73
-:10056000EAE9E8E7B968039100291BD0012269464E
-:100570000A7003220A710A224A7139690291397993
-:1005800000297DD0039A1278002A7AD00C2A78D2DA
-:10059000130004F00FFE0BEF09EF354D8498B0F116
-:1005A000EDECEF000020C8E30021062001F0C2FBC3
-:1005B0003879072866D1424C133C2078022802D0B3
-:1005C00000287FD101E00020207003980079C11F2E
-:1005D0000A2901D30A2598E1607039480722C01F13
-:1005E000039900F047FD0120307120700220694618
-:1005F00008703348801F01903869401C029037E230
-:1006000011293DD12E4C133C0228DAD16068617863
-:10061000007A884201D9062577E1039926481022FD
-:10062000491C303800F026FD03202070022045E1EF
-:100630001129E6D1224C133C0428C2D10520207098
-:1006400003991D481022491C203800F013FD062094
-:100650003071786903210170626851684160164900
-:100660002039816021460C31C160C91D0161017DC5
-:10067000537A49084900DB07DB0F1943017502E093
-:1006800070E354E384E1D3688361FD231940537A16
-:100690009B07DB0F5B0019430175116976E10229A5
-:1006A000AFD1002867D005206946087103984078CB
-:1006B00048713869029051E3241B00203452010034
-:1006C000DB00002082E011299BD1F74C06287DD168
-:1006D000A0680399806B1022491C00F0CBFC062116
-:1006E0006846017038690290002168460171FFF781
-:1006F000D7FD072057E00B299BD1EB4C07287ED173
-:10070000A0680399006B0222491C00F0B3FCA068AA
-:100710000822406B039917E00EE116E3FDE2DDE2EB
-:10072000C7E2BCE29EE267E248E241E21FE2F5E195
-:10073000DFE1C8E1BEE1B1E1A5E16AE147E128E11D
-:10074000DAE0BEE0AFE075E0C91C00F093FC0621E2
-:100750006846017038690290002168460171FFF710
-:100760009FFD204613304179490849003EE041E0B1
-:100770001BE001E05CE0EFE2112991D1CA4C0828AE
-:100780003DD1A0680399C06B1022491C00F072FC97
-:10079000062168460170386902900021684601719F
-:1007A000FFF77EFD09202070C9E208298CD1BE49DF
-:1007B000092824D1039842788868016C0A7003994B
-:1007C000406C0622891C00F055FC00E017E0062171
-:1007D0006846017038690290002168460171FFF790
-:1007E0005FFDB14813304179FD221FE041715EE2A7
-:1007F0003071F2E11129C0D1AB490A2801D0082596
-:1008000083E088680399806C1022491C00F032FC58
-:10081000062168460170386902900021684601711E
-:10082000FFF73EFDA04813304179FB221140DDE780
-:1008300007256AE0297802297ED19B490128FBD14E
-:100840006A684A6015780846002D5CD106216A4620
-:1008500011703969029107211171029902240C70FB
-:10086000CA785207520FCA704B795B075B0F4B7106
-:100870008B795B075B0F8B71D20701D18A714A714B
-:1008800005460A794078824200D26A70864807227B
-:10089000133000F0EFFB00202C70307101466846E9
-:1008A000FFF7FEFC4BE229780429C5D103286FD15C
-:1008B00008227E48696800F0DDFB032030710420C7
-:1008C000F2E129780429B7D1774F0328B4D17748CA
-:1008D00008220830696800F0CDFB04203071786888
-:1008E0004168002906D00321297000212971406840
-:1008F000A86072E10320D7E1287803289CD12879E9
-:1009000000281AD00546002D16D006216846017031
-:100910003869029002216846017102980521017030
-:10092000457000216846FFF7BBFC01216846017055
-:1009300004210171457115E293E15B49A86849689A
-:100940000028486001D15A48486005203071786914
-:10095000032202704A684260544A8260524A0C3252
-:10096000C260D21D0261027D4B7A5208DB07520041
-:10097000DB0F1A430275CB688361FD231A404B7A63
-:100980009B07DB0F5B001A4302750969C16130E107
-:100990000DE12978092988D14349032885D104200C
-:1009A00008700620694608703869029011200871A5
-:1009B000029803210170401C1022696800F05AFB64
-:1009C00000216846FFF76CFC00203071B7E1297800
-:1009D000092993D1052891D134496A68203910201A
-:1009E000401EC0B20B5C145CA34203D0002004255F
-:1009F00030718AE70028F3D107203071786904212B
-:100A00000170294949684968416028498160103965
-:100A1000EEE028780A28BED10620694608703869B9
-:100A2000029011200871029804210170401C1022CC
-:100A30001E4900F01FFB00216846FFF731FC1A48F1
-:100A4000102140786A68091AC9B2101800F00AFB30
-:100A50006868019014481330C178C9070BD08179B8
-:100A6000002902D14079002805D0082030711BE10F
-:100A700029466846EFE0072069460870002168466D
-:100A8000FFF70EFC5FE128780E2884D106486968DC
-:100A900081608969407808700920A9E6C80701D0FB
-:100AA0000A20FFE00F20A3E6C8000020141B00204E
-:100AB0001452010028780F2879D1A8683861287964
-:100AC00038730B20FAE628780428F5D1FC4C6968C5
-:100AD000A0680822006A00F0CDFA0C203071786915
-:100AE0000722B9690270A268D3684360126A826003
-:100AF0007EE028780D28DFD1F14C6968A0680223D8
-:100B00000269C06900F0BEFA0D20307178690621D3
-:100B10000170A1688A684260096966E028780C283B
-:100B2000CAD1E74C6968A0686278406A00F0A2FA0E
-:100B30006078A2681021091A526AC9B2101800F030
-:100B400091FA0621684601703869029011226846C0
-:100B50000271029810220170A168401C496A00F0DD
-:100B600089FA00216846FFF79BFB0E206EE028788B
-:100B70000F2876D1062168460170386902900B2152
-:100B800068460171029C0720CD4D2070A8680222A2
-:100B9000C169601C00F06EFAA8680822016AE01CB6
-:100BA00000F068FA00216846FFF77AFB7AE7C8E0B0
-:100BB000880701D5102075E0132019E628780F2842
-:100BC0004FD1A86838612879387311203071BC483A
-:100BD000816848690078002801D00324CAE0786958
-:100BE00006220270C9684160B6498160B549091D95
-:100BF000C160FFF78FFB30E0B14880684169097838
-:100C000000290CD129780C292BD1AD4C6968806A58
-:100C1000102200F02FFAA16801204969087006210E
-:100C20006846017038690290112168460171029886
-:100C300008210170A249401C89681022896A00F0CD
-:100C400019FA00216846FFF72BFB122030710921A9
-:100C5000684601702946FFF723FB044601287DD032
-:100C600088E06FE028780F286CD10620694608706C
-:100C70003869029008200871029809210170904992
-:100C800089680A78D207D20F427049680622801C10
-:100C900000F0F0F900216846FFF702FB8CE74807F7
-:100CA00005D514203071092069460870E0E6162049
-:100CB0009EE528780F2851D1A868386128793873C3
-:100CC000152030717869062101707D4989688A682C
-:100CD0004260096981607B49891D89E728780C2871
-:100CE00045D1774C6968A0681022C06A00F0C2F94B
-:100CF0000620694608703869029011200871029830
-:100D00000A210170A168401CC96A102200F0B2F9E2
-:100D100000216846FFF7C4FAC9E7694813304079F3
-:100D2000002810D0C10703D065480621017006E0F5
-:100D3000800701D5082000E00A20614908700024DE
-:100D400018E00BE013E0172052E55D49002805D0BC
-:100D50000020307108700A206946087068460078E3
-:100D6000002804D000216846FFF79AFA002454486E
-:100D700000210170204605B0F0BD10B5524BFF2494
-:100D80005C72586019721A80002204E0491EC9B2D0
-:100D90000B010C33C2540029F8D110BDF0B54A4EF6
-:100DA0000546717A01208DB0FF2971D00127727A32
-:100DB000736811015C180C31595C8900091F645873
-:100DC0006A7021780B0004F0F5F90B960709272CBF
-:100DD00059888D4A4F5492002F707CE02146203173
-:100DE0000A9109790120002902D0012967D10EE07A
-:100DF0006068019005A802900D21C01C00F032F936
-:100E0000032205A8A16800F035F90A984EE0297878
-:100E1000052974D106215DE029462046FFF719FB1C
-:100E200069E021462031069109790120002902D08C
-:100E3000012964D10EE06068019007A802900822A1
-:100E4000E16800F017F9082209A8A16800F012F97A
-:100E500006982BE02978052951D10A213AE0294644
-:100E6000204600F01AF946E029462046FFF76BFAC3
-:100E700041E029462046FFF756FB3CE02146203161
-:100E8000059109790120002903D0012937D11DE0FE
-:100E900056E06068019007A802900822A16800F05F
-:100EA000E9F8082109A800F0DDF8059869460771FE
-:100EB0000520087029466846FFF7F2F91BE00BE0B1
-:100EC000C80000200C520100241B002029780529AD
-:100ED00015D10B212970002011E02946204600F091
-:100EE00023F908E02946204600F04EF903E02946A0
-:100EF0002046FFF7C9F9002801D001280CD125624E
-:100F0000717A736809010C315A5C521E1206120E76
-:100F10005A5401D003204AE70328FCD0737A726840
-:100F200019011D010D312C46515C7172FF270D34E2
-:100F300017550C35545D002C02D0FF2903D1737274
-:100F40000DB0F0BD21460C010D34145DFF2CF9D11C
-:100F500009010D315354F3E770B5AD4C0546607A85
-:100F6000214603464A6811E0010108460C30105C36
-:100F700008E0401EC0B286008E199659AE4201D1DB
-:100F8000042070BD0028F4D10D31505CFF28EBD156
-:100F90009F480021007A01E0491CC9B2884204D967
-:100FA0000E010C36965D002EF6D1884201D8052040
-:100FB00070BD08010D30135461722846FFF7AAF97D
-:100FC000032806D0617A626809010D31515C6172B3
-:100FD00070BD28462830FFF7E1FE70BD10B50478DB
-:100FE0000123012C14D10C78022C11D30B23137084
-:100FF00083785B075B0F537002220A708088002899
-:1010000005D0830000221146062000F0EEFD0023EB
-:10101000184610BD0EB50022012105280AD0062869
-:1010200007D1684601700221017142710021FFF76A
-:1010300064F80EBD68460170F6E710B58EB00C4638
-:1010400006216A461170019072480290001D0390BB
-:101050006846FFF781FF102220460B9900F00AF83E
-:101060000EB010BD002202E0491EC9B24254002950
-:10107000FAD1704703E0521ED2B28B5C8354002A2F
-:10108000F9D1704730B505E05B1EDBB2CC5CD55CB6
-:101090006C40C454002BF7D130BD3EB5044620301F
-:1010A0000D4602790121002A02D0012A3AD10FE02F
-:1010B00061680191574908310291012101710520B0
-:1010C0006946087029466846FFF7EAF8014629E0B4
-:1010D0002878052826D169681022A06800F087F8D2
-:1010E0006868C07B000606D54A4AA06810231832FB
-:1010F0000146FFF7C7FF1022A168E06800F077F80B
-:10110000A068C07B000606D5424AE068102318326A
-:101110000146FFF7B7FF07202870A0686860E06805
-:101120000021A86008463EBDF0B5044626460F469D
-:1011300020363179012089B0002909D0012905D153
-:101140003978052902D10C203870002009B0F0BD93
-:10115000606803AD01900295022203A8A168FFF721
-:1011600089FF0222A81CE168FFF784FF0C21281DDB
-:10117000FFF778FF01203071052069460870394675
-:101180006846FFF78DF8E1E710B5034620331C7978
-:101190000122002C04D0012C10D0022C25D11EE0FD
-:1011A00001211971C16806220A7040684860194817
-:1011B000801C8860801CC86008460CE00C780C2CF1
-:1011C00013D102221A71C268052313704968516055
-:1011D000806890601046FFF79DF8024605E00878A9
-:1011E0000B2802D10D2008700022104610BD10B54A
-:1011F000002409E00B78521E5B0023430370401C5F
-:101200000B78491CD2B2DC09002AF3D110BD0000D2
-:10121000241B00200C52010070B50D46040012D0B2
-:10122000002D10D02101284603F093FD10225449CF
-:10123000284603F031FD52480121083801804480DE
-:101240004560002070BD012070BD70B54C4E00247B
-:101250000546083E11E0716820014018817BAA7B99
-:10126000914209D1C17BEA7B914205D10C222946EA
-:1012700003F0E5FC002806D0641C30888442EADBD9
-:101280000020C04370BD204670BD70B50D460600FD
-:101290000AD0002D08D03A4C083C20886188401CB8
-:1012A000884203D9042070BD102070BD3046FFF77E
-:1012B000CCFF002801DB401C0AE0208861680001A7
-:1012C00040181022314603F0E7FC2088401C2080A3
-:1012D0002870002070BD70B514460D001FD0002C82
-:1012E0001DD00021A170022802D0102817D108E0DB
-:1012F000687829780002084311D00121A17010807C
-:101300000BE02846FFF7A1FF002808DB401CA07077
-:10131000687B297B000208432080002070BD0120EB
-:1013200070BD70B5054614460E000AD0002030701E
-:10133000A878012807D004D9114908390A889042B1
-:101340000BD9012070BD002C04D02878207028888B
-:10135000000A50700220087010E0002C0CD0496880
-:101360000001411810391022204603F095FC28781E
-:1013700020732888000A607310203070002070BD30
-:10138000EC00002073490968016000207047714932
-:1013900008600020704701216F4A704B002803D07D
-:1013A000012805D06E48704791630020187001E055
-:1013B000D1631970002070476A49012008606848AD
-:1013C000801C70470422684B6649002805D05A608B
-:1013D000086901221043086108E0086940084000DC
-:1013E00008619A605C490020C03188600020704725
-:1013F0005C490622002808D0012809D002280DD017
-:1014000003280FD05648401C70470869904302E0FB
-:1014100008699043801C0861002070470869904368
-:10142000001DF8E708691043F5E74E494A6A024390
-:101430004A62002070474B494A6A82434A62002050
-:1014400070474849496A0160002070474549CA69A8
-:101450000243CA61002070474249CA698243CA6197
-:10146000002070473F49C96901600020704730B5CE
-:101470000546002072B601463A4A384C4032002DEB
-:1014800011D00123012D0CD0022D02D0072062B60D
-:1014900030BDA3706478002C01D09363F7E79163AB
-:1014A000F5E7A170F9E7A170F9E72F4904208860FA
-:1014B00029490020C03188602849012008702B4943
-:1014C0000A688023120A12021A430A602849086037
-:1014D000704722480078704770B5EFF31080C50759
-:1014E000ED0F72B61D4C6078401C0006000E607057
-:1014F00003D120A1CC2003F06CFD6078012806D137
-:10150000A078002803D01749012040318863002DBE
-:1015100000D162B670BD70B5EFF31080C507ED0F56
-:1015200072B60E4C6078002803D112A1DC2003F0C3
-:1015300050FD6078401E0006000E607006D1A07855
-:10154000002803D00749002040318863002D00D1D6
-:1015500062B670BD0004004040000040FC00002066
-:1015600004200000000500400003004000E400E00B
-:1015700000E100E07372635C736F635F706F7765A7
-:10158000722E63008107C90E002808DA0007000FD9
-:1015900008388008B94A80008018C06904E08008D3
-:1015A000B74A800080180068C8400006800F704766
-:1015B000B44948788978884201D3401A02E0212250
-:1015C000511A0818C0B27047AE492331487889785B
-:1015D000884201D3401A02E02122511A0818C0B2F1
-:1015E0007047A849463148788978884201D3401A23
-:1015F00002E02122511A0818C0B27047A04810B565
-:101600000C300168FF22120291430122D2031143E0
-:1016100001609C490020233148708870233948704C
-:101620008870463148708870974802F0FFFA9648F3
-:10163000401C02F0FBFAF2F7A9F900F015F910BD11
-:1016400020207047B4E770B50C4605460026FFF72A
-:10165000AFFF8C49A04214D30A46203A002320460B
-:10166000641EE4B200280BD08878105C287088785B
-:101670006D1C401CC0B288702128F0D18B70EEE741
-:10168000012600F0F1F8304670BD202070479BE73E
-:1016900070B50C4605460026FFF796FF79492331C1
-:1016A000A04214D30A46203A00232046641EE4B226
-:1016B00000280BD08878105C287088786D1C401C3E
-:1016C000C0B288702128F0D18B70EEE7012600F0BF
-:1016D000CBF8304670BD202101700020704710B556
-:1016E0000446FFF77EFF2070002010BD70B50C4649
-:1016F0000546FFF776FF63494631A04215D30A46F7
-:10170000203A00232046641EE4B200280BD08878DB
-:10171000105C287088786D1C401CC0B2887021282D
-:10172000F0D18B70EEE7002400E0584C00F09CF8FC
-:10173000204670BD70B50C460546212904D9FF200E
-:1017400053A1473003F045FC4C484068103840B284
-:10175000FFF718FFC6B20D20FFF714FFC0B2864294
-:1017600007D2FF204AA14D3003F033FC01E0F2F72D
-:101770004DF921462846FFF766FF0028F7D070BDD7
-:10178000F8B5404E07462336B1787078212200F034
-:1017900060F8354623353B4C00280ED0A1786078A0
-:1017A000212200F056F8002814D0A9786878212268
-:1017B00000F04FF800281AD025E032497078C91C93
-:1017C0000F547078401CC0B2707021281BD10020CB
-:1017D000707018E02B49607820390F546078401CF5
-:1017E000C0B2607021280ED1002060700BE0254946
-:1017F000687826310F546878401CC0B26870212880
-:1018000001D100206870B1787078212200F021F8B1
-:1018100000281DD0A1786078212200F01AF8002855
-:1018200016D0A9786878212200F013F800280FD08C
-:10183000F2F7CEF8144802F001FA01214903884278
-:1018400003D013A1C12003F0C4FB0F4802F00EFA2D
-:10185000F8BD401C884205D0904201D1002901D03A
-:10186000002070470120704710B5074802F0E6F9E4
-:10187000002801D1F2F79BF810BD000000ED00E058
-:1018800000E400E0501B0020FF00002007200000C3
-:101890007372635C736F635F72616E642E630000CA
-:1018A00010B5284802F0C2F9002803D026A11D2057
-:1018B00003F08FFB2348401C02F0B8F9002803D046
-:1018C00021A1212003F085FB10BDF1B5224D6F68E9
-:1018D00001261C4802F0B2F91A4C002803D1002658
-:1018E000601C02F0C3F91D4A1D490120506000BF71
-:1018F00000BF00BF00BF00BF00230B604B60009B18
-:101900006B60106000BF00BF00BF00BF00BF086871
-:10191000002802D148680028F9D048680028E4D19E
-:10192000002E04D06F60601C02F088F907E0601C94
-:1019300002F084F90028D3D1024802F097F9002080
-:10194000F8BDC2E7010100207372635C736F635FCF
-:101950006563622E6300000000E5004000E0004087
-:1019600000E1004030B5EFF31081CC07E40F72B610
-:101970001D4A116910230D461D431561002C00D12D
-:1019800062B61A4DC406E40E0120A0402C68044241
-:101990000DD0C8060AD4EFF31080C007C00F72B68E
-:1019A000116999431161002800D162B630BD20BF92
-:1019B00040BF20BFEAE70E4908784A78401CC0B211
-:1019C000904200D008707047084A094820BF40BFC5
-:1019D00020BF4178037843701368002B02D103784D
-:1019E0008B42F3D00020704700ED00E000E200E001
-:1019F00003010020FEB5F64C07466068FF213E015A
-:101A000081552178FF2913D0090108314158324608
-:101A1000491E083209020192090A805800F0CEF9E5
-:101A2000002802D02478254615E061682078885582
-:101A30002770FEBDE64842680198115828010090C1
-:101A40000830105800F0BAF9002806D1E0482C46BA
-:101A5000416800980D5CFF2DECD1DD482101406804
-:101A600085554754FEBD70B5D94A04460020157A05
-:101A700053680AE00201561C9E5DA64203D10C3257
-:101A80009A588A4204D0401CC0B28542F2D8FF2046
-:101A900070BDF8B5CE4F3E7801F01AFE0146FF2E1C
-:101AA00071D03401254678680835405900F086F930
-:101AB00002280CD97868405901F0FDFD01F008FEBC
-:101AC00001467868405900F079F902285BD8C0498E
-:101AD0004868025D0A70A11C425C002A0CD0521EAC
-:101AE000425441590122D20589180902090A41517B
-:101AF0003046FFF77FFF30E0631CC25C0092221D7E
-:101B000094468258002A10D001239B029A420FD992
-:101B10009205920D43595703DB191B021B0A4351CF
-:101B20006346C3589A1A920A09E0FF21C1540AE099
-:101B3000435952039A181202120A42510022425487
-:101B40003046FFF757FFA2480C344168C26800983E
-:101B5000095980001258009890479D4C2078FF2822
-:101B600011D0000161680830085801F0A4FD01F0AF
-:101B7000AFFD01462078626800010830105800F07F
-:101B80001DF9022886D3F8BDF8B51C4615460E4649
-:101B90000746FF2B03D38FA1D42003F01AFA8C48F9
-:101BA000FF21C76045600472067401700022427014
-:101BB000104604E00201521C401CA954C0B2A042CD
-:101BC000F8D3F8BD70B5824C06466578207C854216
-:101BD00003D380A1E72003F0FCF9E068A900465098
-:101BE0006078401C6070284670BDFFB581B01D460E
-:101BF000FF2401F06DFD764F064679780198814209
-:101C000003D874A1F52003F0E4F971480021037AA8
-:101C1000406810E00A019446521C825CFF2A25D0DD
-:101C2000019FBA4205D162460C328758029A974208
-:101C30001ED0491CC9B28B42ECD8FF2C18D0210110
-:101C40004A1C019B83540B460C33029AC250039BDF
-:101C50005F4F0022012B0ED00B1DC25001239B02AF
-:101C60009D4216D9AA05920D08D008E00C46E0E77F
-:101C7000FF2005B0F0BD0B1DC550EFE71A4653031A
-:101C80009B190E461B0208361B0AAA1A8351920A98
-:101C900009E0002D00D101256B039B191D022D0ABF
-:101CA0000B460833C550891C42543D463E782046B9
-:101CB000FFF7A0FE2878B04214D000016968083010
-:101CC000085801F0F8FC01F003FD29786A68090161
-:101CD000083152580146104600F070F8022801D22F
-:101CE000FFF7D7FE0198C4E770B50C46054601F032
-:101CF000EFFC064621462846FFF7B5FEFF2817D021
-:101D0000334D04012046696808300858314600F018
-:101D100055F80121090340186968A41C095D400BAE
-:101D2000002901D089020818002800D1012070BDC7
-:101D3000002070BDF3B581B00F460198FFF793FE08
-:101D4000FF282AD0224E3578726829460C4604E0D6
-:101D5000844205D025462301D45CFF2CF8D11CE039
-:101D6000FF2C1AD0A5421CD10801105C3070FF284E
-:101D700015D000010830105801F09DFC01F0A8FCBE
-:101D800001463078726800010830105800F016F8EB
-:101D9000022806D2FFF77DFE03E00020FEBD01F021
-:101DA00092FC39460198FFF79FFF22017168FF23DB
-:101DB000541C0B558A5C2B01CA54FEBD401A00020C
-:101DC0000121000AC905884200D90020704700009F
-:101DD0009C1B00207372635C736F635F74696D6535
-:101DE000722E6300F0B500241C4A01211C4B08032D
-:101DF000546018601B4B1C601B4C20601B4804691E
-:101E0000E443E406E6170469761C10252C430461BC
-:101E1000174C6160174D296000E020BF1F68002F3C
-:101E2000FBD0002E03D107691026B74307619068E5
-:101E30008005906801D5104A10436960A1600021B7
-:101E400019600121084A09031160F0BD10B504466C
-:101E5000FFF7C8FF2060002010BD000000C5004053
-:101E600080E100E000C1004080E200E000ED00E021
-:101E700000C3004000C0004000FCFFFF70B51F49D8
-:101E80000A68002A17D000231D4601244A68521C04
-:101E90004A60092A00D34D600E792246B2400E688E
-:101EA00016420AD072B60B6893430B6062B649685B
-:101EB0000160002070BD052070BD5B1C092BE5D3BF
-:101EC0000FA1362003F085F8F5E7012010498005C1
-:101ED00008607047EFF31081CA07D20F72B6012174
-:101EE00081400648036819430160002A00D162B6A8
-:101EF000EBE70248002101604160704708010020C3
-:101F00007372635C736F635F6576742E63000000A9
-:101F100000E200E00120810708607047012081078E
-:101F2000486070471048C068C00700D00120704763
-:101F30000D488068C00700D0012070470A484069FA
-:101F4000C00700D0012070470748C06970470649A4
-:101F50008A69D20306D589698907890F814201D12F
-:101F6000012070470020704700040040F8B5FE4C87
-:101F7000207BE17A88421AD00126FC4D0027E07AC6
-:101F8000215C14200A4642435019037C052B0FD0D4
-:101F9000062B1BD0072B28D0437C012B33D0F4A178
-:101FA000F64803F016F8207BE17A8842E7D1F8BDC5
-:101FB0000674E07A0A2807D0E07A401CE072491CD7
-:101FC000C8B2AA5802210CE00020F7E70674E07AB4
-:101FD0000A2808D0E07A401CE072491CC8B2AA580E
-:101FE00003219047DFE70020F6E70674E07A0A282D
-:101FF00007D0E07A401CE072491CC8B2AA580821F8
-:10200000EFE70020F7E74774E07A0A2807D0E07A84
-:10201000401CE072491CC8B2AA580721E1E7002021
-:10202000F7E770B5D64D06206872D648002444778D
-:10203000047738300473C472D34801F0F7FDD348F5
-:102040000475EC72D249601E88606C71AC70EC70E3
-:102050002C716C70CF48022104704470CE4804701B
-:10206000047528300470491EFAD10120F1F750FDA3
-:102070000020F1F74DFD0120A871F0F741FDC748A0
-:10208000F0F750FDC64C2070C648F0F74BFD60706D
-:10209000F1F7E2FC70BD10B5F1F709FDC04C2078F6
-:1020A000F0F75EFD6078F0F75BFDB54C207A002814
-:1020B00005D0FFF730FAF0F7E2FD0020207210BDE6
-:1020C00070B5AF4CA079002804D0A9A1B64802F0A1
-:1020D00080FF70BDE07A002804D11320A4A1400144
-:1020E00002F077FF0126A6710025E572607A0421CF
-:1020F000142250439D4A80180174A5488168491CE8
-:1021000004D0691E81600120F1F702FD0020F1F783
-:10211000FFFCF1F7E3FC01F023FEF1F7E8FDA34833
-:10212000056005600120A249C0030860F0F74AFF7E
-:1021300098480078022804D0032804D1E0780028C9
-:1021400001D0A67000E0A570F1F7BDFD70BD03469B
-:1021500086490520142242435218203A127F002A51
-:1021600004D0401E0006000EF4D1704714224243F2
-:1021700051180A46403AD362012220390A77704743
-:10218000012805D0032805D1002903D1002070477C
-:102190000029FBD010B47A4C002363707D4A0028DC
-:1021A00090700CD002280AD007291AD20B007B4469
-:1021B0001B79DB189F441505070D0F111300D37011
-:1021C00003E01B2000E03A20D0700120607010BCBA
-:1021D00070475820F8E77720F6E79620F4E7B52017
-:1021E000F2E710BC0020704710B56A484078F1F75C
-:1021F00085FD80B210BD411E1422504310B55B4ACC
-:102200008418203C042902D8207F002803D158A13B
-:10221000684802F0DEFE207F012803D054A1664802
-:1022200002F0D7FE0020207710BD70B5554C607FBE
-:10223000217F884201D1012500E00025F1F7F7FC5C
-:10224000F1F75CFD617F227F914201D1012100E025
-:102250000021A942EBD170BDF7B50646481E844661
-:102260008EB0C0B2142204905043404A85182846CC
-:102270000595007C2D1D07282AD13B4C0027E07ACC
-:10228000227B824221D0235C049A934201D1012710
-:1022900001E0002F04D00A2811D0421CA25C225475
-:1022A0000A280ED0401C227BC0B28242EBD1002F04
-:1022B0000BD0207B002806D0207B401E04E00022AB
-:1022C000ECE70020EFE70A202073059A0120107444
-:1022D00060462B4C04280FD814204143234808188B
-:1022E0002038007F002807D00598007C012807D0FF
-:1022F0001098807A012807D01DA1304802F069FEAD
-:102300001098807A012871D10598184B007C02281A
-:102310001AD0154C207B0A2874D0207BE17A401C0F
-:10232000884204D1C92012A1800002F052FE059912
-:1023300001204874217B04986054207B0A2865D0D2
-:10234000207B401C20731CE1607A049A0146904275
-:1023500006D0014614277843C018807C9042F8D1FB
-:10236000627A824235D12BE0A81C0020B81C0020E4
-:102370007372635C72656D2E63000000D50500000A
-:102380003C1D0020701C0020481D0020901C0020D7
-:102390001C1D002012010020C81C0020931A0100FF
-:1023A000100100206D1F01007F02000000F50040B9
-:1023B00080E200E0CD020000CE0200001703000022
-:1023C000617A14225143C918897C61720121A1727A
-:1023D00007E014224243D21814277943927CC9188B
-:1023E0008A74142206215043C01881741098007A10
-:1023F000062819D203007B441B79DB189F4408127E
-:10240000100E0C0AE07A00288CD090E7002099E7A3
-:1024100000210FE0B4210DE073210BE0322109E02F
-:102420000A2107E0062105E0FF20FE49E23002F024
-:10243000D0FD0021109802910068401A2860109980
-:10244000097A002912D00221401A0102090A2960E2
-:1024500010980268406810180002000A686010981E
-:10246000807A0228109803D0007B74E00421EBE707
-:10247000007A002813D0022202981018844610987F
-:102480004268604608301718E748029A4078904240
-:1024900002D9E278002A04D03846083005E0042248
-:1024A000EAE7029A801AC0190830627A062A1CD01C
-:1024B000627A14235A43DD4BD2185268914214D0E9
-:1024C000DB4B0793617A14225143D84A89184A6832
-:1024D0008968921B891B12020902120A090A90429A
-:1024E0003AD89A4238D8994236D83018C01B0002E0
-:1024F000000A286010996044CE4AC9680002000AA8
-:102500009446421A01239B0507929A4201D2104633
-:1025100014E00A1A09929A4201D207980EE0079A2B
-:102520006346624503D9591A0818401C06E0099A07
-:10253000624506D9181A4018401C404200285FDC4A
-:1025400003E0B849BC4802F044FD2868C019000205
-:10255000000A6860002028726868082708300002B6
-:10256000000A68601098407AA8721098007A687221
-:1025700003280ED200280CD0FFF7D4FC002803D08B
-:1025800007E0002011B0F0BD02983A210F1A322066
-:102590000290A5480178012901D0032909D1417889
-:1025A0000298814205D9E078002802D10298081AE1
-:1025B000C71928689E4A801B844601026868090A78
-:1025C000801B03021B0A8F421AD81746914217D864
-:1025D000BB4215D8617A062916D0677A6146062271
-:1025E000039200923A4614235A43904BD2189368B0
-:1025F0009B1B8B4216D80397977C062FF2D177E06E
-:10260000049801F059F9BCE7059802220499027474
-:10261000627A062A00D0627A827461720120A07206
-:1026200011B0F0BD062F63D0002239469446142223
-:102630007E4B4A43D21853689B1B834229D2917B1D
-:10264000AB7A99421FD805980521049C7B4D0174F3
-:10265000287B0A2811D0287BE97A401C884203D1C4
-:102660007049774802F0B5FC287B2C54287B0A2857
-:1026700007D0287B401C287383E7E87A0028EFD036
-:10268000F2E70020F7E701218C46917C0629CED1A4
-:1026900002E0604600282AD03D46009114202A46D8
-:1026A000424362480621161831741038007B0A280C
-:1026B000624816D0017BC07A491C814203D161A1D6
-:1026C000634802F086FC5D48017B4554017B0A2982
-:1026D0000BD0017B491C0173B57C0098A842DDD169
-:1026E00006E0C07A0028EAD0EDE70021F3E7009782
-:1026F0000599022008744D4D607AB84207D10599BA
-:1027000000988874049860720120A07221E00398F8
-:10271000062F0FD0062803D14AA14E4802F059FCDB
-:102720000398142250434019049981740599009824
-:1027300088740EE0062803D142A1474802F049FC04
-:102740000398142250434019049981740599062076
-:102750008874012011B0F0BD70B50D4606463F49A2
-:1027600000242046891BA04103D236A13C4802F038
-:1027700030FC3C490020491BA04103D231A13A481A
-:1027800002F027FC394A70190021821A8C4101D3CA
-:102790003749401870BDF8B5401EC0B214214843F7
-:1027A00022494518687B062813D203007B441B7915
-:1027B000DB189F44020C0A080604002066E0B420DF
-:1027C00010E073200EE032200CE00A200AE0062020
-:1027D00008E0FF201BA1E23002F0FBFB697B002038
-:1027E000002953D0022140186968002440180C21A8
-:1027F00000026956000A00294ADBF1F77FFA174AFE
-:1028000006460C27EF570021101AA14103D20DA153
-:10281000134802F0DEFB13490020C91BA0412CD253
-:1028200008A127E07023010012010020B81C00203D
-:10283000FFFF3F00FFFFFF0014070000A81C00205F
-:10284000090200007372635C72656D2E6300000004
-:10285000C7030000DF030000E5030000FF7F841EC4
-:10286000F50300000020A107F60300000080841E8D
-:1028700000807BE1FB4802F0ACFBFB4AF019002131
-:10288000821A8C4101D3F9494018F8BD0421AAE706
-:10289000F1F734FA0C21695600224018F449091A5C
-:1028A000A241F2D24042F8BDF0B5064683B0F148ED
-:1028B0000190457A029534687068001B0702EE4863
-:1028C0003F0A001B0090062D2DD0142029464143BD
-:1028D000EA480122081884464168E748920586467E
-:1028E000081B904210D3631A93420DD302467046E0
-:1028F000724503D900984018401C05E073450ED975
-:10290000411A0819401C404200280CDA6046029522
-:10291000857C0198C0790028D5D003B0F0BDD84996
-:10292000D84802F056FB0298854226D0142148432D
-:10293000D2490123401802908068CF499B058C46FC
-:10294000011B8646994210D3221A9A420DD3634640
-:10295000614503D900997144491C06E01946624556
-:102960002DD9091A0819401C4142002905DD029899
-:10297000B17A807B814200D37446062D15D0BF49C1
-:102980001420454368184268121B1202120ABA4208
-:102990000BD2B27A837B9A4200D38468857C0198FB
-:1029A000C0790028B9D1062DEAD13068A042B4D050
-:1029B000E0190002000A3460706003B0F0BDB04955
-:1029C000B04802F006FBD8E7F0B5AF4904464868C6
-:1029D00085B0C005C00D1CD0103840B200280CDAFC
-:1029E0000207120F083A920892005118C96980072D
-:1029F000C00EC1400806800F09E08108A34A890083
-:102A0000891809688007C00EC1400806800F002899
-:102A100008D000262078002806D0012804D0002005
-:102A200005B0F0BD0126F5E72079062813D2030092
-:102A30007B441B79DB189F44020C0A080604002023
-:102A400018E0B42010E073200EE032200CE00A20E1
-:102A50000AE0062008E0FF208949E23002F0B9FAD6
-:102A600021790020002905D002214718814D002E30
-:102A700002D003E00421F8E70020E87102AA6946C9
-:102A8000A068F1F745F9694608228A56E06801A96D
-:102A90008018C01C01221F2801DA019209E003AA54
-:102AA000F1F736F96846007B002802D00198401CF7
-:102AB000019000990198401808300002000A019026
-:102AC000C81B0002000A009060796946887200986D
-:102AD0000390F1F7ACF8009A019B121A181A6C498E
-:102AE00012020002120A000A8A4216D8884214D83A
-:102AF0006846FFF7D9FE00990398814205D0C819AE
-:102B00000002000AF1F7FAF8A0600120E979002933
-:102B100086D0002EB0D005B0F0BD0020F6E7F3B5AA
-:102B20008FB05C480C460B9001F088F85A4A0F9918
-:102B3000504E5518203D594F00280BD05848007D65
-:102B4000002803D057A15A4802F043FA2078012800
-:102B50007DD05FE1787F0A280CD0787F397F401CD8
-:102B6000884203D14FA1534802F033FA207801285C
-:102B700004D00CE0387F0028F4D0F7E7E87F002885
-:102B800003D048A14C4802F024FA0120E877787F6E
-:102B90000F991422494D504340190174207802289E
-:102BA00023D0787F14214843451920792872607911
-:102BB00068722A460C322946A068F1F7A9F80C2061
-:102BC00028560F2804DD1F3828732868401C286009
-:102BD0000C22AA56281DE16802908818C01C1F28E4
-:102BE0003FDA029901200860FDE027494868C005E6
-:102BF000C00D20D0103840B200280CDA0207120FA6
-:102C0000083A920892005118C9698007C00EC14065
-:102C10000806800F09E081081C4A890089180968A4
-:102C20008007C00EC1400806800F002803D11DA1F7
-:102C3000234802F0CEF9787F14214843451900213A
-:102C4000E0686A460591117303AA05A900E0D8E07F
-:102C5000F1F75EF86A460C2010560F2832DD01208D
-:102C600031E0B3E0F60300000080841E00807BE1C9
-:102C7000FF7F841E3C1D0020FFFFFF00B81C0020CA
-:102C8000442801001407000000ED00E000E400E02B
-:102C9000FFFF3F00481D002016010020701C00208F
-:102CA000901C00207372635C72656D2E63000000DF
-:102CB00017050000F5040000FA040000B01B002016
-:102CC0000605000000200599401808900220A8720F
-:102CD0002079287260796872A068291DC01C039150
-:102CE0001F2801DA01200AE006AAF1F711F8684668
-:102CF000007E002804D0039803990068401C0860F7
-:102D0000287A062813D203007B441B79DB189F44E2
-:102D1000020C0A08060400200FE0B4200DE0732026
-:102D20000BE0322009E00A2007E0062005E0FF2042
-:102D3000FD49E23002F04DF900202179002943D00D
-:102D400002214118069168680831401808990590D9
-:102D500008180699401A0C900020F071F0F767FFF0
-:102D600004462860089820180002000AE860707A7B
-:102D7000062825D0707A14214843EC494018406851
-:102D80000090059940180002000A0190687A69468F
-:102D900088726846FFF788FD0098019A001B121B95
-:102DA00000021202E24B000A120A0C99984207D85C
-:102DB0008A4205D80099069808180002000A28607F
-:102DC000F0790028C8D110E00421BAE704AA0299DA
-:102DD000F0F79EFF6846007C002804D00298029914
-:102DE0000068401C08602078A872787F0A2806D006
-:102DF000787F401C78770B9800F038FF47E0002080
-:102E0000F8E7E87F002803D0CAA1CD4802F0E1F836
-:102E10000120E877CB490F9808742078022803D165
-:102E2000C4A1C94802F0D5F8C64D2079287260794E
-:102E300068722A460C322946A068F0F769FF0C2018
-:102E400028560F2804DD1F3828732868401C286086
-:102E50000C22AA56281DE16802908818C01C1F2861
-:102E600003DA0299012008600CE003AA0299F0F746
-:102E70004FFF6846007B002804D002980299006842
-:102E8000401C08602078A872AE4901200875797F3F
-:102E9000387F814223D0747A062C22D0F0F7C7FE07
-:102EA00014214C43A1496218117C042917D003292D
-:102EB00015D0536892681B1A101A1B0200029C4915
-:102EC0001B0A000A082B0AD30A468B4207D89042F5
-:102ED00005D8787F397F884201D0F0F7F4FE11B031
-:102EE000F0BD787F397F8842F7D111B0F0BD10B5C1
-:102EF0000020F0F7FAFD10BD10B50120F0F7F5FD48
-:102F000010BDF1B5009802281FD0904C607A0628B9
-:102F100003D188A18E4802F05CF80026A671012535
-:102F2000E572607A03211422804F5043C019017466
-:102F3000F0F7CEFE009800280CD001282AD00328F4
-:102F40007CD0B5207BA1C00044E082480078EFF738
-:102F50000DFEF8BD8048007F002803D075A17F4892
-:102F600002F037F865717C4D00202E60F0F7D0FD3F
-:102F7000A968481C04D0012300221846F0F7FEFD82
-:102F8000607A617A401CC0B2142251437A58012100
-:102F90009047F8BD0120F0F7BBFD607900280DD007
-:102FA0006D488068401C09D0607A617A401CC0B2CC
-:102FB000142251437A5806219047F8BD6648007F95
-:102FC00001280AD0022812D0032824D0042836D0A1
-:102FD00058A1634801F0FDFFF8BD2079002803D017
-:102FE0002671F0F77AFEE5705B480677F8BD207A27
-:102FF000002804D1FEF770FAEFF718FE2572607A08
-:10300000617A401CC0B2142251437A580021904783
-:1030100051480677F8BD504F0123397B786800226C
-:10302000411A1846F0F7AAFD2079002803D026712E
-:10303000F0F753FEE57002203877F8BD1BE0464EEE
-:10304000217870680123411A00221846F0F796FD96
-:10305000207A002804D1FEF73FFAEFF7E7FD25724A
-:10306000607A617A401CC0B2142251437A58002120
-:1030700090473577F8BD607A617A401CC0B214225F
-:1030800051437A5805219047F8BD10B52F4C607A0E
-:10309000062803D127A1334801F09BFF607A617AAB
-:1030A000401CC0B214225143204A52580421904778
-:1030B00010BDF0B583B006200290F0F7B8FD234CA8
-:1030C0000090617A28480190062920D0617A142066
-:1030D000414316480918097C042918D0617A142242
-:1030E00051430818007C03287BD00198009A03689C
-:1030F00040689B1A801A1B0200020D491B0A000A35
-:10310000082B6ED30A468B426BD8904269D812487E
-:103110008068401C03D007A1144801F05AFF00202A
-:103120006071607A062823E0A42C0100B81C0020FE
-:10313000FFFF3F007372635C72656D2E63000000D9
-:103140001E050000901C0020240500003C1D0020EE
-:1031500055050000100100201C1D00206105000025
-:103160009C050000AF0500002C1D0020EB050000B1
-:1031700007D16078002804D0FE48C178417081787A
-:103180000170607A062815D0607A1421FA4A484303
-:103190008018007C04280DD1607A0290617A0120A9
-:1031A0001423594389180874617A59438918897C12
-:1031B0006172A072F14D687F297FF14F884233D050
-:1031C000F04E287F142148438019007CC05D0128FF
-:1031D000287F07D048438019007CC05D02282FD08B
-:1031E00044E001E2142148438019807A01280AD082
-:1031F000287F0221142250438019007CC155287F6A
-:103200000A2808D009E0297F002014225143891997
-:10321000097CC8552AE0002001E0287F401C28775F
-:10322000687F297F8842CCD1D74D287D00284CD09B
-:10323000287CC15D012928D0C05D022830D03AE049
-:10324000287F142148438019807A012803D0CFA118
-:10325000D14801F0BEFE297F002014225143891974
-:103260008872297F51438919097CC855287F142108
-:1032700048438219287F48438019017C0098FEF753
-:10328000EBFF287F0A28C8D1C5E7A97A012904D015
-:103290000221C155002028750DE00021C1550AE02A
-:1032A000A87A012803D0B9A1BC4801F092FE002001
-:1032B000A872297CC855287D002806D0297CB24AEE
-:1032C0000098FEF7C9FF00202875029806281ED036
-:1032D00014214843A8494018017C012917D107212E
-:1032E000AF4D0174287B0A283CD0287BE97A401C2A
-:1032F000884203D1A5A1AB4801F06BFE297B02985F
-:103300006854287B0A2831D0287B401C2873607AB7
-:1033100006287DD0A07A00287BD00020A072617A98
-:10332000142041439448A04B0A18566891681D46E2
-:10333000D2687C35DE67AA6069609C4D697E002991
-:1033400016D00226617A14228B4851430818407B1C
-:1033500006281BD203007B441B79DB189F440A1408
-:1033600012100E0CE87A0028C4D0C7E70020CDE781
-:103370000426E7E700200FE0B4200DE073200BE007
-:10338000322009E00A2007E0062005E0FF207FA1A7
-:10339000E23001F01EFE00202873697E022901D070
-:1033A000012910D12969009A09188A1A1202120AF1
-:1033B0003A2A08D90320687632390802000A2861BF
-:1033C000322028730AE0322808D2207A00280ED151
-:1033D000FEF782F8EFF72AFC012007E0207A0028A8
-:1033E00005D0FEF798F8EFF74AFC002020726149FB
-:1033F0000822487820700978012901D0032906D1D4
-:1034000001212171297B884201D9421A083201E049
-:1034100091E0A1E0A378002B00D0921C2179002933
-:1034200001D1002B5DD09446614A00990092019A27
-:10343000176852687F1A511A3F0209023F0A090AA7
-:10344000BC451BD85A4A974218D8009A914215D8C1
-:10345000297B884223D92B69421A9A1A1202120A2E
-:10346000101880190002000A2A616860002914D02F
-:10347000032028770006000E3ED14CE0002020718A
-:10348000A070297B002925D02869401880190002E6
-:10349000000A6860022028772EE00120E9E78142D7
-:1034A0000BD92A69511889190902090A696000288B
-:1034B00001D00420DDE70220DBE7002B03D133A19C
-:1034C0003C4801F086FD286980190002000A686006
-:1034D000002004E0296989190902090A696028772E
-:1034E00019E0287B00280FD02969081880190002EC
-:1034F000000A6860022028772869012381190022C8
-:103500001846F0F73BFB09E0286980190002000A21
-:103510006860002028770120F0F7FAFA607A142119
-:10352000484315490C22401882560123002069683F
-:10353000F0F724FB10E00120F0F7EAFA0020F0F7A2
-:10354000E7FAF0F7CBFA207A002805D0FDF7E3FF81
-:10355000EFF795FB00202072A078002804D0F0F748
-:10356000BCFB0020E070A0706078002827D00148E4
-:10357000C17821E012010020B81C0020701C00203E
-:1035800015010020B01B0020901C00207372635CAA
-:1035900072656D2E630000000D0600002906000014
-:1035A000A81C00203B060000B01C00201C1D0020B1
-:1035B000FFFF3F008D060000417081780170207987
-:1035C000002806D00020CE49E0700978002900D1FB
-:1035D0002071CC48017BC07A814203D0CA48407830
-:1035E000EFF7C4FA0120E07103B0F0BDF0B5C74CAD
-:1035F0000746607A83B0062804D16F20C4A1000179
-:1036000001F0E7FC607A1421C44E48438019007C25
-:10361000032803D0BEA1C24801F0DBFCC14DA8685D
-:10362000401C03D0BAA1C04801F0D3FC607A142139
-:10363000484381190C20085600216A4600911171F7
-:10364000C01901AA6946F0F763FB6A4604201056C8
-:103650000F2801DD012000E0002000994018696872
-:1036600040180102090AA9606079002804D00123EA
-:1036700000221846F0F782FA03B0F0BD70B5AC4CEA
-:10368000AA4A0B1AA34214D3451AA54211D3934256
-:1036900003D9101A43185B1C0BE0954204D9511A48
-:1036A0000818401C434204E099A1A24801F091FC93
-:1036B0000023184670BD10B50146012300220220E8
-:1036C000F0F75CFA10BD10B50220F0F721FA10BD3A
-:1036D00010B5F0F7ACFA10BDF0B58C4D0446E87AA1
-:1036E00083B0002803D18AA1934801F072FC642CB6
-:1036F0004DD3924A00210846121B884147D3904877
-:10370000417F007F814242D18E48007D00283ED11A
-:10371000687A1421814F4843824EC519306801AA46
-:1037200000196946F0F7F4FA6946042008560028A3
-:1037300002DD0098401C0090A96800986B680A1888
-:10374000D21A1202804B120A9A4220D8AA7C062A68
-:1037500008D014235A43D2195268511A0902090A8F
-:10376000814214D3B068401C05D00120F0F7D0F995
-:103770000020C043B060306800193060A86800992C
-:1037800040180002000A7061012003B0F0BD002063
-:1037900003B0F0BDF8B50646401EC4B214205F4920
-:1037A00060434518287C002804D1772058A10001E7
-:1037B00001F00FFC6248017F407F81420CD0634AD8
-:1037C00014234B439B181B7CB3420CD00A290CD00A
-:1037D000491CC9B28142F3D15A48017D002961D008
-:1037E000007CB0425ED10020F8BD0021F1E7052940
-:1037F00003D0062901D0072928D101212974C17AD3
-:103800000023027B8A4221D00246565CA64201D1A7
-:10381000012301E0002B04D00A2911D04E1C965D33
-:1038200056540A290ED0491C167BC9B28E42ECD1DF
-:10383000002B0BD0117B002906D0117B491E04E020
-:103840000026ECE70021EFE70A211173697C0029CB
-:103850002AD06F74C17A0023027B8A4224D0425C52
-:10386000A24201D1012301E0002B04D00A2912D089
-:103870004A1C825C42540A290FD0491C027BC9B2FF
-:103880008A42ECD1002B0FD0027B0146002A06D0E1
-:103890000A7B521E04E00022EBE70021EEE70A2239
-:1038A0000A7301E017480027297C01299FD16A7C0F
-:1038B000002A9CD10120F8BD70B505461420174A96
-:1038C0000521684380180F4C0174207B0A2811D011
-:1038D000207BE17A401C884203D10DA11C4801F0F5
-:1038E00078FB207B2554207B0A2807D0207B401CB6
-:1038F000207370BDE07A0028EFD0F2E70020F7E7F0
-:1039000012010020A81C0020100100203C1D0020F6
-:103910007372635C72656D2E63000000B81C00203A
-:10392000F10600001C1D0020F2060000FF7F841E2F
-:103930000020A1071407000033070000FF1FA107A4
-:10394000701C0020901C0020FFFF3F00B01B0020D7
-:103950000902000010B501462022094801F09CF937
-:1039600007490020C877084610BD06490120486174
-:103970000548064A0168914201D100210160704763
-:103980004C1D0020000500401C010020BEBAFECAEC
-:10399000064A10705170704704481C22017841712A
-:1039A00042700170704770477047704720010020D7
-:1039B00030B50346002002460DE09C5C2546303DB4
-:1039C0000A2D02D30020C04330BD0A256843303899
-:1039D0002018521CD2B28A42EFD330BD70B50D46CA
-:1039E000144608E00A2101F0D1F92A193031203AB1
-:1039F000641ED177E4B2002CF4D170BD10B5002361
-:103A000010E0040A00020443A0B2CC5C444020064B
-:103A1000000F60400407240C44402006C00C6040A6
-:103A20005B1C9BB29342ECD310BD10B520380C4602
-:103A3000030001F0BFFB33E0DBE41B1F23272C3125
-:103A4000373C41474D5054585C606D7165697478DE
-:103A50007C8084888C9094989C9FA2A6AAAEB2B8D1
-:103A6000BCC0C5CACFE9F0F3D3D7F800206800F096
-:103A7000DDF8D6E0206800F0E1F8D2E0206800F040
-:103A8000F5F8CEE0207840B200F092FAC9E0207854
-:103A900040B200F0B0FAC4E02078616840B200F0B3
-:103AA000C3FABEE0207840B200F0D3FAB9E0207843
-:103AB00040B200F0DEFAB4E02078217940B200F0A4
-:103AC000E9FAAEE02078616840B200F013FBA8E0AC
-:103AD00000F01FFBA5E0206800F023FBA1E02078A8
-:103AE00000F038FB9DE02068FDF7F5FD99E02068C7
-:103AF000FDF7F5FD95E021792068FDF7F7FD90E0F1
-:103B00002068FDF73FFC8CE02068FDF740FC88E072
-:103B10002078FDF740FC84E0FDF74EFC81E0207842
-:103B2000FDF750FC7DE02078FDF762FC79E020682D
-:103B3000FDF77BFC75E02068FDF77DFC71E02068F7
-:103B4000FDF77FFC6DE02068FDF780FC69E02068F0
-:103B5000FDF782FC65E02068FDF784FC61E02068E9
-:103B6000FDF785FC5DE00846EDF7F0FA59E0EFF768
-:103B700070F856E0EFF79DF853E02068EFF7A5F8EE
-:103B80004FE0206800F080F84BE0206800F082F8F9
-:103B900047E0206800F083F843E02078A26861687D
-:103BA00000F082F83DE0207800F089F839E02078D4
-:103BB00000F091F835E02078616800F098F830E086
-:103BC0002078616800F09FF82BE02179207800F0E0
-:103BD000D5FB26E02068FDF778FE22E02068FEF79E
-:103BE0004DF91EE02068FEF731F91AE0204607C8BB
-:103BF00000F0B9FC15E0206800F00CFD11E06168F0
-:103C0000206800F037FD0CE0206800F029FF08E094
-:103C100009E003E0FFE700F03BFF02E0206800F06E
-:103C200073FF206010BD0120086010BD00210170ED
-:103C3000084670470146002008707047EFF3108176
-:103C4000C907C90F72B60278012A01D0012200E02B
-:103C5000002201230370002900D162B6002A01D09E
-:103C600000207047012040037047E7E7EFF3108121
-:103C7000C907C90F72B600220270002900D162B6CE
-:103C800000207047F2E7000038490968C9B20160B6
-:103C9000002070473549C0B2486000207047334962
-:103CA000C0B2886000207047082801D330487047B0
-:103CB000C3002E4818180161426100207047022895
-:103CC00002D32B48401C70472A4A0121C0008018AB
-:103CD000016000207047022802D32548401C70472D
-:103CE000244A0121C000801841600020704702284A
-:103CF00002D31F48401C70471F4A8000C9B2801879
-:103D0000016000207047022802D31948401C704708
-:103D1000194A800080180068C0B20860002070470F
-:103D200010B5FF20114AC043906008200021C30055
-:103D30009B1819615961401C1028F8D300200E4AC5
-:103D400005E0022803D383009B18196004E0830078
-:103D50009B181C68E4B21C60401C0428F1D310BD01
-:103D6000FF200249C04388607047000000F5014011
-:103D70000820000000F0014000F8014010B572B6C4
-:103D800000F0DEF800280BD0EDF78AFAFEF783F991
-:103D900000F0BBFA6F490020C86288626E49086073
-:103DA00062B6002010BDF3B5002501200007C06AEF
-:103DB00081B0C0430006000E04D168480068401C72
-:103DC00000D1012572B600F0BBF8002801D062B620
-:103DD00087E0EDF7D1F9EDF767FA614C614A002110
-:103DE0002368CB40DB071FD00346CB40DB0718D14D
-:103DF0004BB2002B07DA1E07360F083EB608B60096
-:103E0000B618F66904E09E08574FB600F6193668F2
-:103E10009B07DB0EDE4033069B0F012B04D0032BE8
-:103E200002D062B65148FEBD491C2029D8D3019C5E
-:103E300001204F49230001F0BDF914222424242439
-:103E4000242424240B0D1012142016181A1C1E2FC3
-:103E5000002400E00124C86314E00224FBE70324EB
-:103E6000F9E70424F7E70824F5E70924F3E70A242F
-:103E7000F1E70B24EFE70C24EDE70524EBE707243B
-:103E800000E00624D06901210002000AC9070843A6
-:103E9000D061002D04D009E062B601200003FEBD10
-:103EA0002C4D3448E862EDF7FFF9A8622A49324800
-:103EB0000860324902980860EDF7F6F9214600F0F3
-:103EC0000BFAFEF7AEF800F00DFC00F087FA01984F
-:103ED000EDF7B4F9040062B603D0FFF74FFF2046B8
-:103EE000FEBD0020FEBD10B5044600F029F80028F4
-:103EF00000D001202070002010BD21490860002062
-:103F0000704710B50C46102808D011280BD0122885
-:103F10000CD013280ED00120086010BD6168206805
-:103F2000FFF741FF0AE0FFF729FF07E02068FFF7EE
-:103F3000DAFF03E01249206808600020206010BD0D
-:103F400005480D490068884201D1012070470020D2
-:103F500070470000000500401C0100200010001008
-:103F600000E100E000ED00E000E400E001100000EE
-:103F70004000004000200000BEBAFECA2801002018
-:103F8000040000208107C90E002808DA0007000F8E
-:103F900008388008814A80008018C06904E08008E1
-:103FA0007F4A800080180068C8400006800F704774
-:103FB00010B5044600F0DBF8002813D02046FFF7C8
-:103FC000E1FFC0B200F0E1F800280DD07549E2062B
-:103FD0000B78D20E01209040002B08D04A68104385
-:103FE000486006E0704810BD6F48401C10BD6F4926
-:103FF0000860002010BD10B5044600F0B8F8002895
-:104000000BD06849E2060B78D20E01209040002BBD
-:1040100005D04A6882434A6004E0634810BD6349A2
-:1040200080310860002010BD70B50D46044600F0D8
-:104030009EF800280BD05E480068E206D20E0121EF
-:104040009140084000D001202860002070BD5648F3
-:1040500070BD10B5044600F08AF8002807D0E106CC
-:10406000C90E0120884052490860002010BD4E480A
-:1040700010BD10B5044600F07AF8002808D0E1061B
-:10408000C90E012088404A4980310860002010BDD7
-:10409000454810BD70B50D46044600F068F800288C
-:1040A00019D0284600F071F8002816D0A007C20EDB
-:1040B000FF209040A907090E9140002C10DA22073A
-:1040C000120F083A9308354A9B009B18DA6982431D
-:1040D0000A43DA610CE0344870BD3348401C70BDBF
-:1040E000A3082F4A9B009B181A6882430A431A6050
-:1040F000002070BD70B50C46054600F038F8002869
-:1041000005D02846FFF73EFF2070002070BD2648EE
-:1041100070BDBFF34F8F21492648C860BFF34F8F52
-:10412000FEE770B51F4C05462178012000290ED10D
-:10413000207072B600F0F8F81C4E8036316881436A
-:10414000616000F0F1F8C043306062B60020287072
-:10415000002070BD13490A78002A06D0002804D137
-:10416000124A48681060002008700020704710B59F
-:104170000446202805DA00F0D7F80121A1400842C2
-:1041800001D0002010BD012010BD012803D003285C
-:1041900001D00020704701207047000000ED00E0D2
-:1041A00000E400E02C0100200120000000E100E01C
-:1041B00000E200E00400FA05F8B504468007002597
-:1041C0000126002804DA5A48C563C66302208443E6
-:1041D000E00404D55748C563C66380148443600077
-:1041E00003D55548456080058443E00504D5534810
-:1041F000C563C66380158443A00404D55048C563D5
-:10420000C6634014844360042704C00FF90F88423A
-:1042100003D04CA1612000F0DCFEB80F0AD04E495B
-:10422000CD634E48C563C563CE63C663C6630320D2
-:104230008003844320050AD5494FFD632F20ECF706
-:10424000B3FFFE632F20ECF7AFFFF8148443002C7C
-:1042500003DAFFF765FD640064084248044203D0B6
-:1042600038A1902000F0B5FEF8BDF0B500210A4657
-:10427000FF230446CC40E4072AD04CB2E606F60EF3
-:104280000125B540384E3560384E3560002C11DAC6
-:1042900025072D0F083DAE08354DB6007619F56996
-:1042A000A407E70E1C46BC40A5431446BC4025436A
-:1042B000F5610DE0A6082F4DB60076193568A40704
-:1042C000E70E1C46BC40A5431446BC402543356060
-:1042D000491C2029CDD3F0BD70B5274C0D46206078
-:1042E000FFF76AFF2068FFF7C0FF2846EEF77AFD68
-:1042F000FDF7D6FAFDF782F9FFF712FDFDF7D5F8C5
-:10430000EEF7FEFB00F06AF870BD10B51A4C20689D
-:10431000FFF752FF2068FFF7A8FFFFF701FDEEF758
-:10432000E6FD0020206010BD1348006870470000C3
-:10433000C01F0040C0CF004000E50140C08F0040DA
-:10434000C0DF00407372635C736F635F636F6E66A0
-:1043500069672E6300000000C0EF0040C0FF00400E
-:10436000C0BF0040FEFF0FFC80E100E080E200E003
-:1043700000ED00E000E400E03401002070B500240E
-:1043800002460D4620462146002A1ED0012A04D0AE
-:10439000022A04D0032A1ED103E0012002E00220F9
-:1043A00013E003202B0000F005FF07160507090B9B
-:1043B0000D0F1600012108E0022106E0032104E0B0
-:1043C000042102E0052100E00621FDF7D9FE0028C6
-:1043D00001D0204670BD0724FBE70000B148002152
-:1043E00001708170704770B5AF4D01236B60AF4BAA
-:1043F0001C68002CFCD0002407E00E6806601E68D4
-:10440000002EFCD0001D091D641C9442F5D3002031
-:10441000686018680028FCD070BD70B5A14C0D46CE
-:104420006178884203D0A2A16C2000F0D2FD2B005D
-:1044300000F0C0FE094F0625254F4F4F4F464F0055
-:104440002078022803D09AA1702000F0C2FD03203A
-:104450002070A078022802D0012804D008E0A068CB
-:1044600000F0CEFB04E02269E168A068FFF7BBFF23
-:104470000020A070FDF724FE0420207070BDFDF721
-:10448000D4FE01466068FFF7F9F805462078022857
-:1044900003D087A1842000F09CFD894A89498A487D
-:1044A000954206D8401BC86086496078FEF737FB06
-:1044B00070BD854202D802224A71F3E7032003E06F
-:1044C000A0780028FAD10220FDF704FD00F0E0F802
-:1044D00070BD77A1AD2000F07CFD70BD70B50546C4
-:1044E000FDF7A3FE6F4C60602078012803D070A117
-:1044F000B42000F06EFD73490220087000220A719A
-:104500008D6003224A71704ACA6020706078FEF79D
-:1045100006FB70BD10B5634CA078002802D120784E
-:10452000002801D0112010BD6848FDF710FE607012
-:104530006078002803D001202070002010BD0320E7
-:1045400010BD10B50124020B64040121604BA04290
-:1045500002D29140186802E0203A58689140084021
-:1045600000D0012010BDF8B50E46910005464F1948
-:1045700014463F1F009100F054FB009980028919F6
-:10458000091FB14201D2012200E00022002C03D019
-:10459000FF2101318C4201D90920F8BD4D498D42DE
-:1045A00019D3AF4217D3854205D2874203D228469A
-:1045B0003043800701D01020F8BD8E420BD3002A73
-:1045C00009D12846FFF7BDFF002804D13846FFF780
-:1045D000B8FF002801D00F20F8BD3F483F490068D0
-:1045E000884205D0224631462846FFF7FCFE0FE000
-:1045F000FFF790FF0028EFD12A480121C6608560AF
-:10460000046181702046312148431430FFF766FF72
-:104610000020F8BD10B504462E48800A84420BD312
-:1046200000F0FFFAA04201D8102010BDA0020446FD
-:10463000FFF787FF002801D00F2010BD264827492B
-:104640000068884203D0204600F0DAFA0AE0FFF75B
-:1046500061FF0028F1D11348022184608170204855
-:10466000FFF73CFF002010BD1A48010B01208840D5
-:10467000401E704700B50B460246FFF7F5FF10429B
-:1046800001D00F2000BD124802604360002000BD31
-:1046900010B5044C6078FDF7AEFD00202070A070CE
-:1046A00010BD00003801002000E5014000E4014099
-:1046B0007372635C736F635F666C6173682E630013
-:1046C000307500006C1D0020D0FB01001B44010070
-:1046D00000060040006001001C010020BEBAFECAB6
-:1046E00010540000F74805218170002101704170CD
-:1046F000C1708160704710B5F3490A78022A07D06B
-:10470000CA681018C860C8689638FEF76FFF10BDF9
-:104710008A68101888608868F6E70378EB49EC4AE5
-:10472000002B02D0012B10D014E00379002B01D014
-:10473000012B0FD14379002B01D0012B0AD18368C3
-:10474000643B8B4206D2C06810E00379002B03D093
-:10475000012B01D0002070474379002B01D0012BA1
-:10476000F8D1C368643B8B42F4D280689042F1D8A0
-:1047700001207047F8B504460226FEF7BDFB00682D
-:10478000002803D0D3A1BE2000F023FC0127CD4D8B
-:10479000002C08D02078002817D0012805D0022846
-:1047A00011D0032813D02F710DE06068C82808D3FA
-:1047B000FEF792FF002804D06068FFF79CFF0126F7
-:1047C00003E0002601E000F0F9F93046F8BD287852
-:1047D0000028F8D16068FFF7A0FF0028E3D06068E8
-:1047E0000078002826D0A878042803D0B9A1F820A2
-:1047F00000F0EFFBB44F00203870606800790128AA
-:1048000000D00020387160684079002837D003203C
-:10481000787160688168E868FDF79EFFB86060683D
-:10482000C0689630F8600320A870A749E878FEF7C2
-:1048300076F9C8E7A4480221017061680979012965
-:1048400019D00021017161684979002915D003212F
-:10485000417161688968963181606168C968C16029
-:10486000C068984C14346060FDF7DFFC20606F7006
-:104870000220A870A7E70321E4E70221E8E702206D
-:10488000C6E7F8B58F4C0D46E178884204D0FF208A
-:1048900090A11A3000F09DFB28468A4F0025012682
-:1048A0001437030000F086FC090612375A7C8D97F6
-:1048B000C4A0C400A078032807D0A078022804D0A0
-:1048C000FF2084A11E3000F084FBF8BDA0780328EF
-:1048D00007D0A078022804D0FF207EA1223000F06B
-:1048E00078FB0420A07025712078002810D1FFF7F4
-:1048F00002FFE078FDF74FFFE0607D49886A7D4A5E
-:10490000024022617B4AD24310408862002050E07E
-:1049100000F054F9F8BDA078032807D0A078022849
-:1049200004D0FF206BA1453000F053FB2078002815
-:1049300002D000F04FF9F8BDA07803281FD1042061
-:104940002AE0091A6048C1600146E078FEF7E7F8FE
-:10495000F8BD0420FDF7BEFAA570F8BDA0780328C5
-:1049600007D0A078022804D0FF205AA1663000F0BA
-:1049700030FB20780028DCD1A07803280BD0FDF78D
-:1049800054FC01463868FEF779FE0028E1DB7968BF
-:104990008142DEDBD5E70520FDF79CFAA670F8BD65
-:1049A000A078042804D0FF204AA1873000F011FB32
-:1049B0000220A1688847FFF7DDFEFF260546C036C6
-:1049C00042E0A078042804D0FF2042A18C3000F0FF
-:1049D00000FB0120EDE7A078042899D0FF203DA13D
-:1049E000913000F0F6FA93E7A07804280AD06078B6
-:1049F000002802D0A078022804D0FF2035A19630EC
-:104A000000F0E7FA2078002893D12079002804D01C
-:104A10000620FDF75FFA2571C0E76078002805D011
-:104A20002949E078FEF77BF86570F8BD0720B3E709
-:104A3000FF2028A1B13046E7002D0AD0012D06D075
-:104A400024A1304600F0C5FA022DF5D1F8BD0420AE
-:104A500000E00320A1688847FFF78CFE0546F3E7D6
-:104A600070B5050005D0174CA078052803D011209B
-:104A700070BD102070BD2048FDF769FBE070E07844
-:104A8000002803D0A5600020A07070BD032070BD79
-:104A900010B50C480178002901D0112010BD817893
-:104AA00005292BD0817801292AD08178002927D0A7
-:104AB000012101708178012922D0807800281FD03F
-:104AC00020E000004C0100207C1D00203D860100FC
-:104AD000FF1FA1077372635C736F635F7261646928
-:104AE0006F5F74696D65736C6F742E6300000000F6
-:104AF0000005004002810080834801000F2010BDA6
-:104B000000F068F8002010BDF8B5394E0446B078C2
-:104B1000002801D001280DD1002C0DD02046FFF730
-:104B2000FCFD00280AD02078324D002808D0B0784B
-:104B3000012823D00F20F8BD1020F8BD0720F8BDB4
-:104B400002272F702079012814D000202871607965
-:104B5000002811D003206871A0689630A860E06832
-:104B6000E860E868224C14346060FDF75EFB20606A
-:104B7000B77019E00320E9E70220ECE70020287075
-:104B80002079012816D0002028716079002813D0E0
-:104B900003206871A168F068FDF7DEFDA860E06899
-:104BA0009630E8600320B0701249F078FDF7B7FF47
-:104BB0000020F8BD0320E7E70220EAE710B50E4821
-:104BC000816A0E4A11400A4A126911438162FDF757
-:104BD00077FA10BD10B5064CE078FDF70CFB082005
-:104BE000FDF778F90520A07000202070607010BDDE
-:104BF0004C0100207C1D002000050040FD7EFF7F51
-:104C00000A4A022151600A490B68002BFCD09060CF
-:104C100008680028FCD00020506008680028FCD0FC
-:104C200070470120000740697047000000E501401F
-:104C300000E4014070477047704770477047034673
-:104C400010B50B439B070FD1042A0DD308C810C918
-:104C5000121FA342F8D018BA21BA884201D9012004
-:104C600010BD0020C04310BD002A03D0D30703D0DD
-:104C7000521C07E0002010BD03780C78401C491C32
-:104C80001B1B07D103780C78401C491C1B1B01D14E
-:104C9000921EF1D1184610BDF8B5042A2CD3830713
-:104CA00012D00B78491C0370401C521E83070BD096
-:104CB0000B78491C0370401C521E830704D00B78EC
-:104CC000491C0370401C521E8B079B0F05D0C91A4C
-:104CD000DF002023DE1B08C90AE0ECF775FAF8BDF7
-:104CE0001D4608C9FD401C46B4402C4310C0121F8D
-:104CF000042AF5D2F308C91A521EF0D40B78491CC5
-:104D00000370401C521EEAD40B78491C0370401CEF
-:104D1000521EE4D409780170F8BD01E004C0091FF7
-:104D20000429FBD28B0701D50280801CC90700D063
-:104D30000270704700290BD0C30702D00270401CDC
-:104D4000491E022904D3830702D50280801C891ED4
-:104D5000E3E70022EEE70022DFE70378C278194696
-:104D6000437812061B0219438378C0781B04194349
-:104D700011430902090A000608437047020A087035
-:104D80004A70020C8A70020ECA7070470022030932
-:104D90008B4273D3030A8B4258D3030B8B423CD311
-:104DA000030C8B4221D312E003460B437FD4002235
-:104DB00043088B4274D303098B425FD3030A8B42AF
-:104DC00044D3030B8B4228D3030C8B420DD3FF2219
-:104DD000090212BA030C8B4202D31212090265D0E7
-:104DE000030B8B4219D300E0090AC30B8B4201D39A
-:104DF000CB03C01A5241830B8B4201D38B03C01AE1
-:104E00005241430B8B4201D34B03C01A5241030B57
-:104E10008B4201D30B03C01A5241C30A8B4201D308
-:104E2000CB02C01A5241830A8B4201D38B02C01AB3
-:104E30005241430A8B4201D34B02C01A5241030A2A
-:104E40008B4201D30B02C01A5241CDD2C3098B420F
-:104E500001D3CB01C01A524183098B4201D38B018C
-:104E6000C01A524143098B4201D34B01C01A52412F
-:104E700003098B4201D30B01C01A5241C3088B4274
-:104E800001D3CB00C01A524183088B4201D38B005F
-:104E9000C01A524143088B4201D34B00C01A524101
-:104EA000411A00D201465241104670475DE0CA0FD8
-:104EB00000D04942031000D34042534000229C4698
-:104EC00003098B422DD3030A8B4212D3FC228901A2
-:104ED00012BA030A8B420CD3890192118B4208D378
-:104EE000890192118B4204D389013AD0921100E0DA
-:104EF0008909C3098B4201D3CB01C01A52418309EE
-:104F00008B4201D38B01C01A524143098B4201D31A
-:104F10004B01C01A524103098B4201D30B01C01A45
-:104F20005241C3088B4201D3CB00C01A52418308BF
-:104F30008B4201D38B00C01A5241D9D243088B4215
-:104F400001D34B00C01A5241411A00D201466346B8
-:104F500052415B10104601D34042002B00D549421C
-:104F6000704763465B1000D3404201B50020C04645
-:104F7000C04602BD704770477047704710B500F0DB
-:104F800059F810BD30B58C180278401C13071B0F60
-:104F900001D10378401C120906D10278401C03E0BD
-:104FA0000578401C0D70491C5B1EF9D101E00B70A7
-:104FB000491C521EFBD1A142E6D3002030BD0000A7
-:104FC00001231B68134B1860134B1960134B1A60B5
-:104FD0007047134A134B13607246053AF0E7114AC3
-:104FE0000F4B1B689A420ED10D4B002018600198A0
-:104FF0000D4B04B598470CBC9E460246029800999A
-:105000000A4B1B68184706980599094B1B68DB6813
-:105010001847000070010020740100207801002072
-:1050200068010020EFBEADDE5539010028010020E7
-:10503000040000201D481E497047FFF7FBFFECF7F6
-:105040007DF800BD01200007C06AC0B2FF2804D16E
-:10505000184819490968884202D01848184901605F
-:10506000184819490968884203D1184A13605B68D7
-:10507000184700BD20BFFDE7124813490968884260
-:105080000ED1134B18680B498842F3D080F308887F
-:105090001049884204DD1048026802210A43026078
-:1050A0000E4880470E4880470E480047901D00205C
-:1050B000901D0020FFFFFFFF001000102C05004096
-:1050C0000800000000100000000000200400002084
-:1050D0000060010000200020240500406B39010021
-:1050E00045500100C14F01001348704502D1EFF354
-:1050F000098101E0EFF308818869023800781028FF
-:1051000014DB202810DB23280BDB0C4A12680C4B25
-:105110009A4203D1602804DB0A4A10470220086043
-:105120007047094A10470000084A1047084A1268A9
-:105130002C32126810470000FDFFFFFF1C01002009
-:10514000BEBAFECAAD1200002B3A0100033F0100B7
-:10515000040000200D4B0E4908470E4B0C49084730
-:105160000D4B0B4908470D4B094908470C4B0849A3
-:1051700008470C4B064908470B4B054908470B4BA2
-:10518000034908470A4B024908470000052E000062
-:10519000E13D0000BD2F0000873C0000353C0000D1
-:1051A000E9390000B912000063170000493D000012
-:1051B000AB2B000030B47446641E2578641CAB42EF
-:1051C00000D21D46635D5B00E31830BC1847000049
-:1051D00002490020C861203908727047E0030020AE
-:1051E00000020207FFFFFFFF0000FFFF01020408AB
-:1051F00010204080555555D6BE898E00F401FA0026
-:10520000960064004B0032001E00140001000300F1
-:10521000000001000000000000000000000000008D
-:1052200000000000870000000000000000000000F7
-:105230000000000000000203040500000E0F000043
-:10524000705201000800002010000000041100004E
-:10525000805201001800002064010000844F01000A
-:10526000A45201007C010020141C00002011000049
-:105270000249022208681042FCD0704700E200E0B8
-:10528000E1078F56FF9900CD29022B01360100015D
-:1052900000EC3720FB349B5F8074800010027001AB
-:0452A000E4C54F0111
-:00000001FF
--- a/TARGET_NRF51822/TARGET_NORDIC/TARGET_NRF51822/PeripheralNames.h	Fri Jul 25 09:46:51 2014 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,58 +0,0 @@
-/* mbed Microcontroller Library
- * Copyright (c) 2013 Nordic Semiconductor
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-#ifndef MBED_PERIPHERALNAMES_H
-#define MBED_PERIPHERALNAMES_H
-
-#include "cmsis.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define STDIO_UART_TX     TX_PIN_NUMBER
-#define STDIO_UART_RX     RX_PIN_NUMBER
-#define STDIO_UART        UART_0
-
-typedef enum {
-    UART_0 = (int)NRF_UART0_BASE
-} UARTName;
-
-
-typedef enum {
-    SPI_0 = (int)NRF_SPI0_BASE,
-    SPI_1 = (int)NRF_SPI1_BASE,
-    SPIS = (int)NRF_SPIS1_BASE
-} SPIName;
-
-typedef enum {
-    PWM_1 = 0,
-    PWM_2
-} PWMName;
-
-typedef enum {
-    I2C_0 = (int)NRF_TWI0_BASE,
-    I2C_1 = (int)NRF_TWI1_BASE
-} I2CName;
-
-typedef enum {
-    ADC0_0 = (int)NRF_ADC_BASE
-} ADCName;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
--- a/TARGET_NRF51822/TARGET_NORDIC/TARGET_NRF51822/PortNames.h	Fri Jul 25 09:46:51 2014 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,30 +0,0 @@
-/* mbed Microcontroller Library
- * Copyright (c) 2013 Nordic Semiconductor
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-#ifndef MBED_PORTNAMES_H
-#define MBED_PORTNAMES_H
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-typedef enum {
-    Port0 = 0 //GPIO pins 0-31
-} PortName;
-
-#ifdef __cplusplus
-}
-#endif
-#endif
--- a/TARGET_NRF51822/TARGET_NORDIC/TARGET_NRF51822/TARGET_NRF51822_MKIT/PinNames.h	Fri Jul 25 09:46:51 2014 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,153 +0,0 @@
-/* mbed Microcontroller Library
- * Copyright (c) 2013 Nordic Semiconductor
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-#ifndef MBED_PINNAMES_H
-#define MBED_PINNAMES_H
-
-#include "cmsis.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-typedef enum {
-    PIN_INPUT,
-    PIN_OUTPUT
-} PinDirection;
-
-#define PORT_SHIFT  3
-
-typedef enum {
-    p0  = 0,
-    p1  = 1,
-    p2  = 2,
-    p3  = 3,
-    p4  = 4,
-    p5  = 5,
-    p6  = 6,
-    p7  = 7,
-    p8  = 8,
-    p9  = 9,
-    p10 = 10,
-    p11 = 11,
-    p12 = 12,
-    p13 = 13,
-    p14 = 14,
-    p15 = 15,
-    p16 = 16,
-    p17 = 17,
-    p18 = 18,
-    p19 = 19,
-    p20 = 20,
-    p21 = 21,
-    p22 = 22,
-    p23 = 23,
-    p24 = 24,
-    p25 = 25,
-    p26 = 26,
-    p27 = 27,
-    p28 = 28,
-    p29 = 29,
-    p30 = 30,
-//    p31=31,    
-    
-    P0_0  = p0,
-    P0_1  = p1,
-    P0_2  = p2,
-    P0_3  = p3,
-    P0_4  = p4,
-    P0_5  = p5,
-    P0_6  = p6,
-    P0_7  = p7,
-    
-    P0_8  = p8,
-    P0_9  = p9,
-    P0_10 = p10,
-    P0_11 = p11,
-    P0_12 = p12,
-    P0_13 = p13,
-    P0_14 = p14,
-    P0_15 = p15,
-    
-    P0_16 = p16,
-    P0_17 = p17,
-    P0_18 = p18,
-    P0_19 = p19,
-    P0_20 = p20,
-    P0_21 = p21,
-    P0_22 = p22,
-    P0_23 = p23,
-    
-    P0_24 = p24,
-    P0_25 = p25,
-    P0_26 = p26,
-    P0_27 = p27,
-    P0_28 = p28,
-    P0_29 = p29,
-    P0_30 = p30,
-    
-    LED1    = p18,
-    LED2    = p19,
-    LED3    = p18,
-    LED4    = p19,
-    
-    BUTTON1 = p16,
-    BUTTON2 = p17,
-        
-    RX_PIN_NUMBER = p11,
-    TX_PIN_NUMBER = p9,
-    CTS_PIN_NUMBER = p10,
-    RTS_PIN_NUMBER = p8,
-
-    // mBed interface Pins
-    USBTX = TX_PIN_NUMBER,
-    USBRX = RX_PIN_NUMBER,
-        
-    SPI_PSELMOSI0 = p20,
-    SPI_PSELMISO0 = p22,
-    SPI_PSELSS0 = p24,
-    SPI_PSELSCK0 = p25,
-        
-    SPI_PSELMOSI1 = p12,
-    SPI_PSELMISO1 = p13,
-    SPI_PSELSS1 = p14,
-    SPI_PSELSCK1 = p15,
-    
-    SPIS_PSELMOSI = p12,
-    SPIS_PSELMISO = p13,
-    SPIS_PSELSS = p14,    
-    SPIS_PSELSCK = p15,
-
-    I2C_SDA0 = p22,
-    I2C_SCL0 = p20,
-
-    I2C_SDA1 = p13,
-    I2C_SCL1 = p15,
-    // Not connected
-    NC = (int)0xFFFFFFFF
-} PinName;
-
-typedef enum {
-    PullNone = 0,
-    PullDown = 1,
-    PullUp = 3,
-    PullDefault = PullUp
-} PinMode;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
--- a/TARGET_NRF51822/TARGET_NORDIC/TARGET_NRF51822/TARGET_NRF51822_MKIT/device.h	Fri Jul 25 09:46:51 2014 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,57 +0,0 @@
-/* mbed Microcontroller Library
- * Copyright (c) 2006-2013 ARM Limited
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-#ifndef MBED_DEVICE_H
-#define MBED_DEVICE_H
-
-#define DEVICE_PORTIN           1
-#define DEVICE_PORTOUT          1
-#define DEVICE_PORTINOUT        1
-
-#define DEVICE_INTERRUPTIN      1
-
-#define DEVICE_ANALOGIN         1
-#define DEVICE_ANALOGOUT        0
-
-#define DEVICE_SERIAL           1
-
-#define DEVICE_I2C              1
-#define DEVICE_I2CSLAVE         0
-
-#define DEVICE_SPI              1
-#define DEVICE_SPISLAVE         1
-
-#define DEVICE_CAN              0
-
-#define DEVICE_RTC              0
-
-#define DEVICE_ETHERNET         0
-
-#define DEVICE_PWMOUT           1
-
-#define DEVICE_SEMIHOST         0
-#define DEVICE_LOCALFILESYSTEM  0
-
-#define DEVICE_SLEEP            1
-
-#define DEVICE_DEBUG_AWARENESS  0
-
-#define DEVICE_STDIO_MESSAGES   0
-
-#define DEVICE_ERROR_PATTERN    1
-
-#include "objects.h"
-
-#endif
--- a/TARGET_NRF51822/TARGET_NORDIC/TARGET_NRF51822/gpio_object.h	Fri Jul 25 09:46:51 2014 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,52 +0,0 @@
-/* mbed Microcontroller Library
- * Copyright (c) 2006-2013 ARM Limited
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-#ifndef MBED_GPIO_OBJECT_H
-#define MBED_GPIO_OBJECT_H
-
-#include "mbed_assert.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-typedef struct {
-    PinName  pin;
-    uint32_t mask;
-
-    __IO uint32_t *reg_dir;
-    __IO uint32_t *reg_set;
-    __IO uint32_t *reg_clr;
-    __I  uint32_t *reg_in;
-} gpio_t;
-
-static inline void gpio_write(gpio_t *obj, int value) {
-    MBED_ASSERT(obj->pin != (PinName)NC);
-    if (value)
-        *obj->reg_set = obj->mask;
-    else
-        *obj->reg_clr = obj->mask;
-}
-
-static inline int gpio_read(gpio_t *obj) {
-    MBED_ASSERT(obj->pin != (PinName)NC);
-    return ((*obj->reg_in & obj->mask) ? 1 : 0);
-}
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
--- a/TARGET_NRF51822/TARGET_NORDIC/TARGET_NRF51822/objects.h	Fri Jul 25 09:46:51 2014 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,73 +0,0 @@
-/* mbed Microcontroller Library
- * Copyright (c) 2013 Nordic Semiconductor
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-#ifndef MBED_OBJECTS_H
-#define MBED_OBJECTS_H
-
-#include "cmsis.h"
-#include "PortNames.h"
-#include "PeripheralNames.h"
-#include "PinNames.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-struct serial_s {
-    NRF_UART_Type *uart;
-    int index;
-};
-
-struct spi_s {
-    NRF_SPI_Type *spi;
-    NRF_SPIS_Type *spis;
-};
-
-struct port_s {
-    __IO uint32_t *reg_cnf;
-    __IO uint32_t *reg_out;
-    __I  uint32_t *reg_in;
-    PortName port;
-    uint32_t mask;
-};
-
-struct pwmout_s {
-    PWMName pwm;
-    PinName pin;
-};
-
-struct i2c_s {
-    NRF_TWI_Type *i2c;
-    PinName sda;
-    PinName scl;
-    int freq;
-};
-
-struct analogin_s {
-    ADCName adc;
-    uint8_t adc_pin;
-};
-
-struct gpio_irq_s {
-    uint32_t ch;
-};
-
-#include "gpio_object.h"
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
Binary file TARGET_NRF51822/TOOLCHAIN_ARM_STD/board.o has changed
Binary file TARGET_NRF51822/TOOLCHAIN_ARM_STD/cmsis_nvic.o has changed
Binary file TARGET_NRF51822/TOOLCHAIN_ARM_STD/mbed.ar has changed
Binary file TARGET_NRF51822/TOOLCHAIN_ARM_STD/retarget.o has changed
Binary file TARGET_NRF51822/TOOLCHAIN_ARM_STD/startup_nRF51822.o has changed
Binary file TARGET_NRF51822/TOOLCHAIN_ARM_STD/sys.o has changed
Binary file TARGET_NRF51822/TOOLCHAIN_ARM_STD/system_nrf51822.o has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TARGET_NRF51822/TOOLCHAIN_GCC_ARM/NRF51822.ld	Fri Aug 15 15:28:31 2014 +0100
@@ -0,0 +1,151 @@
+/* Linker script to configure memory regions. */
+
+MEMORY
+{
+  FLASH (rx) : ORIGIN = 0x00016000, LENGTH = 0x2A000
+  RAM (rwx) :  ORIGIN = 0x20002000, LENGTH = 0x2000
+}
+
+OUTPUT_FORMAT ("elf32-littlearm", "elf32-bigarm", "elf32-littlearm")
+
+/* 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
+ */
+ENTRY(Reset_Handler)
+
+SECTIONS
+{
+	.text :
+	{
+		KEEP(*(.Vectors))
+		*(.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*))
+	} > FLASH
+
+
+	.ARM.extab :
+	{
+		*(.ARM.extab* .gnu.linkonce.armextab.*)
+	} > FLASH
+
+	__exidx_start = .;
+	.ARM.exidx :
+	{
+		*(.ARM.exidx* .gnu.linkonce.armexidx.*)
+	} > FLASH
+	__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 = .);
+
+		*(.jcr)
+		. = ALIGN(4);
+		/* All data end */
+		__data_end__ = .;
+
+	} > RAM
+
+	.bss :
+	{
+		. = ALIGN(4);
+		__bss_start__ = .;
+		*(.bss*)
+		*(COMMON)
+		. = ALIGN(4);
+		__bss_end__ = .;
+	} > RAM
+
+	.heap (COPY):
+	{
+		__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 (COPY):
+	{
+		*(.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")
+}
Binary file TARGET_NRF51822/TOOLCHAIN_GCC_ARM/board.o has changed
Binary file TARGET_NRF51822/TOOLCHAIN_GCC_ARM/cmsis_nvic.o has changed
Binary file TARGET_NRF51822/TOOLCHAIN_GCC_ARM/libmbed.a has changed
Binary file TARGET_NRF51822/TOOLCHAIN_GCC_ARM/retarget.o has changed
Binary file TARGET_NRF51822/TOOLCHAIN_GCC_ARM/startup_NRF51822.o has changed
Binary file TARGET_NRF51822/TOOLCHAIN_GCC_ARM/system_nrf51822.o has changed
Binary file TARGET_NUCLEO_F030R8/TOOLCHAIN_ARM_MICRO/board.o has changed
Binary file TARGET_NUCLEO_F030R8/TOOLCHAIN_ARM_MICRO/cmsis_nvic.o has changed
Binary file TARGET_NUCLEO_F030R8/TOOLCHAIN_ARM_MICRO/mbed.ar has changed
Binary file TARGET_NUCLEO_F030R8/TOOLCHAIN_ARM_MICRO/mbed_overrides.o has changed
Binary file TARGET_NUCLEO_F030R8/TOOLCHAIN_ARM_MICRO/retarget.o has changed
Binary file TARGET_NUCLEO_F030R8/TOOLCHAIN_ARM_MICRO/stm32f0xx_adc.o has changed
Binary file TARGET_NUCLEO_F030R8/TOOLCHAIN_ARM_MICRO/stm32f0xx_can.o has changed
Binary file TARGET_NUCLEO_F030R8/TOOLCHAIN_ARM_MICRO/stm32f0xx_cec.o has changed
Binary file TARGET_NUCLEO_F030R8/TOOLCHAIN_ARM_MICRO/stm32f0xx_comp.o has changed
Binary file TARGET_NUCLEO_F030R8/TOOLCHAIN_ARM_MICRO/stm32f0xx_crc.o has changed
Binary file TARGET_NUCLEO_F030R8/TOOLCHAIN_ARM_MICRO/stm32f0xx_crs.o has changed
Binary file TARGET_NUCLEO_F030R8/TOOLCHAIN_ARM_MICRO/stm32f0xx_dac.o has changed
Binary file TARGET_NUCLEO_F030R8/TOOLCHAIN_ARM_MICRO/stm32f0xx_dbgmcu.o has changed
Binary file TARGET_NUCLEO_F030R8/TOOLCHAIN_ARM_MICRO/stm32f0xx_dma.o has changed
Binary file TARGET_NUCLEO_F030R8/TOOLCHAIN_ARM_MICRO/stm32f0xx_exti.o has changed
Binary file TARGET_NUCLEO_F030R8/TOOLCHAIN_ARM_MICRO/stm32f0xx_flash.o has changed
Binary file TARGET_NUCLEO_F030R8/TOOLCHAIN_ARM_MICRO/stm32f0xx_gpio.o has changed
Binary file TARGET_NUCLEO_F030R8/TOOLCHAIN_ARM_MICRO/stm32f0xx_i2c.o has changed
Binary file TARGET_NUCLEO_F030R8/TOOLCHAIN_ARM_MICRO/stm32f0xx_iwdg.o has changed
Binary file TARGET_NUCLEO_F030R8/TOOLCHAIN_ARM_MICRO/stm32f0xx_misc.o has changed
Binary file TARGET_NUCLEO_F030R8/TOOLCHAIN_ARM_MICRO/stm32f0xx_pwr.o has changed
Binary file TARGET_NUCLEO_F030R8/TOOLCHAIN_ARM_MICRO/stm32f0xx_rcc.o has changed
Binary file TARGET_NUCLEO_F030R8/TOOLCHAIN_ARM_MICRO/stm32f0xx_rtc.o has changed
Binary file TARGET_NUCLEO_F030R8/TOOLCHAIN_ARM_MICRO/stm32f0xx_spi.o has changed
Binary file TARGET_NUCLEO_F030R8/TOOLCHAIN_ARM_MICRO/stm32f0xx_syscfg.o has changed
Binary file TARGET_NUCLEO_F030R8/TOOLCHAIN_ARM_MICRO/stm32f0xx_tim.o has changed
Binary file TARGET_NUCLEO_F030R8/TOOLCHAIN_ARM_MICRO/stm32f0xx_usart.o has changed
Binary file TARGET_NUCLEO_F030R8/TOOLCHAIN_ARM_MICRO/stm32f0xx_wwdg.o has changed
Binary file TARGET_NUCLEO_F030R8/TOOLCHAIN_ARM_MICRO/sys.o has changed
Binary file TARGET_NUCLEO_F030R8/TOOLCHAIN_ARM_MICRO/system_stm32f0xx.o has changed
Binary file TARGET_NUCLEO_F030R8/TOOLCHAIN_ARM_STD/board.o has changed
Binary file TARGET_NUCLEO_F030R8/TOOLCHAIN_ARM_STD/cmsis_nvic.o has changed
Binary file TARGET_NUCLEO_F030R8/TOOLCHAIN_ARM_STD/mbed.ar has changed
Binary file TARGET_NUCLEO_F030R8/TOOLCHAIN_ARM_STD/mbed_overrides.o has changed
Binary file TARGET_NUCLEO_F030R8/TOOLCHAIN_ARM_STD/retarget.o has changed
Binary file TARGET_NUCLEO_F030R8/TOOLCHAIN_ARM_STD/stm32f0xx_adc.o has changed
Binary file TARGET_NUCLEO_F030R8/TOOLCHAIN_ARM_STD/stm32f0xx_can.o has changed
Binary file TARGET_NUCLEO_F030R8/TOOLCHAIN_ARM_STD/stm32f0xx_cec.o has changed
Binary file TARGET_NUCLEO_F030R8/TOOLCHAIN_ARM_STD/stm32f0xx_comp.o has changed
Binary file TARGET_NUCLEO_F030R8/TOOLCHAIN_ARM_STD/stm32f0xx_crc.o has changed
Binary file TARGET_NUCLEO_F030R8/TOOLCHAIN_ARM_STD/stm32f0xx_crs.o has changed
Binary file TARGET_NUCLEO_F030R8/TOOLCHAIN_ARM_STD/stm32f0xx_dac.o has changed
Binary file TARGET_NUCLEO_F030R8/TOOLCHAIN_ARM_STD/stm32f0xx_dbgmcu.o has changed
Binary file TARGET_NUCLEO_F030R8/TOOLCHAIN_ARM_STD/stm32f0xx_dma.o has changed
Binary file TARGET_NUCLEO_F030R8/TOOLCHAIN_ARM_STD/stm32f0xx_exti.o has changed
Binary file TARGET_NUCLEO_F030R8/TOOLCHAIN_ARM_STD/stm32f0xx_flash.o has changed
Binary file TARGET_NUCLEO_F030R8/TOOLCHAIN_ARM_STD/stm32f0xx_gpio.o has changed
Binary file TARGET_NUCLEO_F030R8/TOOLCHAIN_ARM_STD/stm32f0xx_i2c.o has changed
Binary file TARGET_NUCLEO_F030R8/TOOLCHAIN_ARM_STD/stm32f0xx_iwdg.o has changed
Binary file TARGET_NUCLEO_F030R8/TOOLCHAIN_ARM_STD/stm32f0xx_misc.o has changed
Binary file TARGET_NUCLEO_F030R8/TOOLCHAIN_ARM_STD/stm32f0xx_pwr.o has changed
Binary file TARGET_NUCLEO_F030R8/TOOLCHAIN_ARM_STD/stm32f0xx_rcc.o has changed
Binary file TARGET_NUCLEO_F030R8/TOOLCHAIN_ARM_STD/stm32f0xx_rtc.o has changed
Binary file TARGET_NUCLEO_F030R8/TOOLCHAIN_ARM_STD/stm32f0xx_spi.o has changed
Binary file TARGET_NUCLEO_F030R8/TOOLCHAIN_ARM_STD/stm32f0xx_syscfg.o has changed
Binary file TARGET_NUCLEO_F030R8/TOOLCHAIN_ARM_STD/stm32f0xx_tim.o has changed
Binary file TARGET_NUCLEO_F030R8/TOOLCHAIN_ARM_STD/stm32f0xx_usart.o has changed
Binary file TARGET_NUCLEO_F030R8/TOOLCHAIN_ARM_STD/stm32f0xx_wwdg.o has changed
Binary file TARGET_NUCLEO_F030R8/TOOLCHAIN_ARM_STD/sys.o has changed
Binary file TARGET_NUCLEO_F030R8/TOOLCHAIN_ARM_STD/system_stm32f0xx.o has changed
Binary file TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_MICRO/board.o has changed
Binary file TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_MICRO/cmsis_nvic.o has changed
Binary file TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_MICRO/mbed.ar has changed
Binary file TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_MICRO/mbed_overrides.o has changed
Binary file TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_MICRO/retarget.o has changed
Binary file TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_MICRO/stm32f0xx_hal.o has changed
Binary file TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_MICRO/stm32f0xx_hal_adc.o has changed
Binary file TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_MICRO/stm32f0xx_hal_adc_ex.o has changed
Binary file TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_MICRO/stm32f0xx_hal_can.o has changed
Binary file TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_MICRO/stm32f0xx_hal_cec.o has changed
Binary file TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_MICRO/stm32f0xx_hal_comp.o has changed
Binary file TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_MICRO/stm32f0xx_hal_cortex.o has changed
Binary file TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_MICRO/stm32f0xx_hal_crc.o has changed
Binary file TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_MICRO/stm32f0xx_hal_crc_ex.o has changed
Binary file TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_MICRO/stm32f0xx_hal_dac.o has changed
Binary file TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_MICRO/stm32f0xx_hal_dac_ex.o has changed
Binary file TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_MICRO/stm32f0xx_hal_dma.o has changed
Binary file TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_MICRO/stm32f0xx_hal_flash.o has changed
Binary file TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_MICRO/stm32f0xx_hal_flash_ex.o has changed
Binary file TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_MICRO/stm32f0xx_hal_gpio.o has changed
Binary file TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_MICRO/stm32f0xx_hal_i2c.o has changed
Binary file TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_MICRO/stm32f0xx_hal_i2c_ex.o has changed
Binary file TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_MICRO/stm32f0xx_hal_i2s.o has changed
Binary file TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_MICRO/stm32f0xx_hal_irda.o has changed
Binary file TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_MICRO/stm32f0xx_hal_iwdg.o has changed
Binary file TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_MICRO/stm32f0xx_hal_pcd.o has changed
Binary file TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_MICRO/stm32f0xx_hal_pcd_ex.o has changed
Binary file TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_MICRO/stm32f0xx_hal_pwr.o has changed
Binary file TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_MICRO/stm32f0xx_hal_pwr_ex.o has changed
Binary file TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_MICRO/stm32f0xx_hal_rcc.o has changed
Binary file TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_MICRO/stm32f0xx_hal_rcc_ex.o has changed
Binary file TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_MICRO/stm32f0xx_hal_rtc.o has changed
Binary file TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_MICRO/stm32f0xx_hal_rtc_ex.o has changed
Binary file TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_MICRO/stm32f0xx_hal_smartcard.o has changed
Binary file TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_MICRO/stm32f0xx_hal_smartcard_ex.o has changed
Binary file TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_MICRO/stm32f0xx_hal_smbus.o has changed
Binary file TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_MICRO/stm32f0xx_hal_spi.o has changed
Binary file TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_MICRO/stm32f0xx_hal_tim.o has changed
Binary file TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_MICRO/stm32f0xx_hal_tim_ex.o has changed
Binary file TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_MICRO/stm32f0xx_hal_tsc.o has changed
Binary file TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_MICRO/stm32f0xx_hal_uart.o has changed
Binary file TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_MICRO/stm32f0xx_hal_uart_ex.o has changed
Binary file TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_MICRO/stm32f0xx_hal_usart.o has changed
Binary file TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_MICRO/stm32f0xx_hal_wwdg.o has changed
Binary file TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_MICRO/sys.o has changed
Binary file TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_MICRO/system_stm32f0xx.o has changed
Binary file TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_STD/board.o has changed
Binary file TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_STD/cmsis_nvic.o has changed
Binary file TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_STD/mbed.ar has changed
Binary file TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_STD/mbed_overrides.o has changed
Binary file TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_STD/retarget.o has changed
Binary file TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_STD/stm32f0xx_hal.o has changed
Binary file TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_STD/stm32f0xx_hal_adc.o has changed
Binary file TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_STD/stm32f0xx_hal_adc_ex.o has changed
Binary file TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_STD/stm32f0xx_hal_can.o has changed
Binary file TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_STD/stm32f0xx_hal_cec.o has changed
Binary file TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_STD/stm32f0xx_hal_comp.o has changed
Binary file TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_STD/stm32f0xx_hal_cortex.o has changed
Binary file TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_STD/stm32f0xx_hal_crc.o has changed
Binary file TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_STD/stm32f0xx_hal_crc_ex.o has changed
Binary file TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_STD/stm32f0xx_hal_dac.o has changed
Binary file TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_STD/stm32f0xx_hal_dac_ex.o has changed
Binary file TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_STD/stm32f0xx_hal_dma.o has changed
Binary file TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_STD/stm32f0xx_hal_flash.o has changed
Binary file TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_STD/stm32f0xx_hal_flash_ex.o has changed
Binary file TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_STD/stm32f0xx_hal_gpio.o has changed
Binary file TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_STD/stm32f0xx_hal_i2c.o has changed
Binary file TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_STD/stm32f0xx_hal_i2c_ex.o has changed
Binary file TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_STD/stm32f0xx_hal_i2s.o has changed
Binary file TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_STD/stm32f0xx_hal_irda.o has changed
Binary file TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_STD/stm32f0xx_hal_iwdg.o has changed
Binary file TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_STD/stm32f0xx_hal_pcd.o has changed
Binary file TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_STD/stm32f0xx_hal_pcd_ex.o has changed
Binary file TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_STD/stm32f0xx_hal_pwr.o has changed
Binary file TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_STD/stm32f0xx_hal_pwr_ex.o has changed
Binary file TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_STD/stm32f0xx_hal_rcc.o has changed
Binary file TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_STD/stm32f0xx_hal_rcc_ex.o has changed
Binary file TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_STD/stm32f0xx_hal_rtc.o has changed
Binary file TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_STD/stm32f0xx_hal_rtc_ex.o has changed
Binary file TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_STD/stm32f0xx_hal_smartcard.o has changed
Binary file TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_STD/stm32f0xx_hal_smartcard_ex.o has changed
Binary file TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_STD/stm32f0xx_hal_smbus.o has changed
Binary file TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_STD/stm32f0xx_hal_spi.o has changed
Binary file TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_STD/stm32f0xx_hal_tim.o has changed
Binary file TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_STD/stm32f0xx_hal_tim_ex.o has changed
Binary file TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_STD/stm32f0xx_hal_tsc.o has changed
Binary file TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_STD/stm32f0xx_hal_uart.o has changed
Binary file TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_STD/stm32f0xx_hal_uart_ex.o has changed
Binary file TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_STD/stm32f0xx_hal_usart.o has changed
Binary file TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_STD/stm32f0xx_hal_wwdg.o has changed
Binary file TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_STD/sys.o has changed
Binary file TARGET_NUCLEO_F072RB/TOOLCHAIN_ARM_STD/system_stm32f0xx.o has changed
Binary file TARGET_NUCLEO_F103RB/TOOLCHAIN_ARM_MICRO/board.o has changed
Binary file TARGET_NUCLEO_F103RB/TOOLCHAIN_ARM_MICRO/cmsis_nvic.o has changed
Binary file TARGET_NUCLEO_F103RB/TOOLCHAIN_ARM_MICRO/mbed.ar has changed
Binary file TARGET_NUCLEO_F103RB/TOOLCHAIN_ARM_MICRO/mbed_overrides.o has changed
Binary file TARGET_NUCLEO_F103RB/TOOLCHAIN_ARM_MICRO/misc.o has changed
Binary file TARGET_NUCLEO_F103RB/TOOLCHAIN_ARM_MICRO/retarget.o has changed
Binary file TARGET_NUCLEO_F103RB/TOOLCHAIN_ARM_MICRO/stm32f10x_adc.o has changed
Binary file TARGET_NUCLEO_F103RB/TOOLCHAIN_ARM_MICRO/stm32f10x_bkp.o has changed
Binary file TARGET_NUCLEO_F103RB/TOOLCHAIN_ARM_MICRO/stm32f10x_can.o has changed
Binary file TARGET_NUCLEO_F103RB/TOOLCHAIN_ARM_MICRO/stm32f10x_cec.o has changed
Binary file TARGET_NUCLEO_F103RB/TOOLCHAIN_ARM_MICRO/stm32f10x_crc.o has changed
Binary file TARGET_NUCLEO_F103RB/TOOLCHAIN_ARM_MICRO/stm32f10x_dac.o has changed
Binary file TARGET_NUCLEO_F103RB/TOOLCHAIN_ARM_MICRO/stm32f10x_dbgmcu.o has changed
Binary file TARGET_NUCLEO_F103RB/TOOLCHAIN_ARM_MICRO/stm32f10x_dma.o has changed
Binary file TARGET_NUCLEO_F103RB/TOOLCHAIN_ARM_MICRO/stm32f10x_exti.o has changed
Binary file TARGET_NUCLEO_F103RB/TOOLCHAIN_ARM_MICRO/stm32f10x_flash.o has changed
Binary file TARGET_NUCLEO_F103RB/TOOLCHAIN_ARM_MICRO/stm32f10x_fsmc.o has changed
Binary file TARGET_NUCLEO_F103RB/TOOLCHAIN_ARM_MICRO/stm32f10x_gpio.o has changed
Binary file TARGET_NUCLEO_F103RB/TOOLCHAIN_ARM_MICRO/stm32f10x_i2c.o has changed
Binary file TARGET_NUCLEO_F103RB/TOOLCHAIN_ARM_MICRO/stm32f10x_iwdg.o has changed
Binary file TARGET_NUCLEO_F103RB/TOOLCHAIN_ARM_MICRO/stm32f10x_pwr.o has changed
Binary file TARGET_NUCLEO_F103RB/TOOLCHAIN_ARM_MICRO/stm32f10x_rcc.o has changed
Binary file TARGET_NUCLEO_F103RB/TOOLCHAIN_ARM_MICRO/stm32f10x_rtc.o has changed
Binary file TARGET_NUCLEO_F103RB/TOOLCHAIN_ARM_MICRO/stm32f10x_sdio.o has changed
Binary file TARGET_NUCLEO_F103RB/TOOLCHAIN_ARM_MICRO/stm32f10x_spi.o has changed
Binary file TARGET_NUCLEO_F103RB/TOOLCHAIN_ARM_MICRO/stm32f10x_tim.o has changed
Binary file TARGET_NUCLEO_F103RB/TOOLCHAIN_ARM_MICRO/stm32f10x_usart.o has changed
Binary file TARGET_NUCLEO_F103RB/TOOLCHAIN_ARM_MICRO/stm32f10x_wwdg.o has changed
Binary file TARGET_NUCLEO_F103RB/TOOLCHAIN_ARM_MICRO/sys.o has changed
Binary file TARGET_NUCLEO_F103RB/TOOLCHAIN_ARM_MICRO/system_stm32f10x.o has changed
Binary file TARGET_NUCLEO_F103RB/TOOLCHAIN_ARM_STD/board.o has changed
Binary file TARGET_NUCLEO_F103RB/TOOLCHAIN_ARM_STD/cmsis_nvic.o has changed
Binary file TARGET_NUCLEO_F103RB/TOOLCHAIN_ARM_STD/mbed.ar has changed
Binary file TARGET_NUCLEO_F103RB/TOOLCHAIN_ARM_STD/mbed_overrides.o has changed
Binary file TARGET_NUCLEO_F103RB/TOOLCHAIN_ARM_STD/misc.o has changed
Binary file TARGET_NUCLEO_F103RB/TOOLCHAIN_ARM_STD/retarget.o has changed
Binary file TARGET_NUCLEO_F103RB/TOOLCHAIN_ARM_STD/stm32f10x_adc.o has changed
Binary file TARGET_NUCLEO_F103RB/TOOLCHAIN_ARM_STD/stm32f10x_bkp.o has changed
Binary file TARGET_NUCLEO_F103RB/TOOLCHAIN_ARM_STD/stm32f10x_can.o has changed
Binary file TARGET_NUCLEO_F103RB/TOOLCHAIN_ARM_STD/stm32f10x_cec.o has changed
Binary file TARGET_NUCLEO_F103RB/TOOLCHAIN_ARM_STD/stm32f10x_crc.o has changed
Binary file TARGET_NUCLEO_F103RB/TOOLCHAIN_ARM_STD/stm32f10x_dac.o has changed
Binary file TARGET_NUCLEO_F103RB/TOOLCHAIN_ARM_STD/stm32f10x_dbgmcu.o has changed
Binary file TARGET_NUCLEO_F103RB/TOOLCHAIN_ARM_STD/stm32f10x_dma.o has changed
Binary file TARGET_NUCLEO_F103RB/TOOLCHAIN_ARM_STD/stm32f10x_exti.o has changed
Binary file TARGET_NUCLEO_F103RB/TOOLCHAIN_ARM_STD/stm32f10x_flash.o has changed
Binary file TARGET_NUCLEO_F103RB/TOOLCHAIN_ARM_STD/stm32f10x_fsmc.o has changed
Binary file TARGET_NUCLEO_F103RB/TOOLCHAIN_ARM_STD/stm32f10x_gpio.o has changed
Binary file TARGET_NUCLEO_F103RB/TOOLCHAIN_ARM_STD/stm32f10x_i2c.o has changed
Binary file TARGET_NUCLEO_F103RB/TOOLCHAIN_ARM_STD/stm32f10x_iwdg.o has changed
Binary file TARGET_NUCLEO_F103RB/TOOLCHAIN_ARM_STD/stm32f10x_pwr.o has changed
Binary file TARGET_NUCLEO_F103RB/TOOLCHAIN_ARM_STD/stm32f10x_rcc.o has changed
Binary file TARGET_NUCLEO_F103RB/TOOLCHAIN_ARM_STD/stm32f10x_rtc.o has changed
Binary file TARGET_NUCLEO_F103RB/TOOLCHAIN_ARM_STD/stm32f10x_sdio.o has changed
Binary file TARGET_NUCLEO_F103RB/TOOLCHAIN_ARM_STD/stm32f10x_spi.o has changed
Binary file TARGET_NUCLEO_F103RB/TOOLCHAIN_ARM_STD/stm32f10x_tim.o has changed
Binary file TARGET_NUCLEO_F103RB/TOOLCHAIN_ARM_STD/stm32f10x_usart.o has changed
Binary file TARGET_NUCLEO_F103RB/TOOLCHAIN_ARM_STD/stm32f10x_wwdg.o has changed
Binary file TARGET_NUCLEO_F103RB/TOOLCHAIN_ARM_STD/sys.o has changed
Binary file TARGET_NUCLEO_F103RB/TOOLCHAIN_ARM_STD/system_stm32f10x.o has changed
Binary file TARGET_NUCLEO_F302R8/TOOLCHAIN_ARM_MICRO/board.o has changed
Binary file TARGET_NUCLEO_F302R8/TOOLCHAIN_ARM_MICRO/cmsis_nvic.o has changed
Binary file TARGET_NUCLEO_F302R8/TOOLCHAIN_ARM_MICRO/mbed.ar has changed
Binary file TARGET_NUCLEO_F302R8/TOOLCHAIN_ARM_MICRO/mbed_overrides.o has changed
Binary file TARGET_NUCLEO_F302R8/TOOLCHAIN_ARM_MICRO/retarget.o has changed
Binary file TARGET_NUCLEO_F302R8/TOOLCHAIN_ARM_MICRO/stm32f30x_adc.o has changed
Binary file TARGET_NUCLEO_F302R8/TOOLCHAIN_ARM_MICRO/stm32f30x_can.o has changed
Binary file TARGET_NUCLEO_F302R8/TOOLCHAIN_ARM_MICRO/stm32f30x_comp.o has changed
Binary file TARGET_NUCLEO_F302R8/TOOLCHAIN_ARM_MICRO/stm32f30x_crc.o has changed
Binary file TARGET_NUCLEO_F302R8/TOOLCHAIN_ARM_MICRO/stm32f30x_dac.o has changed
Binary file TARGET_NUCLEO_F302R8/TOOLCHAIN_ARM_MICRO/stm32f30x_dbgmcu.o has changed
Binary file TARGET_NUCLEO_F302R8/TOOLCHAIN_ARM_MICRO/stm32f30x_dma.o has changed
Binary file TARGET_NUCLEO_F302R8/TOOLCHAIN_ARM_MICRO/stm32f30x_exti.o has changed
Binary file TARGET_NUCLEO_F302R8/TOOLCHAIN_ARM_MICRO/stm32f30x_flash.o has changed
Binary file TARGET_NUCLEO_F302R8/TOOLCHAIN_ARM_MICRO/stm32f30x_gpio.o has changed
Binary file TARGET_NUCLEO_F302R8/TOOLCHAIN_ARM_MICRO/stm32f30x_hrtim.o has changed
Binary file TARGET_NUCLEO_F302R8/TOOLCHAIN_ARM_MICRO/stm32f30x_i2c.o has changed
Binary file TARGET_NUCLEO_F302R8/TOOLCHAIN_ARM_MICRO/stm32f30x_iwdg.o has changed
Binary file TARGET_NUCLEO_F302R8/TOOLCHAIN_ARM_MICRO/stm32f30x_misc.o has changed
Binary file TARGET_NUCLEO_F302R8/TOOLCHAIN_ARM_MICRO/stm32f30x_opamp.o has changed
Binary file TARGET_NUCLEO_F302R8/TOOLCHAIN_ARM_MICRO/stm32f30x_pwr.o has changed
Binary file TARGET_NUCLEO_F302R8/TOOLCHAIN_ARM_MICRO/stm32f30x_rcc.o has changed
Binary file TARGET_NUCLEO_F302R8/TOOLCHAIN_ARM_MICRO/stm32f30x_rtc.o has changed
Binary file TARGET_NUCLEO_F302R8/TOOLCHAIN_ARM_MICRO/stm32f30x_spi.o has changed
Binary file TARGET_NUCLEO_F302R8/TOOLCHAIN_ARM_MICRO/stm32f30x_syscfg.o has changed
Binary file TARGET_NUCLEO_F302R8/TOOLCHAIN_ARM_MICRO/stm32f30x_tim.o has changed
Binary file TARGET_NUCLEO_F302R8/TOOLCHAIN_ARM_MICRO/stm32f30x_usart.o has changed
Binary file TARGET_NUCLEO_F302R8/TOOLCHAIN_ARM_MICRO/stm32f30x_wwdg.o has changed
Binary file TARGET_NUCLEO_F302R8/TOOLCHAIN_ARM_MICRO/sys.o has changed
Binary file TARGET_NUCLEO_F302R8/TOOLCHAIN_ARM_MICRO/system_stm32f30x.o has changed
Binary file TARGET_NUCLEO_F302R8/TOOLCHAIN_ARM_STD/board.o has changed
Binary file TARGET_NUCLEO_F302R8/TOOLCHAIN_ARM_STD/cmsis_nvic.o has changed
Binary file TARGET_NUCLEO_F302R8/TOOLCHAIN_ARM_STD/mbed.ar has changed
Binary file TARGET_NUCLEO_F302R8/TOOLCHAIN_ARM_STD/mbed_overrides.o has changed
Binary file TARGET_NUCLEO_F302R8/TOOLCHAIN_ARM_STD/retarget.o has changed
Binary file TARGET_NUCLEO_F302R8/TOOLCHAIN_ARM_STD/stm32f30x_adc.o has changed
Binary file TARGET_NUCLEO_F302R8/TOOLCHAIN_ARM_STD/stm32f30x_can.o has changed
Binary file TARGET_NUCLEO_F302R8/TOOLCHAIN_ARM_STD/stm32f30x_comp.o has changed
Binary file TARGET_NUCLEO_F302R8/TOOLCHAIN_ARM_STD/stm32f30x_crc.o has changed
Binary file TARGET_NUCLEO_F302R8/TOOLCHAIN_ARM_STD/stm32f30x_dac.o has changed
Binary file TARGET_NUCLEO_F302R8/TOOLCHAIN_ARM_STD/stm32f30x_dbgmcu.o has changed
Binary file TARGET_NUCLEO_F302R8/TOOLCHAIN_ARM_STD/stm32f30x_dma.o has changed
Binary file TARGET_NUCLEO_F302R8/TOOLCHAIN_ARM_STD/stm32f30x_exti.o has changed
Binary file TARGET_NUCLEO_F302R8/TOOLCHAIN_ARM_STD/stm32f30x_flash.o has changed
Binary file TARGET_NUCLEO_F302R8/TOOLCHAIN_ARM_STD/stm32f30x_gpio.o has changed
Binary file TARGET_NUCLEO_F302R8/TOOLCHAIN_ARM_STD/stm32f30x_hrtim.o has changed
Binary file TARGET_NUCLEO_F302R8/TOOLCHAIN_ARM_STD/stm32f30x_i2c.o has changed
Binary file TARGET_NUCLEO_F302R8/TOOLCHAIN_ARM_STD/stm32f30x_iwdg.o has changed
Binary file TARGET_NUCLEO_F302R8/TOOLCHAIN_ARM_STD/stm32f30x_misc.o has changed
Binary file TARGET_NUCLEO_F302R8/TOOLCHAIN_ARM_STD/stm32f30x_opamp.o has changed
Binary file TARGET_NUCLEO_F302R8/TOOLCHAIN_ARM_STD/stm32f30x_pwr.o has changed
Binary file TARGET_NUCLEO_F302R8/TOOLCHAIN_ARM_STD/stm32f30x_rcc.o has changed
Binary file TARGET_NUCLEO_F302R8/TOOLCHAIN_ARM_STD/stm32f30x_rtc.o has changed
Binary file TARGET_NUCLEO_F302R8/TOOLCHAIN_ARM_STD/stm32f30x_spi.o has changed
Binary file TARGET_NUCLEO_F302R8/TOOLCHAIN_ARM_STD/stm32f30x_syscfg.o has changed
Binary file TARGET_NUCLEO_F302R8/TOOLCHAIN_ARM_STD/stm32f30x_tim.o has changed
Binary file TARGET_NUCLEO_F302R8/TOOLCHAIN_ARM_STD/stm32f30x_usart.o has changed
Binary file TARGET_NUCLEO_F302R8/TOOLCHAIN_ARM_STD/stm32f30x_wwdg.o has changed
Binary file TARGET_NUCLEO_F302R8/TOOLCHAIN_ARM_STD/sys.o has changed
Binary file TARGET_NUCLEO_F302R8/TOOLCHAIN_ARM_STD/system_stm32f30x.o has changed
Binary file TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_MICRO/board.o has changed
Binary file TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_MICRO/cmsis_nvic.o has changed
Binary file TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_MICRO/mbed.ar has changed
Binary file TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_MICRO/mbed_overrides.o has changed
Binary file TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_MICRO/retarget.o has changed
Binary file TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_MICRO/stm32f3xx_hal.o has changed
Binary file TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_MICRO/stm32f3xx_hal_adc.o has changed
Binary file TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_MICRO/stm32f3xx_hal_adc_ex.o has changed
Binary file TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_MICRO/stm32f3xx_hal_can.o has changed
Binary file TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_MICRO/stm32f3xx_hal_cec.o has changed
Binary file TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_MICRO/stm32f3xx_hal_comp.o has changed
Binary file TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_MICRO/stm32f3xx_hal_cortex.o has changed
Binary file TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_MICRO/stm32f3xx_hal_crc.o has changed
Binary file TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_MICRO/stm32f3xx_hal_crc_ex.o has changed
Binary file TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_MICRO/stm32f3xx_hal_dac.o has changed
Binary file TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_MICRO/stm32f3xx_hal_dac_ex.o has changed
Binary file TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_MICRO/stm32f3xx_hal_dma.o has changed
Binary file TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_MICRO/stm32f3xx_hal_flash.o has changed
Binary file TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_MICRO/stm32f3xx_hal_flash_ex.o has changed
Binary file TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_MICRO/stm32f3xx_hal_gpio.o has changed
Binary file TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_MICRO/stm32f3xx_hal_hrtim.o has changed
Binary file TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_MICRO/stm32f3xx_hal_i2c.o has changed
Binary file TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_MICRO/stm32f3xx_hal_i2c_ex.o has changed
Binary file TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_MICRO/stm32f3xx_hal_i2s.o has changed
Binary file TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_MICRO/stm32f3xx_hal_i2s_ex.o has changed
Binary file TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_MICRO/stm32f3xx_hal_irda.o has changed
Binary file TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_MICRO/stm32f3xx_hal_iwdg.o has changed
Binary file TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_MICRO/stm32f3xx_hal_opamp.o has changed
Binary file TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_MICRO/stm32f3xx_hal_opamp_ex.o has changed
Binary file TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_MICRO/stm32f3xx_hal_pcd.o has changed
Binary file TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_MICRO/stm32f3xx_hal_pcd_ex.o has changed
Binary file TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_MICRO/stm32f3xx_hal_pwr.o has changed
Binary file TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_MICRO/stm32f3xx_hal_pwr_ex.o has changed
Binary file TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_MICRO/stm32f3xx_hal_rcc.o has changed
Binary file TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_MICRO/stm32f3xx_hal_rcc_ex.o has changed
Binary file TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_MICRO/stm32f3xx_hal_rtc.o has changed
Binary file TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_MICRO/stm32f3xx_hal_rtc_ex.o has changed
Binary file TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_MICRO/stm32f3xx_hal_sdadc.o has changed
Binary file TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_MICRO/stm32f3xx_hal_smartcard.o has changed
Binary file TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_MICRO/stm32f3xx_hal_smartcard_ex.o has changed
Binary file TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_MICRO/stm32f3xx_hal_smbus.o has changed
Binary file TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_MICRO/stm32f3xx_hal_spi.o has changed
Binary file TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_MICRO/stm32f3xx_hal_tim.o has changed
Binary file TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_MICRO/stm32f3xx_hal_tim_ex.o has changed
Binary file TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_MICRO/stm32f3xx_hal_tsc.o has changed
Binary file TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_MICRO/stm32f3xx_hal_uart.o has changed
Binary file TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_MICRO/stm32f3xx_hal_uart_ex.o has changed
Binary file TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_MICRO/stm32f3xx_hal_usart.o has changed
Binary file TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_MICRO/stm32f3xx_hal_wwdg.o has changed
Binary file TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_MICRO/sys.o has changed
Binary file TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_MICRO/system_stm32f3xx.o has changed
Binary file TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_STD/board.o has changed
Binary file TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_STD/cmsis_nvic.o has changed
Binary file TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_STD/mbed.ar has changed
Binary file TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_STD/mbed_overrides.o has changed
Binary file TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_STD/retarget.o has changed
Binary file TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_STD/stm32f3xx_hal.o has changed
Binary file TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_STD/stm32f3xx_hal_adc.o has changed
Binary file TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_STD/stm32f3xx_hal_adc_ex.o has changed
Binary file TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_STD/stm32f3xx_hal_can.o has changed
Binary file TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_STD/stm32f3xx_hal_cec.o has changed
Binary file TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_STD/stm32f3xx_hal_comp.o has changed
Binary file TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_STD/stm32f3xx_hal_cortex.o has changed
Binary file TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_STD/stm32f3xx_hal_crc.o has changed
Binary file TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_STD/stm32f3xx_hal_crc_ex.o has changed
Binary file TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_STD/stm32f3xx_hal_dac.o has changed
Binary file TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_STD/stm32f3xx_hal_dac_ex.o has changed
Binary file TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_STD/stm32f3xx_hal_dma.o has changed
Binary file TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_STD/stm32f3xx_hal_flash.o has changed
Binary file TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_STD/stm32f3xx_hal_flash_ex.o has changed
Binary file TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_STD/stm32f3xx_hal_gpio.o has changed
Binary file TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_STD/stm32f3xx_hal_hrtim.o has changed
Binary file TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_STD/stm32f3xx_hal_i2c.o has changed
Binary file TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_STD/stm32f3xx_hal_i2c_ex.o has changed
Binary file TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_STD/stm32f3xx_hal_i2s.o has changed
Binary file TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_STD/stm32f3xx_hal_i2s_ex.o has changed
Binary file TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_STD/stm32f3xx_hal_irda.o has changed
Binary file TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_STD/stm32f3xx_hal_iwdg.o has changed
Binary file TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_STD/stm32f3xx_hal_opamp.o has changed
Binary file TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_STD/stm32f3xx_hal_opamp_ex.o has changed
Binary file TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_STD/stm32f3xx_hal_pcd.o has changed
Binary file TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_STD/stm32f3xx_hal_pcd_ex.o has changed
Binary file TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_STD/stm32f3xx_hal_pwr.o has changed
Binary file TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_STD/stm32f3xx_hal_pwr_ex.o has changed
Binary file TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_STD/stm32f3xx_hal_rcc.o has changed
Binary file TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_STD/stm32f3xx_hal_rcc_ex.o has changed
Binary file TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_STD/stm32f3xx_hal_rtc.o has changed
Binary file TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_STD/stm32f3xx_hal_rtc_ex.o has changed
Binary file TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_STD/stm32f3xx_hal_sdadc.o has changed
Binary file TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_STD/stm32f3xx_hal_smartcard.o has changed
Binary file TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_STD/stm32f3xx_hal_smartcard_ex.o has changed
Binary file TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_STD/stm32f3xx_hal_smbus.o has changed
Binary file TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_STD/stm32f3xx_hal_spi.o has changed
Binary file TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_STD/stm32f3xx_hal_tim.o has changed
Binary file TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_STD/stm32f3xx_hal_tim_ex.o has changed
Binary file TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_STD/stm32f3xx_hal_tsc.o has changed
Binary file TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_STD/stm32f3xx_hal_uart.o has changed
Binary file TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_STD/stm32f3xx_hal_uart_ex.o has changed
Binary file TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_STD/stm32f3xx_hal_usart.o has changed
Binary file TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_STD/stm32f3xx_hal_wwdg.o has changed
Binary file TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_STD/sys.o has changed
Binary file TARGET_NUCLEO_F334R8/TOOLCHAIN_ARM_STD/system_stm32f3xx.o has changed
Binary file TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_MICRO/board.o has changed
Binary file TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_MICRO/cmsis_nvic.o has changed
Binary file TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_MICRO/hal_tick.o has changed
Binary file TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_MICRO/mbed.ar has changed
Binary file TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_MICRO/mbed_overrides.o has changed
Binary file TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_MICRO/retarget.o has changed
Binary file TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal.o has changed
Binary file TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_adc.o has changed
Binary file TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_adc_ex.o has changed
Binary file TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_can.o has changed
Binary file TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_cortex.o has changed
Binary file TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_crc.o has changed
Binary file TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_cryp.o has changed
Binary file TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_cryp_ex.o has changed
Binary file TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_dac.o has changed
Binary file TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_dac_ex.o has changed
Binary file TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_dcmi.o has changed
Binary file TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_dma.o has changed
Binary file TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_dma2d.o has changed
Binary file TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_dma_ex.o has changed
Binary file TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_eth.o has changed
Binary file TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_flash.o has changed
Binary file TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_flash_ex.o has changed
Binary file TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_gpio.o has changed
Binary file TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_hash.o has changed
Binary file TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_hash_ex.o has changed
Binary file TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_hcd.o has changed
Binary file TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_i2c.o has changed
Binary file TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_i2c_ex.o has changed
Binary file TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_i2s.o has changed
Binary file TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_i2s_ex.o has changed
Binary file TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_irda.o has changed
Binary file TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_iwdg.o has changed
Binary file TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_ltdc.o has changed
Binary file TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_nand.o has changed
Binary file TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_nor.o has changed
Binary file TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_pccard.o has changed
Binary file TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_pcd.o has changed
Binary file TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_pwr.o has changed
Binary file TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_pwr_ex.o has changed
Binary file TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_rcc.o has changed
Binary file TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_rcc_ex.o has changed
Binary file TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_rng.o has changed
Binary file TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_rtc.o has changed
Binary file TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_rtc_ex.o has changed
Binary file TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_sai.o has changed
Binary file TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_sd.o has changed
Binary file TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_sdram.o has changed
Binary file TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_smartcard.o has changed
Binary file TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_spi.o has changed
Binary file TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_sram.o has changed
Binary file TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_tim.o has changed
Binary file TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_tim_ex.o has changed
Binary file TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_uart.o has changed
Binary file TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_usart.o has changed
Binary file TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_wwdg.o has changed
Binary file TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_ll_fmc.o has changed
Binary file TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_ll_fsmc.o has changed
Binary file TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_ll_sdmmc.o has changed
Binary file TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_ll_usb.o has changed
Binary file TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_MICRO/sys.o has changed
Binary file TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_MICRO/system_stm32f4xx.o has changed
Binary file TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_STD/board.o has changed
Binary file TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_STD/cmsis_nvic.o has changed
Binary file TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_STD/hal_tick.o has changed
Binary file TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_STD/mbed.ar has changed
Binary file TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_STD/mbed_overrides.o has changed
Binary file TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_STD/retarget.o has changed
Binary file TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal.o has changed
Binary file TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_adc.o has changed
Binary file TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_adc_ex.o has changed
Binary file TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_can.o has changed
Binary file TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_cortex.o has changed
Binary file TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_crc.o has changed
Binary file TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_cryp.o has changed
Binary file TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_cryp_ex.o has changed
Binary file TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_dac.o has changed
Binary file TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_dac_ex.o has changed
Binary file TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_dcmi.o has changed
Binary file TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_dma.o has changed
Binary file TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_dma2d.o has changed
Binary file TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_dma_ex.o has changed
Binary file TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_eth.o has changed
Binary file TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_flash.o has changed
Binary file TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_flash_ex.o has changed
Binary file TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_gpio.o has changed
Binary file TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_hash.o has changed
Binary file TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_hash_ex.o has changed
Binary file TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_hcd.o has changed
Binary file TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_i2c.o has changed
Binary file TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_i2c_ex.o has changed
Binary file TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_i2s.o has changed
Binary file TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_i2s_ex.o has changed
Binary file TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_irda.o has changed
Binary file TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_iwdg.o has changed
Binary file TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_ltdc.o has changed
Binary file TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_nand.o has changed
Binary file TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_nor.o has changed
Binary file TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_pccard.o has changed
Binary file TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_pcd.o has changed
Binary file TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_pwr.o has changed
Binary file TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_pwr_ex.o has changed
Binary file TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_rcc.o has changed
Binary file TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_rcc_ex.o has changed
Binary file TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_rng.o has changed
Binary file TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_rtc.o has changed
Binary file TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_rtc_ex.o has changed
Binary file TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_sai.o has changed
Binary file TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_sd.o has changed
Binary file TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_sdram.o has changed
Binary file TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_smartcard.o has changed
Binary file TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_spi.o has changed
Binary file TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_sram.o has changed
Binary file TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_tim.o has changed
Binary file TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_tim_ex.o has changed
Binary file TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_uart.o has changed
Binary file TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_usart.o has changed
Binary file TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_wwdg.o has changed
Binary file TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_STD/stm32f4xx_ll_fmc.o has changed
Binary file TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_STD/stm32f4xx_ll_fsmc.o has changed
Binary file TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_STD/stm32f4xx_ll_sdmmc.o has changed
Binary file TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_STD/stm32f4xx_ll_usb.o has changed
Binary file TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_STD/sys.o has changed
Binary file TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_STD/system_stm32f4xx.o has changed
Binary file TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_MICRO/board.o has changed
Binary file TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_MICRO/cmsis_nvic.o has changed
Binary file TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_MICRO/hal_tick.o has changed
Binary file TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_MICRO/mbed.ar has changed
Binary file TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_MICRO/mbed_overrides.o has changed
Binary file TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_MICRO/retarget.o has changed
Binary file TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal.o has changed
Binary file TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_adc.o has changed
Binary file TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_adc_ex.o has changed
Binary file TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_can.o has changed
Binary file TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_cortex.o has changed
Binary file TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_crc.o has changed
Binary file TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_cryp.o has changed
Binary file TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_cryp_ex.o has changed
Binary file TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_dac.o has changed
Binary file TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_dac_ex.o has changed
Binary file TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_dcmi.o has changed
Binary file TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_dma.o has changed
Binary file TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_dma2d.o has changed
Binary file TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_dma_ex.o has changed
Binary file TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_eth.o has changed
Binary file TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_flash.o has changed
Binary file TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_flash_ex.o has changed
Binary file TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_flash_ramfunc.o has changed
Binary file TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_gpio.o has changed
Binary file TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_hash.o has changed
Binary file TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_hash_ex.o has changed
Binary file TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_hcd.o has changed
Binary file TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_i2c.o has changed
Binary file TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_i2c_ex.o has changed
Binary file TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_i2s.o has changed
Binary file TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_i2s_ex.o has changed
Binary file TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_irda.o has changed
Binary file TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_iwdg.o has changed
Binary file TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_ltdc.o has changed
Binary file TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_nand.o has changed
Binary file TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_nor.o has changed
Binary file TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_pccard.o has changed
Binary file TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_pcd.o has changed
Binary file TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_pcd_ex.o has changed
Binary file TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_pwr.o has changed
Binary file TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_pwr_ex.o has changed
Binary file TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_rcc.o has changed
Binary file TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_rcc_ex.o has changed
Binary file TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_rng.o has changed
Binary file TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_rtc.o has changed
Binary file TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_rtc_ex.o has changed
Binary file TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_sai.o has changed
Binary file TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_sd.o has changed
Binary file TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_sdram.o has changed
Binary file TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_smartcard.o has changed
Binary file TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_spi.o has changed
Binary file TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_sram.o has changed
Binary file TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_tim.o has changed
Binary file TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_tim_ex.o has changed
Binary file TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_uart.o has changed
Binary file TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_usart.o has changed
Binary file TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_hal_wwdg.o has changed
Binary file TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_ll_fmc.o has changed
Binary file TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_ll_fsmc.o has changed
Binary file TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_ll_sdmmc.o has changed
Binary file TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_MICRO/stm32f4xx_ll_usb.o has changed
Binary file TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_MICRO/sys.o has changed
Binary file TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_MICRO/system_stm32f4xx.o has changed
Binary file TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_STD/board.o has changed
Binary file TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_STD/cmsis_nvic.o has changed
Binary file TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_STD/hal_tick.o has changed
Binary file TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_STD/mbed.ar has changed
Binary file TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_STD/mbed_overrides.o has changed
Binary file TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_STD/retarget.o has changed
Binary file TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal.o has changed
Binary file TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_adc.o has changed
Binary file TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_adc_ex.o has changed
Binary file TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_can.o has changed
Binary file TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_cortex.o has changed
Binary file TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_crc.o has changed
Binary file TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_cryp.o has changed
Binary file TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_cryp_ex.o has changed
Binary file TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_dac.o has changed
Binary file TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_dac_ex.o has changed
Binary file TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_dcmi.o has changed
Binary file TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_dma.o has changed
Binary file TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_dma2d.o has changed
Binary file TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_dma_ex.o has changed
Binary file TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_eth.o has changed
Binary file TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_flash.o has changed
Binary file TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_flash_ex.o has changed
Binary file TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_flash_ramfunc.o has changed
Binary file TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_gpio.o has changed
Binary file TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_hash.o has changed
Binary file TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_hash_ex.o has changed
Binary file TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_hcd.o has changed
Binary file TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_i2c.o has changed
Binary file TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_i2c_ex.o has changed
Binary file TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_i2s.o has changed
Binary file TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_i2s_ex.o has changed
Binary file TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_irda.o has changed
Binary file TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_iwdg.o has changed
Binary file TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_ltdc.o has changed
Binary file TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_nand.o has changed
Binary file TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_nor.o has changed
Binary file TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_pccard.o has changed
Binary file TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_pcd.o has changed
Binary file TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_pcd_ex.o has changed
Binary file TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_pwr.o has changed
Binary file TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_pwr_ex.o has changed
Binary file TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_rcc.o has changed
Binary file TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_rcc_ex.o has changed
Binary file TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_rng.o has changed
Binary file TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_rtc.o has changed
Binary file TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_rtc_ex.o has changed
Binary file TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_sai.o has changed
Binary file TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_sd.o has changed
Binary file TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_sdram.o has changed
Binary file TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_smartcard.o has changed
Binary file TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_spi.o has changed
Binary file TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_sram.o has changed
Binary file TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_tim.o has changed
Binary file TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_tim_ex.o has changed
Binary file TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_uart.o has changed
Binary file TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_usart.o has changed
Binary file TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_STD/stm32f4xx_hal_wwdg.o has changed
Binary file TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_STD/stm32f4xx_ll_fmc.o has changed
Binary file TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_STD/stm32f4xx_ll_fsmc.o has changed
Binary file TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_STD/stm32f4xx_ll_sdmmc.o has changed
Binary file TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_STD/stm32f4xx_ll_usb.o has changed
Binary file TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_STD/sys.o has changed
Binary file TARGET_NUCLEO_F411RE/TOOLCHAIN_ARM_STD/system_stm32f4xx.o has changed
--- a/TARGET_NUCLEO_F411RE/stm32f411xe.h	Fri Jul 25 09:46:51 2014 +0100
+++ b/TARGET_NUCLEO_F411RE/stm32f411xe.h	Fri Aug 15 15:28:31 2014 +0100
@@ -9,7 +9,7 @@
   *          This file contains:
   *           - Data structures and the address mapping for all peripherals
   *           - Peripheral's registers declarations and bits definition
-  *           - Macros to access peripheral’s registers hardware
+  *           - Macros to access peripheral’s registers hardware
   *
   ******************************************************************************
   * @attention
@@ -45,12 +45,12 @@
   * @{
   */
 
-/** @addtogroup stm32f401xe
+/** @addtogroup stm32f411xe
   * @{
   */
     
-#ifndef __STM32F401xE_H
-#define __STM32F401xE_H
+#ifndef __STM32F411xE_H
+#define __STM32F411xE_H
 
 #ifdef __cplusplus
  extern "C" {
Binary file TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_MICRO/board.o has changed
Binary file TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_MICRO/cmsis_nvic.o has changed
Binary file TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_MICRO/mbed.ar has changed
Binary file TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_MICRO/mbed_overrides.o has changed
Binary file TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_MICRO/retarget.o has changed
Binary file TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_MICRO/stm32l0xx_hal.o has changed
Binary file TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_MICRO/stm32l0xx_hal_adc.o has changed
Binary file TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_MICRO/stm32l0xx_hal_adc_ex.o has changed
Binary file TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_MICRO/stm32l0xx_hal_comp.o has changed
Binary file TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_MICRO/stm32l0xx_hal_cortex.o has changed
Binary file TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_MICRO/stm32l0xx_hal_crc.o has changed
Binary file TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_MICRO/stm32l0xx_hal_crc_ex.o has changed
Binary file TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_MICRO/stm32l0xx_hal_cryp.o has changed
Binary file TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_MICRO/stm32l0xx_hal_dac.o has changed
Binary file TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_MICRO/stm32l0xx_hal_dac_ex.o has changed
Binary file TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_MICRO/stm32l0xx_hal_dma.o has changed
Binary file TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_MICRO/stm32l0xx_hal_flash.o has changed
Binary file TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_MICRO/stm32l0xx_hal_flash_ex.o has changed
Binary file TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_MICRO/stm32l0xx_hal_flash_ramfunc.o has changed
Binary file TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_MICRO/stm32l0xx_hal_gpio.o has changed
Binary file TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_MICRO/stm32l0xx_hal_i2c.o has changed
Binary file TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_MICRO/stm32l0xx_hal_i2c_ex.o has changed
Binary file TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_MICRO/stm32l0xx_hal_i2s.o has changed
Binary file TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_MICRO/stm32l0xx_hal_irda.o has changed
Binary file TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_MICRO/stm32l0xx_hal_iwdg.o has changed
Binary file TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_MICRO/stm32l0xx_hal_lcd.o has changed
Binary file TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_MICRO/stm32l0xx_hal_lptim.o has changed
Binary file TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_MICRO/stm32l0xx_hal_pcd.o has changed
Binary file TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_MICRO/stm32l0xx_hal_pcd_ex.o has changed
Binary file TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_MICRO/stm32l0xx_hal_pwr.o has changed
Binary file TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_MICRO/stm32l0xx_hal_pwr_ex.o has changed
Binary file TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_MICRO/stm32l0xx_hal_rcc.o has changed
Binary file TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_MICRO/stm32l0xx_hal_rcc_ex.o has changed
Binary file TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_MICRO/stm32l0xx_hal_rng.o has changed
Binary file TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_MICRO/stm32l0xx_hal_rtc.o has changed
Binary file TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_MICRO/stm32l0xx_hal_rtc_ex.o has changed
Binary file TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_MICRO/stm32l0xx_hal_smartcard.o has changed
Binary file TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_MICRO/stm32l0xx_hal_smartcard_ex.o has changed
Binary file TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_MICRO/stm32l0xx_hal_smbus.o has changed
Binary file TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_MICRO/stm32l0xx_hal_spi.o has changed
Binary file TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_MICRO/stm32l0xx_hal_tim.o has changed
Binary file TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_MICRO/stm32l0xx_hal_tim_ex.o has changed
Binary file TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_MICRO/stm32l0xx_hal_tsc.o has changed
Binary file TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_MICRO/stm32l0xx_hal_uart.o has changed
Binary file TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_MICRO/stm32l0xx_hal_uart_ex.o has changed
Binary file TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_MICRO/stm32l0xx_hal_usart.o has changed
Binary file TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_MICRO/stm32l0xx_hal_wwdg.o has changed
Binary file TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_MICRO/sys.o has changed
Binary file TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_MICRO/system_stm32l0xx.o has changed
Binary file TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_STD/board.o has changed
Binary file TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_STD/cmsis_nvic.o has changed
Binary file TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_STD/mbed.ar has changed
Binary file TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_STD/mbed_overrides.o has changed
Binary file TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_STD/retarget.o has changed
Binary file TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_STD/stm32l0xx_hal.o has changed
Binary file TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_STD/stm32l0xx_hal_adc.o has changed
Binary file TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_STD/stm32l0xx_hal_adc_ex.o has changed
Binary file TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_STD/stm32l0xx_hal_comp.o has changed
Binary file TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_STD/stm32l0xx_hal_cortex.o has changed
Binary file TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_STD/stm32l0xx_hal_crc.o has changed
Binary file TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_STD/stm32l0xx_hal_crc_ex.o has changed
Binary file TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_STD/stm32l0xx_hal_cryp.o has changed
Binary file TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_STD/stm32l0xx_hal_dac.o has changed
Binary file TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_STD/stm32l0xx_hal_dac_ex.o has changed
Binary file TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_STD/stm32l0xx_hal_dma.o has changed
Binary file TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_STD/stm32l0xx_hal_flash.o has changed
Binary file TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_STD/stm32l0xx_hal_flash_ex.o has changed
Binary file TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_STD/stm32l0xx_hal_flash_ramfunc.o has changed
Binary file TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_STD/stm32l0xx_hal_gpio.o has changed
Binary file TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_STD/stm32l0xx_hal_i2c.o has changed
Binary file TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_STD/stm32l0xx_hal_i2c_ex.o has changed
Binary file TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_STD/stm32l0xx_hal_i2s.o has changed
Binary file TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_STD/stm32l0xx_hal_irda.o has changed
Binary file TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_STD/stm32l0xx_hal_iwdg.o has changed
Binary file TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_STD/stm32l0xx_hal_lcd.o has changed
Binary file TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_STD/stm32l0xx_hal_lptim.o has changed
Binary file TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_STD/stm32l0xx_hal_pcd.o has changed
Binary file TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_STD/stm32l0xx_hal_pcd_ex.o has changed
Binary file TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_STD/stm32l0xx_hal_pwr.o has changed
Binary file TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_STD/stm32l0xx_hal_pwr_ex.o has changed
Binary file TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_STD/stm32l0xx_hal_rcc.o has changed
Binary file TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_STD/stm32l0xx_hal_rcc_ex.o has changed
Binary file TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_STD/stm32l0xx_hal_rng.o has changed
Binary file TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_STD/stm32l0xx_hal_rtc.o has changed
Binary file TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_STD/stm32l0xx_hal_rtc_ex.o has changed
Binary file TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_STD/stm32l0xx_hal_smartcard.o has changed
Binary file TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_STD/stm32l0xx_hal_smartcard_ex.o has changed
Binary file TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_STD/stm32l0xx_hal_smbus.o has changed
Binary file TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_STD/stm32l0xx_hal_spi.o has changed
Binary file TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_STD/stm32l0xx_hal_tim.o has changed
Binary file TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_STD/stm32l0xx_hal_tim_ex.o has changed
Binary file TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_STD/stm32l0xx_hal_tsc.o has changed
Binary file TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_STD/stm32l0xx_hal_uart.o has changed
Binary file TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_STD/stm32l0xx_hal_uart_ex.o has changed
Binary file TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_STD/stm32l0xx_hal_usart.o has changed
Binary file TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_STD/stm32l0xx_hal_wwdg.o has changed
Binary file TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_STD/sys.o has changed
Binary file TARGET_NUCLEO_L053R8/TOOLCHAIN_ARM_STD/system_stm32l0xx.o has changed
Binary file TARGET_NUCLEO_L152RE/TOOLCHAIN_ARM_MICRO/board.o has changed
Binary file TARGET_NUCLEO_L152RE/TOOLCHAIN_ARM_MICRO/cmsis_nvic.o has changed
Binary file TARGET_NUCLEO_L152RE/TOOLCHAIN_ARM_MICRO/mbed.ar has changed
Binary file TARGET_NUCLEO_L152RE/TOOLCHAIN_ARM_MICRO/mbed_overrides.o has changed
Binary file TARGET_NUCLEO_L152RE/TOOLCHAIN_ARM_MICRO/misc.o has changed
Binary file TARGET_NUCLEO_L152RE/TOOLCHAIN_ARM_MICRO/retarget.o has changed
Binary file TARGET_NUCLEO_L152RE/TOOLCHAIN_ARM_MICRO/stm32l1xx_adc.o has changed
Binary file TARGET_NUCLEO_L152RE/TOOLCHAIN_ARM_MICRO/stm32l1xx_aes.o has changed
Binary file TARGET_NUCLEO_L152RE/TOOLCHAIN_ARM_MICRO/stm32l1xx_aes_util.o has changed
Binary file TARGET_NUCLEO_L152RE/TOOLCHAIN_ARM_MICRO/stm32l1xx_comp.o has changed
Binary file TARGET_NUCLEO_L152RE/TOOLCHAIN_ARM_MICRO/stm32l1xx_crc.o has changed
Binary file TARGET_NUCLEO_L152RE/TOOLCHAIN_ARM_MICRO/stm32l1xx_dac.o has changed
Binary file TARGET_NUCLEO_L152RE/TOOLCHAIN_ARM_MICRO/stm32l1xx_dbgmcu.o has changed
Binary file TARGET_NUCLEO_L152RE/TOOLCHAIN_ARM_MICRO/stm32l1xx_dma.o has changed
Binary file TARGET_NUCLEO_L152RE/TOOLCHAIN_ARM_MICRO/stm32l1xx_exti.o has changed
Binary file TARGET_NUCLEO_L152RE/TOOLCHAIN_ARM_MICRO/stm32l1xx_flash.o has changed
Binary file TARGET_NUCLEO_L152RE/TOOLCHAIN_ARM_MICRO/stm32l1xx_flash_ramfunc.o has changed
Binary file TARGET_NUCLEO_L152RE/TOOLCHAIN_ARM_MICRO/stm32l1xx_fsmc.o has changed
Binary file TARGET_NUCLEO_L152RE/TOOLCHAIN_ARM_MICRO/stm32l1xx_gpio.o has changed
Binary file TARGET_NUCLEO_L152RE/TOOLCHAIN_ARM_MICRO/stm32l1xx_i2c.o has changed
Binary file TARGET_NUCLEO_L152RE/TOOLCHAIN_ARM_MICRO/stm32l1xx_iwdg.o has changed
Binary file TARGET_NUCLEO_L152RE/TOOLCHAIN_ARM_MICRO/stm32l1xx_lcd.o has changed
Binary file TARGET_NUCLEO_L152RE/TOOLCHAIN_ARM_MICRO/stm32l1xx_opamp.o has changed
Binary file TARGET_NUCLEO_L152RE/TOOLCHAIN_ARM_MICRO/stm32l1xx_pwr.o has changed
Binary file TARGET_NUCLEO_L152RE/TOOLCHAIN_ARM_MICRO/stm32l1xx_rcc.o has changed
Binary file TARGET_NUCLEO_L152RE/TOOLCHAIN_ARM_MICRO/stm32l1xx_rtc.o has changed
Binary file TARGET_NUCLEO_L152RE/TOOLCHAIN_ARM_MICRO/stm32l1xx_sdio.o has changed
Binary file TARGET_NUCLEO_L152RE/TOOLCHAIN_ARM_MICRO/stm32l1xx_spi.o has changed
Binary file TARGET_NUCLEO_L152RE/TOOLCHAIN_ARM_MICRO/stm32l1xx_syscfg.o has changed
Binary file TARGET_NUCLEO_L152RE/TOOLCHAIN_ARM_MICRO/stm32l1xx_tim.o has changed
Binary file TARGET_NUCLEO_L152RE/TOOLCHAIN_ARM_MICRO/stm32l1xx_usart.o has changed
Binary file TARGET_NUCLEO_L152RE/TOOLCHAIN_ARM_MICRO/stm32l1xx_wwdg.o has changed
Binary file TARGET_NUCLEO_L152RE/TOOLCHAIN_ARM_MICRO/sys.o has changed
Binary file TARGET_NUCLEO_L152RE/TOOLCHAIN_ARM_MICRO/system_stm32l1xx.o has changed
Binary file TARGET_NUCLEO_L152RE/TOOLCHAIN_ARM_STD/board.o has changed
Binary file TARGET_NUCLEO_L152RE/TOOLCHAIN_ARM_STD/cmsis_nvic.o has changed
Binary file TARGET_NUCLEO_L152RE/TOOLCHAIN_ARM_STD/mbed.ar has changed
Binary file TARGET_NUCLEO_L152RE/TOOLCHAIN_ARM_STD/mbed_overrides.o has changed
Binary file TARGET_NUCLEO_L152RE/TOOLCHAIN_ARM_STD/misc.o has changed
Binary file TARGET_NUCLEO_L152RE/TOOLCHAIN_ARM_STD/retarget.o has changed
Binary file TARGET_NUCLEO_L152RE/TOOLCHAIN_ARM_STD/stm32l1xx_adc.o has changed
Binary file TARGET_NUCLEO_L152RE/TOOLCHAIN_ARM_STD/stm32l1xx_aes.o has changed
Binary file TARGET_NUCLEO_L152RE/TOOLCHAIN_ARM_STD/stm32l1xx_aes_util.o has changed
Binary file TARGET_NUCLEO_L152RE/TOOLCHAIN_ARM_STD/stm32l1xx_comp.o has changed
Binary file TARGET_NUCLEO_L152RE/TOOLCHAIN_ARM_STD/stm32l1xx_crc.o has changed
Binary file TARGET_NUCLEO_L152RE/TOOLCHAIN_ARM_STD/stm32l1xx_dac.o has changed
Binary file TARGET_NUCLEO_L152RE/TOOLCHAIN_ARM_STD/stm32l1xx_dbgmcu.o has changed
Binary file TARGET_NUCLEO_L152RE/TOOLCHAIN_ARM_STD/stm32l1xx_dma.o has changed
Binary file TARGET_NUCLEO_L152RE/TOOLCHAIN_ARM_STD/stm32l1xx_exti.o has changed
Binary file TARGET_NUCLEO_L152RE/TOOLCHAIN_ARM_STD/stm32l1xx_flash.o has changed
Binary file TARGET_NUCLEO_L152RE/TOOLCHAIN_ARM_STD/stm32l1xx_flash_ramfunc.o has changed
Binary file TARGET_NUCLEO_L152RE/TOOLCHAIN_ARM_STD/stm32l1xx_fsmc.o has changed
Binary file TARGET_NUCLEO_L152RE/TOOLCHAIN_ARM_STD/stm32l1xx_gpio.o has changed
Binary file TARGET_NUCLEO_L152RE/TOOLCHAIN_ARM_STD/stm32l1xx_i2c.o has changed
Binary file TARGET_NUCLEO_L152RE/TOOLCHAIN_ARM_STD/stm32l1xx_iwdg.o has changed
Binary file TARGET_NUCLEO_L152RE/TOOLCHAIN_ARM_STD/stm32l1xx_lcd.o has changed
Binary file TARGET_NUCLEO_L152RE/TOOLCHAIN_ARM_STD/stm32l1xx_opamp.o has changed
Binary file TARGET_NUCLEO_L152RE/TOOLCHAIN_ARM_STD/stm32l1xx_pwr.o has changed
Binary file TARGET_NUCLEO_L152RE/TOOLCHAIN_ARM_STD/stm32l1xx_rcc.o has changed
Binary file TARGET_NUCLEO_L152RE/TOOLCHAIN_ARM_STD/stm32l1xx_rtc.o has changed
Binary file TARGET_NUCLEO_L152RE/TOOLCHAIN_ARM_STD/stm32l1xx_sdio.o has changed
Binary file TARGET_NUCLEO_L152RE/TOOLCHAIN_ARM_STD/stm32l1xx_spi.o has changed
Binary file TARGET_NUCLEO_L152RE/TOOLCHAIN_ARM_STD/stm32l1xx_syscfg.o has changed
Binary file TARGET_NUCLEO_L152RE/TOOLCHAIN_ARM_STD/stm32l1xx_tim.o has changed
Binary file TARGET_NUCLEO_L152RE/TOOLCHAIN_ARM_STD/stm32l1xx_usart.o has changed
Binary file TARGET_NUCLEO_L152RE/TOOLCHAIN_ARM_STD/stm32l1xx_wwdg.o has changed
Binary file TARGET_NUCLEO_L152RE/TOOLCHAIN_ARM_STD/sys.o has changed
Binary file TARGET_NUCLEO_L152RE/TOOLCHAIN_ARM_STD/system_stm32l1xx.o has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TARGET_RBLAB_NRF51822/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/ble.h	Fri Aug 15 15:28:31 2014 +0100
@@ -0,0 +1,385 @@
+/* Copyright (c) 2011 Nordic Semiconductor. All Rights Reserved.
+ *
+ * The information contained herein is confidential property of Nordic Semiconductor. The use,
+ * copying, transfer or disclosure of such information is prohibited except by express written
+ * agreement with Nordic Semiconductor.
+ *
+ */
+/**
+  @addtogroup BLE_COMMON BLE SoftDevice Common
+  @{
+  @defgroup ble_api Events, type definitions and API calls
+  @{
+
+  @brief Module independent events, type definitions and API calls for the S110 SoftDevice.
+
+ */
+
+#ifndef BLE_H__
+#define BLE_H__
+
+#include "ble_ranges.h"
+#include "ble_types.h"
+#include "ble_gap.h"
+#include "ble_l2cap.h"
+#include "ble_gatt.h"
+#include "ble_gattc.h"
+#include "ble_gatts.h"
+
+/** @addtogroup BLE_COMMON_ENUMERATIONS Enumerations
+ * @{ */
+
+/**
+ * @brief Common API SVC numbers.
+ */
+enum BLE_COMMON_SVCS
+{
+  SD_BLE_ENABLE = BLE_SVC_BASE,         /**< Enable and initialize the BLE stack */
+  SD_BLE_EVT_GET,                       /**< Get an event from the pending events queue. */
+  SD_BLE_TX_BUFFER_COUNT_GET,           /**< Get the total number of available application transmission buffers from the stack. */
+  SD_BLE_UUID_VS_ADD,                   /**< Add a Vendor Specific UUID. */
+  SD_BLE_UUID_DECODE,                   /**< Decode UUID bytes. */
+  SD_BLE_UUID_ENCODE,                   /**< Encode UUID bytes. */
+  SD_BLE_VERSION_GET,                   /**< Get the local version information (company id, Link Layer Version, Link Layer Subversion). */
+  SD_BLE_USER_MEM_REPLY,                /**< User Memory Reply. */
+  SD_BLE_OPT_SET,                       /**< Set a BLE option. */
+  SD_BLE_OPT_GET,                       /**< Get a BLE option. */
+};
+
+/** @} */
+
+/** @addtogroup BLE_COMMON_DEFINES Defines
+ * @{ */
+
+/** @brief  Required pointer alignment for BLE Events.
+*/
+#define BLE_EVTS_PTR_ALIGNMENT    4
+
+/** @defgroup BLE_USER_MEM_TYPES User Memory Types
+ * @{ */
+#define BLE_USER_MEM_TYPE_INVALID               0x00  /**< Invalid User Memory Types. */
+#define BLE_USER_MEM_TYPE_GATTS_QUEUED_WRITES   0x01  /**< User Memory for GATTS queued writes. */
+/** @} */
+
+/** @brief  Maximum number of Vendor Specific UUIDs.
+*/
+#define BLE_UUID_VS_MAX_COUNT     10
+
+/** @} */
+
+/** @addtogroup BLE_COMMON_STRUCTURES Structures
+ * @{ */
+
+/**
+ * @brief BLE Module Independent Event IDs.
+ */
+enum BLE_COMMON_EVTS
+{
+  BLE_EVT_TX_COMPLETE  = BLE_EVT_BASE,  /**< Transmission Complete. */
+  BLE_EVT_USER_MEM_REQUEST,             /**< User Memory request. */
+  BLE_EVT_USER_MEM_RELEASE              /**< User Memory release. */
+};
+
+/**@brief User Memory Block. */
+typedef struct
+{
+  uint8_t*          p_mem;      /**< Pointer to the start of the user memory block. */
+  uint16_t          len;        /**< Length in bytes of the user memory block. */
+} ble_user_mem_block_t;
+
+/**
+ * @brief TX complete event.
+ */
+typedef struct
+{
+  uint8_t count;                        /**< Number of packets transmitted. */
+} ble_evt_tx_complete_t;
+
+/**@brief Event structure for BLE_EVT_USER_MEM_REQUEST. */
+typedef struct
+{
+  uint8_t                     type;     /**< User memory type, see @ref BLE_USER_MEM_TYPES. */
+} ble_evt_user_mem_request_t;
+
+/**@brief Event structure for BLE_EVT_USER_MEM_RELEASE. */
+typedef struct
+{
+  uint8_t                     type;       /**< User memory type, see @ref BLE_USER_MEM_TYPES. */
+  ble_user_mem_block_t        mem_block;  /**< User memory block */
+} ble_evt_user_mem_release_t;
+
+
+/**@brief Event structure for events not associated with a specific function module. */
+typedef struct
+{
+  uint16_t conn_handle;                 /**< Connection Handle on which this event occured. */
+  union
+  {
+    ble_evt_tx_complete_t           tx_complete;        /**< Transmission Complete. */
+    ble_evt_user_mem_request_t      user_mem_request;   /**< User Memory Request Event Parameters. */
+    ble_evt_user_mem_release_t      user_mem_release;   /**< User Memory Release Event Parameters. */
+  } params;
+} ble_common_evt_t;
+
+/**@brief BLE Event header. */
+typedef struct
+{
+  uint16_t evt_id;                      /**< Value from a BLE_<module>_EVT series. */
+  uint16_t evt_len;                     /**< Length in octets excluding this header. */
+} ble_evt_hdr_t;
+
+/**@brief Common BLE Event type, wrapping the module specific event reports. */
+typedef struct
+{
+  ble_evt_hdr_t header;                 /**< Event header. */
+  union
+  {
+    ble_common_evt_t  common_evt;         /**< Common Event, evt_id in BLE_EVT_* series. */
+    ble_gap_evt_t     gap_evt;            /**< GAP originated event, evt_id in BLE_GAP_EVT_* series. */
+    ble_l2cap_evt_t   l2cap_evt;          /**< L2CAP originated event, evt_id in BLE_L2CAP_EVT* series. */
+    ble_gattc_evt_t   gattc_evt;          /**< GATT client originated event, evt_id in BLE_GATTC_EVT* series. */
+    ble_gatts_evt_t   gatts_evt;          /**< GATT server originated event, evt_id in BLE_GATTS_EVT* series. */
+  } evt;
+} ble_evt_t;
+
+
+/**
+ * @brief Version Information.
+ */
+typedef struct
+{
+  uint8_t   version_number;             /**< Link Layer Version number for BT 4.1 spec is 7 (https://www.bluetooth.org/en-us/specification/assigned-numbers/link-layer). */
+  uint16_t  company_id;                 /**< Company ID, Nordic Semiconductor's company ID is 89 (0x0059) (https://www.bluetooth.org/apps/content/Default.aspx?doc_id=49708). */
+  uint16_t  subversion_number;          /**< Link Layer Sub Version number, corresponds to the SoftDevice Config ID or Firmware ID (FWID). */
+} ble_version_t;
+
+/**@brief Common BLE Option type, wrapping the module specific options. */
+typedef union
+{
+  ble_gap_opt_t     gap;            /**< GAP option, opt_id in BLE_GAP_OPT_* series. */
+} ble_opt_t;
+
+/**
+ * @brief BLE GATTS init options
+ */
+typedef struct
+{
+  ble_gatts_enable_params_t  gatts_enable_params; /**< GATTS init options @ref ble_gatts_enable_params_t. */  
+} ble_enable_params_t;
+
+/** @} */
+
+/** @addtogroup BLE_COMMON_FUNCTIONS Functions
+ * @{ */
+
+/**@brief Enable the bluetooth stack
+ *
+ * @param[in] p_ble_enable_params Pointer to ble_enable_params_t
+ *
+ * @details This call initializes the bluetooth stack, no other BLE related call can be called before this one has been executed.
+ *
+ * @return @ref NRF_SUCCESS BLE stack has been initialized successfully
+ * @return @ref NRF_ERROR_INVALID_ADDR Invalid or not sufficiently aligned pointer supplied.
+ */
+SVCALL(SD_BLE_ENABLE, uint32_t, sd_ble_enable(ble_enable_params_t * p_ble_enable_params));
+
+/**@brief Get an event from the pending events queue.
+ *
+ * @param[in] p_dest Pointer to buffer to be filled in with an event, or NULL to retrieve the event length. This buffer <b>must be 4-byte aligned in memory</b>.
+ * @param[in, out] p_len Pointer the length of the buffer, on return it is filled with the event length.
+ *
+ * @details This call allows the application to pull a BLE event from the BLE stack. The application is signalled that an event is 
+ * available from the BLE Stack by the triggering of the SD_EVT_IRQn interrupt (mapped to IRQ 22).
+ * The application is free to choose whether to call this function from thread mode (main context) or directly from the Interrupt Service Routine
+ * that maps to SD_EVT_IRQn. In any case however, and because the BLE stack runs at a higher priority than the application, this function should be called
+ * in a loop (until @ref NRF_ERROR_NOT_FOUND is returned) every time SD_EVT_IRQn is raised to ensure that all available events are pulled from the stack. 
+ * Failure to do so could potentially leave events in the internal queue without the application being aware of this fact.
+ * Sizing the p_dest buffer is equally important, since the application needs to provide all the memory necessary for the event to be copied into
+ * application memory. If the buffer provided is not large enough to fit the entire contents of the event, @ref NRF_ERROR_DATA_SIZE will be returned
+ * and the application can then call again with a larger buffer size.
+ * Please note that because of the variable length nature of some events, sizeof(ble_evt_t) will not always be large enough to fit certain events, 
+ * and so it is the application's responsability to provide an amount of memory large enough so that the relevant event is copied in full.
+ * The application may "peek" the event length by providing p_dest as a NULL pointer and inspecting the value of *p_len upon return.
+ *
+ * @note The pointer supplied must be aligned to the extend defined by @ref BLE_EVTS_PTR_ALIGNMENT
+ *
+ * @return @ref NRF_SUCCESS Event pulled and stored into the supplied buffer.
+ * @return @ref NRF_ERROR_INVALID_ADDR Invalid or not sufficiently aligned pointer supplied.
+ * @return @ref NRF_ERROR_NOT_FOUND No events ready to be pulled.
+ * @return @ref NRF_ERROR_DATA_SIZE Event ready but could not fit into the supplied buffer.
+ */
+SVCALL(SD_BLE_EVT_GET, uint32_t, sd_ble_evt_get(uint8_t* p_dest, uint16_t *p_len));
+
+
+/**@brief Get the total number of available application transmission buffers in the BLE stack.
+ *
+ * @details This call allows the application to obtain the total number of
+ *          transmission buffers available for application data. Please note that
+ *          this does not give the number of free buffers, but rather the total amount of them.
+ *          The application has two options to handle its own application transmission buffers:
+ *          - Use a simple arithmetic calculation: at boot time the application should use this function
+ *          to find out the total amount of buffers available to it and store it in a variable.
+ *          Every time a packet that consumes an application buffer is sent using any of the 
+ *          exposed functions in this BLE API, the application should decrement that variable.
+ *          Conversely, whenever a @ref BLE_EVT_TX_COMPLETE event is received by the application
+ *          it should retrieve the count field in such event and add that number to the same
+ *          variable storing the number of available packets.
+ *          This mechanism allows the application to be aware at any time of the number of
+ *          application packets available in the BLE stack's internal buffers, and therefore
+ *          it can know with certainty whether it is possible to send more data or it has to
+ *          wait for a @ref BLE_EVT_TX_COMPLETE event before it proceeds.
+ *          - Choose to simply not keep track of available buffers at all, and instead handle the 
+ *          @ref BLE_ERROR_NO_TX_BUFFERS error by queueing the packet to be transmitted and 
+ *          try again as soon as a @ref BLE_EVT_TX_COMPLETE event arrives.
+ *
+ *          The API functions that <b>may</b> consume an application buffer depending on 
+ *          the parameters supplied to them can be found below:
+ *
+ *          - @ref sd_ble_gattc_write (write witout response only)
+ *          - @ref sd_ble_gatts_hvx (notifications only)
+ *          - @ref sd_ble_l2cap_tx (all packets)
+ *
+ * @param[out] p_count Pointer to a uint8_t which will contain the number of application transmission buffers upon
+ *                     successful return.
+ *
+ * @return @ref NRF_SUCCESS Number of application transmission buffers retrieved successfully.
+ * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
+ */
+SVCALL(SD_BLE_TX_BUFFER_COUNT_GET, uint32_t, sd_ble_tx_buffer_count_get(uint8_t* p_count));
+
+
+/**@brief Add a Vendor Specific UUID.
+ *
+ * @details This call enables the application to add a vendor specific UUID to the BLE stack's table,
+ *          for later use all other modules and APIs. This then allows the application to use the shorter,
+ *          24-bit @ref ble_uuid_t format when dealing with both 16-bit and 128-bit UUIDs without having to
+ *          check for lengths and having split code paths. The way that this is accomplished is by extending the 
+ *          grouping mechanism that the Bluetooth SIG standard base UUID uses for all other 128-bit UUIDs. The 
+ *          type field in the @ref ble_uuid_t structure is an index (relative to @ref BLE_UUID_TYPE_VENDOR_BEGIN) 
+ *          to the table populated by multiple calls to this function, and the uuid field in the same structure 
+ *          contains the 2 bytes at indices 12 and 13. The number of possible 128-bit UUIDs available to the 
+ *          application is therefore the number of Vendor Specific UUIDs added with the help of this function times 65536, 
+ *          although restricted to modifying bytes 12 and 13 for each of the entries in the supplied array.
+ *
+ * @note Bytes 12 and 13 of the provided UUID will not be used internally, since those are always replaced by 
+ * the 16-bit uuid field in @ref ble_uuid_t.
+ *
+ *
+ * @param[in]  p_vs_uuid    Pointer to a 16-octet (128-bit) little endian Vendor Specific UUID disregarding
+ *                          bytes 12 and 13.
+ * @param[out] p_uuid_type  Pointer where the type field in @ref ble_uuid_t corresponding to this UUID will be stored.
+ *
+ * @return @ref NRF_SUCCESS Successfully added the Vendor Specific UUID.
+ * @return @ref NRF_ERROR_INVALID_ADDR If p_vs_uuid or p_uuid_type is NULL or invalid.
+ * @return @ref NRF_ERROR_NO_MEM If there are no more free slots for VS UUIDs.
+ * @return @ref NRF_ERROR_FORBIDDEN If p_vs_uuid has already been added to the VS UUID table.
+ */
+SVCALL(SD_BLE_UUID_VS_ADD, uint32_t, sd_ble_uuid_vs_add(ble_uuid128_t const * const p_vs_uuid, uint8_t * const p_uuid_type));
+
+
+/** @brief Decode little endian raw UUID bytes (16-bit or 128-bit) into a 24 bit @ref ble_uuid_t structure.
+ * 
+ * @details The raw UUID bytes excluding bytes 12 and 13 (i.e. bytes 0-11 and 14-15) of p_uuid_le are compared 
+ * to the corresponding ones in each entry of the table of vendor specific UUIDs pouplated with @ref sd_ble_uuid_vs_add 
+ * to look for a match. If there is such a match, bytes 12 and 13 are returned as p_uuid->uuid and the index 
+ * relative to @ref BLE_UUID_TYPE_VENDOR_BEGIN as p_uuid->type. 
+ *
+ * @note If the UUID length supplied is 2, then the type set by this call will always be @ref BLE_UUID_TYPE_BLE.
+ *
+ * @param[in]      uuid_le_len Length in bytes of the buffer pointed to by p_uuid_le (must be 2 or 16 bytes).
+ * @param[in]      p_uuid_le   Pointer pointing to little endian raw UUID bytes.
+ * @param[in,out]  p_uuid      Pointer to a @ref ble_uuid_t structure to be filled in.
+ *
+ * @return @ref NRF_SUCCESS Successfully decoded into the @ref ble_uuid_t structure.
+ * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
+ * @return @ref NRF_ERROR_INVALID_LENGTH Invalid UUID length.
+ * @return @ref NRF_ERROR_NOT_FOUND For a 128-bit UUID, no match in the populated table of UUIDs.
+ */                                                 
+SVCALL(SD_BLE_UUID_DECODE, uint32_t, sd_ble_uuid_decode(uint8_t uuid_le_len, uint8_t const * const p_uuid_le, ble_uuid_t * const p_uuid));
+
+
+/** @brief Encode a @ref ble_uuid_t structure into little endian raw UUID bytes (16-bit or 128-bit).
+ *
+ * @note The pointer to the destination buffer p_uuid_le may be NULL, in which case only the validitiy and size of p_uuid is computed.
+ *
+ * @param[in]      p_uuid        Pointer to a @ref ble_uuid_t structure that will be encoded into bytes.
+ * @param[out]     p_uuid_le_len Pointer to a uint8_t that will be filled with the encoded length (2 or 16 bytes).
+ * @param[out]     p_uuid_le     Pointer to a buffer where the little endian raw UUID bytes (2 or 16) will be stored.
+ *
+ * @return @ref NRF_SUCCESS Successfully encoded into the buffer.
+ * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
+ * @return @ref NRF_ERROR_INVALID_PARAM Invalid UUID type.
+ */
+SVCALL(SD_BLE_UUID_ENCODE, uint32_t, sd_ble_uuid_encode(ble_uuid_t const * const p_uuid, uint8_t * const  p_uuid_le_len, uint8_t * const p_uuid_le));
+
+
+/**@brief Get Version Information.
+ *
+ * @details This call allows the application to get the BLE stack version information.
+ *
+ * @param[in] p_version Pointer to ble_version_t structure to be filled in.
+ *
+ * @return @ref NRF_SUCCESS  Version information stored successfully.
+ * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
+ * @return @ref NRF_ERROR_BUSY The stack is busy (typically doing a locally-initiated disconnection procedure).
+ */
+SVCALL(SD_BLE_VERSION_GET, uint32_t, sd_ble_version_get(ble_version_t * p_version));
+
+
+/**@brief Provide a user memory block.
+ *
+ * @note This call can only be used as a response to a @ref BLE_EVT_USER_MEM_REQUEST event issued to the application.
+ *
+ * @param[in] conn_handle                 Connection handle.
+ * @param[in] p_block                     Pointer to a user memory block structure.
+ *
+ * @return @ref NRF_SUCCESS               Successfully queued a response to the peer.
+ * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid Connection Handle.
+ * @return @ref NRF_ERROR_INVALID_STATE   No execute write request pending.
+ */
+SVCALL(SD_BLE_USER_MEM_REPLY, uint32_t, sd_ble_user_mem_reply(uint16_t conn_handle, ble_user_mem_block_t *p_block));
+
+
+/**@brief Set a BLE option.
+ *
+ * @details This call allows the application to set the value of an option.
+ *
+ * @param[in] opt_id Option ID.
+ * @param[in] p_opt Pointer to a ble_opt_t structure containing the option value.
+ *
+ * @retval ::NRF_SUCCESS  Option set successfully.
+ * @retval ::NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
+ * @retval ::BLE_ERROR_INVALID_CONN_HANDLE Invalid Connection Handle.
+ * @retval ::NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied, check parameter limits and constraints.
+ * @retval ::NRF_ERROR_INVALID_STATE Unable to set the parameter at this time.
+ * @retval ::NRF_ERROR_BUSY The stack is busy or the previous procedure has not completed.
+ */
+SVCALL(SD_BLE_OPT_SET, uint32_t, sd_ble_opt_set(uint32_t opt_id, ble_opt_t const *p_opt));
+
+
+/**@brief Get a BLE option.
+ *
+ * @details This call allows the application to retrieve the value of an option.
+ *
+ * @param[in] opt_id Option ID.
+ * @param[out] p_opt Pointer to a ble_opt_t structure to be filled in.
+ *
+ * @retval ::NRF_SUCCESS  Option retrieved successfully.
+ * @retval ::NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
+ * @retval ::BLE_ERROR_INVALID_CONN_HANDLE Invalid Connection Handle.
+ * @retval ::NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied, check parameter limits and constraints.
+ * @retval ::NRF_ERROR_INVALID_STATE Unable to retrieve the parameter at this time.
+ * @retval ::NRF_ERROR_BUSY The stack is busy or the previous procedure has not completed.
+ * @retval ::NRF_ERROR_NOT_SUPPORTED This option is not supported.
+ *
+ */
+SVCALL(SD_BLE_OPT_GET, uint32_t, sd_ble_opt_get(uint32_t opt_id, ble_opt_t *p_opt));
+
+/** @} */
+
+#endif /* BLE_H__ */
+
+/**
+  @}
+  @}
+*/
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TARGET_RBLAB_NRF51822/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/ble_err.h	Fri Aug 15 15:28:31 2014 +0100
@@ -0,0 +1,54 @@
+/*
+ * Copyright (c) 2012 Nordic Semiconductor. All Rights Reserved.
+ *
+ * The information contained herein is confidential property of Nordic Semiconductor. The use,
+ * copying, transfer or disclosure of such information is prohibited except by express written
+ * agreement with Nordic Semiconductor.
+ *
+ */
+ /**
+  @addtogroup BLE_COMMON
+  @{
+  @addtogroup  nrf_error
+  @{
+    @ingroup BLE_COMMON
+  @}
+
+  @defgroup ble_err General error codes
+  @{
+
+  @brief General error code definitions for the BLE API.
+
+  @ingroup BLE_COMMON
+*/
+#ifndef NRF_BLE_ERR_H__
+#define NRF_BLE_ERR_H__
+
+#include "nrf_error.h"
+
+/* @defgroup BLE_ERRORS Error Codes
+ * @{ */
+#define BLE_ERROR_NOT_ENABLED            (NRF_ERROR_STK_BASE_NUM+0x001) /**< @ref sd_ble_enable has not been called. */
+#define BLE_ERROR_INVALID_CONN_HANDLE    (NRF_ERROR_STK_BASE_NUM+0x002) /**< Invalid connection handle. */
+#define BLE_ERROR_INVALID_ATTR_HANDLE    (NRF_ERROR_STK_BASE_NUM+0x003) /**< Invalid attribute handle. */
+#define BLE_ERROR_NO_TX_BUFFERS          (NRF_ERROR_STK_BASE_NUM+0x004) /**< Buffer capacity exceeded. */
+/** @} */
+
+
+/** @defgroup BLE_ERROR_SUBRANGES Module specific error code subranges
+ *  @brief Assignment of subranges for module specific error codes.
+ *  @note For specific error codes, see ble_<module>.h or ble_error_<module>.h.
+ * @{ */
+#define NRF_L2CAP_ERR_BASE             (NRF_ERROR_STK_BASE_NUM+0x100) /**< L2CAP specific errors. */
+#define NRF_GAP_ERR_BASE               (NRF_ERROR_STK_BASE_NUM+0x200) /**< GAP specific errors. */
+#define NRF_GATTC_ERR_BASE             (NRF_ERROR_STK_BASE_NUM+0x300) /**< GATT client specific errors. */
+#define NRF_GATTS_ERR_BASE             (NRF_ERROR_STK_BASE_NUM+0x400) /**< GATT server specific errors. */
+/** @} */
+
+#endif
+
+
+/**
+  @}
+  @}
+*/
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TARGET_RBLAB_NRF51822/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/ble_gap.h	Fri Aug 15 15:28:31 2014 +0100
@@ -0,0 +1,1032 @@
+/* Copyright (c) 2011 Nordic Semiconductor. All Rights Reserved.
+ *
+ * The information contained herein is confidential property of Nordic Semiconductor. The use,
+ * copying, transfer or disclosure of such information is prohibited except by express written
+ * agreement with Nordic Semiconductor.
+ *
+ */
+/**
+  @addtogroup BLE_GAP Generic Access Profile (GAP)
+  @{
+  @brief Definitions and prototypes for the GAP interface.
+ */
+
+#ifndef BLE_GAP_H__
+#define BLE_GAP_H__
+
+#include "ble_types.h"
+#include "ble_ranges.h"
+#include "nrf_svc.h"
+
+
+/**@addtogroup BLE_GAP_ENUMERATIONS Enumerations 
+ * @{ */
+
+/**@brief GAP API SVC numbers.
+ */
+enum BLE_GAP_SVCS
+{
+  SD_BLE_GAP_ADDRESS_SET  = BLE_GAP_SVC_BASE,  /**< Set own Bluetooth Address. */
+  SD_BLE_GAP_ADDRESS_GET,                      /**< Get own Bluetooth Address. */
+  SD_BLE_GAP_ADV_DATA_SET,                     /**< Set Advertisement Data. */
+  SD_BLE_GAP_ADV_START,                        /**< Start Advertising. */
+  SD_BLE_GAP_ADV_STOP,                         /**< Stop Advertising. */
+  SD_BLE_GAP_CONN_PARAM_UPDATE,                /**< Connection Parameter Update. */
+  SD_BLE_GAP_DISCONNECT,                       /**< Disconnect. */
+  SD_BLE_GAP_TX_POWER_SET,                     /**< Set TX Power. */
+  SD_BLE_GAP_APPEARANCE_SET,                   /**< Set Appearance. */
+  SD_BLE_GAP_APPEARANCE_GET,                   /**< Get Appearance. */
+  SD_BLE_GAP_PPCP_SET,                         /**< Set PPCP. */
+  SD_BLE_GAP_PPCP_GET,                         /**< Get PPCP. */
+  SD_BLE_GAP_DEVICE_NAME_SET,                  /**< Set Device Name. */
+  SD_BLE_GAP_DEVICE_NAME_GET,                  /**< Get Device Name. */
+  SD_BLE_GAP_AUTHENTICATE,                     /**< Initiate Pairing/Bonding. */
+  SD_BLE_GAP_SEC_PARAMS_REPLY,                 /**< Reply with Security Parameters. */
+  SD_BLE_GAP_AUTH_KEY_REPLY,                   /**< Reply with an authentication key. */
+  SD_BLE_GAP_SEC_INFO_REPLY,                   /**< Reply with Security Information. */
+  SD_BLE_GAP_CONN_SEC_GET,                     /**< Obtain connection security level. */
+  SD_BLE_GAP_RSSI_START,                       /**< Start reporting of changes in RSSI. */ 
+  SD_BLE_GAP_RSSI_STOP,                        /**< Stop reporting of changes in RSSI. */ 
+};
+/**@} */
+
+/**@addtogroup BLE_GAP_DEFINES Defines
+ * @{ */
+
+/**@defgroup BLE_ERRORS_GAP SVC return values specific to GAP
+ * @{ */
+#define BLE_ERROR_GAP_UUID_LIST_MISMATCH            (NRF_GAP_ERR_BASE + 0x000)  /**< UUID list does not contain an integral number of UUIDs. */
+#define BLE_ERROR_GAP_DISCOVERABLE_WITH_WHITELIST   (NRF_GAP_ERR_BASE + 0x001)  /**< Use of Whitelist not permitted with discoverable advertising. */
+#define BLE_ERROR_GAP_INVALID_BLE_ADDR              (NRF_GAP_ERR_BASE + 0x002)  /**< The upper two bits of the address do not correspond to the specified address type. */
+/**@} */
+
+
+/**@defgroup BLE_GAP_ROLES GAP Roles
+ * @note Not explicitly used in peripheral API, but will be relevant for central API.
+ * @{ */
+#define BLE_GAP_ROLE_INVALID     0x0            /**< Invalid Role. */
+#define BLE_GAP_ROLE_PERIPH      0x1            /**< Peripheral Role. */
+#define BLE_GAP_ROLE_CENTRAL     0x2            /**< Central Role. */
+/**@} */
+
+
+/**@defgroup BLE_GAP_TIMEOUT_SOURCES GAP Timeout sources
+ * @{ */
+#define BLE_GAP_TIMEOUT_SRC_ADVERTISEMENT              0x00 /**< Advertisement timeout. */
+#define BLE_GAP_TIMEOUT_SRC_SECURITY_REQUEST           0x01 /**< Security request timeout. */
+/**@} */
+
+
+/**@defgroup BLE_GAP_ADDR_TYPES GAP Address types
+ * @{ */
+#define BLE_GAP_ADDR_TYPE_PUBLIC                        0x00 /**< Public address. */
+#define BLE_GAP_ADDR_TYPE_RANDOM_STATIC                 0x01 /**< Random Static address. */
+#define BLE_GAP_ADDR_TYPE_RANDOM_PRIVATE_RESOLVABLE     0x02 /**< Private Resolvable address. */
+#define BLE_GAP_ADDR_TYPE_RANDOM_PRIVATE_NON_RESOLVABLE 0x03 /**< Private Non-Resolvable address. */
+/**@} */
+
+/**@defgroup BLE_GAP_ADDR_CYCLE_MODES GAP Address cycle modes
+ * @{ */
+#define BLE_GAP_ADDR_CYCLE_MODE_NONE      0x00 /**< Set addresses directly, no automatic address cycling. */
+#define BLE_GAP_ADDR_CYCLE_MODE_AUTO      0x01 /**< Automatically generate and update private addresses. */
+/** @} */
+
+/**@brief The default interval in seconds at which a private address is refreshed when address cycle mode is @ref BLE_GAP_ADDR_CYCLE_MODE_AUTO.  */
+#define BLE_GAP_DEFAULT_PRIVATE_ADDR_CYCLE_INTERVAL_S (60 * 15)
+
+/** @brief BLE address length. */
+#define BLE_GAP_ADDR_LEN            6
+
+
+/**@defgroup BLE_GAP_AD_TYPE_DEFINITIONS GAP Advertising and Scan Response Data format
+ * @note Found at https://www.bluetooth.org/Technical/AssignedNumbers/generic_access_profile.htm
+ * @{ */
+#define BLE_GAP_AD_TYPE_FLAGS                               0x01 /**< Flags for discoverability. */
+#define BLE_GAP_AD_TYPE_16BIT_SERVICE_UUID_MORE_AVAILABLE   0x02 /**< Partial list of 16 bit service UUIDs. */
+#define BLE_GAP_AD_TYPE_16BIT_SERVICE_UUID_COMPLETE         0x03 /**< Complete list of 16 bit service UUIDs. */
+#define BLE_GAP_AD_TYPE_32BIT_SERVICE_UUID_MORE_AVAILABLE   0x04 /**< Partial list of 32 bit service UUIDs. */
+#define BLE_GAP_AD_TYPE_32BIT_SERVICE_UUID_COMPLETE         0x05 /**< Complete list of 32 bit service UUIDs. */
+#define BLE_GAP_AD_TYPE_128BIT_SERVICE_UUID_MORE_AVAILABLE  0x06 /**< Partial list of 128 bit service UUIDs. */
+#define BLE_GAP_AD_TYPE_128BIT_SERVICE_UUID_COMPLETE        0x07 /**< Complete list of 128 bit service UUIDs. */
+#define BLE_GAP_AD_TYPE_SHORT_LOCAL_NAME                    0x08 /**< Short local device name. */
+#define BLE_GAP_AD_TYPE_COMPLETE_LOCAL_NAME                 0x09 /**< Complete local device name. */
+#define BLE_GAP_AD_TYPE_TX_POWER_LEVEL                      0x0A /**< Transmit power level. */
+#define BLE_GAP_AD_TYPE_CLASS_OF_DEVICE                     0x0D /**< Class of device. */
+#define BLE_GAP_AD_TYPE_SIMPLE_PAIRING_HASH_C               0x0E /**< Simple Pairing Hash C. */
+#define BLE_GAP_AD_TYPE_SIMPLE_PAIRING_RANDOMIZER_R         0x0F /**< Simple Pairing Randomizer R. */
+#define BLE_GAP_AD_TYPE_SECURITY_MANAGER_TK_VALUE           0x10 /**< Security Manager TK Value. */
+#define BLE_GAP_AD_TYPE_SECURITY_MANAGER_OOB_FLAGS          0x11 /**< Security Manager Out Of Band Flags. */
+#define BLE_GAP_AD_TYPE_SLAVE_CONNECTION_INTERVAL_RANGE     0x12 /**< Slave Connection Interval Range. */
+#define BLE_GAP_AD_TYPE_SOLICITED_SERVICE_UUIDS_16BIT       0x14 /**< List of 16-bit Service Solicitation UUIDs. */
+#define BLE_GAP_AD_TYPE_SOLICITED_SERVICE_UUIDS_128BIT      0x15 /**< List of 128-bit Service Solicitation UUIDs. */
+#define BLE_GAP_AD_TYPE_SERVICE_DATA                        0x16 /**< Service Data - 16-bit UUID. */
+#define BLE_GAP_AD_TYPE_PUBLIC_TARGET_ADDRESS               0x17 /**< Public Target Address. */
+#define BLE_GAP_AD_TYPE_RANDOM_TARGET_ADDRESS               0x18 /**< Random Target Address. */
+#define BLE_GAP_AD_TYPE_APPEARANCE                          0x19 /**< Appearance. */
+#define BLE_GAP_AD_TYPE_ADVERTISING_INTERVAL                0x1A /**< Advertising Interval. */ 
+#define BLE_GAP_AD_TYPE_LE_BLUETOOTH_DEVICE_ADDRESS         0x1B /**< LE Bluetooth Device Address. */
+#define BLE_GAP_AD_TYPE_LE_ROLE                             0x1C /**< LE Role. */
+#define BLE_GAP_AD_TYPE_SIMPLE_PAIRING_HASH_C256            0x1D /**< Simple Pairing Hash C-256. */
+#define BLE_GAP_AD_TYPE_SIMPLE_PAIRING_RANDOMIZER_R256      0x1E /**< Simple Pairing Randomizer R-256. */
+#define BLE_GAP_AD_TYPE_SERVICE_DATA_32BIT_UUID             0x20 /**< Service Data - 32-bit UUID. */
+#define BLE_GAP_AD_TYPE_SERVICE_DATA_128BIT_UUID            0x21 /**< Service Data - 128-bit UUID. */
+#define BLE_GAP_AD_TYPE_3D_INFORMATION_DATA                 0x3D /**< 3D Information Data. */
+#define BLE_GAP_AD_TYPE_MANUFACTURER_SPECIFIC_DATA          0xFF /**< Manufacturer Specific Data. */
+/**@} */
+
+
+/**@defgroup BLE_GAP_ADV_FLAGS GAP Advertisement Flags
+ * @{ */
+#define BLE_GAP_ADV_FLAG_LE_LIMITED_DISC_MODE         (0x01)   /**< LE Limited Discoverable Mode. */
+#define BLE_GAP_ADV_FLAG_LE_GENERAL_DISC_MODE         (0x02)   /**< LE General Discoverable Mode. */
+#define BLE_GAP_ADV_FLAG_BR_EDR_NOT_SUPPORTED         (0x04)   /**< BR/EDR not supported. */
+#define BLE_GAP_ADV_FLAG_LE_BR_EDR_CONTROLLER         (0x08)   /**< Simultaneous LE and BR/EDR, Controller. */
+#define BLE_GAP_ADV_FLAG_LE_BR_EDR_HOST               (0x10)   /**< Simultaneous LE and BR/EDR, Host. */
+#define BLE_GAP_ADV_FLAGS_LE_ONLY_LIMITED_DISC_MODE   (BLE_GAP_ADV_FLAG_LE_LIMITED_DISC_MODE | BLE_GAP_ADV_FLAG_BR_EDR_NOT_SUPPORTED)   /**< LE Limited Discoverable Mode, BR/EDR not supported. */
+#define BLE_GAP_ADV_FLAGS_LE_ONLY_GENERAL_DISC_MODE   (BLE_GAP_ADV_FLAG_LE_GENERAL_DISC_MODE | BLE_GAP_ADV_FLAG_BR_EDR_NOT_SUPPORTED)   /**< LE General Discoverable Mode, BR/EDR not supported. */
+/**@} */
+
+
+/**@defgroup BLE_GAP_ADV_INTERVALS GAP Advertising interval max and min
+ * @{ */
+#define BLE_GAP_ADV_INTERVAL_MIN        0x0020 /**< Minimum Advertising interval in 625 us units, i.e. 20 ms. */
+#define BLE_GAP_ADV_NONCON_INTERVAL_MIN 0x00A0 /**< Minimum Advertising interval in 625 us units for non connectable mode, i.e. 100 ms. */
+#define BLE_GAP_ADV_INTERVAL_MAX        0x4000 /**< Maximum Advertising interval in 625 us units, i.e. 10.24 s. */
+ /**@}  */
+
+
+/**@brief Maximum size of advertising data in octets. */
+#define  BLE_GAP_ADV_MAX_SIZE       31
+
+
+/**@defgroup BLE_GAP_ADV_TYPES GAP Advertising types
+ * @{ */
+#define BLE_GAP_ADV_TYPE_ADV_IND          0x00   /**< Connectable undirected. */
+#define BLE_GAP_ADV_TYPE_ADV_DIRECT_IND   0x01   /**< Connectable directed. */
+#define BLE_GAP_ADV_TYPE_ADV_SCAN_IND     0x02   /**< Scannable undirected. */
+#define BLE_GAP_ADV_TYPE_ADV_NONCONN_IND  0x03   /**< Non connectable undirected. */
+/**@} */
+
+
+/**@defgroup BLE_GAP_ADV_FILTER_POLICIES GAP Advertising filter policies
+ * @{ */
+#define BLE_GAP_ADV_FP_ANY                0x00   /**< Allow scan requests and connect requests from any device. */
+#define BLE_GAP_ADV_FP_FILTER_SCANREQ     0x01   /**< Filter scan requests with whitelist. */
+#define BLE_GAP_ADV_FP_FILTER_CONNREQ     0x02   /**< Filter connect requests with whitelist. */
+#define BLE_GAP_ADV_FP_FILTER_BOTH        0x03   /**< Filter both scan and connect requests with whitelist. */
+/**@} */
+
+
+/**@defgroup BLE_GAP_ADV_TIMEOUT_VALUES GAP Advertising timeout values
+ * @{ */
+#define BLE_GAP_ADV_TIMEOUT_LIMITED_MAX      180 /**< Maximum advertising time in limited discoverable mode (TGAP(lim_adv_timeout) = 180s in spec (Addendum 2)). */
+#define BLE_GAP_ADV_TIMEOUT_GENERAL_UNLIMITED  0 /**< Unlimited advertising in general discoverable mode. */
+/**@} */
+
+
+/**@defgroup BLE_GAP_DISC_MODES GAP Discovery modes
+ * @{ */
+#define BLE_GAP_DISC_MODE_NOT_DISCOVERABLE  0x00   /**< Not discoverable discovery Mode. */
+#define BLE_GAP_DISC_MODE_LIMITED           0x01   /**< Limited Discovery Mode. */
+#define BLE_GAP_DISC_MODE_GENERAL           0x02   /**< General Discovery Mode. */
+/**@} */
+
+/**@defgroup BLE_GAP_IO_CAPS GAP IO Capabilities
+ * @{ */
+#define BLE_GAP_IO_CAPS_DISPLAY_ONLY      0x00   /**< Display Only. */
+#define BLE_GAP_IO_CAPS_DISPLAY_YESNO     0x01   /**< Display and Yes/No entry. */
+#define BLE_GAP_IO_CAPS_KEYBOARD_ONLY     0x02   /**< Keyboard Only. */
+#define BLE_GAP_IO_CAPS_NONE              0x03   /**< No I/O capabilities. */
+#define BLE_GAP_IO_CAPS_KEYBOARD_DISPLAY  0x04   /**< Keyboard and Display. */
+/**@} */
+
+
+/**@defgroup BLE_GAP_AUTH_KEY_TYPES GAP Authentication Key Types
+ * @{ */
+#define BLE_GAP_AUTH_KEY_TYPE_NONE        0x00   /**< No key (may be used to reject). */
+#define BLE_GAP_AUTH_KEY_TYPE_PASSKEY     0x01   /**< 6-digit Passkey. */
+#define BLE_GAP_AUTH_KEY_TYPE_OOB         0x02   /**< Out Of Band data. */
+/**@} */
+
+/**@defgroup BLE_GAP_SEC_STATUS GAP Security status
+ * @{ */
+#define BLE_GAP_SEC_STATUS_SUCCESS                0x00  /**< Successful parameters. */
+#define BLE_GAP_SEC_STATUS_TIMEOUT                0x01  /**< Procedure timed out. */
+#define BLE_GAP_SEC_STATUS_PDU_INVALID            0x02  /**< Invalid PDU received. */
+#define BLE_GAP_SEC_STATUS_PASSKEY_ENTRY_FAILED   0x81  /**< Passkey entry failed (user cancelled or other). */
+#define BLE_GAP_SEC_STATUS_OOB_NOT_AVAILABLE      0x82  /**< Out of Band Key not available. */
+#define BLE_GAP_SEC_STATUS_AUTH_REQ               0x83  /**< Authentication requirements not met. */
+#define BLE_GAP_SEC_STATUS_CONFIRM_VALUE          0x84  /**< Confirm value failed. */
+#define BLE_GAP_SEC_STATUS_PAIRING_NOT_SUPP       0x85  /**< Pairing not supported.  */
+#define BLE_GAP_SEC_STATUS_ENC_KEY_SIZE           0x86  /**< Encryption key size. */
+#define BLE_GAP_SEC_STATUS_SMP_CMD_UNSUPPORTED    0x87  /**< Unsupported SMP command. */
+#define BLE_GAP_SEC_STATUS_UNSPECIFIED            0x88  /**< Unspecified reason. */
+#define BLE_GAP_SEC_STATUS_REPEATED_ATTEMPTS      0x89  /**< Too little time elapsed since last attempt. */
+#define BLE_GAP_SEC_STATUS_INVALID_PARAMS         0x8A  /**< Invalid parameters. */
+/**@} */
+
+/**@defgroup BLE_GAP_SEC_STATUS_SOURCES GAP Security status sources
+ * @{ */
+#define BLE_GAP_SEC_STATUS_SOURCE_LOCAL           0x00  /**< Local failure. */
+#define BLE_GAP_SEC_STATUS_SOURCE_REMOTE          0x01  /**< Remote failure. */
+/**@} */
+
+/**@defgroup BLE_GAP_CP_LIMITS GAP Connection Parameters Limits
+ * @{ */
+#define BLE_GAP_CP_MIN_CONN_INTVL_NONE           0xFFFF  /**< No new minimum connction interval specified in connect parameters. */
+#define BLE_GAP_CP_MIN_CONN_INTVL_MIN            0x0006  /**< Lowest mimimum connection interval permitted, in units of 1.25 ms, i.e. 7.5 ms. */
+#define BLE_GAP_CP_MIN_CONN_INTVL_MAX            0x0C80  /**< Highest minimum connection interval permitted, in units of 1.25 ms, i.e. 4 s. */
+#define BLE_GAP_CP_MAX_CONN_INTVL_NONE           0xFFFF  /**< No new maximum connction interval specified in connect parameters. */
+#define BLE_GAP_CP_MAX_CONN_INTVL_MIN            0x0006  /**< Lowest maximum connection interval permitted, in units of 1.25 ms, i.e. 7.5 ms. */
+#define BLE_GAP_CP_MAX_CONN_INTVL_MAX            0x0C80  /**< Highest maximum connection interval permitted, in units of 1.25 ms, i.e. 4 s. */
+#define BLE_GAP_CP_SLAVE_LATENCY_MAX             0x03E8  /**< Highest slave latency permitted, in connection events. */
+#define BLE_GAP_CP_CONN_SUP_TIMEOUT_NONE         0xFFFF  /**< No new supervision timeout specified in connect parameters. */
+#define BLE_GAP_CP_CONN_SUP_TIMEOUT_MIN          0x000A  /**< Lowest supervision timeout permitted, in units of 10 ms, i.e. 100 ms. */
+#define BLE_GAP_CP_CONN_SUP_TIMEOUT_MAX          0x0C80  /**< Highest supervision timeout permitted, in units of 10 ms, i.e. 32 s. */
+/**@} */
+
+
+/**@brief GAP device name maximum length. */
+#define BLE_GAP_DEVNAME_MAX_LEN           31
+
+
+/**@defgroup BLE_GAP_CONN_SEC_MODE_SET_MACROS GAP attribute security requirement setters
+ *
+ * See @ref ble_gap_conn_sec_mode_t.
+ * @{ */
+/**@brief Set sec_mode pointed to by ptr to have no access rights.*/
+#define BLE_GAP_CONN_SEC_MODE_SET_NO_ACCESS(ptr)         do {(ptr)->sm = 0; (ptr)->lv = 0;} while(0)
+/**@brief Set sec_mode pointed to by ptr to require no protection, open link.*/
+#define BLE_GAP_CONN_SEC_MODE_SET_OPEN(ptr)              do {(ptr)->sm = 1; (ptr)->lv = 1;} while(0)
+/**@brief Set sec_mode pointed to by ptr to require encryption, but no MITM protection.*/
+#define BLE_GAP_CONN_SEC_MODE_SET_ENC_NO_MITM(ptr)       do {(ptr)->sm = 1; (ptr)->lv = 2;} while(0)
+/**@brief Set sec_mode pointed to by ptr to require encryption and MITM protection.*/
+#define BLE_GAP_CONN_SEC_MODE_SET_ENC_WITH_MITM(ptr)     do {(ptr)->sm = 1; (ptr)->lv = 3;} while(0)
+/**@brief Set sec_mode pointed to by ptr to require signing or encryption, no MITM protection needed.*/
+#define BLE_GAP_CONN_SEC_MODE_SET_SIGNED_NO_MITM(ptr)    do {(ptr)->sm = 2; (ptr)->lv = 1;} while(0)
+/**@brief Set sec_mode pointed to by ptr to require signing or encryption with MITM protection.*/
+#define BLE_GAP_CONN_SEC_MODE_SET_SIGNED_WITH_MITM(ptr)  do {(ptr)->sm = 2; (ptr)->lv = 2;} while(0)
+/**@} */
+
+
+/**@brief GAP Security Key Length. */
+#define BLE_GAP_SEC_KEY_LEN 16
+
+/**@brief GAP Passkey Length. */
+#define BLE_GAP_PASSKEY_LEN 6
+
+/**@brief Maximum amount of addresses in a whitelist. */
+#define BLE_GAP_WHITELIST_ADDR_MAX_COUNT (8)
+
+/**@brief Maximum amount of IRKs in a whitelist.
+ * @note  The number of IRKs is limited to 8, even if the hardware supports more.
+ */
+#define BLE_GAP_WHITELIST_IRK_MAX_COUNT (8)
+
+/**@defgroup GAP_SEC_MODES GAP Security Modes
+ * @{ */
+#define BLE_GAP_SEC_MODE 0x00 /**< No key (may be used to reject). */
+/**@} */
+
+/**@} */
+
+/**@addtogroup BLE_GAP_STRUCTURES Structures
+ * @{ */
+
+/**@brief Bluetooth Low Energy address. */
+typedef struct
+{
+  uint8_t addr_type;                    /**< See @ref BLE_GAP_ADDR_TYPES. */
+  uint8_t addr[BLE_GAP_ADDR_LEN];       /**< 48-bit address, LSB format. */
+} ble_gap_addr_t;
+
+
+/**@brief GAP connection parameters.
+ *
+ * @note  When ble_conn_params_t is received in an event, both min_conn_interval and
+ *        max_conn_interval will be equal to the connection interval set by the central.
+ */
+typedef struct
+{
+  uint16_t min_conn_interval;         /**< Minimum Connection Interval in 1.25 ms units, see @ref BLE_GAP_CP_LIMITS.*/
+  uint16_t max_conn_interval;         /**< Maximum Connection Interval in 1.25 ms units, see @ref BLE_GAP_CP_LIMITS.*/
+  uint16_t slave_latency;             /**< Slave Latency in number of connection events, see @ref BLE_GAP_CP_LIMITS.*/
+  uint16_t conn_sup_timeout;          /**< Connection Supervision Timeout in 10 ms units, see @ref BLE_GAP_CP_LIMITS.*/
+} ble_gap_conn_params_t;
+
+
+/**@brief GAP link requirements.
+ *
+ * See Bluetooth Core specification, Volume 3 Part C 10.2 for details.
+ *
+ * Security Mode 0 Level 0: No access permissions at all (this level is not defined by the Bluetooth Core specification).\n
+ * Security Mode 1 Level 1: No security is needed (aka open link).\n
+ * Security Mode 1 Level 2: Encrypted link required, MITM protection not necessary.\n
+ * Security Mode 1 Level 3: MITM protected encrypted link required.\n
+ * Security Mode 2 Level 1: Signing or encryption required, MITM protection not necessary.\n
+ * Security Mode 2 Level 2: MITM protected signing required, unless link is MITM protected encrypted.\n
+ */
+typedef struct
+{
+  uint8_t sm : 4;                     /**< Security Mode (1 or 2), 0 for no permissions at all. */
+  uint8_t lv : 4;                     /**< Level (1, 2 or 3), 0 for no permissions at all. */
+
+} ble_gap_conn_sec_mode_t;
+
+
+/**@brief GAP connection security status.*/
+typedef struct
+{
+  ble_gap_conn_sec_mode_t sec_mode;           /**< Currently active security mode for this connection.*/
+  uint8_t                 encr_key_size;      /**< Length of currently active encryption key, 7 to 16 octets (only applicable for bonding procedures). */
+} ble_gap_conn_sec_t;
+
+
+/**@brief Identity Resolving Key. */
+typedef struct
+{
+  uint8_t irk[BLE_GAP_SEC_KEY_LEN];   /**< Array containing IRK. */
+} ble_gap_irk_t;
+
+
+/**@brief Whitelist structure. */
+typedef struct
+{
+  ble_gap_addr_t   ** pp_addrs;        /**< Pointer to array of device address pointers, pointing to addresses to be used in whitelist. NULL if none are given. */
+  uint8_t             addr_count;      /**< Count of device addresses in array, up to @ref BLE_GAP_WHITELIST_ADDR_MAX_COUNT. */
+  ble_gap_irk_t    ** pp_irks;         /**< Pointer to array of Identity Resolving Key (IRK) pointers, each pointing to an IRK in the whitelist. NULL if none are given. */
+  uint8_t             irk_count;       /**< Count of IRKs in array, up to @ref BLE_GAP_WHITELIST_IRK_MAX_COUNT. */
+} ble_gap_whitelist_t;
+
+
+/**@brief GAP advertising parameters.*/
+typedef struct
+{
+  uint8_t               type;                 /**< See @ref BLE_GAP_ADV_TYPES. */
+  ble_gap_addr_t*       p_peer_addr;          /**< For BLE_GAP_CONN_MODE_DIRECTED mode only, known peer address. */
+  uint8_t               fp;                   /**< Filter Policy, see @ref BLE_GAP_ADV_FILTER_POLICIES. */
+  ble_gap_whitelist_t * p_whitelist;          /**< Pointer to whitelist, NULL if none is given. */
+  uint16_t              interval;             /**< Advertising interval between 0x0020 and 0x4000 in 0.625 ms units (20ms to 10.24s), see @ref BLE_GAP_ADV_INTERVALS. This parameter must be set to 0 if type equals @ref BLE_GAP_ADV_TYPE_ADV_DIRECT_IND. */
+  uint16_t              timeout;              /**< Advertising timeout between 0x0001 and 0x3FFF in seconds, 0x0000 disables timeout. See also @ref BLE_GAP_ADV_TIMEOUT_VALUES. This parameter must be set to 0 if type equals @ref BLE_GAP_ADV_TYPE_ADV_DIRECT_IND. */
+} ble_gap_adv_params_t;
+
+
+/**@brief GAP scanning parameters. */
+typedef struct
+{
+  uint8_t    filter;                    /**< Filter based on discovery mode, see @ref BLE_GAP_DISC_MODES. */
+  uint8_t    active    : 1;             /**< If 1, perform active scanning (scan requests). */
+  uint8_t    selective : 1;             /**< If 1, ignore unknown devices (non whitelisted). */
+  uint16_t   interval;                  /**< Scan interval between 0x0020 and 0x4000 in 0.625ms units (20ms to 10.24s). */
+  uint16_t   window;                    /**< Scan window between 0x0004 and 0x4000 in 0.625ms units (2.5ms to 10.24s). */
+  uint16_t   timeout;                   /**< Scan timeout between 0x0001 and 0x3FFF in seconds, 0x0000 disables timeout. */
+} ble_gap_scan_params_t;
+
+
+/**@brief GAP security parameters. */
+typedef struct
+{
+  uint16_t   timeout;                   /**< Timeout for SMP transactions or Security Request in seconds, see @ref sd_ble_gap_authenticate and @ref sd_ble_gap_sec_params_reply for more information. */
+  uint8_t    bond    : 1;               /**< Perform bonding. */
+  uint8_t    mitm    : 1;               /**< Man In The Middle protection required. */
+  uint8_t    io_caps : 3;               /**< IO capabilities, see @ref BLE_GAP_IO_CAPS. */
+  uint8_t    oob     : 1;               /**< Out Of Band data available. */
+  uint8_t    min_key_size;              /**< Minimum encryption key size in octets between 7 and 16. */
+  uint8_t    max_key_size;              /**< Maximum encryption key size in octets between min_key_size and 16. */
+} ble_gap_sec_params_t;
+
+
+/**@brief GAP Encryption Information. */
+typedef struct
+{
+  uint16_t  div;                        /**< Encryption Diversifier. */
+  uint8_t   ltk[BLE_GAP_SEC_KEY_LEN];   /**< Long Term Key. */
+  uint8_t   auth : 1;                   /**< Authenticated Key. */
+  uint8_t   ltk_len : 7;                /**< LTK length in octets. */
+} ble_gap_enc_info_t;
+
+
+/**@brief GAP Master Identification. */
+typedef struct
+{
+  uint16_t  ediv;                       /**< Encrypted Diversifier. */
+  uint8_t   rand[8];                    /**< Random Number. */
+} ble_gap_master_id_t;
+
+
+/**@brief GAP Identity Information. */
+typedef struct
+{
+  ble_gap_addr_t  addr;                       /**< Bluetooth address to which this key applies. */
+  uint8_t         irk[BLE_GAP_SEC_KEY_LEN];   /**< Identity Resolution Key. */
+} ble_gap_id_info_t;
+
+
+/**@brief GAP Signing Information. */
+typedef struct
+{
+  uint8_t   csrk[BLE_GAP_SEC_KEY_LEN]; /* Connection Signature Resolving Key. */
+} ble_gap_sign_info_t;
+
+
+/**@brief GAP Event IDs.
+ * Those IDs uniquely identify an event coming from the stack to the application.
+ */
+enum BLE_GAP_EVTS
+{
+  BLE_GAP_EVT_CONNECTED  = BLE_GAP_EVT_BASE,    /**< Connection established. */
+  BLE_GAP_EVT_DISCONNECTED,                     /**< Disconnected from peer. */
+  BLE_GAP_EVT_CONN_PARAM_UPDATE,                /**< Connection Parameters updated. */
+  BLE_GAP_EVT_SEC_PARAMS_REQUEST,               /**< Request to provide security parameters. */
+  BLE_GAP_EVT_SEC_INFO_REQUEST,                 /**< Request to provide security information. */
+  BLE_GAP_EVT_PASSKEY_DISPLAY,                  /**< Request to display a passkey to the user. */
+  BLE_GAP_EVT_AUTH_KEY_REQUEST,                 /**< Request to provide an authentication key. */
+  BLE_GAP_EVT_AUTH_STATUS,                      /**< Authentication procedure completed with status. */
+  BLE_GAP_EVT_CONN_SEC_UPDATE,                  /**< Connection security updated. */
+  BLE_GAP_EVT_TIMEOUT,                          /**< Timeout expired. */
+  BLE_GAP_EVT_RSSI_CHANGED,                     /**< Signal strength measurement report. */
+};
+
+
+/**
+ * @brief GAP Option IDs.
+ * IDs that uniquely identify a GAP option.
+ */
+enum BLE_GAP_OPTS
+{
+  BLE_GAP_OPT_LOCAL_CONN_LATENCY  = BLE_GAP_OPT_BASE,    /**< Local connection latency. */
+  BLE_GAP_OPT_PASSKEY,                                   /**< Set passkey to be used during pairing. This option can be used to make the SoftDevice use an application provided passkey instead of generating a random passkey.*/
+  BLE_GAP_OPT_PRIVACY,                                   /**< Set or get custom IRK or custom private address cycle interval. */
+};
+/**@} */
+
+
+/**@brief Event data for connected event. */
+typedef struct
+{
+  ble_gap_addr_t        peer_addr;              /**< Bluetooth address of the peer device. */
+  uint8_t               irk_match :1;           /**< If 1, peer device's address resolved using an IRK. */
+  uint8_t               irk_match_idx  :7;      /**< Index in IRK list where the address was matched. */
+  ble_gap_conn_params_t conn_params;            /**< GAP Connection Parameters. */
+} ble_gap_evt_connected_t;
+
+
+/**@brief Event data for disconnected event. */
+typedef struct
+{
+  uint8_t reason;                               /**< HCI error code. */
+} ble_gap_evt_disconnected_t;
+
+
+/**@brief Event data for connection parameter update event. */
+typedef struct
+{
+  ble_gap_conn_params_t conn_params;            /**<  GAP Connection Parameters. */
+} ble_gap_evt_conn_param_update_t;
+
+
+/**@brief Event data for security parameters request event. */
+typedef struct
+{
+  ble_gap_sec_params_t peer_params;             /**< Initiator Security Parameters. */
+} ble_gap_evt_sec_params_request_t;
+
+
+/**@brief Event data for security info request event. */
+typedef struct
+{
+  ble_gap_addr_t peer_addr;                     /**< Bluetooth address of the peer device. */
+  uint16_t       div;                           /**< Encryption diversifier for LTK lookup. */
+  uint8_t        enc_info  : 1;                 /**< If 1, Encryption Information required. */
+  uint8_t        id_info   : 1;                 /**< If 1, Identity Information required. */
+  uint8_t        sign_info : 1;                 /**< If 1, Signing Information required. */
+} ble_gap_evt_sec_info_request_t;
+
+
+/**@brief Event data for passkey display event. */
+typedef struct
+{
+  uint8_t passkey[BLE_GAP_PASSKEY_LEN];         /**< 6-digit passkey in ASCII ('0'-'9' digits only). */
+} ble_gap_evt_passkey_display_t;
+
+
+/**@brief Event data for authentication key request event. */
+typedef struct
+{
+  uint8_t key_type;                             /**< See @ref BLE_GAP_AUTH_KEY_TYPES. */
+} ble_gap_evt_auth_key_request_t;
+
+
+/**@brief Security levels supported.
+ * @note See Bluetooth Specification Version 4.1 Volume 3, Part C, Chapter 10.
+*/
+typedef struct
+{
+  uint8_t lv1 : 1;                              /**< If 1: Level 1 is supported. */
+  uint8_t lv2 : 1;                              /**< If 1: Level 2 is supported. */
+  uint8_t lv3 : 1;                              /**< If 1: Level 3 is supported. */
+} ble_gap_sec_levels_t;
+
+
+/**@brief Keys that have been exchanged. */
+typedef struct
+{
+  uint8_t ltk       : 1;                        /**< Long Term Key. */
+  uint8_t ediv_rand : 1;                        /**< Encrypted Diversifier and Random value. */
+  uint8_t irk       : 1;                        /**< Identity Resolving Key. */
+  uint8_t address   : 1;                        /**< Public or static random address. */
+  uint8_t csrk      : 1;                        /**< Connection Signature Resolving Key. */
+} ble_gap_sec_keys_t;
+
+
+/**@brief Event data for authentication status event. */
+typedef struct
+{
+  uint8_t               auth_status;            /**< Authentication status, see @ref BLE_GAP_SEC_STATUS. */
+  uint8_t               error_src;              /**< On error, source that caused the failure, see @ref BLE_GAP_SEC_STATUS_SOURCES. */
+  ble_gap_sec_levels_t  sm1_levels;             /**< Levels supported in Security Mode 1. */
+  ble_gap_sec_levels_t  sm2_levels;             /**< Levels supported in Security Mode 2. */
+  ble_gap_sec_keys_t    periph_kex;             /**< Bitmap stating which keys were exchanged (distributed) by the peripheral. */
+  ble_gap_sec_keys_t    central_kex;            /**< Bitmap stating which keys were exchanged (distributed) by the central. */
+  struct periph_keys_t
+  {
+    ble_gap_enc_info_t    enc_info;             /**< Peripheral's Encryption information. */
+  } periph_keys;                                /**< Actual keys distributed from the Peripheral to the Central. */ 
+  struct central_keys_t
+  {
+    ble_gap_irk_t         irk;                  /**< Central's IRK. */
+    ble_gap_addr_t        id_info;              /**< Central's Identity Info. */
+  } central_keys;                               /**< Actual keys distributed from the Central to the Peripheral. */
+} ble_gap_evt_auth_status_t;
+
+
+/**@brief Event data for connection security update event. */
+typedef struct
+{
+  ble_gap_conn_sec_t conn_sec;                  /**< Connection security level. */
+} ble_gap_evt_conn_sec_update_t;
+
+
+/**@brief Event data for timeout event. */
+typedef struct
+{
+  uint8_t src;                                  /**< Source of timeout event, see @ref BLE_GAP_TIMEOUT_SOURCES. */
+} ble_gap_evt_timeout_t;
+
+
+/**@brief Event data for advertisement report event. */
+typedef struct
+{
+  int8_t  rssi;                               /**< Received Signal Strength Indication in dBm. */
+} ble_gap_evt_rssi_changed_t;
+
+
+/**@brief GAP event callback event structure. */
+typedef struct
+{
+  uint16_t conn_handle;                                     /**< Connection Handle on which event occured. */
+  union                                                     /**< union alternative identified by evt_id in enclosing struct. */
+  {
+    ble_gap_evt_connected_t          connected;             /**< Connected Event Parameters. */
+    ble_gap_evt_disconnected_t       disconnected;          /**< Disconnected Event Parameters. */
+    ble_gap_evt_conn_param_update_t  conn_param_update;     /**< Connection Parameter Update Parameters. */
+    ble_gap_evt_sec_params_request_t sec_params_request;    /**< Security Parameters Request Event Parameters. */
+    ble_gap_evt_sec_info_request_t   sec_info_request;      /**< Security Information Request Event Parameters. */
+    ble_gap_evt_passkey_display_t    passkey_display;       /**< Passkey Display Event Parameters. */
+    ble_gap_evt_auth_key_request_t   auth_key_request;      /**< Authentication Key Request Event Parameters. */
+    ble_gap_evt_auth_status_t        auth_status;           /**< Authentication Status Event Parameters. */
+    ble_gap_evt_conn_sec_update_t    conn_sec_update;       /**< Connection Security Update Event Parameters. */
+    ble_gap_evt_timeout_t            timeout;               /**< Timeout Event Parameters. */
+    ble_gap_evt_rssi_changed_t       rssi_changed;          /**< RSSI Event parameters. */
+  } params;
+
+} ble_gap_evt_t;
+
+
+/**@brief Local connection latency option.
+ *
+ *         Local connection latency is a feature which enables the slave to improve
+ *         current consumption by ignoring the slave latency set by the peer. The
+ *         local connection latency can only be set to a multiple of the slave latency,
+ *         and cannot be longer than half of the supervision timeout.
+ *
+ *         Used with @ref sd_ble_opt_set to set the local connection latency. The
+ *         @ref sd_ble_opt_get is not supported for this option, but the actual 
+ *         local connection latency (unless set to NULL) is set as a return parameter
+ *         when setting the option.
+ *
+ *  @note  The latency set will be truncated down to the closest slave latency event
+ *         multiple, or the nearest multiple before half of the supervision timeout.
+ *
+ *  @note  The local connection latency is default off, and needs to be set for new
+ *         connections and whenever the connection is updated.
+ *
+ *  @retval ::NRF_SUCCESS Set successfully.
+ *  @retval ::NRF_ERROR_NOT_SUPPORTED Get is not supported.
+ *  @retval ::BLE_ERROR_INVALID_CONN_HANDLE Invalid connection handle parameter.
+ */
+typedef struct
+{
+  uint16_t   conn_handle;                       /**< Connection Handle */
+  uint16_t   requested_latency;                 /**< Requested local connection latency. */
+  uint16_t * p_actual_latency;                  /**< Pointer to storage for the actual local connection latency (can be set to NULL to skip return value). */
+} ble_gap_opt_local_conn_latency_t;
+
+
+/**@brief Passkey Option.
+ *
+ *        Structure containing the passkey to be used during pairing. This can be used with @ref
+ *        sd_ble_opt_set to make the SoftDevice use a pre-programmed passkey for authentication
+ *        instead of generating a random one.
+ *
+ * @note  @ref sd_ble_opt_get is not supported for this option.
+ *
+ */
+typedef struct
+{
+  uint8_t * p_passkey;                          /**< Pointer to 6-digit ASCII string (digit 0..9 only, no NULL termination) passkey to be used during pairing. If this is NULL, the SoftDevice will generate a random passkey if required.*/
+} ble_gap_opt_passkey_t;
+
+
+/**@brief Custom Privacy Options.
+ *
+ * @note The specified address cycle interval is used when the address cycle mode is
+ * @ref BLE_GAP_ADDR_CYCLE_MODE_AUTO. If 0 is given, the address will not be refreshed at any
+ * interval, and not at start of advertising. A new address can be generated manually by calling
+ * @ref sd_ble_gap_address_set with the same type again. The default interval is
+ * @ref BLE_GAP_DEFAULT_PRIVATE_ADDR_CYCLE_INTERVAL_S.
+ *
+ * @note If cycle mode is @ref BLE_GAP_ADDR_CYCLE_MODE_AUTO, the address will immediately be
+ * refreshed when this option is set.
+ */
+typedef struct
+{
+  ble_gap_irk_t * p_irk;        /**< When input: Pointer to custom IRK, or NULL to use/reset to the device's default IRK. When output: Pointer to where the current IRK is to be stored, or NULL to not read out the IRK. */
+  uint16_t        interval_s;   /**< When input: Custom private address cycle interval in seconds. When output: The current private address cycle interval. */
+} ble_gap_opt_privacy_t;
+
+
+/**@brief Option structure for GAP options. */
+typedef union
+{
+  ble_gap_opt_local_conn_latency_t local_conn_latency;  /**< Local connection latency. */
+  ble_gap_opt_passkey_t            passkey;             /**< Passkey to be used for pairing.*/
+  ble_gap_opt_privacy_t            privacy;             /**< Custom privacy options. */
+} ble_gap_opt_t;
+/**@} */
+
+
+/**@addtogroup BLE_GAP_FUNCTIONS Functions
+ * @{ */
+
+/**@brief Set local Bluetooth address.
+ *
+ * If the address cycle mode is @ref BLE_GAP_ADDR_CYCLE_MODE_AUTO, the address type is required to
+ * be @ref BLE_GAP_ADDR_TYPE_RANDOM_PRIVATE_RESOLVABLE or
+ * @ref BLE_GAP_ADDR_TYPE_RANDOM_PRIVATE_NON_RESOLVABLE. The given address is ignored and the
+ * SoftDevice will generate a new private address automatically every time advertising is
+ * (re)started, and every @ref BLE_GAP_DEFAULT_PRIVATE_ADDR_CYCLE_INTERVAL_S seconds. If this API
+ * call is used again with the same parameters while advertising, the SoftDevice will immediately
+ * generate a new private address to replace the current address.
+ *
+ * If the application wishes to use a @ref BLE_GAP_ADDR_TYPE_PUBLIC or
+ * @ref BLE_GAP_ADDR_TYPE_RANDOM_STATIC address, the cycle mode must be
+ * @ref BLE_GAP_ADDR_CYCLE_MODE_NONE.
+ *
+ * If this API function is called while advertising, the softdevice will immediately update the
+ * advertising address without the need to stop advertising in the following cases:
+ *   - If the previously set address is of type @ref BLE_GAP_ADDR_TYPE_PUBLIC and the new address
+ *   is also of type @ref BLE_GAP_ADDR_TYPE_PUBLIC
+ *   - If the previously set address is not @ref BLE_GAP_ADDR_TYPE_PUBLIC and the new address is
+ *   also not @ref BLE_GAP_ADDR_TYPE_PUBLIC.
+ *
+ * If the address is changed from a @ref BLE_GAP_ADDR_TYPE_PUBLIC address to another type or from
+ * another type to a @ref BLE_GAP_ADDR_TYPE_PUBLIC address, the change will take effect the next
+ * time advertising is started.
+ *
+ * @note If the address cycle mode is @ref BLE_GAP_ADDR_CYCLE_MODE_NONE and the application is
+ *       using privacy, the application must take care to generate and set new private addresses
+ *       periodically to comply with the Privacy specification in Bluetooth Core Spec.
+ *
+ * @param[in] addr_cycle_mode Address cycle mode, see @ref BLE_GAP_ADDR_CYCLE_MODES.
+ * @param[in] p_addr          Pointer to address structure.
+ *
+ * @return @ref NRF_SUCCESS Address successfully set.
+ * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
+ * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameters.
+ * @return @ref BLE_ERROR_GAP_INVALID_BLE_ADDR Invalid address.
+ * @return @ref NRF_ERROR_BUSY The stack is busy, process pending events and retry.
+ */
+SVCALL(SD_BLE_GAP_ADDRESS_SET, uint32_t, sd_ble_gap_address_set(uint8_t addr_cycle_mode, ble_gap_addr_t const * const p_addr));
+
+
+/**@brief Get local Bluetooth address.
+ *
+ * @param[out] p_addr Pointer to address structure.
+ *
+ * @return @ref NRF_SUCCESS Address successfully retrieved.
+ * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
+ */
+SVCALL(SD_BLE_GAP_ADDRESS_GET, uint32_t, sd_ble_gap_address_get(ble_gap_addr_t * const p_addr));
+
+
+/**@brief Set, clear or update advertisement and scan response data.
+ *
+ * @note The format of the advertisement data will be checked by this call to ensure interoperability.
+ *       Limitations imposed by this API call to the data provided include having a flags data type in the scan response data and
+ *       duplicating the local name in the advertisement data and scan response data. 
+ *
+ * @note: To clear the advertisement data and set it to a 0-length packet, simply provide a valid pointer (p_data/p_sr_data) with its corresponding 
+ *        length (dlen/srdlen) set to 0.
+ *
+ * @note: The call will fail if p_data and p_sr_data are both NULL since this would have no effect.
+ *
+ * @param[in] p_data    Raw data to be placed in advertisement packet. If NULL, no changes are made to the current advertisement packet data.
+ * @param[in] dlen      Data length for p_data. Max size: @ref BLE_GAP_ADV_MAX_SIZE octets. Should be 0 if p_data is NULL, can be 0 if p_data is not NULL.
+ * @param[in] p_sr_data Raw data to be placed in scan response packet. If NULL, no changes are made to the current scan response packet data.
+ * @param[in] srdlen    Data length for p_sr_data. Max size: @ref BLE_GAP_ADV_MAX_SIZE octets. Should be 0 if p_sr_data is NULL, can be 0 if p_data is not NULL.
+ *
+ * @return @ref NRF_SUCCESS Advertisement data successfully updated or cleared.
+ * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
+ * @return @ref NRF_ERROR_INVALID_FLAGS Invalid combination of advertising flags supplied.
+ * @return @ref NRF_ERROR_INVALID_DATA Invalid data type(s) supplied, check the advertising data format specification.
+ * @return @ref NRF_ERROR_INVALID_LENGTH Invalid data length(s) supplied.
+ * @return @ref BLE_ERROR_GAP_UUID_LIST_MISMATCH Invalid UUID list supplied.
+ * @return @ref NRF_ERROR_BUSY The stack is busy, process pending events and retry.
+ */
+SVCALL(SD_BLE_GAP_ADV_DATA_SET, uint32_t, sd_ble_gap_adv_data_set(uint8_t const * const p_data, uint8_t dlen, uint8_t const * const p_sr_data, uint8_t srdlen));
+
+
+/**@brief Start advertising (GAP Discoverable, Connectable modes, Broadcast Procedure).
+ *
+ * @param[in] p_adv_params Pointer to advertising parameters structure.
+ *
+ * @return @ref NRF_SUCCESS The BLE stack has started advertising.
+ * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
+ * @return @ref NRF_ERROR_INVALID_STATE Invalid state to perform operation.
+ * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied, check the accepted ranges and limits.
+ * @return @ref BLE_ERROR_GAP_INVALID_BLE_ADDR Invalid Bluetooth address supplied.
+ * @return @ref BLE_ERROR_GAP_DISCOVERABLE_WITH_WHITELIST Discoverable mode and whitelist incompatible.
+ */
+SVCALL(SD_BLE_GAP_ADV_START, uint32_t, sd_ble_gap_adv_start(ble_gap_adv_params_t const * const p_adv_params));
+
+
+/**@brief Stop advertising (GAP Discoverable, Connectable modes, Broadcast Procedure).
+ *
+ * @return @ref NRF_SUCCESS The BLE stack has stopped advertising.
+ * @return @ref NRF_ERROR_INVALID_STATE Invalid state to perform operation (most probably not in advertising state).
+ */
+SVCALL(SD_BLE_GAP_ADV_STOP, uint32_t, sd_ble_gap_adv_stop(void));
+
+
+/**@brief Update connection parameters.
+ *
+ * @details In the central role this will initiate a Link Layer connection parameter update procedure,
+ *          otherwise in the peripheral role, this will send the corresponding L2CAP request and wait for
+ *          the central to perform the procedure. In both cases, and regardless of success or failure, the application
+ *          will be informed of the result with a @ref BLE_GAP_EVT_CONN_PARAM_UPDATE event.
+ *
+ * @note If both a connection supervision timeout and a maximum connection interval are specified, then the following constraint
+ *       applies: (conn_sup_timeout * 8) >= (max_conn_interval * (slave_latency + 1))
+ *
+ * @param[in] conn_handle Connection handle.
+ * @param[in] p_conn_params  Pointer to desired connection parameters. If NULL is provided on a peripheral role,
+ *                           the parameters in the PPCP characteristic of the GAP service will be used instead.
+ *
+ * @return @ref NRF_SUCCESS The Connection Update procedure has been started successfully.
+ * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
+ * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied, check parameter limits and constraints.
+ * @return @ref NRF_ERROR_BUSY Procedure already in progress or not allowed at this time, process pending events and retry.
+ * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid connection handle supplied.
+ * @return @ref NRF_ERROR_NO_MEM Not enough memory to complete operation.
+ */
+SVCALL(SD_BLE_GAP_CONN_PARAM_UPDATE, uint32_t, sd_ble_gap_conn_param_update(uint16_t conn_handle, ble_gap_conn_params_t const * const p_conn_params));
+
+
+/**@brief Disconnect (GAP Link Termination).
+ *
+ * @details This call initiates the disconnection procedure, and its completion will be communicated to the application
+ *          with a BLE_GAP_EVT_DISCONNECTED event.
+ *
+ * @param[in] conn_handle Connection handle.
+ * @param[in] hci_status_code HCI status code, see @ref BLE_HCI_STATUS_CODES (accepted values are BTLE_REMOTE_USER_TERMINATED_CONNECTION and BTLE_CONN_INTERVAL_UNACCEPTABLE).
+ *
+ * @return @ref NRF_SUCCESS The disconnection procedure has been started successfully.
+ * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied.
+ * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid connection handle supplied.
+ * @return @ref NRF_ERROR_INVALID_STATE Invalid state to perform operation (disconnection is already in progress or not connected at all).
+ */
+SVCALL(SD_BLE_GAP_DISCONNECT, uint32_t, sd_ble_gap_disconnect(uint16_t conn_handle, uint8_t hci_status_code));
+
+
+/**@brief Set the radio's transmit power.
+ *
+ * @param[in] tx_power Radio transmit power in dBm (accepted values are -40, -30, -20, -16, -12, -8, -4, 0, and 4 dBm).
+ *
+ * @note -40 dBm will not actually give -40 dBm, but will instead be remapped to -30 dBm.
+ *
+ * @return @ref NRF_SUCCESS Successfully changed the transmit power.
+ * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied.
+ * @return @ref NRF_ERROR_BUSY The stack is busy, process pending events and retry.
+ */
+SVCALL(SD_BLE_GAP_TX_POWER_SET, uint32_t, sd_ble_gap_tx_power_set(int8_t tx_power));
+
+
+/**@brief Set GAP Appearance value.
+ *
+ * @param[in] appearance Appearance (16-bit), see @ref BLE_APPEARANCES.
+ *
+ * @return @ref NRF_SUCCESS  Appearance value set successfully.
+ * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied.
+ */
+SVCALL(SD_BLE_GAP_APPEARANCE_SET, uint32_t, sd_ble_gap_appearance_set(uint16_t appearance));
+
+
+/**@brief Get GAP Appearance value.
+ *
+ * @param[out] p_appearance Appearance (16-bit), see @ref BLE_APPEARANCES.
+ *
+ * @return @ref NRF_SUCCESS Appearance value retrieved successfully.
+ * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
+ */
+SVCALL(SD_BLE_GAP_APPEARANCE_GET, uint32_t, sd_ble_gap_appearance_get(uint16_t * const p_appearance));
+
+
+/**@brief Set GAP Peripheral Preferred Connection Parameters.
+ *
+ * @param[in] p_conn_params Pointer to a @ref ble_gap_conn_params_t structure with the desired parameters.
+ *
+ * @return @ref NRF_SUCCESS Peripheral Preferred Connection Parameters set successfully.
+ * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
+ * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied.
+ */
+SVCALL(SD_BLE_GAP_PPCP_SET, uint32_t, sd_ble_gap_ppcp_set(ble_gap_conn_params_t const * const p_conn_params));
+
+
+/**@brief Get GAP Peripheral Preferred Connection Parameters.
+ *
+ * @param[out] p_conn_params Pointer to a @ref ble_gap_conn_params_t structure where the parameters will be stored.
+ *
+ * @return @ref NRF_SUCCESS Peripheral Preferred Connection Parameters retrieved successfully.
+ * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
+ */
+SVCALL(SD_BLE_GAP_PPCP_GET, uint32_t, sd_ble_gap_ppcp_get(ble_gap_conn_params_t * const p_conn_params));
+
+
+/**@brief Set GAP device name.
+ *
+ * @param[in] p_write_perm Write permissions for the Device Name characteristic see @ref ble_gap_conn_sec_mode_t.
+ * @param[in] p_dev_name Pointer to a UTF-8 encoded, <b>non NULL-terminated</b> string.
+ * @param[in] len   Length of the UTF-8, <b>non NULL-terminated</b> string pointed to by p_dev_name in octets (must be smaller or equal than @ref BLE_GAP_DEVNAME_MAX_LEN).
+ *
+ * @return @ref NRF_SUCCESS GAP device name and permissions set successfully.
+ * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
+ * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied.
+ * @return @ref NRF_ERROR_DATA_SIZE Invalid data size(s) supplied.
+ */
+SVCALL(SD_BLE_GAP_DEVICE_NAME_SET, uint32_t, sd_ble_gap_device_name_set(ble_gap_conn_sec_mode_t const * const p_write_perm, uint8_t const * const p_dev_name, uint16_t len));
+
+
+/**@brief Get GAP device name.
+ *
+ * @param[in]     p_dev_name Pointer to an empty buffer where the UTF-8 <b>non NULL-terminated</b> string will be placed. Set to NULL to obtain the complete device name length.
+ * @param[in,out] p_len      Length of the buffer pointed by p_dev_name, complete device name length on output.
+ *
+ * @note          If the device name is longer than the size of the supplied buffer,
+ *                p_len will return the complete device name length,
+ *                and not the number of bytes actually returned in p_dev_name.
+ *                The application may use this information to allocate a suitable buffer size.
+ *
+ * @return @ref NRF_SUCCESS GAP device name retrieved successfully.
+ * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
+ * @return @ref NRF_ERROR_DATA_SIZE Invalid data size(s) supplied.
+ */
+SVCALL(SD_BLE_GAP_DEVICE_NAME_GET, uint32_t, sd_ble_gap_device_name_get(uint8_t * const p_dev_name, uint16_t * const p_len));
+
+
+/**@brief Initiate GAP Authentication procedure.
+ *
+ * @param[in] conn_handle Connection handle.
+ * @param[in] p_sec_params Pointer to the @ref ble_gap_sec_params_t structure with the security parameters to be used during the pairing procedure.
+ *
+ * @details In the central role, this function will send an SMP Pairing Request, otherwise in the peripheral role, an SMP Security Request will be sent.
+ *          In the peripheral role, only the timeout, bond and mitm fields of @ref ble_gap_sec_params_t are used.
+ *
+ * @note    The GAP Authentication procedure may be triggered by the central without calling this function when accessing a secure service.
+ * @note    Calling this function may result in the following events depending on the outcome and parameters: @ref BLE_GAP_EVT_SEC_PARAMS_REQUEST,
+ *          @ref BLE_GAP_EVT_SEC_INFO_REQUEST, @ref BLE_GAP_EVT_AUTH_KEY_REQUEST, @ref BLE_GAP_EVT_AUTH_STATUS.
+ * @note    The timeout parameter in @ref ble_gap_sec_params_t is interpreted here as the Security Request timeout
+ *
+ *
+ * @return @ref NRF_SUCCESS Successfully initiated authentication procedure.
+ * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
+ * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied.
+ * @return @ref NRF_ERROR_INVALID_STATE Invalid state to perform operation.
+ * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid connection handle supplied.
+ */
+SVCALL(SD_BLE_GAP_AUTHENTICATE, uint32_t, sd_ble_gap_authenticate(uint16_t conn_handle, ble_gap_sec_params_t const * const p_sec_params));
+
+
+/**@brief Reply with GAP security parameters.
+ *
+ * @param[in] conn_handle Connection handle.
+ * @param[in] sec_status Security status, see @ref BLE_GAP_SEC_STATUS.
+ * @param[in] p_sec_params Pointer to a @ref ble_gap_sec_params_t security parameters structure.
+ *
+ * @details This function is only used to reply to a @ref BLE_GAP_EVT_SEC_PARAMS_REQUEST, calling it at other times will result in an NRF_ERROR_INVALID_STATE.
+ * @note    If the call returns an error code, the request is still pending, and the reply call may be repeated with corrected parameters.
+ * @note    The timeout parameter in @ref ble_gap_sec_params_t is interpreted here as the SMP procedure timeout, and must be 30 seconds. The function will fail
+ *          if the application supplies a different value.
+ *
+ * @return @ref NRF_SUCCESS Successfully accepted security parameter from the application.
+ * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
+ * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied.
+ * @return @ref NRF_ERROR_INVALID_STATE Invalid state to perform operation.
+ * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid connection handle supplied.
+ */
+SVCALL(SD_BLE_GAP_SEC_PARAMS_REPLY, uint32_t, sd_ble_gap_sec_params_reply(uint16_t conn_handle, uint8_t sec_status, ble_gap_sec_params_t const * const p_sec_params));
+
+
+/**@brief Reply with an authentication key.
+ *
+ * @param[in] conn_handle Connection handle.
+ * @param[in] key_type See @ref BLE_GAP_AUTH_KEY_TYPES.
+ * @param[in] key If key type is BLE_GAP_AUTH_KEY_TYPE_NONE, then NULL.
+ *                If key type is BLE_GAP_AUTH_KEY_TYPE_PASSKEY, then a 6-byte ASCII string (digit 0..9 only, no NULL termination).
+ *                If key type is BLE_GAP_AUTH_KEY_TYPE_OOB, then a 16-byte OOB key value in Little Endian format.
+ *
+ * @details This function is only used to reply to a @ref BLE_GAP_EVT_AUTH_KEY_REQUEST, calling it at other times will result in an NRF_ERROR_INVALID_STATE.
+ * @note    If the call returns an error code, the request is still pending, and the reply call may be repeated with corrected parameters.
+ *
+ * @return @ref NRF_SUCCESS Authentication key successfully set.
+ * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
+ * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied.
+ * @return @ref NRF_ERROR_INVALID_STATE Invalid state to perform operation.
+ * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid connection handle supplied.
+ */
+SVCALL(SD_BLE_GAP_AUTH_KEY_REPLY, uint32_t, sd_ble_gap_auth_key_reply(uint16_t conn_handle, uint8_t key_type, uint8_t const * const key));
+
+
+/**@brief Reply with GAP security information.
+ *
+ * @param[in] conn_handle Connection handle.
+ * @param[in] p_enc_info Pointer to a @ref ble_gap_enc_info_t encryption information structure. May be NULL to signal none is available.
+ * @param[in] p_sign_info Pointer to a @ref ble_gap_sign_info_t signing information structure. May be NULL to signal none is available.
+ *
+ * @details This function is only used to reply to a @ref BLE_GAP_EVT_SEC_INFO_REQUEST, calling it at other times will result in NRF_ERROR_INVALID_STATE.
+ * @note    If the call returns an error code, the request is still pending, and the reply call may be repeated with corrected parameters.
+ * @note    Data signing is not implemented yet. p_sign_info must therefore be NULL.
+ *
+ * @return @ref NRF_SUCCESS Successfully accepted security information.
+ * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied.
+ * @return @ref NRF_ERROR_INVALID_STATE Invalid state to perform operation.
+ * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid connection handle supplied.
+ * @return @ref NRF_ERROR_BUSY The stack is busy, process pending events and retry.
+ */
+SVCALL(SD_BLE_GAP_SEC_INFO_REPLY, uint32_t, sd_ble_gap_sec_info_reply(uint16_t conn_handle, ble_gap_enc_info_t const * const p_enc_info, ble_gap_sign_info_t const * const p_sign_info));
+
+
+/**@brief Get the current connection security.
+ *
+ * @param[in]  conn_handle Connection handle.
+ * @param[out] p_conn_sec  Pointer to a @ref ble_gap_conn_sec_t structure to be filled in.
+ *
+ * @return @ref NRF_SUCCESS Current connection security successfully retrieved.
+ * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
+ * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid connection handle supplied.
+ */
+SVCALL(SD_BLE_GAP_CONN_SEC_GET, uint32_t, sd_ble_gap_conn_sec_get(uint16_t conn_handle, ble_gap_conn_sec_t * const p_conn_sec));
+
+
+/**@brief Start reporting the received signal strength to the application. 
+ *
+ * A new event is reported whenever the RSSI value changes, until @ref sd_ble_gap_rssi_stop is called.
+ *
+ * @param[in] conn_handle Connection handle.
+ *
+ * @return @ref NRF_SUCCESS Successfully activated RSSI reporting.
+ * @return @ref NRF_ERROR_INVALID_STATE Invalid state to perform operation.
+ * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid connection handle supplied.
+ */
+SVCALL(SD_BLE_GAP_RSSI_START, uint32_t, sd_ble_gap_rssi_start(uint16_t conn_handle));
+
+
+/**@brief Stop reporting the received singnal strength. 
+ *
+ * An RSSI change detected before the call but not yet received by the application 
+ * may be reported after @ref sd_ble_gap_rssi_stop has been called.
+ *
+ * @param[in] conn_handle Connection handle.
+ *
+ * @return @ref NRF_SUCCESS Successfully deactivated RSSI reporting.
+ * @return @ref NRF_ERROR_INVALID_STATE Invalid state to perform operation.
+ * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid connection handle supplied.
+ */
+SVCALL(SD_BLE_GAP_RSSI_STOP, uint32_t, sd_ble_gap_rssi_stop(uint16_t conn_handle));
+/**@} */
+
+#endif // BLE_GAP_H__
+
+/**
+  @}
+*/
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TARGET_RBLAB_NRF51822/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/ble_gatt.h	Fri Aug 15 15:28:31 2014 +0100
@@ -0,0 +1,171 @@
+/* Copyright (c) 2012 Nordic Semiconductor. All Rights Reserved.
+ *
+ * The information contained herein is confidential property of Nordic Semiconductor. The use,
+ * copying, transfer or disclosure of such information is prohibited except by express written
+ * agreement with Nordic Semiconductor.
+ *
+ */
+ /**
+  @addtogroup BLE_GATT Generic Attribute Profile (GATT) Common
+  @{
+  @brief  Common definitions and prototypes for the GATT interfaces.
+ */
+
+#ifndef BLE_GATT_H__
+#define BLE_GATT_H__
+
+#include "ble_types.h"
+#include "ble_ranges.h"
+
+
+/** @addtogroup BLE_GATT_DEFINES Defines
+ * @{ */
+
+/** @brief Default MTU size. */
+#define GATT_MTU_SIZE_DEFAULT 23
+
+/** @brief Only the default MTU size of 23 is currently supported. */
+#define GATT_RX_MTU 23
+
+
+/**@brief Invalid Attribute Handle. */
+#define BLE_GATT_HANDLE_INVALID            0x0000
+
+/** @defgroup BLE_GATT_TIMEOUT_SOURCES GATT Timeout sources
+ * @{ */
+#define BLE_GATT_TIMEOUT_SRC_PROTOCOL                  0x00 /**< ATT Protocol timeout. */
+/** @} */
+
+/** @defgroup BLE_GATT_WRITE_OPS GATT Write operations
+ * @{ */
+#define BLE_GATT_OP_INVALID                0x00  /**< Invalid Operation. */
+#define BLE_GATT_OP_WRITE_REQ              0x01  /**< Write Request. */
+#define BLE_GATT_OP_WRITE_CMD              0x02  /**< Write Command. */
+#define BLE_GATT_OP_SIGN_WRITE_CMD         0x03  /**< Signed Write Command. */
+#define BLE_GATT_OP_PREP_WRITE_REQ         0x04  /**< Prepare Write Request. */
+#define BLE_GATT_OP_EXEC_WRITE_REQ         0x05  /**< Execute Write Request. */
+/** @} */
+
+/** @defgroup BLE_GATT_EXEC_WRITE_FLAGS GATT Execute Write flags
+ * @{ */
+#define BLE_GATT_EXEC_WRITE_FLAG_PREPARED_CANCEL 0x00
+#define BLE_GATT_EXEC_WRITE_FLAG_PREPARED_WRITE  0x01
+/** @} */
+
+/** @defgroup BLE_GATT_HVX_TYPES GATT Handle Value operations
+ * @{ */
+#define BLE_GATT_HVX_INVALID               0x00  /**< Invalid Operation. */
+#define BLE_GATT_HVX_NOTIFICATION          0x01  /**< Handle Value Notification. */
+#define BLE_GATT_HVX_INDICATION            0x02  /**< Handle Value Indication. */
+/** @} */
+
+/** @defgroup BLE_GATT_STATUS_CODES GATT Status Codes
+ * @{ */
+#define BLE_GATT_STATUS_SUCCESS                           0x0000  /**< Success. */
+#define BLE_GATT_STATUS_UNKNOWN                           0x0001  /**< Unknown or not applicable status. */
+#define BLE_GATT_STATUS_ATTERR_INVALID                    0x0100  /**< ATT Error: Invalid Error Code. */
+#define BLE_GATT_STATUS_ATTERR_INVALID_HANDLE             0x0101  /**< ATT Error: Invalid Attribute Handle. */
+#define BLE_GATT_STATUS_ATTERR_READ_NOT_PERMITTED         0x0102  /**< ATT Error: Read not permitted. */
+#define BLE_GATT_STATUS_ATTERR_WRITE_NOT_PERMITTED        0x0103  /**< ATT Error: Write not permitted. */
+#define BLE_GATT_STATUS_ATTERR_INVALID_PDU                0x0104  /**< ATT Error: Used in ATT as Invalid PDU. */
+#define BLE_GATT_STATUS_ATTERR_INSUF_AUTHENTICATION       0x0105  /**< ATT Error: Authenticated link required. */
+#define BLE_GATT_STATUS_ATTERR_REQUEST_NOT_SUPPORTED      0x0106  /**< ATT Error: Used in ATT as Request Not Supported. */
+#define BLE_GATT_STATUS_ATTERR_INVALID_OFFSET             0x0107  /**< ATT Error: Offset specified was past the end of the attribute. */
+#define BLE_GATT_STATUS_ATTERR_INSUF_AUTHORIZATION        0x0108  /**< ATT Error: Used in ATT as Insufficient Authorisation. */
+#define BLE_GATT_STATUS_ATTERR_PREPARE_QUEUE_FULL         0x0109  /**< ATT Error: Used in ATT as Prepare Queue Full. */
+#define BLE_GATT_STATUS_ATTERR_ATTRIBUTE_NOT_FOUND        0x010A  /**< ATT Error: Used in ATT as Attribute not found. */
+#define BLE_GATT_STATUS_ATTERR_ATTRIBUTE_NOT_LONG         0x010B  /**< ATT Error: Attribute cannot be read or written using read/write blob requests. */
+#define BLE_GATT_STATUS_ATTERR_INSUF_ENC_KEY_SIZE         0x010C  /**< ATT Error: Encryption key size used is insufficient. */
+#define BLE_GATT_STATUS_ATTERR_INVALID_ATT_VAL_LENGTH     0x010D  /**< ATT Error: Invalid value size. */
+#define BLE_GATT_STATUS_ATTERR_UNLIKELY_ERROR             0x010E  /**< ATT Error: Very unlikely error. */
+#define BLE_GATT_STATUS_ATTERR_INSUF_ENCRYPTION           0x010F  /**< ATT Error: Encrypted link required. */
+#define BLE_GATT_STATUS_ATTERR_UNSUPPORTED_GROUP_TYPE     0x0110  /**< ATT Error: Attribute type is not a supported grouping attribute. */
+#define BLE_GATT_STATUS_ATTERR_INSUF_RESOURCES            0x0111  /**< ATT Error: Encrypted link required. */
+#define BLE_GATT_STATUS_ATTERR_RFU_RANGE1_BEGIN           0x0112  /**< ATT Error: Reserved for Future Use range #1 begin. */
+#define BLE_GATT_STATUS_ATTERR_RFU_RANGE1_END             0x017F  /**< ATT Error: Reserved for Future Use range #1 end. */
+#define BLE_GATT_STATUS_ATTERR_APP_BEGIN                  0x0180  /**< ATT Error: Application range begin. */
+#define BLE_GATT_STATUS_ATTERR_APP_END                    0x019F  /**< ATT Error: Application range end. */
+#define BLE_GATT_STATUS_ATTERR_RFU_RANGE2_BEGIN           0x01A0  /**< ATT Error: Reserved for Future Use range #2 begin. */
+#define BLE_GATT_STATUS_ATTERR_RFU_RANGE2_END             0x01DF  /**< ATT Error: Reserved for Future Use range #2 end. */
+#define BLE_GATT_STATUS_ATTERR_RFU_RANGE3_BEGIN           0x01E0  /**< ATT Error: Reserved for Future Use range #3 begin. */
+#define BLE_GATT_STATUS_ATTERR_RFU_RANGE3_END             0x01FC  /**< ATT Error: Reserved for Future Use range #3 end. */
+#define BLE_GATT_STATUS_ATTERR_CPS_CCCD_CONFIG_ERROR      0x01FD  /**< ATT Common Profile and Service Error: Client Characteristic Configuration Descriptor improperly configured. */
+#define BLE_GATT_STATUS_ATTERR_CPS_PROC_ALR_IN_PROG       0x01FE  /**< ATT Common Profile and Service Error: Procedure Already in Progress. */
+#define BLE_GATT_STATUS_ATTERR_CPS_OUT_OF_RANGE           0x01FF  /**< ATT Common Profile and Service Error: Out Of Range. */
+/** @} */
+
+
+/** @defgroup BLE_GATT_CPF_FORMATS Characteristic Presentation Formats
+ *  @note Found at http://developer.bluetooth.org/gatt/descriptors/Pages/DescriptorViewer.aspx?u=org.bluetooth.descriptor.gatt.characteristic_presentation_format.xml
+ * @{ */
+#define BLE_GATT_CPF_FORMAT_RFU                 0x00 /**< Reserved For Future Use. */
+#define BLE_GATT_CPF_FORMAT_BOOLEAN             0x01 /**< Boolean. */
+#define BLE_GATT_CPF_FORMAT_2BIT                0x02 /**< Unsigned 2-bit integer. */
+#define BLE_GATT_CPF_FORMAT_NIBBLE              0x03 /**< Unsigned 4-bit integer. */
+#define BLE_GATT_CPF_FORMAT_UINT8               0x04 /**< Unsigned 8-bit integer. */
+#define BLE_GATT_CPF_FORMAT_UINT12              0x05 /**< Unsigned 12-bit integer. */
+#define BLE_GATT_CPF_FORMAT_UINT16              0x06 /**< Unsigned 16-bit integer. */
+#define BLE_GATT_CPF_FORMAT_UINT24              0x07 /**< Unsigned 24-bit integer. */
+#define BLE_GATT_CPF_FORMAT_UINT32              0x08 /**< Unsigned 32-bit integer. */
+#define BLE_GATT_CPF_FORMAT_UINT48              0x09 /**< Unsigned 48-bit integer. */
+#define BLE_GATT_CPF_FORMAT_UINT64              0x0A /**< Unsigned 64-bit integer. */
+#define BLE_GATT_CPF_FORMAT_UINT128             0x0B /**< Unsigned 128-bit integer. */
+#define BLE_GATT_CPF_FORMAT_SINT8               0x0C /**< Signed 2-bit integer. */
+#define BLE_GATT_CPF_FORMAT_SINT12              0x0D /**< Signed 12-bit integer. */
+#define BLE_GATT_CPF_FORMAT_SINT16              0x0E /**< Signed 16-bit integer. */
+#define BLE_GATT_CPF_FORMAT_SINT24              0x0F /**< Signed 24-bit integer. */
+#define BLE_GATT_CPF_FORMAT_SINT32              0x10 /**< Signed 32-bit integer. */
+#define BLE_GATT_CPF_FORMAT_SINT48              0x11 /**< Signed 48-bit integer. */
+#define BLE_GATT_CPF_FORMAT_SINT64              0x12 /**< Signed 64-bit integer. */
+#define BLE_GATT_CPF_FORMAT_SINT128             0x13 /**< Signed 128-bit integer. */
+#define BLE_GATT_CPF_FORMAT_FLOAT32             0x14 /**< IEEE-754 32-bit floating point. */
+#define BLE_GATT_CPF_FORMAT_FLOAT64             0x15 /**< IEEE-754 64-bit floating point. */
+#define BLE_GATT_CPF_FORMAT_SFLOAT              0x16 /**< IEEE-11073 16-bit SFLOAT. */
+#define BLE_GATT_CPF_FORMAT_FLOAT               0x17 /**< IEEE-11073 32-bit FLOAT. */
+#define BLE_GATT_CPF_FORMAT_DUINT16             0x18 /**< IEEE-20601 format. */
+#define BLE_GATT_CPF_FORMAT_UTF8S               0x19 /**< UTF-8 string. */
+#define BLE_GATT_CPF_FORMAT_UTF16S              0x1A /**< UTF-16 string. */
+#define BLE_GATT_CPF_FORMAT_STRUCT              0x1B /**< Opaque Structure. */
+/** @} */
+
+/** @defgroup BLE_GATT_CPF_NAMESPACES GATT Bluetooth Namespaces
+ * @{
+ */
+#define BLE_GATT_CPF_NAMESPACE_BTSIG            0x01
+#define BLE_GATT_CPF_NAMESPACE_DESCRIPTION_UNKNOWN 0x0000
+/** @} */
+
+/** @} */
+
+/** @addtogroup BLE_GATT_STRUCTURES Structures
+ * @{ */
+
+/**@brief GATT Characteristic Properties. */
+typedef struct
+{
+  /* Standard properties */
+  uint8_t broadcast       :1; /**< Broadcasting of value permitted. */
+  uint8_t read            :1; /**< Reading value permitted. */
+  uint8_t write_wo_resp   :1; /**< Writing value with Write Command permitted. */
+  uint8_t write           :1; /**< Writing value with Write Request permitted. */
+  uint8_t notify          :1; /**< Notications of value permitted. */
+  uint8_t indicate        :1; /**< Indications of value permitted. */
+  uint8_t auth_signed_wr  :1; /**< Writing value with Signed Write Command permitted. */
+} ble_gatt_char_props_t;
+
+/**@brief GATT Characteristic Extended Properties. */
+typedef struct
+{
+  /* Extended properties */
+  uint8_t reliable_wr     :1; /**< Writing value with Queued Write Request permitted. */
+  uint8_t wr_aux          :1; /**< Writing the Characteristic User Description permitted. */
+} ble_gatt_char_ext_props_t;
+
+#endif // BLE_GATT_H__
+
+/** @} */
+
+/**
+  @}
+  @}
+*/
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TARGET_RBLAB_NRF51822/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/ble_gattc.h	Fri Aug 15 15:28:31 2014 +0100
@@ -0,0 +1,406 @@
+/* Copyright (c) 2012 Nordic Semiconductor. All Rights Reserved.
+ *
+ * The information contained herein is confidential property of Nordic Semiconductor. The use,
+ * copying, transfer or disclosure of such information is prohibited except by express written
+ * agreement with Nordic Semiconductor.
+ *
+ */
+/**
+  @addtogroup BLE_GATTC Generic Attribute Profile (GATT) Client
+  @{
+  @brief  Definitions and prototypes for the GATT Client interface.
+ */
+
+#ifndef BLE_GATTC_H__
+#define BLE_GATTC_H__
+
+#include "ble_gatt.h"
+#include "ble_types.h"
+#include "ble_ranges.h"
+#include "nrf_svc.h"
+
+/** @addtogroup BLE_GATTC_ENUMERATIONS Enumerations
+ * @{ */
+
+/**@brief GATTC API SVC numbers. */
+enum BLE_GATTC_SVCS
+{
+  SD_BLE_GATTC_PRIMARY_SERVICES_DISCOVER = BLE_GATTC_SVC_BASE, /**< Primary Service Discovery. */
+  SD_BLE_GATTC_RELATIONSHIPS_DISCOVER,                         /**< Relationship Discovery. */
+  SD_BLE_GATTC_CHARACTERISTICS_DISCOVER,                       /**< Characteristic Discovery. */
+  SD_BLE_GATTC_DESCRIPTORS_DISCOVER,                           /**< Characteristic Descriptor Discovery. */
+  SD_BLE_GATTC_CHAR_VALUE_BY_UUID_READ,                        /**< Read Characteristic Value by UUID. */
+  SD_BLE_GATTC_READ,                                           /**< Generic read. */
+  SD_BLE_GATTC_CHAR_VALUES_READ,                               /**< Read multiple Characteristic Values. */
+  SD_BLE_GATTC_WRITE,                                          /**< Generic write. */
+  SD_BLE_GATTC_HV_CONFIRM                                      /**< Handle Value Confirmation. */
+};
+
+/** @} */
+
+/** @addtogroup BLE_GATTC_DEFINES Defines
+ * @{ */
+
+/** @defgroup BLE_ERRORS_GATTC SVC return values specific to GATTC
+ * @{ */
+#define BLE_ERROR_GATTC_PROC_NOT_PERMITTED    (NRF_GATTC_ERR_BASE + 0x000)
+/** @} */
+
+/**@brief Last Attribute Handle. */
+#define BLE_GATTC_HANDLE_END                0xFFFF
+
+/** @} */
+
+/** @addtogroup BLE_GATTC_STRUCTURES Structures
+ * @{ */
+
+/**@brief Operation Handle Range. */
+typedef struct
+{
+  uint16_t          start_handle; /**< Start Handle. */
+  uint16_t          end_handle;   /**< End Handle. */
+} ble_gattc_handle_range_t;
+
+
+/**@brief GATT service. */
+typedef struct
+{
+  ble_uuid_t               uuid;          /**< Service UUID. */
+  ble_gattc_handle_range_t handle_range;  /**< Service Handle Range. */
+} ble_gattc_service_t;
+
+
+/**@brief  GATT include. */
+typedef struct
+{
+  uint16_t            handle;           /**< Include Handle. */
+  ble_gattc_service_t included_srvc;    /**< Handle of the included service. */
+} ble_gattc_include_t;
+
+
+/**@brief GATT characteristic. */
+typedef struct
+{
+  ble_uuid_t              uuid;                 /**< Characteristic UUID. */
+  ble_gatt_char_props_t   char_props;           /**< Characteristic Properties. */
+  uint8_t                 char_ext_props : 1;   /**< Extended properties present. */
+  uint16_t                handle_decl;          /**< Handle of the Characteristic Declaration. */
+  uint16_t                handle_value;         /**< Handle of the Characteristic Value. */
+} ble_gattc_char_t;
+
+
+/**@brief GATT descriptor. */
+typedef struct
+{
+  uint16_t          handle;         /**< Descriptor Handle. */
+  ble_uuid_t        uuid;           /**< Descriptor UUID. */
+} ble_gattc_desc_t;
+
+
+/**@brief Write Parameters. */
+typedef struct
+{
+  uint8_t    write_op;                 /**< Write Operation to be performed, see @ref BLE_GATT_WRITE_OPS. */
+  uint16_t   handle;                   /**< Handle to the attribute to be written. */
+  uint16_t   offset;                   /**< Offset in bytes. @note For WRITE_CMD and WRITE_REQ, offset must be 0. */
+  uint16_t   len;                      /**< Length of data in bytes. */
+  uint8_t*   p_value;                  /**< Pointer to the value data. */
+  uint8_t    flags;                    /**< Flags, see @ref BLE_GATT_EXEC_WRITE_FLAGS. */
+} ble_gattc_write_params_t;
+
+
+/**
+ * @brief GATT Client Event IDs.
+ */
+enum BLE_GATTC_EVTS
+{
+  BLE_GATTC_EVT_PRIM_SRVC_DISC_RSP = BLE_GATTC_EVT_BASE,  /**< Primary Service Discovery Response event.  */
+  BLE_GATTC_EVT_REL_DISC_RSP,                             /**< Relationship Discovery Response event. */
+  BLE_GATTC_EVT_CHAR_DISC_RSP,                            /**< Characteristic Discovery Response event. */
+  BLE_GATTC_EVT_DESC_DISC_RSP,                            /**< Descriptor Discovery Response event. */
+  BLE_GATTC_EVT_CHAR_VAL_BY_UUID_READ_RSP,                /**< Read By UUID Response event. */
+  BLE_GATTC_EVT_READ_RSP,                                 /**< Read Response event. */
+  BLE_GATTC_EVT_CHAR_VALS_READ_RSP,                       /**< Read multiple Response event. */
+  BLE_GATTC_EVT_WRITE_RSP,                                /**< Write Response event. */
+  BLE_GATTC_EVT_HVX,                                      /**< Handle Value Notification or Indication event. */
+  BLE_GATTC_EVT_TIMEOUT                                   /**< Timeout event. */
+};
+
+/**@brief Event structure for BLE_GATTC_EVT_PRIM_SRVC_DISC_RSP. */
+typedef struct
+{
+  uint16_t             count;           /**< Service count. */
+  ble_gattc_service_t services[1];      /**< Service data, variable length. */
+} ble_gattc_evt_prim_srvc_disc_rsp_t;
+
+/**@brief Event structure for BLE_GATTC_EVT_REL_DISC_RSP. */
+typedef struct
+{
+  uint16_t             count;           /**< Include count. */
+  ble_gattc_include_t includes[1];      /**< Include data, variable length. */
+} ble_gattc_evt_rel_disc_rsp_t;
+
+/**@brief Event structure for BLE_GATTC_EVT_CHAR_DISC_RSP. */
+typedef struct
+{
+  uint16_t            count;          /**< Characteristic count. */
+  ble_gattc_char_t    chars[1];       /**< Characteristic data, variable length. */
+} ble_gattc_evt_char_disc_rsp_t;
+
+/**@brief Event structure for BLE_GATTC_EVT_DESC_DISC_RSP. */
+typedef struct
+{
+  uint16_t            count;          /**< Descriptor count. */
+  ble_gattc_desc_t    descs[1];       /**< Descriptor data, variable length. */
+} ble_gattc_evt_desc_disc_rsp_t;
+
+/**@brief GATT read by UUID handle value pair. */
+typedef struct 
+{
+  uint16_t            handle;          /**< Attribute Handle. */
+  uint8_t             *p_value;        /**< Pointer to value, variable length (length available as value_len in ble_gattc_evt_read_by_uuid_rsp_t). 
+                                            Please note that this pointer is absolute to the memory provided by the user when retrieving the event,
+                                            so it will effectively point to a location inside the handle_value array. */
+} ble_gattc_handle_value_t;
+
+/**@brief Event structure for BLE_GATTC_EVT_CHAR_VAL_BY_UUID_READ_RSP. */
+typedef struct
+{
+  uint16_t                  count;            /**< Handle-Value Pair Count. */
+  uint16_t                  value_len;        /**< Length of the value in Handle-Value(s) list. */
+  ble_gattc_handle_value_t  handle_value[1];  /**< Handle-Value(s) list, variable length. */
+} ble_gattc_evt_char_val_by_uuid_read_rsp_t;
+
+/**@brief Event structure for BLE_GATTC_EVT_READ_RSP. */
+typedef struct
+{
+  uint16_t            handle;         /**< Attribute Handle. */
+  uint16_t            offset;         /**< Offset of the attribute data. */
+  uint16_t            len;            /**< Attribute data length. */
+  uint8_t             data[1];        /**< Attribute data, variable length. */
+} ble_gattc_evt_read_rsp_t;
+
+/**@brief Event structure for BLE_GATTC_EVT_CHAR_VALS_READ_RSP. */
+typedef struct
+{
+  uint16_t            len;            /**< Concatenated Attribute values length. */
+  uint8_t             values[1];      /**< Attribute values, variable length. */
+} ble_gattc_evt_char_vals_read_rsp_t;
+
+/**@brief Event structure for BLE_GATTC_EVT_WRITE_RSP. */
+typedef struct
+{
+  uint16_t            handle;           /**< Attribute Handle. */
+  uint8_t             write_op;         /**< Type of write operation, see @ref BLE_GATT_WRITE_OPS. */
+  uint16_t            offset;           /**< Data Offset. */
+  uint16_t            len;              /**< Data length. */
+  uint8_t             data[1];          /**< Data, variable length. */
+} ble_gattc_evt_write_rsp_t;
+
+/**@brief Event structure for BLE_GATTC_EVT_HVX. */
+typedef struct
+{
+  uint16_t            handle;         /**< Handle to which the HVx operation applies. */
+  uint8_t             type;           /**< Indication or Notification, see @ref BLE_GATT_HVX_TYPES. */
+  uint16_t            len;            /**< Attribute data length. */
+  uint8_t             data[1];        /**< Attribute data, variable length. */
+} ble_gattc_evt_hvx_t;
+
+/**@brief Event structure for BLE_GATTC_EVT_TIMEOUT. */
+typedef struct
+{
+  uint8_t          src;                       /**< Timeout source, see @ref BLE_GATT_TIMEOUT_SOURCES. */
+} ble_gattc_evt_timeout_t;
+
+/**@brief GATTC event type. */
+typedef struct
+{
+  uint16_t            conn_handle;                /**< Connection Handle on which event occured. */
+  uint16_t            gatt_status;                /**< GATT status code for the operation, see @ref BLE_GATT_STATUS_CODES. */
+  uint16_t            error_handle;               /**< In case of error: The handle causing the error. In all other cases BLE_GATT_HANDLE_INVALID. */
+  union
+  {
+    ble_gattc_evt_prim_srvc_disc_rsp_t          prim_srvc_disc_rsp;         /**< Primary Service Discovery Response Event Parameters. */
+    ble_gattc_evt_rel_disc_rsp_t                rel_disc_rsp;               /**< Relationship Discovery Response Event Parameters. */
+    ble_gattc_evt_char_disc_rsp_t               char_disc_rsp;              /**< Characteristic Discovery Response Event Parameters. */
+    ble_gattc_evt_desc_disc_rsp_t               desc_disc_rsp;              /**< Descriptor Discovery Response Event Parameters. */
+    ble_gattc_evt_char_val_by_uuid_read_rsp_t   char_val_by_uuid_read_rsp;  /**< Characteristic Value Read by UUID Response Event Parameters. */
+    ble_gattc_evt_read_rsp_t                    read_rsp;                   /**< Read Response Event Parameters. */
+    ble_gattc_evt_char_vals_read_rsp_t          char_vals_read_rsp;         /**< Characteristic Values Read Response Event Parameters. */
+    ble_gattc_evt_write_rsp_t                   write_rsp;                  /**< Write Response Event Parameters. */
+    ble_gattc_evt_hvx_t                         hvx;                        /**< Handle Value Notification/Indication Event Parameters. */
+    ble_gattc_evt_timeout_t                     timeout;                    /**< Timeout Event Parameters. */
+  } params;                                                                 /**< Event Parameters. @note Only valid if @ref gatt_status == BLE_GATT_STATUS_SUCCESS. */
+} ble_gattc_evt_t;
+/** @} */
+
+/** @addtogroup BLE_GATTC_FUNCTIONS Functions
+ * @{ */
+
+/**@brief Initiate or continue a GATT Primary Service Discovery procedure.
+ *
+ * @details This function initiates a Primary Service discovery, starting from the supplied handle. 
+ *          If the last service has not been reached, this must be called again with an updated start handle value to continue the search.
+ *
+ * @note If any of the discovered services have 128-bit UUIDs which are not present in the table provided to ble_vs_uuids_assign, a UUID structure with
+ *       type BLE_UUID_TYPE_UNKNOWN will be received in the corresponding event.
+ *
+ * @param[in] conn_handle The connection handle identifying the connection to perform this procedure on.
+ * @param[in] start_handle Handle to start searching from.
+ * @param[in] p_srvc_uuid Pointer to the service UUID to be found. If it is NULL, all primary services will be returned.
+ *
+ * @return @ref NRF_SUCCESS Successfully started or resumed the Primary Service Discovery procedure.
+ * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid Connection Handle.
+ * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied.
+ * @return @ref NRF_ERROR_BUSY Client procedure already in progress.
+ */
+SVCALL(SD_BLE_GATTC_PRIMARY_SERVICES_DISCOVER, uint32_t, sd_ble_gattc_primary_services_discover(uint16_t conn_handle, uint16_t start_handle, ble_uuid_t const * const p_srvc_uuid));
+
+
+/**@brief Initiate or continue a GATT Relationship Discovery procedure.
+ *
+ * @details This function initiates the Find Included Services sub-procedure. If the last included service has not been reached,
+ *          this must be called again with an updated handle range to continue the search.
+ *
+ * @param[in] conn_handle The connection handle identifying the connection to perform this procedure on.
+ * @param[in] p_handle_range A pointer to the range of handles of the Service to perform this procedure on.
+ *
+ * @return @ref NRF_SUCCESS Successfully started or resumed the Relationship Discovery procedure.
+ * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid Connection Handle.
+ * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
+ * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied.
+ * @return @ref NRF_ERROR_BUSY Client procedure already in progress.
+ */
+SVCALL(SD_BLE_GATTC_RELATIONSHIPS_DISCOVER, uint32_t, sd_ble_gattc_relationships_discover(uint16_t conn_handle, ble_gattc_handle_range_t const * const p_handle_range));
+
+
+/**@brief Initiate or continue a GATT Characteristic Discovery procedure.
+ *
+ * @details This function initiates a Characteristic discovery procedure. If the last Characteristic has not been reached,
+ *          this must be called again with an updated handle range to continue the discovery.
+ *
+ * @note If any of the discovered characteristics have 128-bit UUIDs which are not present in the table provided to ble_vs_uuids_assign, a UUID structure with
+ *       type BLE_UUID_TYPE_UNKNOWN will be received in the corresponding event.
+ *
+ * @param[in] conn_handle The connection handle identifying the connection to perform this procedure on.
+ * @param[in] p_handle_range A pointer to the range of handles of the Service to perform this procedure on.
+ *
+ * @return @ref NRF_SUCCESS Successfully started or resumed the Characteristic Discovery procedure.
+ * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid Connection Handle.
+ * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
+ * @return @ref NRF_ERROR_BUSY Client procedure already in progress.
+ */
+SVCALL(SD_BLE_GATTC_CHARACTERISTICS_DISCOVER, uint32_t, sd_ble_gattc_characteristics_discover(uint16_t conn_handle, ble_gattc_handle_range_t const * const p_handle_range));
+
+
+/**@brief Initiate or continue a GATT Characteristic Descriptor Discovery procedure.
+ *
+ * @details This function initiates the Characteristic Descriptor discovery procedure. If the last Descriptor has not been reached,
+ *          this must be called again with an updated handle range to continue the discovery.
+ *
+ * @param[in] conn_handle The connection handle identifying the connection to perform this procedure on.
+ * @param[in] p_handle_range A pointer to the range of handles of the Characteristic to perform this procedure on.
+ *
+ * @return @ref NRF_SUCCESS Successfully started or resumed the Descriptor Discovery procedure.
+ * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid Connection Handle.
+ * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
+ * @return @ref NRF_ERROR_BUSY Client procedure already in progress.
+ */
+SVCALL(SD_BLE_GATTC_DESCRIPTORS_DISCOVER, uint32_t, sd_ble_gattc_descriptors_discover(uint16_t conn_handle, ble_gattc_handle_range_t const * const p_handle_range));
+
+
+/**@brief Initiate or continue a GATT Read using Characteristic UUID procedure.
+ *
+ * @details This function initiates the Read using Characteristic UUID procedure. If the last Characteristic has not been reached,
+ *          this must be called again with an updated handle range to continue the discovery.
+ *
+ * @param[in] conn_handle The connection handle identifying the connection to perform this procedure on.
+ * @param[in] p_uuid Pointer to a Characteristic value UUID to read.
+ * @param[in] p_handle_range A pointer to the range of handles to perform this procedure on.
+ *
+ * @return @ref NRF_SUCCESS Successfully started or resumed the Read using Characteristic UUID procedure.
+ * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid Connection Handle.
+ * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
+ * @return @ref NRF_ERROR_BUSY Client procedure already in progress.
+ */
+SVCALL(SD_BLE_GATTC_CHAR_VALUE_BY_UUID_READ, uint32_t, sd_ble_gattc_char_value_by_uuid_read(uint16_t conn_handle, ble_uuid_t const * const p_uuid, ble_gattc_handle_range_t const * const p_handle_range));
+
+
+/**@brief Initiate or continue a GATT Read (Long) Characteristic or Descriptor procedure.
+ *
+ * @details This function initiates a GATT Read (Long) Characteristic or Descriptor procedure. If the Characteristic or Descriptor
+ *          to be read is longer than GATT_MTU - 1, this function must be called multiple times with appropriate offset to read the 
+ *          complete value.
+ *
+ * @param[in] conn_handle The connection handle identifying the connection to perform this procedure on.
+ * @param[in] handle The handle of the attribute to be read.
+ * @param[in] offset Offset into the attribute value to be read.
+ *
+ * @return @ref NRF_SUCCESS Successfully started or resumed the Read (Long) procedure.
+ * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid Connection Handle.
+ * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
+ * @return @ref NRF_ERROR_BUSY Client procedure already in progress.
+ */
+SVCALL(SD_BLE_GATTC_READ, uint32_t, sd_ble_gattc_read(uint16_t conn_handle, uint16_t handle, uint16_t offset));
+
+
+/**@brief Initiate a GATT Read Multiple Characteristic Values procedure.
+ *
+ * @details This function initiates a GATT Read Multiple Characteristic Values procedure. 
+ *
+ * @param[in] conn_handle The connection handle identifying the connection to perform this procedure on.
+ * @param[in] p_handles A pointer to the handle(s) of the attribute(s) to be read.
+ * @param[in] handle_count The number of handles in p_handles.
+ *
+ * @return @ref NRF_SUCCESS Successfully started the Read Multiple Characteristic Values procedure.
+ * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid Connection Handle.
+ * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
+ * @return @ref NRF_ERROR_BUSY Client procedure already in progress.
+ */
+SVCALL(SD_BLE_GATTC_CHAR_VALUES_READ, uint32_t, sd_ble_gattc_char_values_read(uint16_t conn_handle, uint16_t const * const p_handles, uint16_t handle_count));
+
+
+/**@brief Perform a Write (Characteristic Value or Descriptor, with or without response, signed or not, long or reliable) procedure.
+ *
+ * @details This function can perform all write procedures described in GATT. 
+ *
+ * @note    It is important to note that a write without response will <b>consume an application buffer</b>, and will therefore 
+ *          generate a @ref BLE_EVT_TX_COMPLETE event when the packet has been transmitted. A write on the other hand will use the 
+ *          standard client internal buffer and thus will only generate a @ref BLE_GATTC_EVT_WRITE_RSP event as soon as the write response 
+ *          has been received from the peer. Please see the documentation of @ref sd_ble_tx_buffer_count_get for more details.
+ *
+ * @param[in] conn_handle The connection handle identifying the connection to perform this procedure on.
+ * @param[in] p_write_params A pointer to a write parameters structure.
+ *
+ * @return @ref NRF_SUCCESS Successfully started the Write procedure.
+ * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid Connection Handle.
+ * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
+ * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied.
+ * @return @ref NRF_ERROR_DATA_SIZE Invalid data size(s) supplied.
+ * @return @ref NRF_ERROR_BUSY Procedure already in progress.
+ * @return @ref BLE_ERROR_NO_TX_BUFFERS There are no available buffers left.
+ */
+SVCALL(SD_BLE_GATTC_WRITE, uint32_t, sd_ble_gattc_write(uint16_t conn_handle, ble_gattc_write_params_t const * const p_write_params));
+
+
+/**@brief Send a Handle Value Confirmation to the GATT Server.
+ *
+ * @param[in] conn_handle The connection handle identifying the connection to perform this procedure on.
+ * @param[in] handle The handle of the attribute in the indication.
+ *
+ * @return @ref NRF_SUCCESS Successfully queued the Handle Value Confirmation for transmission.
+ * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid Connection Handle.
+ * @return @ref NRF_ERROR_INVALID_STATE No Indication pending to be confirmed.
+ * @return @ref BLE_ERROR_INVALID_ATTR_HANDLE Invalid attribute handle.
+ * @return @ref BLE_ERROR_NO_TX_BUFFERS There are no available buffers left.
+ */
+SVCALL(SD_BLE_GATTC_HV_CONFIRM, uint32_t, sd_ble_gattc_hv_confirm(uint16_t conn_handle, uint16_t handle));
+
+/** @} */
+
+#endif /* BLE_GATTC_H__ */
+
+/**
+  @}
+  @}
+*/
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TARGET_RBLAB_NRF51822/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/ble_gatts.h	Fri Aug 15 15:28:31 2014 +0100
@@ -0,0 +1,566 @@
+/* Copyright (c) 2011 Nordic Semiconductor. All Rights Reserved.
+ *
+ * The information contained herein is confidential property of Nordic Semiconductor. The use,
+ * copying, transfer or disclosure of such information is prohibited except by express written
+ * agreement with Nordic Semiconductor.
+ *
+ */
+/**
+  @addtogroup BLE_GATTS Generic Attribute Profile (GATT) Server
+  @{
+  @brief  Definitions and prototypes for the GATTS interface.
+ */
+
+#ifndef BLE_GATTS_H__
+#define BLE_GATTS_H__
+
+#include "ble_types.h"
+#include "ble_ranges.h"
+#include "ble_l2cap.h"
+#include "ble_gap.h"
+#include "ble_gatt.h"
+#include "nrf_svc.h"
+
+/** @addtogroup BLE_GATTS_ENUMERATIONS Enumerations
+ * @{ */
+
+/**
+ * @brief GATTS API SVC numbers.
+ */
+enum BLE_GATTS_SVCS
+{
+  SD_BLE_GATTS_SERVICE_ADD = BLE_GATTS_SVC_BASE, /**< Add a service. */
+  SD_BLE_GATTS_INCLUDE_ADD,                      /**< Add an included service. */
+  SD_BLE_GATTS_CHARACTERISTIC_ADD,               /**< Add a characteristic. */
+  SD_BLE_GATTS_DESCRIPTOR_ADD,                   /**< Add a generic attribute. */
+  SD_BLE_GATTS_VALUE_SET,                        /**< Set an attribute value. */
+  SD_BLE_GATTS_VALUE_GET,                        /**< Get an attribute value. */
+  SD_BLE_GATTS_HVX,                              /**< Handle Value Notification or Indication. */
+  SD_BLE_GATTS_SERVICE_CHANGED,                  /**< Perform a Service Changed Indication to one or more peers. */
+  SD_BLE_GATTS_RW_AUTHORIZE_REPLY,               /**< Reply to an authorization request for a read or write operation on one or more attributes. */ 
+  SD_BLE_GATTS_SYS_ATTR_SET,                     /**< Set the persistent system attributes for a connection. */  
+  SD_BLE_GATTS_SYS_ATTR_GET,                     /**< Get updated persistent system attributes after terminating a connection. */
+};
+
+/** @} */
+
+/** @addtogroup BLE_GATTS_DEFINES Defines
+ * @{ */
+
+/** @brief Only the default MTU size of 23 is currently supported. */
+#define GATT_RX_MTU 23
+
+/** @defgroup BLE_ERRORS_GATTS SVC return values specific to GATTS
+ * @{ */
+#define BLE_ERROR_GATTS_INVALID_ATTR_TYPE   (NRF_GATTS_ERR_BASE + 0x000) /**< Invalid attribute type. */
+#define BLE_ERROR_GATTS_SYS_ATTR_MISSING    (NRF_GATTS_ERR_BASE + 0x001) /**< System Attributes missing. */
+/** @} */
+
+/** @defgroup BLE_GATTS_ATTR_LENS_MAX Maximum attribute lengths
+ * @{ */
+#define BLE_GATTS_FIX_ATTR_LEN_MAX (510)  /**< Maximum length for fixed length Attribute Values. */
+#define BLE_GATTS_VAR_ATTR_LEN_MAX (512)  /**< Maximum length for variable length Attribute Values. */ 
+/** @} */
+
+/** @defgroup BLE_GATTS_SRVC_TYPES GATT Server Service Types
+ * @{ */
+#define BLE_GATTS_SRVC_TYPE_INVALID          0x00  /**< Invalid Service Type. */
+#define BLE_GATTS_SRVC_TYPE_PRIMARY          0x01  /**< Primary Service. */
+#define BLE_GATTS_SRVC_TYPE_SECONDARY        0x02  /**< Secondary Type. */
+/** @} */
+
+
+/** @defgroup BLE_GATTS_ATTR_TYPES GATT Server Attribute Types
+ * @{ */
+#define BLE_GATTS_ATTR_TYPE_INVALID         0x00  /**< Invalid Attribute Type. */
+#define BLE_GATTS_ATTR_TYPE_PRIM_SRVC_DECL  0x01  /**< Primary Service Declaration. */
+#define BLE_GATTS_ATTR_TYPE_SEC_SRVC_DECL   0x02  /**< Secondary Service Declaration. */
+#define BLE_GATTS_ATTR_TYPE_INC_DECL        0x03  /**< Include Declaration. */
+#define BLE_GATTS_ATTR_TYPE_CHAR_DECL       0x04  /**< Characteristic Declaration. */
+#define BLE_GATTS_ATTR_TYPE_CHAR_VAL        0x05  /**< Characteristic Value. */
+#define BLE_GATTS_ATTR_TYPE_DESC            0x06  /**< Descriptor. */
+#define BLE_GATTS_ATTR_TYPE_OTHER           0x07  /**< Other, non-GATT specific type. */
+/** @} */
+
+
+/** @defgroup BLE_GATTS_OPS GATT Server Operations
+ * @{ */
+#define BLE_GATTS_OP_INVALID                0x00  /**< Invalid Operation. */
+#define BLE_GATTS_OP_WRITE_REQ              0x01  /**< Write Request. */
+#define BLE_GATTS_OP_WRITE_CMD              0x02  /**< Write Command. */
+#define BLE_GATTS_OP_SIGN_WRITE_CMD         0x03  /**< Signed Write Command. */
+#define BLE_GATTS_OP_PREP_WRITE_REQ         0x04  /**< Prepare Write Request. */
+#define BLE_GATTS_OP_EXEC_WRITE_REQ_CANCEL  0x05  /**< Execute Write Request: Cancel all prepared writes. */
+#define BLE_GATTS_OP_EXEC_WRITE_REQ_NOW     0x06  /**< Execute Write Request: Immediately execute all prepared writes. */
+/** @} */
+
+/** @defgroup BLE_GATTS_VLOCS GATT Value Locations
+ * @{ */
+#define BLE_GATTS_VLOC_INVALID       0x00  /**< Invalid Location. */
+#define BLE_GATTS_VLOC_STACK         0x01  /**< Attribute Value is located in stack memory, no user memory is required. */
+#define BLE_GATTS_VLOC_USER          0x02  /**< Attribute Value is located in user memory. This requires the user to maintain a valid buffer through the lifetime of the attribute, since the stack
+                                                will read and write directly to the memory using the pointer provided in the APIs. There are no alignment requirements for the buffer. */
+/** @} */
+
+/** @defgroup BLE_GATTS_AUTHORIZE_TYPES GATT Server Authorization Types
+ * @{ */
+#define BLE_GATTS_AUTHORIZE_TYPE_INVALID    0x00  /**< Invalid Type. */
+#define BLE_GATTS_AUTHORIZE_TYPE_READ       0x01  /**< Authorize a Read Operation. */
+#define BLE_GATTS_AUTHORIZE_TYPE_WRITE      0x02  /**< Authorize a Write Request Operation. */
+/** @} */
+
+
+/** @} */
+
+/** @addtogroup BLE_GATTS_STRUCTURES Structures
+ * @{ */
+
+/**
+ * @brief BLE GATTS init options
+ */
+typedef struct
+{
+  uint8_t   service_changed:1;             /**< Include the Service Changed characteristic in the local attributes. */
+} ble_gatts_enable_params_t;
+
+/**@brief Attribute metadata. */
+typedef struct
+{
+  ble_gap_conn_sec_mode_t read_perm;       /**< Read permissions. */
+  ble_gap_conn_sec_mode_t write_perm;      /**< Write permissions. */
+  uint8_t                 vlen       :1;   /**< Variable length attribute. */
+  uint8_t                 vloc       :2;   /**< Value location, see @ref BLE_GATTS_VLOCS.*/
+  uint8_t                 rd_auth    :1;   /**< Read Authorization and value will be requested from the application on every read operation. */ 
+  uint8_t                 wr_auth    :1;   /**< Write Authorization will be requested from the application on every Write Request operation (but not Write Command). */
+} ble_gatts_attr_md_t;
+
+
+/**@brief GATT Attribute. */
+typedef struct
+{
+  ble_uuid_t*          p_uuid;          /**< Pointer to the attribute UUID. */
+  ble_gatts_attr_md_t* p_attr_md;       /**< Pointer to the attribute metadata structure. */
+  uint16_t             init_len;        /**< Initial attribute value length in bytes. */
+  uint16_t             init_offs;       /**< Initial attribute value offset in bytes. If different from zero, the first init_offs bytes of the attribute value will be left uninitialized. */
+  uint16_t             max_len;         /**< Maximum attribute value length in bytes, see @ref BLE_GATTS_ATTR_LENS_MAX for maximum values. */
+  uint8_t*             p_value;         /**< Pointer to the attribute data. Please note that if the @ref BLE_GATTS_VLOC_USER value location is selected in the attribute metadata, this will have to point to a buffer
+                                             that remains valid through the lifetime of the attribute. This excludes usage of automatic variables that may go out of scope or any other temporary location. 
+                                             The stack may access that memory directly without the application's knowledge. */
+} ble_gatts_attr_t;
+
+
+/**@brief GATT Attribute Context. */
+typedef struct
+{
+  ble_uuid_t           srvc_uuid;       /**< Service UUID. */
+  ble_uuid_t           char_uuid;       /**< Characteristic UUID if applicable (BLE_UUID_TYPE_UNKNOWN if N/A). */
+  ble_uuid_t           desc_uuid;       /**< Descriptor UUID if applicable (BLE_UUID_TYPE_UNKNOWN if N/A). */
+  uint16_t             srvc_handle;     /**< Service Handle. */
+  uint16_t             value_handle;    /**< Characteristic Handle if applicable (BLE_GATT_HANDLE_INVALID if N/A). */
+  uint8_t              type;            /**< Attribute Type, see @ref BLE_GATTS_ATTR_TYPES. */
+} ble_gatts_attr_context_t;
+
+
+/**@brief GATT Characteristic Presentation Format. */
+typedef struct
+{
+  uint8_t          format;      /**< Format of the value, see @ref BLE_GATT_CPF_FORMATS. */
+  int8_t           exponent;    /**< Exponent for integer data types. */
+  uint16_t         unit;        /**< UUID from Bluetooth Assigned Numbers. */
+  uint8_t          name_space;  /**< Namespace from Bluetooth Assigned Numbers, see @ref BLE_GATT_CPF_NAMESPACES. */
+  uint16_t         desc;        /**< Namespace description from Bluetooth Assigned Numbers, see @ref BLE_GATT_CPF_NAMESPACES. */
+} ble_gatts_char_pf_t;
+
+
+/**@brief GATT Characteristic metadata. */
+typedef struct
+{
+  ble_gatt_char_props_t       char_props;               /**< Characteristic Properties. */
+  ble_gatt_char_ext_props_t   char_ext_props;           /**< Characteristic Extended Properties. */
+  uint8_t*                    p_char_user_desc;         /**< Pointer to a UTF-8, NULL if the descriptor is not required. */
+  uint16_t                    char_user_desc_max_size;  /**< The maximum size in bytes of the user description descriptor. */
+  uint16_t                    char_user_desc_size;      /**< The size of the user description, must be smaller or equal to char_user_desc_max_size. */ 
+  ble_gatts_char_pf_t*        p_char_pf;                /**< Pointer to a presentation format structure or NULL if the descriptor is not required. */
+  ble_gatts_attr_md_t*        p_user_desc_md;           /**< Attribute metadata for the User Description descriptor, or NULL for default values. */
+  ble_gatts_attr_md_t*        p_cccd_md;                /**< Attribute metadata for the Client Characteristic Configuration Descriptor, or NULL for default values. */
+  ble_gatts_attr_md_t*        p_sccd_md;                /**< Attribute metadata for the Server Characteristic Configuration Descriptor, or NULL for default values. */
+} ble_gatts_char_md_t;
+
+
+/**@brief GATT Characteristic Definition Handles. */
+typedef struct
+{
+  uint16_t          value_handle;       /**< Handle to the characteristic value. */
+  uint16_t          user_desc_handle;   /**< Handle to the User Description descriptor, or BLE_GATT_HANDLE_INVALID if not present. */
+  uint16_t          cccd_handle;        /**< Handle to the Client Characteristic Configuration Descriptor, or BLE_GATT_HANDLE_INVALID if not present. */
+  uint16_t          sccd_handle;        /**< Handle to the Server Characteristic Configuration Descriptor, or BLE_GATT_HANDLE_INVALID if not present. */
+} ble_gatts_char_handles_t;
+
+
+/**@brief GATT HVx parameters. */
+typedef struct
+{
+  uint16_t          handle;             /**< Characteristic Value Handle. */
+  uint8_t           type;               /**< Indication or Notification, see @ref BLE_GATT_HVX_TYPES. */
+  uint16_t          offset;             /**< Offset within the attribute value. */
+  uint16_t*         p_len;              /**< Length in bytes to be written, length in bytes written after successful return. */
+  uint8_t*          p_data;             /**< Actual data content, use NULL to use the current attribute value. */
+} ble_gatts_hvx_params_t;
+
+/**@brief GATT Read Authorization parameters. */
+typedef struct
+{
+  uint16_t          gatt_status;        /**< GATT status code for the operation, see @ref BLE_GATT_STATUS_CODES. */
+  uint8_t           update : 1;         /**< If set, data supplied in p_data will be used in the ATT response. */
+  uint16_t          offset;             /**< Offset of the attribute value being updated. */
+  uint16_t          len;                /**< Length in bytes of the value in p_data pointer, see @ref BLE_GATTS_ATTR_LENS_MAX. */
+  uint8_t*          p_data;             /**< Pointer to new value used to update the attribute value. */
+} ble_gatts_read_authorize_params_t;
+
+/**@brief GATT Write Authorisation parameters. */
+typedef struct
+{
+  uint16_t          gatt_status;        /**< GATT status code for the operation, see @ref BLE_GATT_STATUS_CODES. */
+} ble_gatts_write_authorize_params_t;
+
+/**@brief GATT Read or Write Authorize Reply parameters. */
+typedef struct
+{
+  uint8_t                               type;   /**< Type of authorize operation, see @ref BLE_GATTS_AUTHORIZE_TYPES. */
+  union {
+    ble_gatts_read_authorize_params_t   read;   /**< Read authorization parameters. */
+    ble_gatts_write_authorize_params_t  write;  /**< Write authorization parameters. */
+  } params;
+} ble_gatts_rw_authorize_reply_params_t;
+
+
+/**
+ * @brief GATT Server Event IDs.
+ */
+enum BLE_GATTS_EVTS
+{
+  BLE_GATTS_EVT_WRITE = BLE_GATTS_EVT_BASE,       /**< Write operation performed. */
+  BLE_GATTS_EVT_RW_AUTHORIZE_REQUEST,             /**< Read/Write Authorization request. */
+  BLE_GATTS_EVT_SYS_ATTR_MISSING,                 /**< A persistent system attribute access is pending, awaiting a sd_ble_gatts_sys_attr_set(). */
+  BLE_GATTS_EVT_HVC,                              /**< Handle Value Confirmation. */
+  BLE_GATTS_EVT_SC_CONFIRM,                       /**< Service Changed Confirmation. */
+  BLE_GATTS_EVT_TIMEOUT                           /**< Timeout. */
+};
+
+
+/**@brief Event structure for BLE_GATTS_EVT_WRITE. */
+typedef struct
+{
+  uint16_t                    handle;             /**< Attribute Handle. */
+  uint8_t                     op;                 /**< Type of write operation, see @ref BLE_GATTS_OPS. */
+  ble_gatts_attr_context_t    context;            /**< Attribute Context. */
+  uint16_t                    offset;             /**< Offset for the write operation. */
+  uint16_t                    len;                /**< Length of the incoming data. */
+  uint8_t                     data[1];            /**< Incoming data, variable length. */
+} ble_gatts_evt_write_t;
+
+/**@brief Event structure for authorize read request. */
+typedef struct
+{
+  uint16_t                    handle;             /**< Attribute Handle. */
+  ble_gatts_attr_context_t    context;            /**< Attribute Context. */
+  uint16_t                    offset;             /**< Offset for the read operation. */
+} ble_gatts_evt_read_t;
+
+/**@brief Event structure for BLE_GATTS_EVT_RW_AUTHORIZE_REQUEST. */
+typedef struct
+{
+  uint8_t                     type;             /**< Type of authorize operation, see @ref BLE_GATTS_AUTHORIZE_TYPES. */
+  union {
+    ble_gatts_evt_read_t      read;             /**< Attribute Read Parameters. */
+    ble_gatts_evt_write_t     write;            /**< Attribute Write Parameters. */
+  } request;
+} ble_gatts_evt_rw_authorize_request_t;
+
+/**@brief Event structure for BLE_GATTS_EVT_SYS_ATTR_MISSING. */
+typedef struct
+{
+  uint8_t hint;
+} ble_gatts_evt_sys_attr_missing_t;
+
+
+/**@brief Event structure for BLE_GATTS_EVT_HVC. */
+typedef struct
+{
+  uint16_t          handle;                       /**< Attribute Handle. */
+} ble_gatts_evt_hvc_t;
+
+/**@brief Event structure for BLE_GATTS_EVT_TIMEOUT. */
+typedef struct
+{
+  uint8_t          src;                       /**< Timeout source, see @ref BLE_GATT_TIMEOUT_SOURCES. */
+} ble_gatts_evt_timeout_t;
+
+
+/**@brief GATT Server event callback event structure. */
+typedef struct
+{
+  uint16_t conn_handle;                                       /**< Connection Handle on which event occurred. */
+  union
+  {
+    ble_gatts_evt_write_t                 write;              /**< Write Event Parameters. */
+    ble_gatts_evt_rw_authorize_request_t  authorize_request;  /**< Read or Write Authorize Request Parameters. */
+    ble_gatts_evt_sys_attr_missing_t      sys_attr_missing;   /**< System attributes missing. */
+    ble_gatts_evt_hvc_t                   hvc;                /**< Handle Value Confirmation Event Parameters. */
+    ble_gatts_evt_timeout_t               timeout;            /**< Timeout Event. */
+  } params;
+} ble_gatts_evt_t;
+
+/** @} */
+
+/** @addtogroup BLE_GATTS_FUNCTIONS Functions
+ * @{ */
+
+/**@brief Add a service declaration to the local server ATT table.
+ *
+ * @param[in] type      Toggles between primary and secondary services, see @ref BLE_GATTS_SRVC_TYPES.
+ * @param[in] p_uuid    Pointer to service UUID.
+ * @param[out] p_handle Pointer to a 16-bit word where the assigned handle will be stored.
+ *
+ * @note Secondary Services are only relevant in the context of the entity that references them, it is therefore forbidden to
+ *       add a secondary service declaration that is not referenced by another service later in the ATT table.
+ *
+ * @return @ref NRF_SUCCESS Successfully added a service declaration.
+ * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
+ * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied, Vendor Specific UUIDs need to be present in the table.
+ * @return @ref NRF_ERROR_FORBIDDEN Forbidden value supplied, certain UUIDs are reserved for the stack.
+ * @return @ref NRF_ERROR_NO_MEM Not enough memory to complete operation.
+ */
+SVCALL(SD_BLE_GATTS_SERVICE_ADD, uint32_t, sd_ble_gatts_service_add(uint8_t type, ble_uuid_t const*const p_uuid, uint16_t *const p_handle));
+
+
+/**@brief Add an include declaration to the local server ATT table.
+ *
+ * @note It is currently only possible to add an include declaration to the last added service (i.e. only sequential addition is supported at this time). 
+ *
+ * @note The included service must already be present in the ATT table prior to this call.
+ *
+ * @param[in] service_handle    Handle of the service where the included service is to be placed, if BLE_GATT_HANDLE_INVALID is used, it will be placed sequentially.
+ * @param[in] inc_srvc_handle   Handle of the included service.
+ * @param[out] p_include_handle Pointer to a 16-bit word where the assigned handle will be stored.
+ *
+ * @return @ref NRF_SUCCESS Successfully added an include declaration.
+ * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
+ * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied, handle values need to match previously added services.
+ * @return @ref NRF_ERROR_INVALID_STATE Invalid state to perform operation.
+ * @return @ref NRF_ERROR_FORBIDDEN Forbidden value supplied, self inclusions are not allowed.
+ * @return @ref NRF_ERROR_NO_MEM Not enough memory to complete operation.
+ * @return @ref NRF_ERROR_NOT_FOUND Attribute not found.
+ */
+SVCALL(SD_BLE_GATTS_INCLUDE_ADD, uint32_t, sd_ble_gatts_include_add(uint16_t service_handle, uint16_t inc_srvc_handle, uint16_t *const p_include_handle));
+
+
+/**@brief Add a characteristic declaration, a characteristic value declaration and optional characteristic descriptor declarations to the local server ATT table.
+ *
+ * @note It is currently only possible to add a characteristic to the last added service (i.e. only sequential addition is supported at this time). 
+ *
+ * @note Several restrictions apply to the parameters, such as matching permissions between the user description descriptor and the writeable auxiliaries bits,
+ *       readable (no security) and writeable (selectable) CCCDs and SCCDs and valid presentation format values.
+ *
+ * @note If no metadata is provided for the optional descriptors, their permissions will be derived from the characteristic permissions.
+ *
+ * @param[in] service_handle    Handle of the service where the characteristic is to be placed, if BLE_GATT_HANDLE_INVALID is used, it will be placed sequentially.
+ * @param[in] p_char_md         Characteristic metadata.
+ * @param[in] p_attr_char_value Pointer to the attribute structure corresponding to the characteristic value.
+ * @param[out] p_handles        Pointer to the structure where the assigned handles will be stored.
+ *
+ * @return @ref NRF_SUCCESS Successfully added a characteristic.
+ * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
+ * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied, service handle, Vendor Specific UUIDs, lengths, and permissions need to adhere to the constraints.
+ * @return @ref NRF_ERROR_INVALID_STATE Invalid state to perform operation, a service context is required.
+ * @return @ref NRF_ERROR_FORBIDDEN Forbidden value supplied, certain UUIDs are reserved for the stack.
+ * @return @ref NRF_ERROR_NO_MEM Not enough memory to complete operation.
+ * @return @ref NRF_ERROR_DATA_SIZE Invalid data size(s) supplied, attribute lengths are restricted by @ref BLE_GATTS_ATTR_LENS_MAX.
+ */
+SVCALL(SD_BLE_GATTS_CHARACTERISTIC_ADD, uint32_t, sd_ble_gatts_characteristic_add(uint16_t service_handle, ble_gatts_char_md_t const*const p_char_md, ble_gatts_attr_t const*const p_attr_char_value, ble_gatts_char_handles_t *const p_handles));
+
+
+/**@brief Add a descriptor to the local server ATT table.
+ *
+ * @note It is currently only possible to add a descriptor to the last added characteristic (i.e. only sequential addition is supported at this time). 
+ *
+ * @param[in] char_handle   Handle of the characteristic where the descriptor is to be placed, if BLE_GATT_HANDLE_INVALID is used, it will be placed sequentially.
+ * @param[in] p_attr        Pointer to the attribute structure.
+ * @param[out] p_handle     Pointer to a 16-bit word where the assigned handle will be stored.
+ *
+ * @return @ref NRF_SUCCESS Successfully added a descriptor.
+ * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
+ * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied, characteristic handle, Vendor Specific UUIDs, lengths, and permissions need to adhere to the constraints.
+ * @return @ref NRF_ERROR_INVALID_STATE Invalid state to perform operation, a characteristic context is required.
+ * @return @ref NRF_ERROR_FORBIDDEN Forbidden value supplied, certain UUIDs are reserved for the stack.
+ * @return @ref NRF_ERROR_NO_MEM Not enough memory to complete operation.
+ * @return @ref NRF_ERROR_DATA_SIZE Invalid data size(s) supplied, attribute lengths are restricted by @ref BLE_GATTS_ATTR_LENS_MAX.
+ */
+SVCALL(SD_BLE_GATTS_DESCRIPTOR_ADD, uint32_t, sd_ble_gatts_descriptor_add(uint16_t char_handle, ble_gatts_attr_t const * const p_attr, uint16_t* const p_handle));
+
+/**@brief Set the value of a given attribute.
+ *
+ * @param[in] handle    Attribute handle.
+ * @param[in] offset    Offset in bytes to write from.
+ * @param[in,out] p_len Length in bytes to be written, length in bytes written after successful return.
+ * @param[in] p_value   Pointer to a buffer (at least len bytes long) containing the desired attribute value. If value is stored in user memory, only the attribute length is updated when p_value == NULL.
+ *
+ * @return @ref NRF_SUCCESS Successfully set the value of the attribute.
+ * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
+ * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied.
+ * @return @ref NRF_ERROR_NOT_FOUND Attribute not found.
+ * @return @ref NRF_ERROR_FORBIDDEN Forbidden handle supplied, certain attributes are not modifiable by the application.
+ * @return @ref NRF_ERROR_DATA_SIZE Invalid data size(s) supplied, attribute lengths are restricted by @ref BLE_GATTS_ATTR_LENS_MAX.
+ */
+SVCALL(SD_BLE_GATTS_VALUE_SET, uint32_t, sd_ble_gatts_value_set(uint16_t handle, uint16_t offset, uint16_t* const p_len, uint8_t const * const p_value));
+
+/**@brief Get the value of a given attribute.
+ *
+ * @param[in] handle     Attribute handle.
+ * @param[in] offset     Offset in bytes to read from.
+ * @param[in,out] p_len  Length in bytes to be read, total length of attribute value (in bytes, starting from offset) after successful return.
+ * @param[in,out] p_data Pointer to a buffer (at least len bytes long) where to store the attribute value. Set to NULL to obtain the complete length of attribute value.
+ *
+ * @note                 If the attribute value is longer than the size of the supplied buffer,
+ *                       p_len will return the total attribute value length (excluding offset),
+ *                       and not the number of bytes actually returned in p_data.
+ *                       The application may use this information to allocate a suitable buffer size.
+ * 
+ * @return @ref NRF_SUCCESS Successfully retrieved the value of the attribute.
+ * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
+ * @return @ref NRF_ERROR_NOT_FOUND Attribute not found.
+ */
+SVCALL(SD_BLE_GATTS_VALUE_GET, uint32_t, sd_ble_gatts_value_get(uint16_t handle, uint16_t offset, uint16_t *const p_len, uint8_t* const p_data));
+
+/**@brief Notify or Indicate an attribute value.
+ *
+ * @details This function checks for the relevant Client Characteristic Configuration descriptor value to verify that the relevant operation
+ *          (notification or indication) has been enabled by the client. It is also able to update the attribute value before issuing the PDU, so that
+ *          the application can atomically perform a value update and a server initiated transaction with a single API call.
+ *          If the application chooses to indicate an attribute value, a @ref BLE_GATTS_EVT_HVC will be sent up as soon as the confirmation arrives from
+ *          the peer.
+ *
+ * @note    The local attribute value may be updated even if an outgoing packet is not sent to the peer due to an error during execution. 
+ *          When receiveing the error codes @ref NRF_ERROR_INVALID_STATE, @ref NRF_ERROR_BUSY, @ref BLE_ERROR_GATTS_SYS_ATTR_MISSING and 
+ *          @ref BLE_ERROR_NO_TX_BUFFERS the ATT table has been updated.
+ *          The caller can check whether the value has been updated by looking at the contents of *(p_hvx_params->p_len).
+ *
+ * @note    It is important to note that a notification will <b>consume an application buffer</b>, and will therefore 
+ *          generate a @ref BLE_EVT_TX_COMPLETE event when the packet has been transmitted. An indication on the other hand will use the 
+ *          standard server internal buffer and thus will only generate a @ref BLE_GATTS_EVT_HVC event as soon as the confirmation 
+ *          has been received from the peer. Please see the documentation of @ref sd_ble_tx_buffer_count_get for more details.
+ *
+ * @param[in] conn_handle  Connection handle.
+ * @param[in] p_hvx_params Pointer to an HVx parameters structure. If the p_data member contains a non-NULL pointer the attribute value will be updated with
+ *                         the contents pointed by it before sending the notification or indication.
+ *
+ * @return @ref NRF_SUCCESS Successfully queued a notification or indication for transmission, and optionally updated the attribute value.
+ * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid Connection Handle.
+ * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
+ * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied.
+ * @return @ref BLE_ERROR_INVALID_ATTR_HANDLE Invalid attribute handle(s) supplied. Only attributes added directly by the application are available to notify and indicate.
+ * @return @ref BLE_ERROR_GATTS_INVALID_ATTR_TYPE Invalid attribute type(s) supplied, only characteristic values may be notified and indicated.
+ * @return @ref NRF_ERROR_NOT_FOUND Attribute not found.
+ * @return @ref NRF_ERROR_DATA_SIZE Invalid data size(s) supplied.
+ * @return @ref NRF_ERROR_INVALID_STATE Invalid state to perform operation, notifications or indications must be enabled in the CCCD.
+ * @return @ref NRF_ERROR_BUSY Procedure already in progress.
+ * @return @ref BLE_ERROR_GATTS_SYS_ATTR_MISSING System attributes missing, use @ref sd_ble_gatts_sys_attr_set to set them to a known value.
+ * @return @ref BLE_ERROR_NO_TX_BUFFERS There are no available buffers to send the data, applies only to notifications.
+ */
+SVCALL(SD_BLE_GATTS_HVX, uint32_t, sd_ble_gatts_hvx(uint16_t conn_handle, ble_gatts_hvx_params_t const*const p_hvx_params));
+
+/**@brief Indicate the Service Changed attribute value.
+ *
+ * @details This call will send a Handle Value Indication to one or more peers connected to inform them that the attribute
+ *          table layout has changed. As soon as the peer has confirmed the indication, a @ref BLE_GATTS_EVT_SC_CONFIRM event will
+ *          be issued.
+ *
+ * @note    Some of the restrictions and limitations that apply to @ref sd_ble_gatts_hvx also apply here.
+ *
+ * @param[in] conn_handle  Connection handle.
+ * @param[in] start_handle Start of affected attribute handle range.
+ * @param[in] end_handle   End of affected attribute handle range.
+ *
+ * @return @ref NRF_SUCCESS Successfully queued the Service Changed indication for transmission.
+ * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid Connection Handle.
+ * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied.
+ * @return @ref BLE_ERROR_INVALID_ATTR_HANDLE Invalid attribute handle(s) supplied, handles must be in the range populated by the application.
+ * @return @ref NRF_ERROR_INVALID_STATE Invalid state to perform operation, notifications or indications must be enabled in the CCCD.
+ * @return @ref NRF_ERROR_BUSY Procedure already in progress.
+ * @return @ref BLE_ERROR_GATTS_SYS_ATTR_MISSING System attributes missing, use @ref sd_ble_gatts_sys_attr_set to set them to a known value.
+ */
+SVCALL(SD_BLE_GATTS_SERVICE_CHANGED, uint32_t, sd_ble_gatts_service_changed(uint16_t conn_handle, uint16_t start_handle, uint16_t end_handle));
+
+/**@brief Respond to a Read/Write authorization request.
+ *
+ * @note This call should only be used as a response to a @ref BLE_GATTS_EVT_RW_AUTHORIZE_REQUEST event issued to the application.
+ *
+ * @param[in] conn_handle                 Connection handle.
+ * @param[in] p_rw_authorize_reply_params Pointer to a structure with the attribute provided by the application.
+ *
+ * @return @ref NRF_SUCCESS               Successfully queued a response to the peer, and in the case of a write operation, ATT table updated.
+ * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid Connection Handle.
+ * @return @ref NRF_ERROR_INVALID_STATE   No authorization request pending.
+ * @return @ref NRF_ERROR_INVALID_PARAM   Authorization op invalid,
+ *                                         or for Read Authorization reply: requested handles not replied with,
+ *                                         or for Write Authorization reply: handle supplied does not match requested handle.
+ */
+SVCALL(SD_BLE_GATTS_RW_AUTHORIZE_REPLY, uint32_t, sd_ble_gatts_rw_authorize_reply(uint16_t conn_handle, ble_gatts_rw_authorize_reply_params_t const*const p_rw_authorize_reply_params));
+
+
+/**@brief Update persistent system attribute information.
+ *
+ * @details Supply to the stack information about persistent system attributes.
+ *          This call is legal in the connected state only, and is usually 
+ *          made immediately after a connection is established and the bond identified.
+ *          usually as a response to a BLE_GATTS_EVT_SYS_ATTR_MISSING.
+ *
+ *          p_sysattrs may point directly to the application's stored copy of the struct.
+ *          If the pointer is NULL, the system attribute info is initialized, assuming that
+ *          the application does not have any previously saved data for this bond.
+ *
+ * @note The state of persistent system attributes is reset upon connection and then remembered for its duration. 
+ *
+ * @note If this call returns with an error code different from @ref NRF_SUCCESS, the storage of persistent system attributes may have been completed only partially.
+ *       This means that the state of the attribute table is undefined, and the application should either provide a new set of attributes using this same call or
+ *       reset the SoftDevice to return to a known state.
+ *
+ * @param[in]  conn_handle        Connection handle.
+ * @param[in]  p_sys_attr_data    Pointer to a saved copy of system attributes supplied to the stack, or NULL.
+ * @param[in]  len                Size of data pointed by p_sys_attr_data, in octets. 
+ *
+ * @return @ref NRF_SUCCESS Successfully set the system attribute information.
+ * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid Connection Handle.
+ * @return @ref NRF_ERROR_INVALID_DATA Invalid data supplied, the data should be exactly the same as retrieved with @ref sd_ble_gatts_sys_attr_get.
+ * @return @ref NRF_ERROR_NO_MEM Not enough memory to complete operation.
+ */ 
+SVCALL(SD_BLE_GATTS_SYS_ATTR_SET, uint32_t, sd_ble_gatts_sys_attr_set(uint16_t conn_handle, uint8_t const*const p_sys_attr_data, uint16_t len)); 
+
+ 
+/**@brief Retrieve persistent system attribute information from the stack.
+ *
+ * @details This call is used to retrieve information about values to be stored perisistently by the application
+ *          after a connection has been terminated. When a new connection is made to the same bond, the values
+ *          should be restored using @ref sd_ble_gatts_sys_attr_set.
+ *          The data should be read before any new advertising is started, or any new connection established. The connection handle for
+ *          the previous now defunct connection will remain valid until a new one is created to allow this API call to refer to it.
+ *
+ * @param[in]     conn_handle       Connection handle of the recently terminated connection.
+ * @param[in]     p_sys_attr_data   Pointer to a buffer where updated information about system attributes will be filled in. NULL can be provided to 
+ *                                  obtain the length of the data
+ * @param[in,out] p_len             Size of application buffer if p_sys_attr_data is not NULL. Unconditially updated to actual length of system attribute data.
+ *
+ * @return @ref NRF_SUCCESS Successfully retrieved the system attribute information.
+ * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid Connection Handle.
+ * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
+ * @return @ref NRF_ERROR_DATA_SIZE The system attribute information did not fit into the provided buffer.
+ */ 
+SVCALL(SD_BLE_GATTS_SYS_ATTR_GET, uint32_t, sd_ble_gatts_sys_attr_get(uint16_t conn_handle, uint8_t * const p_sys_attr_data, uint16_t* const p_len)); 
+
+/** @} */
+
+#endif // BLE_GATTS_H__
+
+/**
+  @}
+*/
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TARGET_RBLAB_NRF51822/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/ble_hci.h	Fri Aug 15 15:28:31 2014 +0100
@@ -0,0 +1,96 @@
+/*
+  Copyright (c) 2012 Nordic Semiconductor. All Rights Reserved.
+
+  The information contained herein is confidential property of Nordic Semiconductor. The use,
+  copying, transfer or disclosure of such information is prohibited except by express written
+  agreement with Nordic Semiconductor.
+ */
+/**
+  @addtogroup BLE_COMMON 
+  @{
+*/
+
+
+#ifndef BLE_HCI_H__
+#define BLE_HCI_H__ 
+
+/** @defgroup BLE_HCI_STATUS_CODES Bluetooth status codes
+ * @{ */
+
+#define BLE_HCI_STATUS_CODE_SUCCESS                        0x00
+#define BLE_HCI_STATUS_CODE_UNKNOWN_BTLE_COMMAND           0x01
+#define BLE_HCI_STATUS_CODE_UNKNOWN_CONNECTION_IDENTIFIER  0x02 
+/*0x03 Hardware Failure
+0x04 Page Timeout
+*/
+#define BLE_HCI_AUTHENTICATION_FAILURE                     0x05
+#define BLE_HCI_STATUS_CODE_PIN_OR_KEY_MISSING             0x06
+#define BLE_HCI_MEMORY_CAPACITY_EXCEEDED                   0x07
+#define BLE_HCI_CONNECTION_TIMEOUT                         0x08
+/*0x09 Connection Limit Exceeded
+0x0A Synchronous Connection Limit To A Device Exceeded
+0x0B ACL Connection Already Exists*/
+#define BLE_HCI_STATUS_CODE_COMMAND_DISALLOWED             0x0C
+/*0x0D Connection Rejected due to Limited Resources
+0x0E Connection Rejected Due To Security Reasons
+0x0F Connection Rejected due to Unacceptable BD_ADDR
+0x10 Connection Accept Timeout Exceeded
+0x11 Unsupported Feature or Parameter Value*/
+#define BLE_HCI_STATUS_CODE_INVALID_BTLE_COMMAND_PARAMETERS 0x12
+#define BLE_HCI_REMOTE_USER_TERMINATED_CONNECTION           0x13
+#define BLE_HCI_REMOTE_DEV_TERMINATION_DUE_TO_LOW_RESOURCES 0x14
+#define BLE_HCI_REMOTE_DEV_TERMINATION_DUE_TO_POWER_OFF     0x15
+#define BLE_HCI_LOCAL_HOST_TERMINATED_CONNECTION            0x16
+/*
+0x17 Repeated Attempts
+0x18 Pairing Not Allowed
+0x19 Unknown LMP PDU
+*/
+#define BLE_HCI_UNSUPPORTED_REMOTE_FEATURE 0x1A
+/*
+0x1B SCO Offset Rejected
+0x1C SCO Interval Rejected
+0x1D SCO Air Mode Rejected*/
+#define BLE_HCI_STATUS_CODE_INVALID_LMP_PARAMETERS     0x1E
+#define BLE_HCI_STATUS_CODE_UNSPECIFIED_ERROR          0x1F
+/*0x20 Unsupported LMP Parameter Value
+0x21 Role Change Not Allowed
+*/
+#define BLE_HCI_STATUS_CODE_LMP_RESPONSE_TIMEOUT       0x22
+/*0x23 LMP Error Transaction Collision*/
+#define BLE_HCI_STATUS_CODE_LMP_PDU_NOT_ALLOWED        0x24
+/*0x25 Encryption Mode Not Acceptable
+0x26 Link Key Can Not be Changed
+0x27 Requested QoS Not Supported
+*/
+#define BLE_HCI_INSTANT_PASSED                         0x28
+#define BLE_HCI_PAIRING_WITH_UNIT_KEY_UNSUPPORTED      0x29
+#define BLE_HCI_DIFFERENT_TRANSACTION_COLLISION        0x2A
+/*
+0x2B Reserved
+0x2C QoS Unacceptable Parameter
+0x2D QoS Rejected
+0x2E Channel Classification Not Supported
+0x2F Insufficient Security
+0x30 Parameter Out Of Mandatory Range
+0x31 Reserved
+0x32 Role Switch Pending
+0x33 Reserved
+0x34 Reserved Slot Violation
+0x35 Role Switch Failed
+0x36 Extended Inquiry Response Too Large
+0x37 Secure Simple Pairing Not Supported By Host.
+0x38 Host Busy - Pairing
+0x39 Connection Rejected due to No Suitable Channel Found*/
+#define BLE_HCI_CONTROLLER_BUSY                        0x3A
+#define BLE_HCI_CONN_INTERVAL_UNACCEPTABLE             0x3B
+#define BLE_HCI_DIRECTED_ADVERTISER_TIMEOUT            0x3C
+#define BLE_HCI_CONN_TERMINATED_DUE_TO_MIC_FAILURE     0x3D
+#define BLE_HCI_CONN_FAILED_TO_BE_ESTABLISHED          0x3E
+
+/** @} */
+
+
+#endif // BLE_HCI_H__
+
+/** @} */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TARGET_RBLAB_NRF51822/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/ble_l2cap.h	Fri Aug 15 15:28:31 2014 +0100
@@ -0,0 +1,144 @@
+/* Copyright (c) 2011 Nordic Semiconductor. All Rights Reserved.
+ *
+ * The information contained herein is confidential property of Nordic Semiconductor. The use,
+ * copying, transfer or disclosure of such information is prohibited except by express written
+ * agreement with Nordic Semiconductor.
+ *
+ */
+/**
+  @addtogroup BLE_L2CAP Logical Link Control and Adaptation Protocol (L2CAP)
+  @{
+  @brief Definitions and prototypes for the L2CAP interface.
+ */
+
+#ifndef BLE_L2CAP_H__
+#define BLE_L2CAP_H__ 
+
+#include "ble_types.h"
+#include "ble_ranges.h"
+#include "ble_err.h"
+#include "nrf_svc.h"
+
+/**@addtogroup BLE_L2CAP_ENUMERATIONS Enumerations
+ * @{ */
+
+/**@brief L2CAP API SVC numbers. */
+enum BLE_L2CAP_SVCS 
+{
+  SD_BLE_L2CAP_CID_REGISTER = BLE_L2CAP_SVC_BASE,  /**< Register a CID. */
+  SD_BLE_L2CAP_CID_UNREGISTER,                     /**< Unregister a CID. */
+  SD_BLE_L2CAP_TX                                  /**< Transmit a packet. */
+};
+
+/** @} */
+
+/**@addtogroup BLE_L2CAP_DEFINES Defines
+ * @{ */
+
+/**@defgroup BLE_ERRORS_L2CAP SVC return values specific to L2CAP
+ * @{ */
+#define BLE_ERROR_L2CAP_CID_IN_USE            (NRF_L2CAP_ERR_BASE + 0x000)  /**< CID already in use. */
+/** @} */
+
+/**@brief Default L2CAP MTU. */
+#define BLE_L2CAP_MTU_DEF           (23)    
+
+/**@brief Invalid Channel Identifier. */
+#define BLE_L2CAP_CID_INVALID       (0x0000) 
+
+/**@brief Dynamic Channel Identifier base. */
+#define BLE_L2CAP_CID_DYN_BASE      (0x0040) 
+
+/**@brief Maximum amount of dynamic CIDs. */
+#define BLE_L2CAP_CID_DYN_MAX       (8) 
+
+/** @} */
+
+/**@addtogroup BLE_L2CAP_STRUCTURES Structures
+ * @{ */
+
+/**@brief Packet header format for L2CAP transmission. */
+typedef struct
+{
+  uint16_t   len;                                 /**< Length of valid info in data member. */
+  uint16_t   cid;                                 /**< Channel ID on which packet is transmitted. */
+} ble_l2cap_header_t;
+
+/**@brief L2CAP Event IDs. */
+enum BLE_L2CAP_EVTS 
+{
+  BLE_L2CAP_EVT_RX  = BLE_L2CAP_EVT_BASE          /**< L2CAP packet received. */
+};
+
+
+/**@brief L2CAP Received packet event report. */
+typedef struct
+{
+  ble_l2cap_header_t header;                      /** L2CAP packet header. */
+  uint8_t    data[1];                             /**< Packet data, variable length. */
+} ble_l2cap_evt_rx_t;
+
+
+/**@brief L2CAP event callback event structure. */
+typedef struct
+{
+  uint16_t conn_handle;                           /**< Connection Handle on which event occured. */
+  union
+  {
+    ble_l2cap_evt_rx_t rx;                        /**< RX Event parameters. */
+  } params;
+} ble_l2cap_evt_t;
+
+
+/**@brief Register a CID with L2CAP.
+ *
+ * @details This registers a higher protocol layer with the L2CAP multiplexer, and is requried prior to all operations on the CID.
+ *          
+ * @param[in] cid L2CAP CID.
+ *
+ * @return @ref NRF_SUCCESS Successfully registered a CID with the L2CAP layer.
+ * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied, CID must be above @ref BLE_L2CAP_CID_DYN_BASE.
+ * @return @ref BLE_ERROR_L2CAP_CID_IN_USE L2CAP CID already in use.
+ * @return @ref NRF_ERROR_NO_MEM Not enough memory to complete operation.
+ */
+SVCALL(SD_BLE_L2CAP_CID_REGISTER, uint32_t, sd_ble_l2cap_cid_register(uint16_t cid));
+
+/**@brief Unregister a CID with L2CAP.
+ *
+ * @details This unregisters a previously registerd higher protocol layer with the L2CAP multiplexer.
+ *          
+ * @param[in] cid L2CAP CID.
+ *
+ * @return @ref NRF_SUCCESS Successfully unregistered the CID.
+ * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied.
+ * @return @ref NRF_ERROR_NOT_FOUND CID not previously registered.
+ */
+SVCALL(SD_BLE_L2CAP_CID_UNREGISTER, uint32_t, sd_ble_l2cap_cid_unregister(uint16_t cid));
+
+/**@brief Transmit an L2CAP packet.
+ *
+ * @note    It is important to note that a call to this function will <b>consume an application buffer</b>, and will therefore 
+ *          generate a @ref BLE_EVT_TX_COMPLETE event when the packet has been transmitted. 
+ *          Please see the documentation of @ref sd_ble_tx_buffer_count_get for more details.
+ *
+ * @param[in] conn_handle Connection Handle.
+ * @param[in] p_header    Pointer to a packet header containing length and CID.
+ * @param[in] p_data      Pointer to the data to be transmitted.
+ *
+ * @return @ref NRF_SUCCESS Successfully queued an L2CAP packet for transmission.
+ * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
+ * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied, CIDs must be registered beforehand with @ref sd_ble_l2cap_cid_register.
+ * @return @ref NRF_ERROR_NOT_FOUND CID not found.
+ * @return @ref NRF_ERROR_NO_MEM Not enough memory to complete operation.
+ * @return @ref BLE_ERROR_NO_TX_BUFFERS Not enough application buffers available.
+ * @return @ref NRF_ERROR_DATA_SIZE Invalid data size(s) supplied, see @ref BLE_L2CAP_MTU_DEF.
+ */
+SVCALL(SD_BLE_L2CAP_TX, uint32_t, sd_ble_l2cap_tx(uint16_t conn_handle, ble_l2cap_header_t const * const p_header, uint8_t const * const p_data));
+
+/** @} */
+
+#endif // BLE_L2CAP_H__
+
+/**
+  @}
+*/
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TARGET_RBLAB_NRF51822/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/ble_ranges.h	Fri Aug 15 15:28:31 2014 +0100
@@ -0,0 +1,89 @@
+/*
+  Copyright (c) 2012 Nordic Semiconductor. All Rights Reserved.
+
+  The information contained herein is confidential property of Nordic Semiconductor. The use,
+  copying, transfer or disclosure of such information is prohibited except by express written
+  agreement with Nordic Semiconductor.
+ */
+/**
+  @addtogroup BLE_COMMON
+  @{
+  @defgroup ble_ranges Module specific SVC and event number subranges
+  @{
+
+  @brief Definition of SVC and event number subranges for each API module.
+
+  @note
+  SVCs and event numbers are split into subranges for each API module.
+  Each module receives its entire allocated range of SVC calls, whether implemented or not,
+  but return BLE_ERROR_NOT_SUPPORTED for unimplemented or undefined calls in its range.
+
+  Note that the symbols BLE_<module>_SVC_LAST is the end of the allocated SVC range,
+  rather than the last SVC function call actually defined and implemented.
+
+  Specific SVC and event values are defined in each module's ble_<module>.h file,
+  which defines names of each individual SVC code based on the range start value.
+*/
+
+#ifndef BLE_RANGES_H__
+#define BLE_RANGES_H__
+
+#define BLE_SVC_BASE           0x60
+#define BLE_SVC_LAST           0x6B       /* Total: 12. */
+
+#define BLE_RESERVED_SVC_BASE  0x6C
+#define BLE_RESERVED_SVC_LAST  0x6F       /* Total: 4. */
+
+#define BLE_GAP_SVC_BASE       0x70
+#define BLE_GAP_SVC_LAST       0x8F       /* Total: 32. */
+
+#define BLE_GATTC_SVC_BASE     0x90
+#define BLE_GATTC_SVC_LAST     0x9F       /* Total: 16. */
+
+#define BLE_GATTS_SVC_BASE     0xA0
+#define BLE_GATTS_SVC_LAST     0xAF       /* Total: 16. */
+
+#define BLE_L2CAP_SVC_BASE     0xB0
+#define BLE_L2CAP_SVC_LAST     0xBF       /* Total: 16. */
+
+
+#define BLE_EVT_INVALID        0x00
+
+#define BLE_EVT_BASE           0x01
+#define BLE_EVT_LAST           0x0F       /* Total: 15. */
+
+#define BLE_GAP_EVT_BASE       0x10
+#define BLE_GAP_EVT_LAST       0x2F       /* Total: 32. */
+
+#define BLE_GATTC_EVT_BASE     0x30
+#define BLE_GATTC_EVT_LAST     0x4F       /* Total: 32. */
+
+#define BLE_GATTS_EVT_BASE     0x50
+#define BLE_GATTS_EVT_LAST     0x6F       /* Total: 32. */
+
+#define BLE_L2CAP_EVT_BASE     0x70
+#define BLE_L2CAP_EVT_LAST     0x8F       /* Total: 32.  */
+
+#define BLE_OPT_INVALID        0x00       /**< Invalid BLE Option. */
+
+#define BLE_OPT_BASE           0x01       /**< Common BLE Option base. */
+#define BLE_OPT_LAST           0x1F       /**< Total: 31. */
+
+#define BLE_GAP_OPT_BASE       0x20       /**< GAP BLE Option base. */
+#define BLE_GAP_OPT_LAST       0x3F       /**< Total: 32. */
+
+#define BLE_GATTC_OPT_BASE     0x40       /**< GATTC BLE Option base. */
+#define BLE_GATTC_OPT_LAST     0x5F       /**< Total: 32. */
+
+#define BLE_GATTS_OPT_BASE     0x60       /**< GATTS BLE Option base. */
+#define BLE_GATTS_OPT_LAST     0x7F       /**< Total: 32. */
+
+#define BLE_L2CAP_OPT_BASE     0x80       /**< L2CAP BLE Option base. */
+#define BLE_L2CAP_OPT_LAST     0x9F       /**< Total: 32.  */
+
+#endif /* BLE_RANGES_H__ */
+
+/**
+  @}
+  @}
+*/
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TARGET_RBLAB_NRF51822/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/ble_types.h	Fri Aug 15 15:28:31 2014 +0100
@@ -0,0 +1,169 @@
+/* Copyright (c) 2011 Nordic Semiconductor. All Rights Reserved.
+ *
+ * The information contained herein is confidential property of Nordic Semiconductor. The use,
+ * copying, transfer or disclosure of such information is prohibited except by express written
+ * agreement with Nordic Semiconductor.
+ *
+ */
+/**
+  @addtogroup BLE_COMMON
+  @{
+  @defgroup ble_types Common types and macro definitions
+  @{
+
+  @brief Common types and macro definitions for the S110 SoftDevice.
+ */
+
+#ifndef BLE_TYPES_H__
+#define BLE_TYPES_H__
+
+#include <stdint.h>
+
+/** @addtogroup BLE_COMMON_DEFINES Defines
+ * @{ */
+
+/** @defgroup BLE_CONN_HANDLES BLE Connection Handles
+ * @{ */
+#define BLE_CONN_HANDLE_INVALID 0xFFFF  /**< Invalid Connection Handle. */
+#define BLE_CONN_HANDLE_ALL     0xFFFE  /**< Applies to all Connection Handles. */
+/** @} */
+
+
+/** @defgroup BLE_UUID_VALUES Assigned Values for BLE UUIDs
+ * @{ */
+/* Generic UUIDs, applicable to all services */
+#define BLE_UUID_UNKNOWN                              0x0000 /**< Reserved UUID. */
+#define BLE_UUID_SERVICE_PRIMARY                      0x2800 /**< Primary Service. */
+#define BLE_UUID_SERVICE_SECONDARY                    0x2801 /**< Secondary Service. */
+#define BLE_UUID_SERVICE_INCLUDE                      0x2802 /**< Include. */
+#define BLE_UUID_CHARACTERISTIC                       0x2803 /**< Characteristic. */
+#define BLE_UUID_DESCRIPTOR_CHAR_EXT_PROP             0x2900 /**< Characteristic Extended Properties Descriptor. */
+#define BLE_UUID_DESCRIPTOR_CHAR_USER_DESC            0x2901 /**< Characteristic User Description Descriptor. */
+#define BLE_UUID_DESCRIPTOR_CLIENT_CHAR_CONFIG        0x2902 /**< Client Characteristic Configuration Descriptor. */
+#define BLE_UUID_DESCRIPTOR_SERVER_CHAR_CONFIG        0x2903 /**< Server Characteristic Configuration Descriptor. */
+#define BLE_UUID_DESCRIPTOR_CHAR_PRESENTATION_FORMAT  0x2904 /**< Characteristic Presentation Format Descriptor. */
+#define BLE_UUID_DESCRIPTOR_CHAR_AGGREGATE_FORMAT     0x2905 /**< Characteristic Aggregate Format Descriptor. */
+/* GATT specific UUIDs */
+#define BLE_UUID_GATT                                 0x1801 /**< Generic Attribute Profile. */
+#define BLE_UUID_GATT_CHARACTERISTIC_SERVICE_CHANGED  0x2A05 /**< Service Changed Characteristic. */
+/* GAP specific UUIDs */
+#define BLE_UUID_GAP                                  0x1800 /**< Generic Access Profile. */
+#define BLE_UUID_GAP_CHARACTERISTIC_DEVICE_NAME       0x2A00 /**< Device Name Characteristic. */
+#define BLE_UUID_GAP_CHARACTERISTIC_APPEARANCE        0x2A01 /**< Appearance Characteristic. */
+#define BLE_UUID_GAP_CHARACTERISTIC_PPF               0x2A02 /**< Peripheral Privacy Flag Characteristic. */
+#define BLE_UUID_GAP_CHARACTERISTIC_RECONN_ADDR       0x2A03 /**< Reconnection Address Characteristic. */
+#define BLE_UUID_GAP_CHARACTERISTIC_PPCP              0x2A04 /**< Peripheral Preferred Connection Parameters Characteristic. */
+/** @} */
+
+
+/** @defgroup BLE_UUID_TYPES Types of UUID
+ * @{ */
+#define BLE_UUID_TYPE_UNKNOWN       0x00 /**< Invalid UUID type. */
+#define BLE_UUID_TYPE_BLE           0x01 /**< Bluetooth SIG UUID (16-bit). */
+#define BLE_UUID_TYPE_VENDOR_BEGIN  0x02 /**< Vendor UUID types start at this index (128-bit). */
+/** @} */
+
+
+/** @defgroup BLE_APPEARANCES Bluetooth Appearance values
+ *  @note Retrieved from http://developer.bluetooth.org/gatt/characteristics/Pages/CharacteristicViewer.aspx?u=org.bluetooth.characteristic.gap.appearance.xml
+ * @{ */
+#define BLE_APPEARANCE_UNKNOWN                                0 /**< Unknown. */
+#define BLE_APPEARANCE_GENERIC_PHONE                         64 /**< Generic Phone. */
+#define BLE_APPEARANCE_GENERIC_COMPUTER                     128 /**< Generic Computer. */
+#define BLE_APPEARANCE_GENERIC_WATCH                        192 /**< Generic Watch. */
+#define BLE_APPEARANCE_WATCH_SPORTS_WATCH                   193 /**< Watch: Sports Watch. */
+#define BLE_APPEARANCE_GENERIC_CLOCK                        256 /**< Generic Clock. */
+#define BLE_APPEARANCE_GENERIC_DISPLAY                      320 /**< Generic Display. */
+#define BLE_APPEARANCE_GENERIC_REMOTE_CONTROL               384 /**< Generic Remote Control. */
+#define BLE_APPEARANCE_GENERIC_EYE_GLASSES                  448 /**< Generic Eye-glasses. */
+#define BLE_APPEARANCE_GENERIC_TAG                          512 /**< Generic Tag. */
+#define BLE_APPEARANCE_GENERIC_KEYRING                      576 /**< Generic Keyring. */
+#define BLE_APPEARANCE_GENERIC_MEDIA_PLAYER                 640 /**< Generic Media Player. */
+#define BLE_APPEARANCE_GENERIC_BARCODE_SCANNER              704 /**< Generic Barcode Scanner. */
+#define BLE_APPEARANCE_GENERIC_THERMOMETER                  768 /**< Generic Thermometer. */
+#define BLE_APPEARANCE_THERMOMETER_EAR                      769 /**< Thermometer: Ear. */
+#define BLE_APPEARANCE_GENERIC_HEART_RATE_SENSOR            832 /**< Generic Heart rate Sensor. */
+#define BLE_APPEARANCE_HEART_RATE_SENSOR_HEART_RATE_BELT    833 /**< Heart Rate Sensor: Heart Rate Belt. */
+#define BLE_APPEARANCE_GENERIC_BLOOD_PRESSURE               896 /**< Generic Blood Pressure. */
+#define BLE_APPEARANCE_BLOOD_PRESSURE_ARM                   897 /**< Blood Pressure: Arm. */
+#define BLE_APPEARANCE_BLOOD_PRESSURE_WRIST                 898 /**< Blood Pressure: Wrist. */
+#define BLE_APPEARANCE_GENERIC_HID                          960 /**< Human Interface Device (HID). */
+#define BLE_APPEARANCE_HID_KEYBOARD                         961 /**< Keyboard (HID Subtype). */
+#define BLE_APPEARANCE_HID_MOUSE                            962 /**< Mouse (HID Subtype). */
+#define BLE_APPEARANCE_HID_JOYSTICK                         963 /**< Joystiq (HID Subtype). */
+#define BLE_APPEARANCE_HID_GAMEPAD                          964 /**< Gamepad (HID Subtype). */
+#define BLE_APPEARANCE_HID_DIGITIZERSUBTYPE                 965 /**< Digitizer Tablet (HID Subtype). */
+#define BLE_APPEARANCE_HID_CARD_READER                      966 /**< Card Reader (HID Subtype). */
+#define BLE_APPEARANCE_HID_DIGITAL_PEN                      967 /**< Digital Pen (HID Subtype). */
+#define BLE_APPEARANCE_HID_BARCODE                          968 /**< Barcode Scanner (HID Subtype). */
+#define BLE_APPEARANCE_GENERIC_GLUCOSE_METER               1024 /**< Generic Glucose Meter. */
+#define BLE_APPEARANCE_GENERIC_RUNNING_WALKING_SENSOR      1088 /**< Generic Running Walking Sensor. */
+#define BLE_APPEARANCE_RUNNING_WALKING_SENSOR_IN_SHOE      1089 /**< Running Walking Sensor: In-Shoe. */
+#define BLE_APPEARANCE_RUNNING_WALKING_SENSOR_ON_SHOE      1090 /**< Running Walking Sensor: On-Shoe. */
+#define BLE_APPEARANCE_RUNNING_WALKING_SENSOR_ON_HIP       1091 /**< Running Walking Sensor: On-Hip. */
+#define BLE_APPEARANCE_GENERIC_CYCLING                     1152 /**< Generic Cycling. */
+#define BLE_APPEARANCE_CYCLING_CYCLING_COMPUTER            1153 /**< Cycling: Cycling Computer. */
+#define BLE_APPEARANCE_CYCLING_SPEED_SENSOR                1154 /**< Cycling: Speed Sensor. */
+#define BLE_APPEARANCE_CYCLING_CADENCE_SENSOR              1155 /**< Cycling: Cadence Sensor. */
+#define BLE_APPEARANCE_CYCLING_POWER_SENSOR                1156 /**< Cycling: Power Sensor. */
+#define BLE_APPEARANCE_CYCLING_SPEED_CADENCE_SENSOR        1157 /**< Cycling: Speed and Cadence Sensor. */
+#define BLE_APPEARANCE_GENERIC_PULSE_OXIMETER              3136 /**< Generic Pulse Oximeter. */
+#define BLE_APPEARANCE_PULSE_OXIMETER_FINGERTIP            3137 /**< Fingertip (Pulse Oximeter subtype). */
+#define BLE_APPEARANCE_PULSE_OXIMETER_WRIST_WORN           3138 /**< Wrist Worn(Pulse Oximeter subtype). */
+#define BLE_APPEARANCE_GENERIC_WEIGHT_SCALE                3200 /**< Generic Weight Scale. */
+#define BLE_APPEARANCE_GENERIC_OUTDOOR_SPORTS_ACT          5184 /**< Generic Outdoor Sports Activity. */
+#define BLE_APPEARANCE_OUTDOOR_SPORTS_ACT_LOC_DISP         5185 /**< Location Display Device (Outdoor Sports Activity subtype). */
+#define BLE_APPEARANCE_OUTDOOR_SPORTS_ACT_LOC_AND_NAV_DISP 5186 /**< Location and Navigation Display Device (Outdoor Sports Activity subtype). */
+#define BLE_APPEARANCE_OUTDOOR_SPORTS_ACT_LOC_POD          5187 /**< Location Pod (Outdoor Sports Activity subtype). */
+#define BLE_APPEARANCE_OUTDOOR_SPORTS_ACT_LOC_AND_NAV_POD  5188 /**< Location and Navigation Pod (Outdoor Sports Activity subtype). */
+/** @} */
+
+/** @brief Set .type and .uuid fields of ble_uuid_struct to specified uuid value. */
+#define BLE_UUID_BLE_ASSIGN(instance, value) do {\
+            instance.type = BLE_UUID_TYPE_BLE; \
+            instance.uuid = value;} while(0)
+
+/** @brief Copy type and uuid members from src to dst ble_uuid_t pointer. Both pointers must be valid/non-null. */
+#define BLE_UUID_COPY_PTR(dst, src) do {\
+            (dst)->type = (src)->type; \
+            (dst)->uuid = (src)->uuid;} while(0)
+
+/** @brief Copy type and uuid members from src to dst ble_uuid_t struct. */
+#define BLE_UUID_COPY_INST(dst, src) do {\
+            (dst).type = (src).type; \
+            (dst).uuid = (src).uuid;} while(0)
+
+/** @brief Compare for equality both type and uuid members of two (valid, non-null) ble_uuid_t pointers. */
+#define BLE_UUID_EQ(p_uuid1, p_uuid2) \
+            (((p_uuid1)->type == (p_uuid2)->type) && ((p_uuid1)->uuid == (p_uuid2)->uuid))
+
+/** @brief Compare for difference both type and uuid members of two (valid, non-null) ble_uuid_t pointers. */
+#define BLE_UUID_NEQ(p_uuid1, p_uuid2) \
+            (((p_uuid1)->type != (p_uuid2)->type) || ((p_uuid1)->uuid != (p_uuid2)->uuid))
+
+/** @} */
+
+/** @addtogroup BLE_TYPES_STRUCTURES Structures
+ * @{ */
+
+/** @brief 128 bit UUID values. */
+typedef struct
+{ 
+    unsigned char uuid128[16];
+} ble_uuid128_t;
+
+/** @brief  Bluetooth Low Energy UUID type, encapsulates both 16-bit and 128-bit UUIDs. */
+typedef struct
+{
+    uint16_t    uuid; /**< 16-bit UUID value or octets 12-13 of 128-bit UUID. */
+    uint8_t     type; /**< UUID type, see @ref BLE_UUID_TYPES. If type is BLE_UUID_TYPE_UNKNOWN, the value of uuid is undefined. */
+} ble_uuid_t;
+
+/** @} */
+
+#endif /* BLE_TYPES_H__ */
+
+/**
+  @}
+  @}
+*/
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TARGET_RBLAB_NRF51822/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/nrf_error.h	Fri Aug 15 15:28:31 2014 +0100
@@ -0,0 +1,51 @@
+/*
+ * Copyright (c) 2012 Nordic Semiconductor. All Rights Reserved.
+ *
+ * The information contained herein is confidential property of Nordic Semiconductor. The use,
+ * copying, transfer or disclosure of such information is prohibited except by express written
+ * agreement with Nordic Semiconductor.
+ *
+ */
+ /**
+  @defgroup nrf_error SoftDevice Global Error Codes
+  @{
+   
+  @brief Global Error definitions
+*/
+
+/* Header guard */
+#ifndef NRF_ERROR_H__
+#define NRF_ERROR_H__
+
+/** @defgroup NRF_ERRORS_BASE Error Codes Base number definitions
+ * @{ */
+#define NRF_ERROR_BASE_NUM      (0x0)       ///< Global error base
+#define NRF_ERROR_SDM_BASE_NUM  (0x1000)    ///< SDM error base
+#define NRF_ERROR_SOC_BASE_NUM  (0x2000)    ///< SoC error base
+#define NRF_ERROR_STK_BASE_NUM  (0x3000)    ///< STK error base
+/** @} */
+
+#define NRF_SUCCESS                           (NRF_ERROR_BASE_NUM + 0)  ///< Successful command
+#define NRF_ERROR_SVC_HANDLER_MISSING         (NRF_ERROR_BASE_NUM + 1)  ///< SVC handler is missing
+#define NRF_ERROR_SOFTDEVICE_NOT_ENABLED      (NRF_ERROR_BASE_NUM + 2)  ///< SoftDevice has not been enabled
+#define NRF_ERROR_INTERNAL                    (NRF_ERROR_BASE_NUM + 3)  ///< Internal Error
+#define NRF_ERROR_NO_MEM                      (NRF_ERROR_BASE_NUM + 4)  ///< No Memory for operation
+#define NRF_ERROR_NOT_FOUND                   (NRF_ERROR_BASE_NUM + 5)  ///< Not found
+#define NRF_ERROR_NOT_SUPPORTED               (NRF_ERROR_BASE_NUM + 6)  ///< Not supported
+#define NRF_ERROR_INVALID_PARAM               (NRF_ERROR_BASE_NUM + 7)  ///< Invalid Parameter
+#define NRF_ERROR_INVALID_STATE               (NRF_ERROR_BASE_NUM + 8)  ///< Invalid state, operation disallowed in this state
+#define NRF_ERROR_INVALID_LENGTH              (NRF_ERROR_BASE_NUM + 9)  ///< Invalid Length
+#define NRF_ERROR_INVALID_FLAGS               (NRF_ERROR_BASE_NUM + 10) ///< Invalid Flags
+#define NRF_ERROR_INVALID_DATA                (NRF_ERROR_BASE_NUM + 11) ///< Invalid Data
+#define NRF_ERROR_DATA_SIZE                   (NRF_ERROR_BASE_NUM + 12) ///< Data size exceeds limit
+#define NRF_ERROR_TIMEOUT                     (NRF_ERROR_BASE_NUM + 13) ///< Operation timed out
+#define NRF_ERROR_NULL                        (NRF_ERROR_BASE_NUM + 14) ///< Null Pointer
+#define NRF_ERROR_FORBIDDEN                   (NRF_ERROR_BASE_NUM + 15) ///< Forbidden Operation
+#define NRF_ERROR_INVALID_ADDR                (NRF_ERROR_BASE_NUM + 16) ///< Bad Memory Address
+#define NRF_ERROR_BUSY                        (NRF_ERROR_BASE_NUM + 17) ///< Busy
+
+#endif // NRF_ERROR_H__
+
+/**
+  @}
+*/
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TARGET_RBLAB_NRF51822/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/nrf_error_sdm.h	Fri Aug 15 15:28:31 2014 +0100
@@ -0,0 +1,33 @@
+/*
+ * Copyright (c) 2012 Nordic Semiconductor. All Rights Reserved.
+ *
+ * The information contained herein is confidential property of Nordic Semiconductor. The use,
+ * copying, transfer or disclosure of such information is prohibited except by express written
+ * agreement with Nordic Semiconductor.
+ *
+ */
+ /**
+  @addtogroup nrf_sdm_api
+  @{
+  @defgroup nrf_sdm_error SoftDevice Manager Error Codes
+  @{
+     
+  @brief Error definitions for the SDM API
+*/
+
+/* Header guard */
+#ifndef NRF_ERROR_SDM_H__
+#define NRF_ERROR_SDM_H__
+
+#include "nrf_error.h"
+
+#define NRF_ERROR_SDM_LFCLK_SOURCE_UNKNOWN              (NRF_ERROR_SDM_BASE_NUM + 0)  ///< Unknown lfclk source
+#define NRF_ERROR_SDM_INCORRECT_INTERRUPT_CONFIGURATION (NRF_ERROR_SDM_BASE_NUM + 1)  ///< Incorrect interrupt configuration (can be caused by using illegal priority levels, or having enabled SoftDevice interrupts)
+#define NRF_ERROR_SDM_INCORRECT_CLENR0                  (NRF_ERROR_SDM_BASE_NUM + 2)  ///< Incorrect CLENR0 (can be caused by erronous SoftDevice flashing)
+
+#endif // NRF_ERROR_SDM_H__
+
+/**
+  @}
+  @}
+*/
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TARGET_RBLAB_NRF51822/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/nrf_error_soc.h	Fri Aug 15 15:28:31 2014 +0100
@@ -0,0 +1,49 @@
+/*
+ * Copyright (c) 2012 Nordic Semiconductor. All Rights Reserved.
+ *
+ * The information contained herein is confidential property of Nordic Semiconductor. The use,
+ * copying, transfer or disclosure of such information is prohibited except by express written
+ * agreement with Nordic Semiconductor.
+ *
+ */
+ /**
+  @addtogroup nrf_soc_api
+  @{
+  @defgroup nrf_soc_error SoC Library Error Codes
+  @{
+     
+  @brief Error definitions for the SoC library
+
+*/
+
+/* Header guard */
+#ifndef NRF_ERROR_SOC_H__
+#define NRF_ERROR_SOC_H__
+
+#include "nrf_error.h"
+
+/* Mutex Errors */
+#define NRF_ERROR_SOC_MUTEX_ALREADY_TAKEN                 (NRF_ERROR_SOC_BASE_NUM + 0)  ///< Mutex already taken
+
+/* NVIC errors */
+#define NRF_ERROR_SOC_NVIC_INTERRUPT_NOT_AVAILABLE        (NRF_ERROR_SOC_BASE_NUM + 1)  ///< NVIC interrupt not available
+#define NRF_ERROR_SOC_NVIC_INTERRUPT_PRIORITY_NOT_ALLOWED (NRF_ERROR_SOC_BASE_NUM + 2)  ///< NVIC interrupt priority not allowed
+#define NRF_ERROR_SOC_NVIC_SHOULD_NOT_RETURN              (NRF_ERROR_SOC_BASE_NUM + 3)  ///< NVIC should not return
+
+/* Power errors */
+#define NRF_ERROR_SOC_POWER_MODE_UNKNOWN                  (NRF_ERROR_SOC_BASE_NUM + 4)  ///< Power mode unknown
+#define NRF_ERROR_SOC_POWER_POF_THRESHOLD_UNKNOWN         (NRF_ERROR_SOC_BASE_NUM + 5)  ///< Power POF threshold unknown
+#define NRF_ERROR_SOC_POWER_OFF_SHOULD_NOT_RETURN         (NRF_ERROR_SOC_BASE_NUM + 6)  ///< Power off should not return
+
+/* Rand errors */
+#define NRF_ERROR_SOC_RAND_NOT_ENOUGH_VALUES              (NRF_ERROR_SOC_BASE_NUM + 7)  ///< RAND not enough values
+
+/* PPI errors */
+#define NRF_ERROR_SOC_PPI_INVALID_CHANNEL                 (NRF_ERROR_SOC_BASE_NUM + 8)  ///< Invalid PPI Channel
+#define NRF_ERROR_SOC_PPI_INVALID_GROUP                   (NRF_ERROR_SOC_BASE_NUM + 9)  ///< Invalid PPI Group
+
+#endif // NRF_ERROR_SOC_H__
+/**
+  @}
+  @}
+*/
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TARGET_RBLAB_NRF51822/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/nrf_mbr.h	Fri Aug 15 15:28:31 2014 +0100
@@ -0,0 +1,155 @@
+/*
+ * Copyright (c) 2014 Nordic Semiconductor. All Rights Reserved.
+ *
+ * The information contained herein is confidential property of Nordic Semiconductor. The use,
+ * copying, transfer or disclosure of such information is prohibited except by express written
+ * agreement with Nordic Semiconductor.
+ *
+ */
+/**
+  @defgroup nrf_mbr_api Master Boot Record API
+  @{
+     
+  @brief APIs for updating SoftDevice and BootLoader
+ 
+*/
+
+/* Header guard */
+#ifndef NRF_MBR_H__
+#define NRF_MBR_H__
+
+#include "nrf_svc.h"
+#include <stdint.h>
+
+
+/** @addtogroup NRF_MBR_DEFINES Defines
+ * @{ */
+
+/**@brief MBR SVC Base number. */
+#define MBR_SVC_BASE 0x18   
+/** @} */
+
+/** @addtogroup NRF_MBR_ENUMS Enumerations
+ * @{ */
+
+/**@brief nRF Master Boot Record API SVC numbers. */
+enum NRF_MBR_SVCS
+{
+  SD_MBR_COMMAND = MBR_SVC_BASE, /**< ::sd_mbr_command */
+};
+
+/**@brief Possible values for ::sd_mbr_command_t.command */
+enum NRF_MBR_COMMANDS
+{
+  SD_MBR_COMMAND_COPY_BL,               /**< Copy a new a new BootLoader. @see sd_mbr_command_copy_bl_t */
+  SD_MBR_COMMAND_COPY_SD,               /**< Copy a new SoftDevice. @see ::sd_mbr_command_copy_sd_t*/
+  SD_MBR_COMMAND_INIT_SD,               /**< Init forwarding interrupts to SD, and run reset function in SD*/
+  SD_MBR_COMMAND_COMPARE,               /**< This command works like memcmp. @see ::sd_mbr_command_compare_t*/
+  SD_MBR_COMMAND_VECTOR_TABLE_BASE_SET, /**< Start forwarding all exception to this address @see ::sd_mbr_command_vector_table_base_set_t*/
+};
+
+/** @} */
+
+/** @addtogroup NRF_MBR_TYPES Types
+ * @{ */
+
+/**@brief This command copies part of a new SoftDevice
+ * The destination area is erased before copying. 
+ * If dst is in the middle of a flash page, that whole flash page will be erased.
+ * If (dst+len) is in the middle of a flash page, that whole flash page will be erased.
+ * 
+ * The user of this function is responsible for setting the PROTENSET registers.
+ * 
+ * @retval ::NRF_SUCCESS indicates that the contents of the memory blocks where copied correctly.
+ * @retval ::NRF_ERROR_INTERNAL indicates that the contents of the memory blocks where not verified correctly after copying.
+ */
+typedef struct
+{
+  uint32_t *src;  /**< Pointer to the source of data to be copied.*/
+  uint32_t *dst;  /**< Pointer to the destination where the content is to be copied.*/
+  uint32_t len;   /**< Number of 32 bit words to copy. Must be a multiple of 256 words*/
+}sd_mbr_command_copy_sd_t;
+
+
+/**@brief This command works like memcmp, but takes the length in words.
+ *
+ * @retval ::NRF_SUCCESS indicates that the contents of both memory blocks are equal.
+ * @retval ::NRF_ERROR_NULL indicates that the contents of the memory blocks are not equal.
+ */
+typedef struct
+{
+  uint32_t *ptr1; /**< Pointer to block of memory */
+  uint32_t *ptr2; /**< Pointer to block of memory */
+  uint32_t len;   /**< Number of 32 bit words to compare*/
+}sd_mbr_command_compare_t;
+
+
+/**@brief This command copies a new BootLoader.
+ *  With this command, destination of BootLoader is always the address written in NRF_UICR->BOOTADDR.
+ *
+ *  Destination is erased by this function.
+ *  If (destination+bl_len) is in the middle of a flash page, that whole flash page will be erased.
+ *
+ *  This function will use PROTENSET to protect the flash that is not intended to be written.
+ * 
+ *  On Success, this function will not return. It will start the new BootLoader from reset-vector as normal.
+ *
+ * @retval ::NRF_ERROR_INVALID_STATE indicates that something was wrong.
+ * @retval ::NRF_ERROR_INTERNAL indicates an internal error that should not happen.
+ * @retval ::NRF_ERROR_FORBIDDEN if NRF_UICR->BOOTADDR is not set
+ * @retval ::NRF_ERROR_INVALID_LENGTH is invalid.
+ */
+typedef struct
+{
+  uint32_t *bl_src;  /**< Pointer to the source of the Bootloader to be be copied.*/
+  uint32_t bl_len;   /**< Number of 32 bit words to copy for BootLoader */
+}sd_mbr_command_copy_bl_t;
+
+/**@brief Sets the base address of the interrupt vector table for interrupts forwarded from the MBR
+ * 
+ * Once this function has been called, this address is where the MBR will start to forward interrupts to after a reset.
+ *
+ * To restore default forwarding thiss function should be called with @param address set to 0.
+ * The MBR will then start forwarding to interrupts to the adress in NFR_UICR->BOOTADDR or to the SoftDevice if the BOOTADDR is not set.
+ *
+ * @retval ::NRF_SUCCESS
+ */
+typedef struct
+{ 
+  uint32_t address; /**< The base address of the interrupt vector table for forwarded interrupts.*/
+}sd_mbr_command_vector_table_base_set_t;
+
+typedef struct
+{
+  uint32_t command;  /**< type of command to be issued see @ref NRF_MBR_COMMANDS. */
+  union 
+  {
+    sd_mbr_command_copy_sd_t copy_sd;  /**< Parameters for copy*/
+    sd_mbr_command_copy_bl_t copy_bl;  /**< Parameters for copy SoftDevice and BootLoader*/
+    sd_mbr_command_compare_t compare;  /**< Parameters for verify*/
+    sd_mbr_command_vector_table_base_set_t base_set; /**< Parameters for vector table base set.*/
+  } params;
+}sd_mbr_command_t;
+
+/** @} */
+
+/** @addtogroup NRF_MBR_FUNCTIONS Functions
+ * @{ */
+
+/**@brief Issue Master Boot Record commands
+ *
+ * Commands used when updating a SoftDevice and bootloader
+ *
+ * @param[in]  param Pointer to a struct describing the command
+ *
+ *@note for retvals see ::sd_mbr_command_copy_sd_t ::sd_mbr_command_copy_bl_t ::sd_mbr_command_compare_t
+
+*/
+SVCALL(SD_MBR_COMMAND, uint32_t, sd_mbr_command(sd_mbr_command_t* param));
+
+/** @} */
+#endif // NRF_MBR_H__
+
+/**
+  @}
+*/
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TARGET_RBLAB_NRF51822/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/nrf_sdm.h	Fri Aug 15 15:28:31 2014 +0100
@@ -0,0 +1,167 @@
+/*
+ * Copyright (c) 2011 Nordic Semiconductor. All Rights Reserved.
+ *
+ * The information contained herein is confidential property of Nordic Semiconductor. The use,
+ * copying, transfer or disclosure of such information is prohibited except by express written
+ * agreement with Nordic Semiconductor.
+ *
+ */
+/**
+  @defgroup nrf_sdm_api SoftDevice Manager API
+  @{
+     
+  @brief APIs for SoftDevice management.
+ 
+*/
+
+/* Header guard */
+#ifndef NRF_SDM_H__
+#define NRF_SDM_H__
+
+#include "nrf_svc.h"
+#include "nrf51.h"
+#include "nrf_soc.h"
+#include "nrf_error_sdm.h"
+
+/** @addtogroup NRF_SDM_DEFINES Defines
+ * @{ */
+
+/**@brief SoftDevice Manager SVC Base number. */
+#define SDM_SVC_BASE  (0x10)
+
+/** @} */
+
+/** @addtogroup NRF_SDM_ENUMS Enumerations
+ * @{ */
+
+/**@brief nRF SoftDevice Manager API SVC numbers. */
+enum NRF_SD_SVCS
+{
+  SD_SOFTDEVICE_ENABLE = SDM_SVC_BASE, /**< ::sd_softdevice_enable */
+  SD_SOFTDEVICE_DISABLE,               /**< ::sd_softdevice_disable */
+  SD_SOFTDEVICE_IS_ENABLED,            /**< ::sd_softdevice_is_enabled */
+  SD_SOFTDEVICE_VECTOR_TABLE_BASE_SET, /**< ::sd_softdevice_vector_table_base_set */
+  SVC_SDM_LAST                         /**< Placeholder for last SDM SVC */
+};
+
+/**@brief Possible lfclk oscillator sources. */
+enum NRF_CLOCK_LFCLKSRCS
+{
+  NRF_CLOCK_LFCLKSRC_SYNTH_250_PPM,                       /**< LFCLK Synthesized from HFCLK.                    */
+  NRF_CLOCK_LFCLKSRC_XTAL_500_PPM,                        /**< LFCLK crystal oscillator 500 PPM accuracy.       */
+  NRF_CLOCK_LFCLKSRC_XTAL_250_PPM,                        /**< LFCLK crystal oscillator 250 PPM accuracy.       */
+  NRF_CLOCK_LFCLKSRC_XTAL_150_PPM,                        /**< LFCLK crystal oscillator 150 PPM accuracy.       */
+  NRF_CLOCK_LFCLKSRC_XTAL_100_PPM,                        /**< LFCLK crystal oscillator 100 PPM accuracy.       */
+  NRF_CLOCK_LFCLKSRC_XTAL_75_PPM,                         /**< LFCLK crystal oscillator 75 PPM accuracy.        */
+  NRF_CLOCK_LFCLKSRC_XTAL_50_PPM,                         /**< LFCLK crystal oscillator 50 PPM accuracy.        */
+  NRF_CLOCK_LFCLKSRC_XTAL_30_PPM,                         /**< LFCLK crystal oscillator 30 PPM accuracy.        */
+  NRF_CLOCK_LFCLKSRC_XTAL_20_PPM,                         /**< LFCLK crystal oscillator 20 PPM accuracy.        */
+  NRF_CLOCK_LFCLKSRC_RC_250_PPM_250MS_CALIBRATION,        /**< LFCLK RC oscillator, 250ms  calibration interval.*/
+  NRF_CLOCK_LFCLKSRC_RC_250_PPM_500MS_CALIBRATION,        /**< LFCLK RC oscillator, 500ms  calibration interval.*/
+  NRF_CLOCK_LFCLKSRC_RC_250_PPM_1000MS_CALIBRATION,       /**< LFCLK RC oscillator, 1000ms calibration interval.*/
+  NRF_CLOCK_LFCLKSRC_RC_250_PPM_2000MS_CALIBRATION,       /**< LFCLK RC oscillator, 2000ms calibration interval.*/
+  NRF_CLOCK_LFCLKSRC_RC_250_PPM_4000MS_CALIBRATION,       /**< LFCLK RC oscillator, 4000ms calibration interval.*/
+  NRF_CLOCK_LFCLKSRC_RC_250_PPM_8000MS_CALIBRATION,       /**< LFCLK RC oscillator, 8000ms calibration interval.*/
+  NRF_CLOCK_LFCLKSRC_RC_250_PPM_TEMP_1000MS_CALIBRATION,  /**< LFCLK RC oscillator. Temperature checked every 1000ms, if changed above a threshold, a calibration is done.*/
+  NRF_CLOCK_LFCLKSRC_RC_250_PPM_TEMP_2000MS_CALIBRATION,  /**< LFCLK RC oscillator. Temperature checked every 2000ms, if changed above a threshold, a calibration is done.*/
+  NRF_CLOCK_LFCLKSRC_RC_250_PPM_TEMP_4000MS_CALIBRATION,  /**< LFCLK RC oscillator. Temperature checked every 4000ms, if changed above a threshold, a calibration is done.*/
+  NRF_CLOCK_LFCLKSRC_RC_250_PPM_TEMP_8000MS_CALIBRATION,  /**< LFCLK RC oscillator. Temperature checked every 8000ms, if changed above a threshold, a calibration is done.*/
+  NRF_CLOCK_LFCLKSRC_RC_250_PPM_TEMP_16000MS_CALIBRATION, /**< LFCLK RC oscillator. Temperature checked every 16000ms, if changed above a threshold, a calibration is done.*/
+};
+
+/** @} */
+
+/** @addtogroup NRF_SDM_TYPES Types
+ * @{ */
+
+/**@brief Type representing lfclk oscillator source. */
+typedef uint32_t nrf_clock_lfclksrc_t;
+
+
+/**@brief SoftDevice Assertion Handler type.
+ *
+ * When an unexpected error occurs within the SoftDevice it will call the SoftDevice assertion handler callback.
+ * The protocol stack will be in an undefined state when this happens and the only way to recover will be to
+ * perform a reset, using e.g. CMSIS NVIC_SystemReset().
+ *
+ * @note This callback is executed in HardFault context, thus SVC functions cannot be called from the SoftDevice assert callback.
+ *       
+ * @param[in] pc The program counter of the failed assert.
+ * @param[in] line_number Line number where the assert failed.
+ * @param[in] file_name File name where the assert failed.
+ */
+typedef void (*softdevice_assertion_handler_t)(uint32_t pc, uint16_t line_number, const uint8_t * p_file_name);
+
+/** @} */
+
+/** @addtogroup NRF_SDM_FUNCTIONS Functions
+ * @{ */
+
+/**@brief Enables the SoftDevice and by extension the protocol stack.
+ *
+ * Idempotent function to enable the SoftDevice.
+ *
+ * @note Some care must be taken if a low frequency clock source is already running when calling this function:
+ *       If the LF clock has a different source then the one currently running, it will be stopped. Then, the new
+ *       clock source will be started.
+ *
+ * @note This function has no effect when returning with an error.
+ *
+ * @post If return code is ::NRF_SUCCESS 
+ *       - SoC library and protocol stack APIs are made available
+ *       - A portion of RAM will be unavailable (see relevant SDS documentation)
+ *       - Some peripherals will be unavailable or available only through the SoC API (see relevant SDS documentation)
+ *       - Interrupts will not arrive from protected peripherals or interrupts
+ *       - nrf_nvic_ functions must be used instead of CMSIS NVIC_ functions for reliable usage of the softdevice.
+ *       - Interrupt latency may be affected by the SoftDevice  (see relevant SDS documentation)
+ *       - Chosen low frequency clock source will be running
+ *
+ * @param clock_source Low frequency clock source and accuracy. (Note: In the case of XTAL source, the PPM accuracy of the chosen clock source must be greater than or equal to the actual characteristics of your XTAL clock).
+ * @param assertion_handler Callback for SoftDevice assertions.
+ *
+ * @retval ::NRF_SUCCESS
+ * @retval ::NRF_ERROR_SDM_INCORRECT_INTERRUPT_CONFIGURATION SoftDeviceinterrupt is already enabled, or an enabled interrupt has an illegal priority level
+ * @retval ::NRF_ERROR_SDM_LFCLK_SOURCE_UNKNOWN Unknown low frequency clock source selected
+ */
+SVCALL(SD_SOFTDEVICE_ENABLE, uint32_t, sd_softdevice_enable(nrf_clock_lfclksrc_t clock_source, softdevice_assertion_handler_t assertion_handler));
+
+/**@brief Disables the SoftDevice and by extension the protocol stack.
+ * 
+ * Idempotent function to disable the SoftDevice.
+ *
+ * @post SoC library and protocol stack APIs are made unavailable.
+ * @post All interrupts that was protected by the SoftDevice will be disabled and initialized to priority 0 (highest).
+ * @post All peripherals used by the SoftDevice will be reset to default values.
+ * @post All of RAM become available.
+ * @post All interrupts are forwarded to the application.
+ * @post LFCLK source chosen in ::sd_softdevice_enable will be left running.
+ *
+ * @retval ::NRF_SUCCESS
+ */
+SVCALL(SD_SOFTDEVICE_DISABLE, uint32_t, sd_softdevice_disable(void));
+
+/**@brief Check if the SoftDevice is enabled.
+ *
+ * @param[out]  p_softdevice_enabled If the SoftDevice is enabled: 1 else 0.
+ *
+ * @retval ::NRF_SUCCESS
+ */
+SVCALL(SD_SOFTDEVICE_IS_ENABLED, uint32_t, sd_softdevice_is_enabled(uint8_t * p_softdevice_enabled));
+
+/**@brief Sets the base address of the interrupt vector table for interrupts forwarded from the SoftDevice
+ * 
+ * This function is only intended to be called when a bootloader is enabled.
+ *
+ * @param[in] address The base address of the interrupt vector table for forwarded interrupts.
+ 
+ * @retval ::NRF_SUCCESS
+ */
+SVCALL(SD_SOFTDEVICE_VECTOR_TABLE_BASE_SET, uint32_t, sd_softdevice_vector_table_base_set(uint32_t address)); 
+
+/** @} */
+
+#endif // NRF_SDM_H__
+
+/**
+  @}
+*/
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TARGET_RBLAB_NRF51822/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/nrf_soc.h	Fri Aug 15 15:28:31 2014 +0100
@@ -0,0 +1,958 @@
+/* Copyright (c) 2011 Nordic Semiconductor. All Rights Reserved.
+ *
+ * The information contained herein is confidential property of Nordic Semiconductor. The use,
+ * copying, transfer or disclosure of such information is prohibited except by express written
+ * agreement with Nordic Semiconductor.
+ *
+ */
+ 
+/**
+ * @defgroup nrf_soc_api SoC Library API
+ * @{
+ * 
+ * @brief APIs for the SoC library.
+ * 
+*/
+
+#ifndef NRF_SOC_H__
+#define NRF_SOC_H__
+
+#include <stdint.h>
+#include <stdbool.h>
+#include "nrf_svc.h"
+#include "nrf51.h"
+#include "nrf51_bitfields.h"
+#include "nrf_error_soc.h"
+
+/** @addtogroup NRF_SOC_DEFINES Defines
+ * @{ */
+
+/**@brief The number of the lowest SVC number reserved for the SoC library. */
+#define SOC_SVC_BASE               (0x20)
+#define SOC_SVC_BASE_NOT_AVAILABLE (0x23)
+
+/**@brief Guranteed time for application to process radio inactive notification. */
+#define NRF_RADIO_NOTIFICATION_INACTIVE_GUARANTEED_TIME_US  (62)
+
+/**@brief The minimum allowed timeslot extension time. */
+#define NRF_RADIO_MINIMUM_TIMESLOT_LENGTH_EXTENSION_TIME_US (200)
+
+#define SOC_ECB_KEY_LENGTH            (16)                       /**< ECB key length. */
+#define SOC_ECB_CLEARTEXT_LENGTH      (16)                       /**< ECB cleartext length. */
+#define SOC_ECB_CIPHERTEXT_LENGTH     (SOC_ECB_CLEARTEXT_LENGTH) /**< ECB ciphertext length. */
+
+#define SD_EVT_IRQn                   (SWI2_IRQn)        /**< SoftDevice Event IRQ number. Used for both protocol events and SoC events. */
+#define SD_EVT_IRQHandler             (SWI2_IRQHandler)  /**< SoftDevice Event IRQ handler. Used for both protocol events and SoC events. */
+#define RADIO_NOTIFICATION_IRQn       (SWI1_IRQn)        /**< The radio notification IRQ number. */
+#define RADIO_NOTIFICATION_IRQHandler (SWI1_IRQHandler)  /**< The radio notification IRQ handler. */
+
+#define NRF_RADIO_LENGTH_MIN_US       (100)               /**< The shortest allowed radio timeslot, in microseconds. */
+#define NRF_RADIO_LENGTH_MAX_US       (100000)            /**< The longest allowed radio timeslot, in microseconds. */
+
+#define NRF_RADIO_DISTANCE_MAX_US         (128000000UL - 1UL) /**< The longest timeslot distance, in microseconds, allowed for the distance parameter (see @ref nrf_radio_request_normal_t) in the request. */
+
+#define NRF_RADIO_EARLIEST_TIMEOUT_MAX_US (128000000UL - 1UL) /**< The longest timeout, in microseconds, allowed when requesting the earliest possible timeslot. */
+
+#define NRF_RADIO_START_JITTER_US     (2)                 /**< The maximum jitter in NRF_RADIO_CALLBACK_SIGNAL_TYPE_START relative to the requested start time. */
+
+/** @} */
+
+/** @addtogroup NRF_SOC_TYPES Types
+ * @{ */
+
+/**@brief The SVC numbers used by the SVC functions in the SoC library. */
+enum NRF_SOC_SVCS
+{
+  SD_FLASH_PAGE_ERASE = SOC_SVC_BASE,
+  SD_FLASH_WRITE,
+  SD_FLASH_PROTECT,
+  SD_MUTEX_NEW = SOC_SVC_BASE_NOT_AVAILABLE,
+  SD_MUTEX_ACQUIRE,
+  SD_MUTEX_RELEASE,
+  SD_NVIC_ENABLEIRQ,
+  SD_NVIC_DISABLEIRQ,
+  SD_NVIC_GETPENDINGIRQ,
+  SD_NVIC_SETPENDINGIRQ,
+  SD_NVIC_CLEARPENDINGIRQ,
+  SD_NVIC_SETPRIORITY,
+  SD_NVIC_GETPRIORITY,
+  SD_NVIC_SYSTEMRESET,
+  SD_NVIC_CRITICAL_REGION_ENTER,
+  SD_NVIC_CRITICAL_REGION_EXIT,
+  SD_RAND_APPLICATION_POOL_CAPACITY,
+  SD_RAND_APPLICATION_BYTES_AVAILABLE,
+  SD_RAND_APPLICATION_GET_VECTOR,
+  SD_POWER_MODE_SET,
+  SD_POWER_SYSTEM_OFF,
+  SD_POWER_RESET_REASON_GET,
+  SD_POWER_RESET_REASON_CLR,
+  SD_POWER_POF_ENABLE,
+  SD_POWER_POF_THRESHOLD_SET,
+  SD_POWER_RAMON_SET,
+  SD_POWER_RAMON_CLR,
+  SD_POWER_RAMON_GET,
+  SD_POWER_GPREGRET_SET,
+  SD_POWER_GPREGRET_CLR,
+  SD_POWER_GPREGRET_GET,
+  SD_POWER_DCDC_MODE_SET,
+  SD_APP_EVT_WAIT,
+  SD_CLOCK_HFCLK_REQUEST,
+  SD_CLOCK_HFCLK_RELEASE,
+  SD_CLOCK_HFCLK_IS_RUNNING,
+  SD_PPI_CHANNEL_ENABLE_GET,
+  SD_PPI_CHANNEL_ENABLE_SET,
+  SD_PPI_CHANNEL_ENABLE_CLR,
+  SD_PPI_CHANNEL_ASSIGN,
+  SD_PPI_GROUP_TASK_ENABLE,
+  SD_PPI_GROUP_TASK_DISABLE,
+  SD_PPI_GROUP_ASSIGN,
+  SD_PPI_GROUP_GET,
+  SD_RADIO_NOTIFICATION_CFG_SET,
+  SD_ECB_BLOCK_ENCRYPT,
+  SD_RADIO_SESSION_OPEN,
+  SD_RADIO_SESSION_CLOSE,
+  SD_RADIO_REQUEST,
+  SD_EVT_GET,
+  SD_TEMP_GET,
+  SVC_SOC_LAST
+};
+
+/**@brief Possible values of a ::nrf_mutex_t. */
+enum NRF_MUTEX_VALUES
+{
+  NRF_MUTEX_FREE,
+  NRF_MUTEX_TAKEN
+};
+
+/**@brief Possible values of ::nrf_app_irq_priority_t. */
+enum NRF_APP_PRIORITIES
+{
+  NRF_APP_PRIORITY_HIGH = 1,
+  NRF_APP_PRIORITY_LOW = 3
+};
+
+/**@brief Possible values of ::nrf_power_mode_t. */
+enum NRF_POWER_MODES
+{
+  NRF_POWER_MODE_CONSTLAT,  /**< Constant latency mode. See power management in the reference manual. */
+  NRF_POWER_MODE_LOWPWR     /**< Low power mode. See power management in the reference manual. */
+};
+
+
+/**@brief Possible values of ::nrf_power_failure_threshold_t */
+enum NRF_POWER_THRESHOLDS
+{
+  NRF_POWER_THRESHOLD_V21,  /**< 2.1 Volts power failure threshold. */
+  NRF_POWER_THRESHOLD_V23,  /**< 2.3 Volts power failure threshold. */
+  NRF_POWER_THRESHOLD_V25,  /**< 2.5 Volts power failure threshold. */ 
+  NRF_POWER_THRESHOLD_V27   /**< 2.7 Volts power failure threshold. */
+};
+
+
+/**@brief Possible values of ::nrf_power_dcdc_mode_t. */
+enum NRF_POWER_DCDC_MODES
+{
+  NRF_POWER_DCDC_MODE_OFF,          /**< The DCDC is always off. */
+  NRF_POWER_DCDC_MODE_ON,           /**< The DCDC is always on. */
+  NRF_POWER_DCDC_MODE_AUTOMATIC     /**< The DCDC is automatically managed. */
+};
+
+/**@brief Possible values of ::nrf_radio_notification_distance_t. */
+enum NRF_RADIO_NOTIFICATION_DISTANCES
+{
+  NRF_RADIO_NOTIFICATION_DISTANCE_NONE = 0, /**< The event does not have a notification. */
+  NRF_RADIO_NOTIFICATION_DISTANCE_800US,    /**< The distance from the active notification to start of radio activity. */
+  NRF_RADIO_NOTIFICATION_DISTANCE_1740US,   /**< The distance from the active notification to start of radio activity. */
+  NRF_RADIO_NOTIFICATION_DISTANCE_2680US,   /**< The distance from the active notification to start of radio activity. */
+  NRF_RADIO_NOTIFICATION_DISTANCE_3620US,   /**< The distance from the active notification to start of radio activity. */
+  NRF_RADIO_NOTIFICATION_DISTANCE_4560US,   /**< The distance from the active notification to start of radio activity. */
+  NRF_RADIO_NOTIFICATION_DISTANCE_5500US    /**< The distance from the active notification to start of radio activity. */
+};
+
+
+/**@brief Possible values of ::nrf_radio_notification_type_t. */
+enum NRF_RADIO_NOTIFICATION_TYPES
+{
+  NRF_RADIO_NOTIFICATION_TYPE_NONE = 0,        /**< The event does not have a radio notification signal. */
+  NRF_RADIO_NOTIFICATION_TYPE_INT_ON_ACTIVE,   /**< Using interrupt for notification when the radio will be enabled. */
+  NRF_RADIO_NOTIFICATION_TYPE_INT_ON_INACTIVE, /**< Using interrupt for notification when the radio has been disabled. */
+  NRF_RADIO_NOTIFICATION_TYPE_INT_ON_BOTH,     /**< Using interrupt for notification both when the radio will be enabled and disabled. */
+};
+
+/**@brief SoC Events. */
+enum NRF_SOC_EVTS
+{
+  NRF_EVT_HFCLKSTARTED,                         /**< Event indicating that the HFCLK has started. */
+  NRF_EVT_POWER_FAILURE_WARNING,                /**< Event indicating that a power failure warning has occurred. */
+  NRF_EVT_FLASH_OPERATION_SUCCESS,              /**< Event indicating that the ongoing flash operation has completed successfully. */
+  NRF_EVT_FLASH_OPERATION_ERROR,                /**< Event indicating that the ongoing flash operation has timed out with an error. */
+  NRF_EVT_RADIO_BLOCKED,                        /**< Event indicating that a radio timeslot was blocked. */
+  NRF_EVT_RADIO_CANCELED,                       /**< Event indicating that a radio timeslot was canceled by SoftDevice. */
+  NRF_EVT_RADIO_SIGNAL_CALLBACK_INVALID_RETURN, /**< Event indicating that a radio signal callback handler return was invalid. */
+  NRF_EVT_RADIO_SESSION_IDLE,                   /**< Event indicating that a radio session is idle. */
+  NRF_EVT_RADIO_SESSION_CLOSED,                 /**< Event indicating that a radio session is closed. */
+  NRF_EVT_NUMBER_OF_EVTS
+};
+
+/** @} */
+
+/** @addtogroup NRF_SOC_TYPES Types
+ * @{ */
+
+/**@brief Represents a mutex for use with the nrf_mutex functions.
+ * @note Accessing the value directly is not safe, use the mutex functions!
+ */
+typedef volatile uint8_t nrf_mutex_t;
+
+/**@brief The interrupt priorities available to the application while the softdevice is active. */
+typedef uint8_t nrf_app_irq_priority_t;
+
+/**@brief Represents a power mode, used in power mode functions */
+typedef uint8_t nrf_power_mode_t;
+
+/**@brief Represents a power failure threshold value. */
+typedef uint8_t nrf_power_failure_threshold_t;
+
+/**@brief Represents a DCDC mode value. */
+typedef uint32_t nrf_power_dcdc_mode_t;
+
+/**@brief Radio notification distances. */
+typedef uint8_t nrf_radio_notification_distance_t;
+
+/**@brief Radio notification types. */
+typedef uint8_t nrf_radio_notification_type_t;
+
+/** @brief The Radio signal callback types. */
+enum NRF_RADIO_CALLBACK_SIGNAL_TYPE
+{
+  NRF_RADIO_CALLBACK_SIGNAL_TYPE_START,            /**< This signal indicates the start of the radio timeslot. */
+  NRF_RADIO_CALLBACK_SIGNAL_TYPE_TIMER0,            /**< This signal indicates the NRF_TIMER0 interrupt. */
+  NRF_RADIO_CALLBACK_SIGNAL_TYPE_RADIO,             /**< This signal indicates the NRF_RADIO interrupt. */
+  NRF_RADIO_CALLBACK_SIGNAL_TYPE_EXTEND_FAILED,     /**< This signal indicates extend action failed. */
+  NRF_RADIO_CALLBACK_SIGNAL_TYPE_EXTEND_SUCCEEDED   /**< This signal indicates extend action succeeded. */
+};
+
+/** @brief The actions requested by the signal callback.
+ *
+ *  This code gives the SOC instructions about what action to take when the signal callback has
+ *  returned.
+ */
+enum NRF_RADIO_SIGNAL_CALLBACK_ACTION
+{
+  NRF_RADIO_SIGNAL_CALLBACK_ACTION_NONE,            /**< Return without action. */
+  NRF_RADIO_SIGNAL_CALLBACK_ACTION_EXTEND,          /**< Request an extension of the current timeslot (maximum execution time for this action is when the extension succeeded). */
+  NRF_RADIO_SIGNAL_CALLBACK_ACTION_END,             /**< End the current radio timeslot. */
+  NRF_RADIO_SIGNAL_CALLBACK_ACTION_REQUEST_AND_END  /**< Request a new radio timeslot and end the current timeslot. */
+};
+
+/**@brief Radio timeslot high frequency clock source configuration. */
+enum NRF_RADIO_HFCLK_CFG
+{
+  NRF_RADIO_HFCLK_CFG_DEFAULT,                      /**< Use the currently selected oscillator as HF clock source during the timeslot (i.e. the source is not specified). */
+  NRF_RADIO_HFCLK_CFG_FORCE_XTAL,                   /**< Force external crystal to be used as HF clock source during whole the timeslot. */
+};
+
+/** @brief Radio timeslot priorities. */
+enum NRF_RADIO_PRIORITY
+{
+  NRF_RADIO_PRIORITY_HIGH,                          /**< High (equal priority as the normal connection priority of the SoftDevice stack(s)). */
+  NRF_RADIO_PRIORITY_NORMAL,                        /**< Normal (equal priority as the priority of secondary activites of the SoftDevice stack(s)). */
+};
+
+/** @brief Radio timeslot request type. */
+enum NRF_RADIO_REQUEST_TYPE
+{
+  NRF_RADIO_REQ_TYPE_EARLIEST,                      /**< Request timeslot as early as possible. This should always be used for the first request in a session. */
+  NRF_RADIO_REQ_TYPE_NORMAL                         /**< Normal timeslot request. */
+};
+
+/** @brief Parameters for a request for a timeslot as early as possible. */
+typedef struct
+{
+  uint8_t       hfclk;                              /**< High frequency clock source, see @ref NRF_RADIO_HFCLK_CFG. */
+  uint8_t       priority;                           /**< The radio timeslot priority, see @ref NRF_RADIO_PRIORITY. */
+  uint32_t      length_us;                          /**< The radio timeslot length (in the range 100 to 100,000] microseconds). */
+  uint32_t      timeout_us;                         /**< Longest acceptable delay until the start of the requested timeslot (up to @ref NRF_RADIO_EARLIEST_TIMEOUT_MAX_US microseconds). */
+} nrf_radio_request_earliest_t;
+
+/** @brief Parameters for a normal radio request. */
+typedef struct
+{
+  uint8_t       hfclk;                              /**< High frequency clock source, see @ref NRF_RADIO_HFCLK_CFG. */
+  uint8_t       priority;                           /**< The radio timeslot priority, see @ref NRF_RADIO_PRIORITY. */
+  uint32_t      distance_us;                        /**< Distance from the start of the previous radio timeslot (up to @ref NRF_RADIO_DISTANCE_MAX_US microseconds). */
+  uint32_t      length_us;                          /**< The radio timeslot length (in the range [100..100,000] microseconds). */
+} nrf_radio_request_normal_t;
+
+/** @brief Radio request parameters. */
+typedef struct
+{
+  uint8_t                         request_type;     /**< Type of request, see @ref NRF_RADIO_REQUEST_TYPE. */
+  union
+  {
+    nrf_radio_request_earliest_t  earliest;         /**< Parameters for a request for a timeslot as early as possible. */
+    nrf_radio_request_normal_t    normal;           /**< Parameters for a normal radio request. */
+  } params;
+} nrf_radio_request_t;
+
+/**@brief Return parameters of the radio timeslot signal callback. */
+typedef struct
+{
+  uint8_t               callback_action;            /**< The action requested by the application when returning from the signal callback, see @ref NRF_RADIO_SIGNAL_CALLBACK_ACTION. */
+  union
+  {
+    struct
+    {
+      nrf_radio_request_t * p_next;                 /**< The request parameters for the next radio timeslot. */
+    } request;                                      /**< Additional parameters for return_code @ref NRF_RADIO_SIGNAL_CALLBACK_ACTION_REQUEST_AND_END. */
+    struct
+    {
+      uint32_t              length_us;              /**< Requested extension of the timeslot duration (microseconds) (for minimum time see @ref NRF_RADIO_MINIMUM_TIMESLOT_LENGTH_EXTENSION_TIME_US). */
+    } extend;                                       /**< Additional parameters for return_code @ref NRF_RADIO_SIGNAL_CALLBACK_ACTION_EXTEND. */
+  } params;
+} nrf_radio_signal_callback_return_param_t;
+
+/**@brief The radio signal callback type.
+ *
+ * @note In case of invalid return parameters, the radio timeslot will automatically end
+ *       immediately after returning from the signal callback and the
+ *       @ref NRF_EVT_RADIO_SIGNAL_CALLBACK_INVALID_RETURN event will be sent.
+ * @note The returned struct pointer must remain valid after the signal callback
+ *       function returns. For instance, this means that it must not point to a stack variable.
+ *
+ * @param[in] signal_type Type of signal, see @ref NRF_RADIO_CALLBACK_SIGNAL_TYPE.
+ *
+ * @return Pointer to structure containing action requested by the application.
+ */
+typedef nrf_radio_signal_callback_return_param_t * (*nrf_radio_signal_callback_t) (uint8_t signal_type);
+
+/**@brief AES ECB data structure */
+typedef struct
+{
+  uint8_t key[SOC_ECB_KEY_LENGTH];                  /**< Encryption key. */
+  uint8_t cleartext[SOC_ECB_CLEARTEXT_LENGTH];      /**< Clear Text data. */
+  uint8_t ciphertext[SOC_ECB_CIPHERTEXT_LENGTH];    /**< Cipher Text data. */
+} nrf_ecb_hal_data_t;
+
+/** @} */
+
+/** @addtogroup NRF_SOC_FUNCTIONS Functions
+ * @{ */
+
+/**@brief Initialize a mutex.
+ *
+ * @param[in] p_mutex Pointer to the mutex to initialize.
+ *
+ * @retval ::NRF_SUCCESS
+ */
+SVCALL(SD_MUTEX_NEW, uint32_t, sd_mutex_new(nrf_mutex_t * p_mutex));
+
+/**@brief Attempt to acquire a mutex.
+ *
+ * @param[in] p_mutex Pointer to the mutex to acquire.
+ *
+ * @retval ::NRF_SUCCESS The mutex was successfully acquired.
+ * @retval ::NRF_ERROR_SOC_MUTEX_ALREADY_TAKEN The mutex could not be acquired.
+ */
+SVCALL(SD_MUTEX_ACQUIRE, uint32_t, sd_mutex_acquire(nrf_mutex_t * p_mutex));
+
+/**@brief Release a mutex.
+ *
+ * @param[in] p_mutex Pointer to the mutex to release.
+ *
+ * @retval ::NRF_SUCCESS
+ */
+SVCALL(SD_MUTEX_RELEASE, uint32_t, sd_mutex_release(nrf_mutex_t * p_mutex));
+
+/**@brief Enable External Interrupt.
+ * @note Corresponds to NVIC_EnableIRQ in CMSIS.
+ *
+ * @pre{IRQn is valid and not reserved by the stack}
+ *
+ * @param[in] IRQn See the NVIC_EnableIRQ documentation in CMSIS.
+ *
+ * @retval ::NRF_SUCCESS The interrupt was enabled.
+ * @retval ::NRF_ERROR_SOC_NVIC_INTERRUPT_NOT_AVAILABLE The interrupt is not available for the application.
+ * @retval ::NRF_ERROR_SOC_NVIC_INTERRUPT_PRIORITY_NOT_ALLOWED The interrupt has a priority not available for the application.
+ */
+SVCALL(SD_NVIC_ENABLEIRQ, uint32_t, sd_nvic_EnableIRQ(IRQn_Type IRQn));
+
+/**@brief  Disable External Interrupt.
+ * @note Corresponds to NVIC_DisableIRQ in CMSIS.
+ *
+ * @pre{IRQn is valid and not reserved by the stack}
+ *
+ * @param[in] IRQn See the NVIC_DisableIRQ documentation in CMSIS
+ *
+ * @retval ::NRF_SUCCESS The interrupt was disabled.
+ * @retval ::NRF_ERROR_SOC_NVIC_INTERRUPT_NOT_AVAILABLE The interrupt is not available for the application.
+ */
+SVCALL(SD_NVIC_DISABLEIRQ, uint32_t, sd_nvic_DisableIRQ(IRQn_Type IRQn));
+
+/**@brief  Get Pending Interrupt.
+ * @note Corresponds to NVIC_GetPendingIRQ in CMSIS.
+ *
+ * @pre{IRQn is valid and not reserved by the stack}
+ *
+ * @param[in]   IRQn          See the NVIC_GetPendingIRQ documentation in CMSIS.
+ * @param[out]  p_pending_irq Return value from NVIC_GetPendingIRQ.
+ *
+ * @retval ::NRF_SUCCESS The interrupt is available for the application.
+ * @retval ::NRF_ERROR_SOC_NVIC_INTERRUPT_NOT_AVAILABLE IRQn is not available for the application.
+ */
+SVCALL(SD_NVIC_GETPENDINGIRQ, uint32_t, sd_nvic_GetPendingIRQ(IRQn_Type IRQn, uint32_t * p_pending_irq));
+
+/**@brief  Set Pending Interrupt.
+ * @note Corresponds to NVIC_SetPendingIRQ in CMSIS.
+ *
+ * @pre{IRQn is valid and not reserved by the stack}
+ *
+ * @param[in] IRQn See the NVIC_SetPendingIRQ documentation in CMSIS.
+ *
+ * @retval ::NRF_SUCCESS The interrupt is set pending.
+ * @retval ::NRF_ERROR_SOC_NVIC_INTERRUPT_NOT_AVAILABLE IRQn is not available for the application.
+ */
+SVCALL(SD_NVIC_SETPENDINGIRQ, uint32_t, sd_nvic_SetPendingIRQ(IRQn_Type IRQn));
+
+/**@brief  Clear Pending Interrupt.
+ * @note Corresponds to NVIC_ClearPendingIRQ in CMSIS.
+ *
+ * @pre{IRQn is valid and not reserved by the stack}
+ *
+ * @param[in] IRQn See the NVIC_ClearPendingIRQ documentation in CMSIS.
+ *
+ * @retval ::NRF_SUCCESS The interrupt pending flag is cleared.
+ * @retval ::NRF_ERROR_SOC_NVIC_INTERRUPT_NOT_AVAILABLE IRQn is not available for the application.
+ */
+SVCALL(SD_NVIC_CLEARPENDINGIRQ, uint32_t, sd_nvic_ClearPendingIRQ(IRQn_Type IRQn));
+
+/**@brief Set Interrupt Priority.
+ * @note Corresponds to NVIC_SetPriority in CMSIS.
+ *
+ * @pre{IRQn is valid and not reserved by the stack}
+ * @pre{priority is valid and not reserved by the stack}
+ *
+ * @param[in] IRQn      See the NVIC_SetPriority documentation in CMSIS.
+ * @param[in] priority  A valid IRQ priority for use by the application.
+ *
+ * @retval ::NRF_SUCCESS The interrupt and priority level is available for the application.
+ * @retval ::NRF_ERROR_SOC_NVIC_INTERRUPT_NOT_AVAILABLE IRQn is not available for the application.
+ * @retval ::NRF_ERROR_SOC_NVIC_INTERRUPT_PRIORITY_NOT_ALLOWED The interrupt priority is not available for the application.
+ */
+SVCALL(SD_NVIC_SETPRIORITY, uint32_t, sd_nvic_SetPriority(IRQn_Type IRQn, nrf_app_irq_priority_t priority));
+
+/**@brief Get Interrupt Priority.
+ * @note Corresponds to NVIC_GetPriority in CMSIS.
+ *
+ * @pre{IRQn is valid and not reserved by the stack}
+ *
+ * @param[in]  IRQn         See the NVIC_GetPriority documentation in CMSIS.
+ * @param[out] p_priority   Return value from NVIC_GetPriority.
+ *
+ * @retval ::NRF_SUCCESS The interrupt priority is returned in p_priority.
+ * @retval ::NRF_ERROR_SOC_NVIC_INTERRUPT_NOT_AVAILABLE - IRQn is not available for the application.
+ */
+SVCALL(SD_NVIC_GETPRIORITY, uint32_t, sd_nvic_GetPriority(IRQn_Type IRQn, nrf_app_irq_priority_t * p_priority));
+
+/**@brief System Reset.
+ * @note Corresponds to NVIC_SystemReset in CMSIS.
+ *
+ * @retval ::NRF_ERROR_SOC_NVIC_SHOULD_NOT_RETURN
+ */
+SVCALL(SD_NVIC_SYSTEMRESET, uint32_t, sd_nvic_SystemReset(void));
+
+/**@brief Enters critical region.
+ *
+ * @post Application interrupts will be disabled.
+ * @sa sd_nvic_critical_region_exit
+ *
+ * @param[out]  p_is_nested_critical_region  1: If in a nested critical region.
+ *                                           0: Otherwise.
+ *
+ * @retval ::NRF_SUCCESS
+ */
+SVCALL(SD_NVIC_CRITICAL_REGION_ENTER, uint32_t, sd_nvic_critical_region_enter(uint8_t * p_is_nested_critical_region));
+
+/**@brief Exit critical region.
+ *
+ * @pre Application has entered a critical region using ::sd_nvic_critical_region_enter.
+ * @post If not in a nested critical region, the application interrupts will restored to the state before ::sd_nvic_critical_region_enter was called. 
+ *
+ * @param[in] is_nested_critical_region If this is set to 1, the critical region won't be exited. @sa sd_nvic_critical_region_enter.
+ *
+ * @retval ::NRF_SUCCESS
+ */
+SVCALL(SD_NVIC_CRITICAL_REGION_EXIT, uint32_t, sd_nvic_critical_region_exit(uint8_t is_nested_critical_region));
+
+/**@brief Query the capacity of the application random pool.
+ *
+ * @param[out] p_pool_capacity The capacity of the pool.
+ *
+ * @retval ::NRF_SUCCESS
+ */
+SVCALL(SD_RAND_APPLICATION_POOL_CAPACITY, uint32_t, sd_rand_application_pool_capacity_get(uint8_t * p_pool_capacity));
+
+/**@brief Get number of random bytes available to the application.
+ *
+ * @param[out] p_bytes_available The number of bytes currently available in the pool.
+ *
+ * @retval ::NRF_SUCCESS
+ */
+SVCALL(SD_RAND_APPLICATION_BYTES_AVAILABLE, uint32_t, sd_rand_application_bytes_available_get(uint8_t * p_bytes_available));
+
+/**@brief Get random bytes from the application pool.
+ *
+ * @param[out]  p_buff  Pointer to unit8_t buffer for storing the bytes.
+ * @param[in]   length  Number of bytes to take from pool and place in p_buff.
+ *
+ * @retval ::NRF_SUCCESS The requested bytes were written to p_buff.
+ * @retval ::NRF_ERROR_SOC_RAND_NOT_ENOUGH_VALUES No bytes were written to the buffer, because there were not enough bytes available.
+*/
+SVCALL(SD_RAND_APPLICATION_GET_VECTOR, uint32_t, sd_rand_application_vector_get(uint8_t * p_buff, uint8_t length));
+
+/**@brief Gets the reset reason register. 
+ *
+ * @param[out]  p_reset_reason  Contents of the NRF_POWER->RESETREAS register.
+ *
+ * @retval ::NRF_SUCCESS
+ */
+SVCALL(SD_POWER_RESET_REASON_GET, uint32_t, sd_power_reset_reason_get(uint32_t * p_reset_reason));
+
+/**@brief Clears the bits of the reset reason register. 
+ *
+ * @param[in] reset_reason_clr_msk Contains the bits to clear from the reset reason register.
+ *
+ * @retval ::NRF_SUCCESS
+ */
+SVCALL(SD_POWER_RESET_REASON_CLR, uint32_t, sd_power_reset_reason_clr(uint32_t reset_reason_clr_msk));
+
+/**@brief Sets the power mode when in CPU sleep.
+ *
+ * @param[in] power_mode The power mode to use when in CPU sleep. @sa sd_app_evt_wait
+ *
+ * @retval ::NRF_SUCCESS The power mode was set.
+ * @retval ::NRF_ERROR_SOC_POWER_MODE_UNKNOWN The power mode was unknown.
+ */
+SVCALL(SD_POWER_MODE_SET, uint32_t, sd_power_mode_set(nrf_power_mode_t power_mode));
+
+/**@brief Puts the chip in System OFF mode. 
+ *
+ * @retval ::NRF_ERROR_SOC_POWER_OFF_SHOULD_NOT_RETURN
+ */
+SVCALL(SD_POWER_SYSTEM_OFF, uint32_t, sd_power_system_off(void));
+
+/**@brief Enables or disables the power-fail comparator.
+ *
+ * Enabling this will give a softdevice event (NRF_EVT_POWER_FAILURE_WARNING) when the power failure warning occurs.
+ * The event can be retrieved with sd_evt_get();
+ *
+ * @param[in] pof_enable    True if the power-fail comparator should be enabled, false if it should be disabled.
+ *
+ * @retval ::NRF_SUCCESS
+ */
+SVCALL(SD_POWER_POF_ENABLE, uint32_t, sd_power_pof_enable(uint8_t pof_enable));
+
+/**@brief Sets the power-fail threshold value.
+ *
+ * @param[in] threshold The power-fail threshold value to use.
+ *
+ * @retval ::NRF_SUCCESS The power failure threshold was set.
+ * @retval ::NRF_ERROR_SOC_POWER_POF_THRESHOLD_UNKNOWN The power failure threshold is unknown.
+ */
+SVCALL(SD_POWER_POF_THRESHOLD_SET, uint32_t, sd_power_pof_threshold_set(nrf_power_failure_threshold_t threshold));
+
+/**@brief Sets bits in the NRF_POWER->RAMON register.
+ *
+ * @param[in] ramon Contains the bits needed to be set in the NRF_POWER->RAMON register.
+ *
+ * @retval ::NRF_SUCCESS
+ */
+SVCALL(SD_POWER_RAMON_SET, uint32_t, sd_power_ramon_set(uint32_t ramon));
+
+/** @brief Clears bits in the NRF_POWER->RAMON register.
+ *
+ * @param ramon Contains the bits needed to be cleared in the NRF_POWER->RAMON register.
+ *
+ * @retval ::NRF_SUCCESS
+ */
+SVCALL(SD_POWER_RAMON_CLR, uint32_t, sd_power_ramon_clr(uint32_t ramon));
+
+/**@brief Get contents of NRF_POWER->RAMON register, indicates power status of ram blocks.
+ *
+ * @param[out] p_ramon Content of NRF_POWER->RAMON register.
+ *
+ * @retval ::NRF_SUCCESS
+ */
+SVCALL(SD_POWER_RAMON_GET, uint32_t, sd_power_ramon_get(uint32_t * p_ramon));
+
+/**@brief Set bits in the NRF_POWER->GPREGRET register.
+ *
+ * @param[in] gpregret_msk Bits to be set in the GPREGRET register.
+ *
+ * @retval ::NRF_SUCCESS
+ */
+SVCALL(SD_POWER_GPREGRET_SET, uint32_t, sd_power_gpregret_set(uint32_t gpregret_msk));
+
+/**@brief Clear bits in the NRF_POWER->GPREGRET register.
+ *
+ * @param[in] gpregret_msk Bits to be clear in the GPREGRET register.
+ *
+ * @retval ::NRF_SUCCESS
+ */
+SVCALL(SD_POWER_GPREGRET_CLR, uint32_t, sd_power_gpregret_clr(uint32_t gpregret_msk));
+
+/**@brief Get contents of the NRF_POWER->GPREGRET register.
+ *
+ * @param[out] p_gpregret Contents of the GPREGRET register.
+ *
+ * @retval ::NRF_SUCCESS
+ */
+SVCALL(SD_POWER_GPREGRET_GET, uint32_t, sd_power_gpregret_get(uint32_t *p_gpregret));
+
+/**@brief Sets the DCDC mode.
+ *
+ * Depending on the internal state of the SoftDevice, the mode change may not happen immediately.
+ * The DCDC mode switch will be blocked when occurring in close proximity to radio transmissions. When
+ * the radio transmission is done, the last mode will be used.
+ *
+ * @param[in] dcdc_mode The mode of the DCDC.
+ *
+ * @retval ::NRF_SUCCESS
+ * @retval ::NRF_ERROR_INVALID_PARAM The DCDC mode is invalid.
+ */
+SVCALL(SD_POWER_DCDC_MODE_SET, uint32_t, sd_power_dcdc_mode_set(nrf_power_dcdc_mode_t dcdc_mode));
+
+/**@brief Request the high frequency crystal oscillator.
+ *
+ * Will start the high frequency crystal oscillator, the startup time of the crystal varies
+ * and the ::sd_clock_hfclk_is_running function can be polled to check if it has started.
+ *
+ * @see sd_clock_hfclk_is_running
+ * @see sd_clock_hfclk_release
+ *
+ * @retval ::NRF_SUCCESS
+ */
+SVCALL(SD_CLOCK_HFCLK_REQUEST, uint32_t, sd_clock_hfclk_request(void));
+
+/**@brief Releases the high frequency crystal oscillator.
+ *
+ * Will stop the high frequency crystal oscillator, this happens immediately.
+ *
+ * @see sd_clock_hfclk_is_running
+ * @see sd_clock_hfclk_request
+ *
+ * @retval ::NRF_SUCCESS
+ */
+SVCALL(SD_CLOCK_HFCLK_RELEASE, uint32_t, sd_clock_hfclk_release(void));
+
+/**@brief Checks if the high frequency crystal oscillator is running.
+ *
+ * @see sd_clock_hfclk_request
+ * @see sd_clock_hfclk_release
+ *
+ * @param[out] p_is_running 1 if the external crystal oscillator is running, 0 if not.
+ *
+ * @retval ::NRF_SUCCESS
+ */
+SVCALL(SD_CLOCK_HFCLK_IS_RUNNING, uint32_t, sd_clock_hfclk_is_running(uint32_t * p_is_running));
+
+/**@brief Waits for an application event.
+ * 
+ * An application event is either an application interrupt or a pended interrupt when the
+ * interrupt is disabled. When the interrupt is enabled it will be taken immediately since
+ * this function will wait in thread mode, then the execution will return in the application's
+ * main thread. When an interrupt is disabled and gets pended it will return to the application's 
+ * thread main. The application must ensure that the pended flag is cleared using 
+ * ::sd_nvic_ClearPendingIRQ in order to sleep using this function. This is only necessary for
+ * disabled interrupts, as the interrupt handler will clear the pending flag automatically for
+ * enabled interrupts.
+ *
+ * In order to wake up from disabled interrupts, the SEVONPEND flag has to be set in the Cortex-M0
+ * System Control Register (SCR). @sa CMSIS_SCB
+ *
+ * @note If an application interrupt has happened since the last time sd_app_evt_wait was
+ *       called this function will return immediately and not go to sleep. This is to avoid race
+ *       conditions that can occur when a flag is updated in the interrupt handler and processed
+ *       in the main loop.
+ *
+ * @post An application interrupt has happened or a interrupt pending flag is set.
+ *
+ * @retval ::NRF_SUCCESS
+ */
+SVCALL(SD_APP_EVT_WAIT, uint32_t, sd_app_evt_wait(void));
+
+/**@brief Get PPI channel enable register contents.
+ *
+ * @param[out] p_channel_enable The contents of the PPI CHEN register.
+ *
+ * @retval ::NRF_SUCCESS
+ */
+SVCALL(SD_PPI_CHANNEL_ENABLE_GET, uint32_t, sd_ppi_channel_enable_get(uint32_t * p_channel_enable));
+
+/**@brief Set PPI channel enable register.
+ *
+ * @param[in] channel_enable_set_msk Mask containing the bits to set in the PPI CHEN register.
+ *
+ * @retval ::NRF_SUCCESS
+ */
+SVCALL(SD_PPI_CHANNEL_ENABLE_SET, uint32_t, sd_ppi_channel_enable_set(uint32_t channel_enable_set_msk));
+
+/**@brief Clear PPI channel enable register.
+ *
+ * @param[in] channel_enable_clr_msk Mask containing the bits to clear in the PPI CHEN register.
+ *
+ * @retval ::NRF_SUCCESS
+ */
+SVCALL(SD_PPI_CHANNEL_ENABLE_CLR, uint32_t, sd_ppi_channel_enable_clr(uint32_t channel_enable_clr_msk));
+
+/**@brief Assign endpoints to a PPI channel.
+ *
+ * @param[in] channel_num Number of the PPI channel to assign.
+ * @param[in] evt_endpoint Event endpoint of the PPI channel.
+ * @param[in] task_endpoint Task endpoint of the PPI channel.
+ *
+ * @retval ::NRF_ERROR_SOC_PPI_INVALID_CHANNEL The channel number is invalid.
+ * @retval ::NRF_SUCCESS
+ */
+SVCALL(SD_PPI_CHANNEL_ASSIGN, uint32_t, sd_ppi_channel_assign(uint8_t channel_num, const volatile void * evt_endpoint, const volatile void * task_endpoint));
+
+/**@brief Task to enable a channel group.
+ *
+ * @param[in] group_num Number of the channel group.
+ *
+ * @retval ::NRF_ERROR_SOC_PPI_INVALID_GROUP The group number is invalid
+ * @retval ::NRF_SUCCESS
+ */
+SVCALL(SD_PPI_GROUP_TASK_ENABLE, uint32_t, sd_ppi_group_task_enable(uint8_t group_num));
+
+/**@brief Task to disable a channel group.
+ *
+ * @param[in] group_num Number of the PPI group.
+ *
+ * @retval ::NRF_ERROR_SOC_PPI_INVALID_GROUP The group number is invalid.
+ * @retval ::NRF_SUCCESS
+ */
+SVCALL(SD_PPI_GROUP_TASK_DISABLE, uint32_t, sd_ppi_group_task_disable(uint8_t group_num));
+
+/**@brief Assign PPI channels to a channel group.
+ *
+ * @param[in] group_num Number of the channel group.
+ * @param[in] channel_msk Mask of the channels to assign to the group.
+ *
+ * @retval ::NRF_ERROR_SOC_PPI_INVALID_GROUP The group number is invalid.
+ * @retval ::NRF_SUCCESS
+ */
+SVCALL(SD_PPI_GROUP_ASSIGN, uint32_t, sd_ppi_group_assign(uint8_t group_num, uint32_t channel_msk));
+
+/**@brief Gets the PPI channels of a channel group.
+ *
+ * @param[in]   group_num Number of the channel group.
+ * @param[out]  p_channel_msk Mask of the channels assigned to the group.
+ *
+ * @retval ::NRF_ERROR_SOC_PPI_INVALID_GROUP The group number is invalid.
+ * @retval ::NRF_SUCCESS
+ */
+SVCALL(SD_PPI_GROUP_GET, uint32_t, sd_ppi_group_get(uint8_t group_num, uint32_t * p_channel_msk));
+
+/**@brief Configures the Radio Notification signal.
+ *
+ * @note
+ *      - The notification signal latency depends on the interrupt priority settings of SWI used
+ *        for notification signal.
+ *      - In the period between the ACTIVE signal and the start of the Radio Event, the SoftDevice
+ *        will interrupt the application to do Radio Event preparation.
+ *      - Using the Radio Notification feature may limit the bandwidth, as the SoftDevice may have
+ *        to shorten the connection events to have time for the Radio Notification signals.
+ *
+ * @param[in]  type      Type of notification signal.
+ *                       @ref NRF_RADIO_NOTIFICATION_TYPE_NONE shall be used to turn off radio
+ *                       notification. Using @ref NRF_RADIO_NOTIFICATION_DISTANCE_NONE is
+ *                       recommended (but not required) to be used with
+ *                       @ref NRF_RADIO_NOTIFICATION_TYPE_NONE.
+ *
+ * @param[in]  distance  Distance between the notification signal and start of radio activity.
+ *                       This parameter is ignored when @ref NRF_RADIO_NOTIFICATION_TYPE_NONE or 
+ *                       @ref NRF_RADIO_NOTIFICATION_TYPE_INT_ON_INACTIVE is used.
+ *
+ * @retval ::NRF_ERROR_INVALID_PARAM The group number is invalid.
+ * @retval ::NRF_SUCCESS
+ */
+SVCALL(SD_RADIO_NOTIFICATION_CFG_SET, uint32_t, sd_radio_notification_cfg_set(nrf_radio_notification_type_t type, nrf_radio_notification_distance_t distance));
+
+/**@brief Encrypts a block according to the specified parameters.
+ *
+ * 128-bit AES encryption.
+ *
+ * @param[in, out] p_ecb_data Pointer to the ECB parameters' struct (two input
+ *                            parameters and one output parameter).
+ *
+ * @retval ::NRF_SUCCESS
+ */
+SVCALL(SD_ECB_BLOCK_ENCRYPT, uint32_t, sd_ecb_block_encrypt(nrf_ecb_hal_data_t * p_ecb_data));
+
+/**@brief Gets any pending events generated by the SoC API.
+ *
+ * The application should keep calling this function to get events, until ::NRF_ERROR_NOT_FOUND is returned.
+ *
+ * @param[out] p_evt_id Set to one of the values in @ref NRF_SOC_EVTS, if any events are pending.
+ *
+ * @retval ::NRF_SUCCESS An event was pending. The event id is written in the p_evt_id parameter.
+ * @retval ::NRF_ERROR_NOT_FOUND No pending events. 
+ */
+SVCALL(SD_EVT_GET, uint32_t, sd_evt_get(uint32_t * p_evt_id));
+
+/**@brief Get the temperature measured on the chip
+ * 
+ * This function will block until the temperature measurement is done.
+ * It takes around 50us from call to return.
+ *
+ * @note Pan #28 in PAN-028 v 1.6 "Negative measured values are not represented correctly" is corrected by this function.
+ *
+ * @param[out] p_temp Result of temperature measurement. Die temperature in 0.25 degrees celsius.
+ *
+ * @retval ::NRF_SUCCESS A temperature measurement was done, and the temperature was written to temp
+ */
+SVCALL(SD_TEMP_GET, uint32_t, sd_temp_get(int32_t * p_temp));
+
+/**@brief Flash Write
+ *
+ * Commands to write a buffer to flash
+ *
+ * This call initiates the flash access command, and its completion will be communicated to the
+ * application with exactly one of the following events:
+ *      - NRF_EVT_FLASH_OPERATION_SUCCESS - The command was successfully completed.
+ *      - NRF_EVT_FLASH_OPERATION_ERROR   - The command could not be started.
+ *
+ * @note
+ *      - This call takes control over the radio and the CPU during flash erase and write to make sure that
+ *        they will not interfere with the flash access. This means that all interrupts will be blocked
+ *        for a predictable time (depending on the NVMC specification in nRF51 Series Reference Manual
+ *        and the command parameters).
+ *
+ *
+ * @param[in]  p_dst Pointer to start of flash location to be written.
+ * @param[in]  p_src Pointer to buffer with data to be written
+ * @param[in]  size  Number of 32-bit words to write. Maximum size is 256 32bit words.
+ *
+ * @retval ::NRF_ERROR_INVALID_ADDR   Tried to write to a non existing flash address, or p_dst or p_src was unaligned.
+ * @retval ::NRF_ERROR_BUSY           The previous command has not yet completed.
+ * @retval ::NRF_ERROR_INVALID_LENGTH Size was 0, or more than 256 words.
+ * @retval ::NRF_ERROR_FORBIDDEN      Tried to write to or read from protected location.
+ * @retval ::NRF_SUCCESS              The command was accepted.
+ */
+SVCALL(SD_FLASH_WRITE, uint32_t, sd_flash_write(uint32_t * const p_dst, uint32_t const * const p_src, uint32_t size));
+
+
+/**@brief Flash Erase page
+ *
+ * Commands to erase a flash page
+ *
+ * This call initiates the flash access command, and its completion will be communicated to the
+ * application with exactly one of the following events:
+ *      - NRF_EVT_FLASH_OPERATION_SUCCESS - The command was successfully completed.
+ *      - NRF_EVT_FLASH_OPERATION_ERROR   - The command could not be started.
+ *
+ * @note
+ *      - This call takes control over the radio and the CPU during flash erase and write to make sure that
+ *        they will not interfere with the flash access. This means that all interrupts will be blocked
+ *        for a predictable time (depending on the NVMC specification in nRF51 Series Reference Manual
+ *        and the command parameters).
+ *
+ *
+ * @param[in]  page_number Pagenumber of the page to erase
+ * @retval ::NRF_ERROR_INTERNAL      If a new session could not be opened due to an internal error.
+ * @retval ::NRF_ERROR_INVALID_ADDR  Tried to erase to a non existing flash page.
+ * @retval ::NRF_ERROR_BUSY          The previous command has not yet completed.
+ * @retval ::NRF_ERROR_FORBIDDEN     Tried to erase a protected page.
+ * @retval ::NRF_SUCCESS             The command was accepted.
+ */
+SVCALL(SD_FLASH_PAGE_ERASE, uint32_t, sd_flash_page_erase(uint32_t page_number));
+
+
+/**@brief Flash Protection set
+ *
+ * Commands to set the flash protection registers PROTENSETx
+ *
+ * @note To read the values in PROTENSETx you can read them directly. They are only write-protected.
+ *
+ * @param[in]  protenset0 Value to be written to PROTENSET0
+ * @param[in]  protenset1 Value to be written to PROTENSET1
+ *
+ * @retval ::NRF_ERROR_FORBIDDEN Tried to protect the SoftDevice
+ * @retval ::NRF_SUCCESS Values successfully written to PROTENSETx
+ */
+SVCALL(SD_FLASH_PROTECT, uint32_t, sd_flash_protect(uint32_t protenset0, uint32_t protenset1));
+
+/**@brief Opens a session for radio requests.
+ *
+ * @note Only one session can be open at a time.
+ * @note p_radio_signal_callback(NRF_RADIO_CALLBACK_SIGNAL_TYPE_START) will be called when the radio timeslot
+ *       starts. From this point the NRF_RADIO and NRF_TIMER0 peripherals can be freely accessed
+ *       by the application.
+ * @note p_radio_signal_callback(NRF_RADIO_CALLBACK_SIGNAL_TYPE_TIMER0) is called whenever the NRF_TIMER0
+ *       interrupt occurs.
+ * @note p_radio_signal_callback(NRF_RADIO_CALLBACK_SIGNAL_TYPE_RADIO) is called whenever the NRF_RADIO
+ *       interrupt occurs.
+ * @note p_radio_signal_callback() will be called at ARM interrupt priority level 0. This
+ *       implies that none of the sd_* API calls can be used from p_radio_signal_callback().
+ *
+ * @param[in] p_radio_signal_callback The signal callback.
+ *
+ * @retval ::NRF_ERROR_INVALID_ADDR p_radio_signal_callback is an invalid function pointer.
+ * @retval ::NRF_ERROR_BUSY If session cannot be opened.
+ * @retval ::NRF_ERROR_INTERNAL If a new session could not be opened due to an internal error.
+ * @retval ::NRF_SUCCESS Otherwise.
+ */
+ SVCALL(SD_RADIO_SESSION_OPEN, uint32_t, sd_radio_session_open(nrf_radio_signal_callback_t p_radio_signal_callback));
+
+/**@brief Closes a session for radio requests.
+ *
+ * @note Any current radio timeslot will be finished before the session is closed.
+ * @note If a radio timeslot is scheduled when the session is closed, it will be canceled.
+ * @note The application cannot consider the session closed until the NRF_EVT_RADIO_SESSION_CLOSED
+ *       event is received.
+ *
+ * @retval ::NRF_ERROR_FORBIDDEN If session not opened.
+ * @retval ::NRF_ERROR_BUSY If session is currently being closed.
+ * @retval ::NRF_SUCCESS Otherwise.
+ */
+ SVCALL(SD_RADIO_SESSION_CLOSE, uint32_t, sd_radio_session_close(void));
+
+ /**@brief Requests a radio timeslot.
+ *
+ * @note The timing of the radio timeslot is specified by p_request->distance_us. For the first
+ *       request in a session, p_request->distance_us is required to be 0 by convention, and
+ *       the timeslot is scheduled at the first possible opportunity. All following radio timeslots are
+ *       requested with a distance of p_request->distance_us measured from the start of the
+ *       previous radio timeslot.
+ * @note A too small p_request->distance_us will lead to a NRF_EVT_RADIO_BLOCKED event.
+ * @note Timeslots scheduled too close will lead to a NRF_EVT_RADIO_BLOCKED event.
+ * @note See the SoftDevice Specification for more on radio timeslot scheduling, distances and lengths.
+ * @note If an opportunity for the first radio timeslot is not found before 100ms after the call to this
+ *       function, it is not scheduled, and instead a NRF_EVT_RADIO_BLOCKED event is sent.
+ *       The application may then try to schedule the first radio timeslot again.
+ * @note Successful requests will result in nrf_radio_signal_callback_t(NRF_RADIO_CALLBACK_SIGNAL_TYPE_START).
+ *       Unsuccessful requests will result in a NRF_EVT_RADIO_BLOCKED event, see @ref NRF_SOC_EVTS.
+ * @note The jitter in the start time of the radio timeslots is +/- NRF_RADIO_START_JITTER_US us.
+ * @note The nrf_radio_signal_callback_t(NRF_RADIO_CALLBACK_SIGNAL_TYPE_START) call has a latency relative to the
+ *       specified radio timeslot start, but this does not affect the actual start time of the timeslot.
+ * @note NRF_TIMER0 is reset at the start of the radio timeslot, and is clocked at 1MHz from the high frequency
+ *       (16 MHz) clock source. If p_request->hfclk_force_xtal is true, the high frequency clock is 
+ *       guaranteed to be clocked from the external crystal.
+ * @note The SoftDevice will neither access the NRF_RADIO peripheral nor the NRF_TIMER0 peripheral
+ *       during the radio timeslot.
+ *
+ * @param[in] p_request Pointer to the request parameters.
+ *
+ * @retval ::NRF_ERROR_FORBIDDEN If session not opened or the session is not IDLE.
+ * @retval ::NRF_ERROR_INVALID_ADDR If the p_request pointer is invalid.
+ * @retval ::NRF_ERROR_INVALID_PARAM If the parameters of p_request are not valid.
+ * @retval ::NRF_SUCCESS Otherwise.
+ */
+ SVCALL(SD_RADIO_REQUEST, uint32_t, sd_radio_request(nrf_radio_request_t * p_request ));
+
+/** @} */
+
+#endif // NRF_SOC_H__
+
+/**@} */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TARGET_RBLAB_NRF51822/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/nrf_svc.h	Fri Aug 15 15:28:31 2014 +0100
@@ -0,0 +1,33 @@
+#ifndef NRF_SVC__
+#define NRF_SVC__
+
+#ifdef SVCALL_AS_NORMAL_FUNCTION
+#define SVCALL(number, return_type, signature) return_type signature
+#else
+
+#ifndef SVCALL
+#if defined (__CC_ARM)
+#define SVCALL(number, return_type, signature) return_type __svc(number) signature
+#elif defined (__GNUC__)
+#define SVCALL(number, return_type, signature) \
+  _Pragma("GCC diagnostic ignored \"-Wreturn-type\"") \
+  _Pragma("GCC diagnostic ignored \"-Wunused-function\"") \
+  __attribute__((naked)) static return_type signature \
+  { \
+    __asm( \
+        "svc %0\n" \
+        "bx r14" : : "I" (number) : "r0" \
+    ); \
+  }
+#elif defined (__ICCARM__)
+#define PRAGMA(x) _Pragma(#x)
+#define SVCALL(number, return_type, signature) \
+PRAGMA(swi_number = number) \
+ __swi return_type signature;
+#else
+#define SVCALL(number, return_type, signature) return_type signature  
+#endif
+#endif  // SVCALL
+
+#endif  // SVCALL_AS_NORMAL_FUNCTION
+#endif  // NRF_SVC__
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TARGET_RBLAB_NRF51822/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/softdevice_assert.h	Fri Aug 15 15:28:31 2014 +0100
@@ -0,0 +1,46 @@
+/*
+ * Copyright (c) 2012 Nordic Semiconductor. All Rights Reserved.
+ *
+ * The information contained herein is confidential property of Nordic Semiconductor. The use,
+ * copying, transfer or disclosure of such information is prohibited except by express written
+ * agreement with Nordic Semiconductor.
+ *
+ */
+
+/** @brief Utilities for verifying program logic
+ */
+
+#ifndef SOFTDEVICE_ASSERT_H_
+#define SOFTDEVICE_ASSERT_H_
+
+#include <stdint.h>
+
+/** @brief This function handles assertions.
+ *
+ *
+ * @note
+ * This function is called when an assertion has triggered.
+ * 
+ *
+ * @param line_num The line number where the assertion is called
+ * @param file_name Pointer to the file name
+ */
+void assert_softdevice_callback(uint16_t line_num, const uint8_t *file_name);
+
+
+/*lint -emacro(506, ASSERT) */ /* Suppress "Constant value Boolean */ 
+/*lint -emacro(774, ASSERT) */ /* Suppress "Boolean within 'if' always evaluates to True" */ \
+/** @brief Check intended for production code
+ *
+ * Check passes if "expr" evaluates to true. */
+#define ASSERT(expr) \
+if (expr)                                                                     \
+{                                                                             \
+}                                                                             \
+else                                                                          \
+{                                                                             \
+  assert_softdevice_callback((uint16_t)__LINE__, (uint8_t *)__FILE__);        \
+  /*lint -unreachable */                                                      \
+}
+
+#endif /* SOFTDEVICE_ASSERT_H_ */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TARGET_RBLAB_NRF51822/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_softdevice.hex	Fri Aug 15 15:28:31 2014 +0100
@@ -0,0 +1,5290 @@
+:020000040000FA
+:10000000C0070000D1060000D1000000B1060000CA
+:1000100000000000000000000000000000000000E0
+:100020000000000000000000000000005107000078
+:100030000000000000000000DB000000E500000000
+:10004000EF000000F9000000030100000D010000B6
+:1000500017010000210100002B0100003501000004
+:100060003F01000049010000530100005D01000054
+:1000700067010000710100007B01000085010000A4
+:100080008F01000099010000A3010000AD010000F4
+:10009000B7010000C1010000CB010000D501000044
+:1000A000DF010000E9010000F3010000FD01000094
+:1000B00007020000110200001B02000025020000E0
+:1000C0001FB5C046C04600F0EFFA04B00FB41FBD24
+:1000D00008205A49096809580847382057490968CB
+:1000E000095808473C2055490968095808474020E5
+:1000F0005249096809580847442050490968095875
+:10010000084748204D490968095808474C204B4981
+:10011000096809580847502048490968095808479C
+:100120005420464909680958084758204349096836
+:10013000095808475C204149096809580847602068
+:100140003E4909680958084764203C49096809582C
+:100150000847682039490968095808476C20374919
+:100160000968095808477020344909680958084740
+:100170007420324909680958084778202F490968CE
+:10018000095808477C202D490968095808478020EC
+:100190002A490968095808478420284909680958E4
+:1001A0000847882025490968095808478C202349B1
+:1001B00009680958084790202049096809580847E4
+:1001C00094201E4909680958084798201B49096866
+:1001D000095808479C201949096809580847A02070
+:1001E0001649096809580847A4201449096809589C
+:1001F0000847A8201149096809580847AC200F4949
+:10020000096809580847B0200C4909680958084787
+:10021000B4200A49096809580847B82007490968FD
+:1002200009580847BC2005490968095808470000D3
+:1002300003480449024A034B7047000000000020B5
+:10024000C0070000C00700000122D84B5A6000BF61
+:10025000D74A1268002AFBD0016000BFD44A126856
+:10026000002AFBD00022D14B5A6000BFD04A12684E
+:10027000002AFBD07047F0B505460E46174600240D
+:1002800006E0A200B158A2005019FFF7DDFF641C80
+:10029000BC42F6D30020F0BD0120C043C549086030
+:1002A000401048607047014601229204086890425D
+:1002B00001D9102070470020FCE7F0B505460C4638
+:1002C0001646002706E028462168FFF7BDFF2D1DD2
+:1002D000241D7F1CB742F6D3F0BD70B505460C4611
+:1002E0002E460BE0304600F075F9FF2C01D80024B3
+:1002F00001E0FF3C013C012080023618002CF1D1C6
+:1003000070BD0146012292044868904201D909203B
+:100310007047A9484069401C01D10F20F8E7002030
+:10032000F6E7FEB504462068030000F037FA05043E
+:100330002B4249598B00201DFFF7E3FF0546002D96
+:1003400001D02846FEBDFFF7A7FF0120C00200F044
+:1003500041F9042221469948FFF78DFF002801D07A
+:100360000320EFE708222146944800F06DF90028A9
+:1003700006D1002192480068FFF766FF00F00CF9F3
+:100380000320DFE7A768E6686068019031463846D9
+:10039000FFF7A3FF324638460199FFF78EFFB20000
+:1003A0003846019900F050F9002800D1CAE703202F
+:1003B000C8E700F0E3F9834800688349086041E03A
+:1003C00060680190E668A0680090B200009901980A
+:1003D00000F03AF90746002F00D1B3E70E20B1E74D
+:1003E000201DFFF760FF0546002D01D02846A9E734
+:1003F0006068002807D1FFF74FFF0320800200F05C
+:10040000E9F800F0C9F8FFF747FF0120C00200F04B
+:10041000E1F8042221466948FFF72DFF002801D0AA
+:1004200003208FE708222146644800F00DF90028D8
+:1004300006D1002162480068FFF706FF00F0ACF823
+:1004400003207FE700BF00207CE770B505460C461F
+:10045000182D04D12068FFF764FF206002E001201E
+:10046000206000BF00BF70BDF0B589B05248406940
+:1004700003905248806881000398081802900398FE
+:10048000000B01900121090302984018401E000B47
+:1004900000900124002520462946019A00F0C4F866
+:1004A0000022401E91410791069001260027304608
+:1004B0003946009A00F0B8F80022401E914105919B
+:1004C0000490049BDB43059AD2430698184307998E
+:1004D00011430791069037490698086007984860CD
+:1004E00009B0F0BD70B53448446934488568466841
+:1004F000AA003146204600F0A7F8002801D00020CD
+:1005000070BD0120FCE72D484068002801D0012083
+:1005100000E000200546FFF7E5FF002807D0FFF7C1
+:10052000BBFE0320800200F055F800F035F8FFF71D
+:100530009BFF002D0ED020484669204884684768FC
+:1005400021463046FFF7C9FE224639463046FFF7BE
+:10055000B4FE00BF00F020F810B5184844681A48EF
+:100560000460204600F0DCF810BD15480068006803
+:10057000401C01D100BFFEE710480068002802D0EF
+:10058000042806D101E0FFF7BEFFFFF7E5FF00BF3B
+:10059000FEE700BF00BFFEE7BFF34F8F0B480C49DB
+:1005A000C860BFF34F8F00BFFEE7000000E50140C9
+:1005B00000E40140000600400010001000080000A8
+:1005C000B8070000BC070000000000200400FA0586
+:1005D00000ED00E010B50146104B1A6808460223F2
+:1005E0000F4C636000BF0F4B1B68002BFBD0531CEC
+:1005F00004D0904202D20A4B186101E0084B986087
+:1006000000BF084B1B68002BFBD00023044C636029
+:1006100000BF044B1B68002BFBD010BD0010001066
+:1006200000E5014000E4014010B5202A04DB01464A
+:10063000203A9140002010BD914020239C1A03468F
+:10064000E3401943904010BD034610B50B439B0790
+:100650000FD1042A0DD308C810C9121FA342F8D025
+:1006600018BA21BA884201D9012010BD0020C04328
+:1006700010BD002A03D0D30703D0521C07E000208E
+:1006800010BD03780C78401C491C1B1B07D1037854
+:100690000C78401C491C1B1B01D1921EF1D118463D
+:1006A00010BD70477047704710B500F007F810BDD7
+:1006B000014B1B68DB6818470000002019481A49E5
+:1006C0007047FFF7FBFFFFF7FBFC00BD20BFFDE716
+:1006D0001649174C24688C420BD1164B1B68994263
+:1006E0000CD1154B154A1360186810498842EDD09B
+:1006F0000AE0134880F30888124B18470F4A13602A
+:1007000018680A498842E1D080F308880E49884277
+:1007100004DD0E48026802210A4302605B68184744
+:100720000346DFE7C0070000C0070000FFFFFFFF30
+:10073000000C000014100010001000000000002049
+:10074000000400206B05000000200020240500406C
+:100750000D48704502D1EFF3098101E0EFF3088104
+:10076000886902380078182802D1C046074A104725
+:10077000074A12682C3212681047000000B5054B7A
+:10078000054A9B58984700BDFDFFFFFF4B04000042
+:1007900000000020001000000400000030B4744687
+:1007A000641E2578641CAB4204D3635D5B00E318D0
+:1007B00030BC18471D46F8E7000C00000010000090
+:10100000901D002079500100ED3D0000DF4F0100F0
+:1010100000000000000000000000000000000000D0
+:10102000000000000000000000000000E950010086
+:101030000000000000000000ED3D0000ED3D00005C
+:10104000555101005B510100ED3D0000ED3D0000F8
+:10105000ED3D0000ED3D0000ED3D0000ED3D0000E8
+:1010600061510100ED3D0000ED3D000067510100C0
+:10107000ED3D00006D5101007351010079510100F7
+:10108000ED3D0000ED3D0000ED3D0000ED3D0000B8
+:10109000ED3D0000ED3D0000ED3D0000ED3D0000A8
+:1010A0007F51010085510100ED3D0000ED3D000044
+:1010B000ED3D0000ED3D0000ED3D0000ED3D000088
+:1010C00000F002F813F0B9FF0CA030C8083824185B
+:1010D0002D18A246671EAB4654465D46AC4201D170
+:1010E00013F0ABFF7E460F3E0FCCB64601263342CF
+:1010F00000D0FB1AA246AB463343184744410100D7
+:1011000074410100103A02D378C878C1FAD8520766
+:1011100001D330C830C101D504680C6070470000AD
+:101120000023002400250026103A01D378C1FBD803
+:10113000520700D330C100D50B6070471FB5C046C1
+:10114000C04613F01BFF04B00FB41FBD82690249F3
+:1011500081610248104470476111000001000000E5
+:1011600001B41EB400B510F02FFC01B401988646FE
+:1011700001BC01B01EBD0000F0B4404649465246D5
+:101180005B460FB402A0013001B50648004700BF1E
+:1011900001BC86460FBC8046894692469B46F0BC01
+:1011A00070470000C1100000401E00BF00BF00BF1C
+:1011B00000BF00BF00BF00BF00BF00BF00BF00BF37
+:1011C00000BFF1D17047000070B505460C461646C9
+:1011D00002E00FCC0FC5103E102EFAD2082E02D31B
+:1011E00003CC03C5083E042E07D301CC01C5361F2E
+:1011F00003E021782970641C6D1C761EF9D270BD45
+:101200008307FF22DB0E9A408907090E99400028C8
+:101210000BDA0007000F0838830828489B001B18CA
+:10122000D86990430843D8617047830824489B00DD
+:101230001B181868904308431860704710B504469F
+:1012400000210120FFF7DCFF00211820FFF7D8FF65
+:1012500000210B20FFF7D4FF02211920FFF7D0FF58
+:1012600002210D20FFF7CCFF02210E20FFF7C8FF5F
+:1012700002210F20FFF7C4FF0221C81FFFF7C0FFA4
+:1012800003211620FFF7BCFF03211520FFF7B8FF4D
+:10129000204600F019F8002010BD4F210180704752
+:1012A00010B500F03AF810BD0648704710B500F0D0
+:1012B00035F810BD704770477047000000ED00E042
+:1012C00000E400E003F900C330B50446374D95B0A3
+:1012D00007202870A81CFFF7E0FF5920A880344899
+:1012E00001F020FC0546072000F0DCF929462F48D4
+:1012F00000F08CFA641E072C0AD830216846017071
+:10130000847001F0DDFA002802D009A800F0DDFCAD
+:10131000284601F083FE15B030BD7047F8B5234E66
+:101320000446B61E307801270D46002807D0204617
+:1013300060380B2808D8204601F096FB2BE0602C83
+:10134000F9D01C480860F8BD20466C38032803D843
+:10135000204601F0CBFB1EE0204670381F2803D842
+:10136000204600F037F816E0204690380F2803D8C2
+:10137000204600F0BBF80EE02046A0380F2803D826
+:10138000204600F023F906E02046B0380F2804D8A4
+:10139000204600F000F9286000E02F60602CD2D1D8
+:1013A00028680028CFD13770F8BD00001A0000204F
+:1013B000C33300000130000070477047704770472A
+:1013C000704770477047704710B5012801D100F091
+:1013D00042FA10BD10B57038030013F0EBFE150C87
+:1013E00012161E22252C33383D41454950555C6468
+:1013F0006C747B8085004A680878114603F081FF91
+:1014000010BD086803F0F9FF10BD0C790B7B8A68EA
+:101410000868214604F005F810BD086804F07EF85D
+:1014200010BD03F05BFC10BD08884A6880B211460D
+:1014300004F043FA10BD0A790888114680B204F01E
+:1014400091FA10BD087840B204F09CFA10BD0888EB
+:1014500080B204F0B8FA10BD086804F0C7FA10BDF5
+:10146000086804F0DFFA10BD086804F00AFB10BD3C
+:10147000088982B209C9194604F034FB10BD05C9B8
+:10148000114604F082FB10BD08884A6880B21146FC
+:1014900004F0A0FB10BD0B7908888A6880B2194659
+:1014A00004F0FDFB10BD0B7908888A6880B21946EC
+:1014B00004F0B3FC10BD08884B688A6880B21946F6
+:1014C00004F0F3FC10BD08884A6880B2114604F0AD
+:1014D0003EFD10BD088880B204F056FD10BD08889E
+:1014E00080B204F076FD10BD012010BD10B590381B
+:1014F000030013F05FFE09060F161D242C363F462D
+:101500004E0088888A6883B20888194680B205F040
+:1015100093F910BD08884A6880B2114605F0E9F9D0
+:1015200010BD08884A6880B2114605F02DFA10BD3A
+:1015300008884A6880B2114605F063FA10BD088831
+:101540004B688A6880B2194605F094FA10BD088984
+:1015500082B2888883B20888194680B205F0C9FA39
+:1015600010BD08894B6882B20888194680B205F020
+:10157000FEFA10BD08884A6880B2114605F02EFBBD
+:1015800010BD888882B20888114680B205F0C2FB7F
+:1015900010BD012010BD10B5B02805D0B12808D06D
+:1015A000B2280BD0012010BD088880B205F0A6FE3D
+:1015B00010BD088880B205F0D1FE10BD08884B68C8
+:1015C0008A6880B2194605F0DAFE10BD10B5A03861
+:1015D000030013F0EFFD0B070E172028323C434D9C
+:1015E000545D65004B6808788A68194607F017FA59
+:1015F00010BD88888A6883B20888194680B207F0CF
+:1016000023FA10BD08884C68CB688A6880B22146EE
+:1016100007F02AFA10BD08884B688A6880B219461C
+:1016200007F044FA10BD8888CB6884B208888A68BD
+:1016300080B2214607F064FA10BD8888CB6884B276
+:1016400008888A6880B2214607F089FA10BD0888A8
+:101650004A6880B2114607F0BDFA10BD088982B20F
+:10166000888883B20888194680B207F0BDFA10BD99
+:1016700008884A6880B2114607F0DAFA10BD088976
+:101680004B6882B20888194680B207F057FB10BD3C
+:1016900008884B688A6880B2194607F014FC10BDB0
+:1016A000012010BD10B507F0FAFC0FF0A7FF00F005
+:1016B00007F810F0F5F808F0F5F908F081F910BD19
+:1016C00001202B49C00308602A490020087003202C
+:1016D0002949800288607047F8B5264D044628786D
+:1016E000A04207D0002C05D0002803D023A14D2014
+:1016F00013F06FFC2878A04213D02C700325002330
+:101700002349AD021C48002C27D01B4A214E4032F1
+:10171000214F012C06D0022C13D018A16E2013F0FB
+:1017200058FCF8BD0B6002230B604E6185601B49BD
+:1017300011625762091D91621749091DD162456006
+:10174000F8BD0B6003230B604E610121C90281606B
+:10175000134B9362D7624160F8BD0B600B608560EC
+:10176000F8BD10B505A1772013F033FC10BD0000C3
+:1017700080E100E02000002000F501407372635C0E
+:1017800068616C5F63636D5F6161722E630000006E
+:1017900000F500407C01002000F0004000110040F6
+:1017A000488100401CB50446002069460870204668
+:1017B00009F0F6F86946204608F0B4FF002803D186
+:1017C000FBA1B62013F005FC01A9204608F009FF93
+:1017D000002803D1F6A1BB2013F0FBFB684600787C
+:1017E0001CBD70B5F74D002428462C76203084713E
+:1017F000C47113F0EDFC2846403804702030847327
+:10180000847484762C74AC7070BDEAE710B50C4615
+:10181000ED4982888A8042884A80007808700846AC
+:101820000A38847008F0B3FEFFF7DBFF20460AF0A9
+:101830002FFAE44AE0321146383908461446813816
+:1018400009F020F92146E0480BF0C2FC09F09FF8AE
+:1018500013F0BEFC10BD10B50120FFF7ADFD10BDAB
+:10186000F8B509F083FDD84DD64C0A3D022802D0C8
+:10187000207C00287CD0207E0026102819D1A0785A
+:10188000002803D0CAA1D14813F0A3FBCD48E83803
+:10189000817A89070DD50146267160398989E180F1
+:1018A000C17A217281896181C089A0810120A070E3
+:1018B0002676C44F203FB87C002859D1C4486946D9
+:1018C000808908F02FFF002805D0694668780978DC
+:1018D0004018687004E0BD48B5A11D3013F079FBD5
+:1018E000207C002838D0BA488189FF300930406D0B
+:1018F0008089814204D0B548ADA1223013F069FB44
+:10190000B348808908F0B4FF002804D1AF48A8A1EB
+:10191000283013F05EFB09F022F800281CD0AC48F8
+:101920008089FFF73FFF697840186870A548403804
+:10193000416D20318A7C012A0DD1A54A3E779289DA
+:10194000C287C87C20700120B876207E102801D084
+:10195000282800D1267626746978002908D09C486A
+:101960008289FF300930C28601870120B8746E7009
+:1019700009F0CCFC002805D1207C002802D0A878F2
+:1019800001F0F4F8F8BDF8B50F460446FFF768FF1C
+:101990008C4D403D28788B4E002813D0002F10D15D
+:1019A000307E002804D0FF2081A1C63013F011FB47
+:1019B0002C22A91C204613F06FF90E202070002065
+:1019C00028708FE07F4D203DA87B002818D0002F85
+:1019D000F7D1307E102808D0282806D0002804D05F
+:1019E000FF2073A1D23013F0F4FA0120E070E87BFD
+:1019F000A070287C60700F2020700020A87371E018
+:101A00000121204608F0E4FF002807D0307C0028A0
+:101A100051D13946204608F0DBFFF8BDA97C694862
+:101A20000C38009068480A38002913D0017805293D
+:101A300010D2002F56D1491C0170002666700D206F
+:101A40002070012028750622A01C009913F024F9AB
+:101A5000AE7447E05C4800210A380170B078002875
+:101A600014D0002F3ED1307E002803D050A1594819
+:101A700013F0AFFA002565700120524920700A2248
+:101A8000091DA01C13F008F9B5702BE0394620465B
+:101A90000BF008FB002825D1A87C002805D0002FDA
+:101AA00020D149480A380178C5E7A87E002802D02D
+:101AB000307C002801D00020F8BD002F12D1307EEC
+:101AC000002804D08F203AA1800013F082FA00266B
+:101AD00066700A203B4920700622091FA01C13F0E3
+:101AE000DBF8AE760120F8BD10B53648017E00293E
+:101AF00008D1007C012805D001210020FFF743FF19
+:101B0000002801D0072010BD012010BD10B5012410
+:101B10000AF006F90443FFF7E7FF044308F038FF33
+:101B200001462143084610BDF8B51D4614460E4631
+:101B300008F077FD002807D0684608F07DFD0028F2
+:101B400003D0002C07D101E00120F8BD9B2018A193
+:101B5000800013F03EFA08F01BFDA04204D21D489D
+:101B600013A1583013F035FA009808F089F931467E
+:101B7000009808F097F9E2B22946009808F04EFB69
+:101B800008F06CFD002804D19F2009A1800013F00B
+:101B900020FA08F0FFFE0E4800244030417C002966
+:101BA00002D044740AF0A7F90948C480CCE70000C9
+:101BB0007372635C6C6C5F6374726C2E73302E6333
+:101BC00000000000200300202C00002082060000FE
+:101BD000D80100201502000010B50179002908D0B5
+:101BE00001290BD0FF20FE49043013F0F2F9002048
+:101BF00010BD831D42880488022103E042880488C6
+:101C0000831D01212046FFF78FFF10BDF8B51F4649
+:101C100015460E46044609F0A9FB022803D0F148F8
+:101C2000007C00281FD0F0488089208008F020FE2A
+:101C3000002803D1EA49ED4813F0CBF905246846A2
+:101C400008F021FE00280ED0009808F063F93070EB
+:101C5000022809D0012807D008F055FE641E24068A
+:101C6000240EECD10020F8BD3946009808F0EEFAB9
+:101C70002880002804D1AF20D949800013F0A9F9A9
+:101C800008F041FE002804D1D848D549193013F096
+:101C9000A0F90120F8BD38B50446831D821C6946B1
+:101CA000FFF7B4FF00280DD000206071684600786F
+:101CB000012808D0022806D0FF20C949253013F09A
+:101CC00088F9012038BD2071FBE700215BE670B583
+:101CD000C44C0546403C2078002803D1C148007E12
+:101CE000002804D0C120BE49C00013F072F9287842
+:101CF00008F085FF28780BF0C1FB0020207101203F
+:101D000060713921E170207070BD70B5B54D044629
+:101D1000403D2878002803D1B248007E002804D036
+:101D20005F20AF49000113F054F9AF4E2188B0890C
+:101D3000884203D109F01AFB022807D0022028713B
+:101D4000012068713821E970287070BD7F2070769D
+:101D5000A548E17820304174A17801740020EEE7B5
+:101D600010B5A04C403C207800280BD19D48007E47
+:101D7000002807D109F0FAFA032803D009F0FAFA8B
+:101D8000032804D199489649653013F022F9954902
+:101D900000202031C8712071012060713A21E1706A
+:101DA000207010BD70B58F4C0646403C207800284E
+:101DB0000BD18C48007E002807D109F0D7FA032800
+:101DC00003D009F0D7FA032804D1884884497B302E
+:101DD00013F0FFF8834D2035E87908280CD2E87914
+:101DE0001022000100196830314600F025FEE87924
+:101DF000401CE871002000E0072020710120607184
+:101E00003B21E170207070BDF8B5764D0446403D31
+:101E10002878002803D17348007E002803D0704939
+:101E2000734813F0D6F8704F2188B889884203D1DF
+:101E300009F09CFA022801D0022022E03E8C64883E
+:101E40007200788CF98B521C944217D3694A514323
+:101E50009200504312F09AFF401EFF2180B2F531EC
+:101E6000884200D90846844200D22046711C401C9A
+:101E700012F08CFF761C7043401E86B2FE85EE8009
+:101E800000202871012068713C21E9702870F8BD9C
+:101E9000F8B5544C0546403C2078002803D1514801
+:101EA000007E002804D052484D492C3813F091F898
+:101EB000A878002801D0012804D1A888FF21F53195
+:101EC000884204D959204649000113F082F8464E51
+:101ED0002988B089884203D109F048FA022807D03E
+:101EE00002202071012060713621E1702070F8BD60
+:101EF0003D48002720308772A988B18501213176BD
+:101F0000A978012900D00021817237484030407CF7
+:101F1000002801D009F0EFFF2771E3E770B5314CDD
+:101F20000546403C2078002807D12E48007E002836
+:101F300003D109F01BFA002804D02D482849533852
+:101F400013F047F8287809F0EEFE002020710120F8
+:101F500060713021E170207070BD70B5214C054674
+:101F6000403C2078002803D11E48007E002804D081
+:101F70001F481B495F3013F02CF8287800280BD03D
+:101F8000012809D0022807D06878402804D31848CF
+:101F90001349663013F01DF8284609F0DEF90028D1
+:101FA00001D0002000E00C2020710120607134215C
+:101FB000E170207070BD70B50A4C0546403C207839
+:101FC000002807D10748007E002803D109F0CEF988
+:101FD000002804D057200249000112F0FAFF0BE05C
+:101FE000B01B000020030020D8010020AA0200003E
+:101FF000B6050000C40900002978002913D00A2979
+:1020000011D014290FD01E290DD028290BD0322928
+:1020100009D04B2907D0642905D0FF2903D0FE49F8
+:10202000FE4812F0D6FF284609F0FCFE0020207181
+:10203000012060713321E170207070BD70B5F84CE3
+:1020400006462078251D002804D120464030007E19
+:10205000002804D05520F049000112F0BAFF3146A3
+:10206000002008F0A1FD2870002804D10622314686
+:10207000EC4812F011FE012060713221E1702070F5
+:1020800070BD70B5E64C05462078002804D1204686
+:102090004030007E002804D0A720DF49C00012F0A5
+:1020A00098FF00216956042914D0002912D0081D78
+:1020B00010D0001D0ED0001D0CD0001D0AD0001D38
+:1020C00008D00A3006D0283104D0D448D249443848
+:1020D00012F07FFFD448297801700120607131210E
+:1020E000E170207070BD10B5CD4C2078002804D16F
+:1020F00020464030007E002803D0C749CB4812F06C
+:1021000068FF08F045FAE08008F00AFB2072002022
+:102110002071012060710521E170207010BDF8B5BB
+:10212000BF4C07462034A07B25462035002805D12A
+:10213000287E002802D1A878002804D0B748B649E4
+:10214000703812F046FF09F011F91026022822D14A
+:10215000B7483988808988421DD1B1494839084635
+:102160000A7F6038807A002A03D080070CD40C20C4
+:102170000CE0800708D406200877AD484030407C4A
+:10218000002801D009F0B7FE2E760020E0732674F7
+:102190000120A073F8BD0220F8E710B5A04C20780C
+:1021A000002804D120464030007E002804D09B48FF
+:1021B0009949823812F00DFF002020710E20A07086
+:1021C0000F20E070FF20A0710020C04320819548BF
+:1021D000C01D0178A1728188A1814088E081012021
+:1021E0006071207010BD10B58D4C2078002804D18E
+:1021F00020464030007E002803D087498D4812F0E9
+:10220000E8FE0821A01D0FF095FA002020710120A2
+:1022100060712B21E170207010BD70B5804D0446B7
+:102220002878002804D128464030007E002804D0B9
+:102230007A487949B13012F0CCFE7D48102221460F
+:10224000303800F0F9FB7A481022A118203800F04D
+:10225000F3FB774830380FF074FB754910221039C2
+:102260002C46A81D00F0E8FB002020710E20A07075
+:102270002A20E07001206071207070BDF8B5684CB4
+:1022800005462034A07B26462036002802D1307E29
+:10229000002804D067486049E53012F09AFEA9781A
+:1022A000052912D0132910D014290ED015290CD0CD
+:1022B0001A290AD0292908D03D2906D03B2904D063
+:1022C0005C485549ED3012F084FE28885A4988420E
+:1022D00004D958485049F63012F07BFE09F046F810
+:1022E0000C212827022809D151482A888089904248
+:1022F00015D14B484838027E002A01D0E17310E026
+:10230000A97841760121017637760020E0734848AC
+:102310004030407C002804D009F0EDFD01E00220AF
+:10232000E07327740120A073F8BDF8B53C4F064652
+:1023300038783D1D002804D138464030007E002802
+:1023400004D089203449C00012F043FE31460120F8
+:1023500008F02AFC01242870002807D13048062202
+:1023600060303146054612F097FCAC717C71172045
+:10237000F8703C70F8BDF0B52B4F85B0403F3D7A0A
+:10238000064627480078002804D13846A038007E49
+:10239000002804D0D3202049800012F01AFE3078A3
+:1023A000002806D0012804D022481B492C3812F0FE
+:1023B00010FE082D4CD21C4820380190C46930789A
+:1023C00000283FD0012804D01A4813491E3812F0C3
+:1023D00000FE294608310120884004430120A8401E
+:1023E00020430090B1790E4C0802727969000919F6
+:1023F0001043FF3101318881B01C12F0AEFC7178BE
+:1024000000020843A9000919C031C862387A401C8B
+:1024100038720199009811E0B01B00007E050000A1
+:10242000E00200202500002000040020E706000054
+:10243000D801002079030000FF0E0000C8610020D1
+:10244000207108E029460831012088408443C5E70F
+:10245000FE48072101710121FC480B224171C27025
+:10246000017005B0F0BD10B5F84C2078002804D1FB
+:1024700020464030007E002803D0F549F54812F090
+:10248000A8FD12F0A5FE00202071012060710A2134
+:10249000E170207010BD10B509F0DDFB002804D0FC
+:1024A000EC48EB49583812F094FD08F06FFA08F048
+:1024B00052F80AF07EFE002804D0BD20E4498000D6
+:1024C00012F087FD08F0B3FA002804D05F20E0493D
+:1024D000C00012F07EFD12F07BFEDF480024047085
+:1024E000FFF77FF9D9480121047141710222C270BE
+:1024F000017010BD70B5D54D04462878002804D170
+:1025000028464030007E002804D0F320D0498000C7
+:1025100012F05FFD20781F2801D8601C04D1CD483F
+:10252000CB498F3012F055FD002028712078611CB6
+:1025300008F054FB012068712021E970287070BDFB
+:10254000F8B5C24C0646207825464035002802D111
+:10255000287E002804D0BF48BD499C3012F039FDC8
+:102560003078012806D0002804D0BA48B8499D30F8
+:1025700012F02FFD012060710C20207130780027AF
+:10258000B64E012808D008F0F1FE032867D008F005
+:10259000F1FE032871D076E008F0E8FE002803D1B0
+:1025A00008F0E8FE002804D008F0E0FE02283DD044
+:1025B00069E008F07EFA002865D0287C002862D106
+:1025C000A64802210C300FF03EF8002806D00F215B
+:1025D000B089090212F0DAFBB18100E0B781012273
+:1025E00003219E4807F05AFE9C4808F006FCB0897B
+:1025F00007F0D0FF002804D196489549B83012F072
+:10260000E8FCB089002108F0C9F9002804D09148FD
+:102610008F49BC3012F0DDFC297F688B09F087FB05
+:1026200000282FD08B488A49C03015E008F0A2FE60
+:10263000002828D1287F002825D0012823D008F0A1
+:1026400038FA00281FD0297F688B09F070FB00281A
+:1026500018D080487E49D33012F0BBFC12E0002035
+:1026600009F098FA00280ED12771287C00280AD199
+:10267000B089FFF797F806E0FFE7002009F08AFA33
+:10268000002800D127711B20E07001202070F8BDC8
+:1026900070B56E4D04462878002804D12846403095
+:1026A000007E002804D06B486949803012F091FC0C
+:1026B00020781F2801D8601C04D166486449813005
+:1026C00012F087FC002028712078611C08F09AFA2B
+:1026D000012068711A21E970287070BDF8B55B4D52
+:1026E000044628780C272E46403600280AD1307E32
+:1026F000002807D108F03AFE032803D008F03AFE7C
+:10270000032804D153485249473012F062FC6079E3
+:10271000002801D001282FD1A079002801D001285C
+:102720002AD1A07B002805D0012803D0022801D09F
+:10273000032821D1607B40071ED0618801208003DF
+:10274000814202D82288824201D920790CE0207986
+:10275000002804D0022805D0032803D004E0202953
+:1027600004D209E0A02A01D2012805D1208888429C
+:1027700007D92079012804D0364835495C3012F059
+:1027800028FC20887083207930776079002802D077
+:10279000012803D00CE0324A002105E02B4A6032C8
+:1027A0009079002804D00121204608F086F90746D8
+:1027B00001202F7168711821E9702870F8BD70B57B
+:1027C000224C05462078002804D120464030007E67
+:1027D000002803D01E49234812F0FBFB08F0C6FD79
+:1027E0000C2102280ED11D482A8883899A4219D1CA
+:1027F0000246C032137F002B04D1807E0E2803D006
+:102800000F2801D0217103E00520107700202071EE
+:102810000E20A0702E20E0702888E08001206071DA
+:10282000207070BD0220F2E770B5084C0546207894
+:10283000002804D120464030007E002804D00948FA
+:1028400003492C3812F0C5FB0EE00000E002002026
+:10285000B01B00003E03000000040020D80100204F
+:1028600025000020D104000008F080FD0C21022882
+:102870000ED178482A8883899A421FD10646C036ED
+:10288000327F002A04D1807E0E2803D00F2801D089
+:10289000217109E06F481022A91CEA3012F0FCF9FE
+:1028A00004203077002020710E20A0702D20E070D1
+:1028B0002888E08001206071207070BD0220F2E75E
+:1028C00010B501780B0012F075FC3D8787388787BB
+:1028D00058878787873B3E878787515487878787B5
+:1028E00087874228872C3087878787348787878721
+:1028F00087878746874A4E872024876B5B5F63679D
+:10290000876F877E827B77738700801CFFF78CFF41
+:1029100060E0801CFFF753FF5CE0801CFFF7DEFEE9
+:1029200058E0801CFFF7B4FE54E0801CFFF708FE5F
+:1029300050E0801CFFF7DEFD4CE0FFF7ACFD49E006
+:10294000FFF791FD46E0801CFFF715FD42E0801C7B
+:10295000FFF7EBFC3EE0801CFFF790FC3AE0801CA8
+:10296000FFF75BFC36E0FFF73EFC33E0FFF715FCBA
+:1029700030E0801CFFF7D3FB2CE0FFF7B4FB29E02D
+:10298000801CFFF77EFB25E0801CFFF757FB21E052
+:10299000801CFFF710FB1DE0801CFFF7DEFA19E03A
+:1029A000801CFFF7BBFA15E0801CFFF771FA11E0FD
+:1029B000801CFFF729FA0DE0801CFFF7F3F909E00E
+:1029C000FFF7CEF906E0801CFFF79FF902E0801CBC
+:1029D000FFF77DF9012010BD002010BD10B51E4984
+:1029E0001E4812F0F6FA10BD70B51D4A01241146BA
+:1029F000184D4031030012F0DDFB05191C1C0419B1
+:102A00001C0001220021134807F048FC1448002153
+:102A1000483801774177C03809F005FA002804D01A
+:102A20000E480D49D33012F0D4FA70BD0C745565C0
+:102A300070BD09490B48F6E730B5134606E0CC18DF
+:102A4000203CE47FD51A44555B1EDBB2002BF6D147
+:102A500030BD0000D8010020B01B0000410600007E
+:102A6000E00200204707000010B56038030012F0B4
+:102A7000A1FB0A060A0F13181F262A31363B0868E5
+:102A800000F093FD10BD05C9114600F0ADFD10BD6D
+:102A9000086800F04CFE10BD05C9114600F054FE58
+:102AA00010BD4B6808788A68194600F065FE10BDB5
+:102AB0004B688A680868194600F07FFE10BD0868F8
+:102AC00000F09AFE10BD08884A6880B2114600F0F6
+:102AD000EAFE10BD05C9114600F00AFF10BD05C988
+:102AE000114600F01DFF10BD012010BD10B56C286F
+:102AF00001D0012010BD087800F0B8FE10BD000024
+:102B000001203F49400608603E4908603E490A6886
+:102B1000FF231B029A4383121A430A603849803903
+:102B20000860704710B502460420384904E0C3002D
+:102B30005B181B79002B0AD00346401EC0B2002B45
+:102B4000F5D133A1432012F044FAFF2010BDC30099
+:102B5000CA50002259184A718A7101220A7110BDA7
+:102B60002A4A0021C00080180171704710B5044640
+:102B7000042803D326A1522012F02BFA2348E100A7
+:102B80000C182079012803D021A1532012F021FA3A
+:102B90006079A179401CC0B2814200D060710120EF
+:102BA000174940068031086010BD70B516480068AE
+:102BB0000004800F022803D015A1692012F009FA41
+:102BC000124E194C03252078C10088190279012A78
+:102BD00007D1427983799A4203D042798271705841
+:102BE00080472078401CC0B22070042801D3002008
+:102BF000207028466D1EEDB20028E4D170BD0000A3
+:102C000080E100E080E200E018E400E02C12002007
+:102C10007372635C736F635F7369676E616C6C6919
+:102C20006E672E63000000003C00002010B5EFF33B
+:102C30001080C407E40F72B6D6484178491C417031
+:102C40004078012801D10FF065F9002C00D162B65F
+:102C500010BD70B5CF4CE07800280AD10125E57091
+:102C6000FFF7E4FF0FF05EF9002804D000200FF01A
+:102C700031F9002070BDC84865714560F9E770B54D
+:102C8000EFF31080C507ED0F72B6C24C60780028D4
+:102C900003D1C2A18F2012F09CF96078401E6070B1
+:102CA0006078002801D10FF039F9002D00D162B60B
+:102CB00070BD10B5B748C178002904D0002141711A
+:102CC000C170FFF7DCFF002010BD10B504460FF007
+:102CD00029F9B049C978084000D0012020600020BF
+:102CE00010BDF8B50246AB4C0026A67108200421A1
+:102CF00001251027130012F05DFA0D080A0C0E10C2
+:102D00001214161E262123252800257122E00220F8
+:102D100001E021711EE020711CE027711AE02020E3
+:102D2000F9E7012616E0FFF781FF0FF0FBF8002816
+:102D3000FBD002260EE02171A5710BE02771FBE7A5
+:102D4000202000E040202071F6E7FF2093A17E3094
+:102D500012F03FF90FF0F2F8002809D00FF0F4F864
+:102D6000B04205D130460FF0F2F80028FAD024E046
+:102D700001208007C5608D4A002151608C4A966110
+:102D8000854B02225A6085608A4803690569DB43E6
+:102D9000DB06DB175B1C10273D430561834D00E01C
+:102DA00020BF6F68002FFBD0002B03D107691023D1
+:102DB0009F430761784882606960A07900280CD041
+:102DC0000FF0B0F805460FF00DF87B4A002D02D049
+:102DD000A260E06001E0E260A060002E01D100F09E
+:102DE000B1F8F8BD10B504460FF0A2F8002805D0E0
+:102DF00068490120C8704A78521C4A702046FFF783
+:102E000070FF10BDF8B5694FB8680025012802D1E0
+:102E1000BD600FF05FF87868012800D17D603868E8
+:102E200001265C4C012814D13D606079002803D054
+:102E300000200FF04FF865712078002809D00FF0BE
+:102E400071F8002805D05948C0388663000606612D
+:102E5000A670386901282CD13D6100F068F8012086
+:102E600080074661A079002815D00FF05BF800902C
+:102E70000EF0B8FF0099002901D0E16800E0A168D8
+:102E8000411A022901DA8A1C13DC0099002901D0B9
+:102E9000E06000E0A060FFF7C9FE0FF043F80028F3
+:102EA00006D04248C038866300060661A67000E07E
+:102EB0002670F868012819D100F039F800F037F8C9
+:102EC00000F035F8A078002804D1FF2033A10530A8
+:102ED00012F07FF8FD60A5702570FFF7D0FE0EF0B0
+:102EE000F8FA002802D03148C038C663F8BD10B5E2
+:102EF000284CE078002801D10FF010F8012081075C
+:102F0000886100F014F8A07800280BD0274CE06806
+:102F1000002803D10FF01BF80028F8D10020E06052
+:102F200000F005F800201C49C043886010BD08B5BA
+:102F30005020694608806A461088411E118000288A
+:102F4000F9D108BDF8B51448192787601749002042
+:102F50000860C8600EF0E6FFBD0701240D4E002892
+:102F600005D01248C03884632C61B47000E034701E
+:102F7000FFF75CFE084847600D4930798863FFF72A
+:102F8000D6FFAC61FFF7D3FF0849002008616C61F0
+:102F9000F8BD000040000020000300407372635C35
+:102FA000736F635F636C6F636B2E6300000100409F
+:102FB0000005004000ED00E0FFFFFF7F10B510F0BE
+:102FC00064F810BD00200449C8630120012181403C
+:102FD000024A116000BF7047C01F004080E200E05D
+:102FE00010B504460BF095F820460CF0AAF810BD79
+:102FF0007047704770477047704770477047704719
+:1030000010FFFFFFDBE5B151006001004F00FFFF43
+:1030100003B40148019001BD09000020FE49487039
+:10302000704710B5030012F0C5F8080E050E080829
+:103030000B0B0E1104F07DF810BDFFF7D1FF10BD92
+:103040000DF0E8FF10BD01F095FE10BDFF20F3A1CB
+:10305000713011F0BEFF10BD7FB5F44905464868D8
+:103060008968082301910090F14A1946F1480EF051
+:103070008BFD0024F0480EF0A5FD641CE4B2082C82
+:10308000F8D3EB490320803140020CF02FF90028DF
+:1030900003D0E2A1962011F09CFF1E220221E748F6
+:1030A0000AF0E7FCE5481E22032110300BF05BFA22
+:1030B000E2480722342174300AF034FCDF484C2106
+:1030C000283011F048FEDD496A46743108464C3814
+:1030D0000164FF317B31416401211172039002F0E0
+:1030E000B4F802A80CF050FC002803D0CBA1AA2011
+:1030F00011F06FFFCF4802222421A8380AF012FCF9
+:10310000CC4802222C215C380AF00CFCCC490B2064
+:103110000EF082F8002803D0C0A1B72011F059FFAB
+:1031200003F0F4FF03F0F8F904F05AFE6B460022B6
+:103130000821C4A001F070FF002803D0B7A1BE2071
+:1031400011F047FF284605F071F9002803D0B3A11C
+:10315000C02011F03EFF8521C900BD4811F0FBFDE4
+:10316000BB49B24A0020135C0C18401CC0B2E3708B
+:103170000428F8D3A849002048608870C8707FBD33
+:1031800070B5B44E0546706A94B00C46401C04D12C
+:10319000B06AC0430004000C0BD0306AC007C00FF7
+:1031A0002870706A11F0EAFDB06A2071000A60713F
+:1031B00013E02B206946087009A968460AF0F8FB5D
+:1031C000002803D095A1E42011F003FF012028700E
+:1031D00006220AA9204611F05FFD2878002803D0B6
+:1031E0006079C0210843607114B070BDF0B5994C8E
+:1031F0000646206895B00D463746401C0837002823
+:1032000008D16068401C05D1A068401C02D1E0686C
+:10321000401C11D02068314611F0B0FD6068311DAE
+:1032200011F0ACFDA068394611F0A8FDE068314608
+:103230000C3111F0A3FD25E02B206946087009A987
+:1032400068460AF0B5FB002804D0FF2073A10E30B9
+:1032500011F0BFFE08220AA9304611F01DFD2B20F7
+:103260006946087009A968460AF0A2FB002804D044
+:10327000FF206AA1153011F0ACFE08220AA93846D9
+:1032800011F00AFD20692E46401C0836002808D19E
+:103290006069401C05D1A069401C02D1E069401C56
+:1032A00012D02069294611F069FD6069291D11F0CD
+:1032B00065FDA069314611F061FDE06929460C31D8
+:1032C00011F05CFD15B0F0BD2B246846047009A90F
+:1032D0000AF06EFB002804D0FF2050A1333011F01B
+:1032E00078FE082209AF0AA9284611F0D5FC6846E5
+:1032F000047009A90AF05CFB002804D0FF2047A154
+:103300003A3011F066FE0822391D304611F0C4FC37
+:10331000D8E710B5002108460EF00CFD0021012071
+:103320000EF008FD002102200EF004FD0021032014
+:103330000EF000FD002104200EF0FCFC0021052011
+:103340000EF0F8FC10BD10B5414CA0780B2804D34A
+:10335000FF2032A18A3011F03CFE207860214843E2
+:1033600000190830002101704178E722C908C9001E
+:10337000C91C11404170284A0121917010BD70B5DF
+:10338000254CA07800280ED0314800250178491C32
+:10339000C9B201700B2900D105708178491C817078
+:1033A0000EF093FDA57070BD70B51B4C05466068AE
+:1033B000002804D0FF2019A1B33011F00AFE656087
+:1033C00070BD70B5144E224DFFF7BDFF7168044605
+:1033D000002907D06022FDF7F7FEFFF7D0FF00209D
+:1033E0007060F1E72879002876D012485C380AF03E
+:1033F000A9FA6060002804D1FF2008A1D13011F0A3
+:10340000E8FD60680AF0FCFA002831D0204600F0A0
+:103410006FFF607801071FE0340000207372635C67
+:10342000686F73745F636F72652E6300E051010013
+:10343000040400200C12002023300000840A002025
+:10344000B41000206E524635313832320000000090
+:103450008C0C00208000001007D5C008C000401C64
+:1034600060702879401E287127E0F74861682AE0DB
+:10347000F54861680AF06FFA687900282CD0F248A4
+:103480004C380AF05FFA6060002804D1FF20EF4951
+:10349000F43011F09EFD60680AF0B6FA002816D0EC
+:1034A000204603F085FE6078010709D5C008C000FA
+:1034B000801C60706879401E6871FFF760FF83E7C9
+:1034C000E14861684C380AF046FA7DE704E0DE48DE
+:1034D00061684C380AF03FFA70BDF7B505460078D0
+:1034E000002700090C463E46062803D0D749D84895
+:1034F00011F06FFD287A00280ED0012814D0D4488E
+:10350000D249213011F065FD0298002C068001D0CF
+:10351000278066800020FEBD02270926002C0ED0E1
+:10352000A889A080A87B08E003271426002C06D0D9
+:103530002869E060A88A2082287B2072E4E702984C
+:103540000680E7E770B50E4600211C461980154637
+:10355000030011F02FFE0723050B1711231D230075
+:1035600022462946304603F0EFFD70BD224629462B
+:10357000304601F078F970BD22462946304604F005
+:103580002AFB70BD22462946304602F0F9FF70BD85
+:10359000224629463046FFF7A0FF70BD9720AB4971
+:1035A000800011F016FD032070BD10B5A94C2178E4
+:1035B000002901D0082010BDFFF74EFD012020702A
+:1035C000002010BD0146A04810B54C380AF0C3F9E0
+:1035D000A1494879401CC0B24871012803D19D48D7
+:1035E0004078FFF7C3FA10BDF8B50546072040073D
+:1035F0000F460A18012189038A4209D2002D02D000
+:103600002818884204D2E81C80088000A84201D013
+:103610001020F8BD90488178002911D03988009198
+:103620004178602251430C18083420783B4600074B
+:10363000000F00222146FFF785FF060004D015E0A9
+:10364000002038800520F8BD002D13D0398800985F
+:10365000814201D90C260DE020783B460007000F7F
+:103660002A462146FFF76EFF060005D00C2E01D03A
+:10367000002038803046F8BD774D6878401CC0B2D5
+:1036800068700B2801D100206870A878401EA870CF
+:1036900061784807400F022810D00128EAD16A4813
+:1036A00061680AF058F92879401CC0B228710128D5
+:1036B000E0D168484078FFF759FADBE7C806D9D46B
+:1036C0006068FFF77FFFD5E770B50446634816468C
+:1036D0000D46814204D15E485C49C53011F079FC49
+:1036E000012E05D05A485949D53011F072FC70BDF1
+:1036F00058480121C1706620207000202072A581E9
+:10370000A17370BD70B516460D46040001D1FFF7D8
+:103710001AFE662101700121017229680161A988E0
+:1037200081820673002C01D1FFF729FE70BD0721AD
+:103730004907012241189203914201D3102070479A
+:103740000721017000207047454A10B590420ED302
+:1037500001239B04C21A434B9A4208D3424B98421E
+:1037600005D2072252078A18DB139A4201D3102090
+:1037700010BD0DF08AFD10BD394B10B599420ED326
+:1037800001239B04374CCB1AA34208D3364B9942F2
+:1037900005D2E3020124D318A403A34201D31020CD
+:1037A00010BD022803D0102801D0092010BD0DF053
+:1037B00092FD0028FAD0052010BD70B5284B984224
+:1037C00012D301239B04274CC31AA3420CD3264BCC
+:1037D000984209D2E4020D19DB139D4204D2002A5B
+:1037E00004D014199C4201D3102070BD0DF099FD36
+:1037F0000028FAD0072070BD10B504460720400706
+:1038000001212018890394B0884202D3102014B0FB
+:1038100010BD01F06AFD002801D01120F7E70F204C
+:1038200008A9087369460BA80AF0C2F80028EED16F
+:103830006846007A207068464089608068468089C2
+:10384000A0800020E3E70000B01100201C3400003D
+:1038500015020000340000208C0C0020FFFF000047
+:10386000006001000000FC1F0040002010B594B073
+:10387000044601F03AFD002801D01120C7E7002CD2
+:1038800001D00720C3E7392168460170002181700B
+:1038900009A90AF08DF8002803D02B492B4811F014
+:1038A00098FB0020B3E770B5294C0846E178002961
+:1038B00013D000280FD007225207012385189B033D
+:1038C0009D4203D20568AA189A4201D3102070BD08
+:1038D0008288002A03D0012903D0082070BD092066
+:1038E00070BD04F0E1FA0028FAD10021E17070BD4A
+:1038F000184A10B5914208D301229204164B8A1A35
+:103900009A4202D3154A914201D3102010BD0246BB
+:10391000203A1F2A02D801F01FFC10BD072010BD5D
+:1039200007225207012310B58A189B039A4201D33C
+:10393000102010BD0246203A1F2A02D801F068FC70
+:1039400010BD072010BD00001C34000079030000EA
+:1039500034000020006001000000FC1F0040002037
+:103960008107C90E002808DA0007000F0838800810
+:103970002C4A80008018C06904E080082A4A800030
+:1039800080180068C8400006800F704710B50D20F1
+:10399000FFF7E6FFC4B20420C043FFF7E1FFC0B267
+:1039A000844203D021A11A2011F013FB10BD012184
+:1039B000234A48031060234B00221A60224A5160B8
+:1039C000224A1060224A11601D4980390860704700
+:1039D00001211B4A480310601D4A5160194A002109
+:1039E00011601A490860704710B516490868012827
+:1039F00004D00EA1562011F0ECFA10BD15488068D5
+:103A00000022C0B20A600DF0BBFE10BD10B50D481B
+:103A100001680029FCD0FFF7E7FF01200B494003B4
+:103A2000086010BD00ED00E000E400E07372635C2C
+:103A3000736F635F68616C5F726E672E6300000076
+:103A400080E100E000D1004000D3004080E200E0CF
+:103A500000D0004000D5004030B40121BC48C9026C
+:103A60000160CD1005604A030260BA4803681B027A
+:103A70001B0A036004680023240A24020460B64879
+:103A80000468240A24020460B44801244460846069
+:103A9000B34C23606360A360B24B19601D601A6071
+:103AA000B14B19601A600121016030BC704710B43D
+:103AB0000121A748CC0204600A0202600B060360E1
+:103AC000A64841608160A64900200860486088607F
+:103AD000A44804600260036010BC70470121A14843
+:103AE000C9020160C91001607047002805D0012893
+:103AF00005D0022805D19D4870479D4870479D48D4
+:103B0000704710B59CA18B2011F063FA002010BD06
+:103B100070B500219F4CA04DA04A914B002808D0C1
+:103B200001281DD0022822D093A1B32011F051FA10
+:103B300070BD01200004A060A86011601960984B5E
+:103B400042109A60974A9060814A0012106096482D
+:103B5000016087480160954801609548017070BD1B
+:103B600001204004A060A8605160596070BD012030
+:103B70008004A060A8609160996070BDF8B594461B
+:103B8000844A854D00240127754E002808D001285D
+:103B900036D0022844D078A1E82011F01AFAF8BDF6
+:103BA000891E0902090A01200004906034606860DF
+:103BB0007A4A1160012B21D000217D4A7D4B517042
+:103BC00061463D31DC63DF637B4B5C6002249C60BB
+:103BD00004241C61744B196074490F60614B891592
+:103BE0001960704B58606048016075487349C16046
+:103BF00086606B49600348601770F8BD0121DCE7FF
+:103C000001205C4E40046F4F012B04D134605060A2
+:103C100068603960F8BD9060346068603960F8BDF4
+:103C20000120524E8004684F012BF4D1EEE7674823
+:103C30004068704770B54A4D28680026554C0128E9
+:103C400006D1A068C00303D501200004A0602E6047
+:103C50006868012809D1A068800306D501204004C6
+:103C6000A0606E6001200FF04CF9A868012809D10E
+:103C7000A068400306D501208004A060AE60022049
+:103C80000FF03FF970BD10B549490878002818D0E9
+:103C90000120434AC0039060424A400090602C4A91
+:103CA00000121060404A00201060314A10603F4A04
+:103CB000106008704A78002A02D048700FF021F98D
+:103CC00010BD0320FAE70120414900060860704753
+:103CD0000120244900060860704701203C49400546
+:103CE0000860704701201F4940050860704731494E
+:103CF0000020C86388151B4908607047410A354A8F
+:103D0000C005C00D5043801C5143400A081870473D
+:103D100010B4314C430B63431B0C5C020C602D4C04
+:103D20006343C31A2D485C0258432A4B400D43435A
+:103D3000E31A0124DB0324041B191B1613700A6801
+:103D40001018086010BC704710B50FF0B2F910BD24
+:103D500080E100E008E400E018E400E000B000408A
+:103D600040B1004080E200E000E100E048B10040E6
+:103D70004081004044B100407372635C72656D5FC6
+:103D800068616C5F6576656E745F74696D65722ECF
+:103D90006300000000B3004040B3004040B5004065
+:103DA00000F5014000830040408500400082004053
+:103DB00050000020C08F004000850040008000407F
+:103DC00080F5014044B5004048B5004000B50040D2
+:103DD00000E200E0093D0000378600006F0C0100A2
+:103DE0000E4A12680C498A420AD118470B4A1268D7
+:103DF000094B9A4204D101B50DF0DDFD03BC8E469E
+:103E0000074909680958084706480749054A064B03
+:103E10007047000000000000BEBAFECA1C0100206E
+:103E200004000020901D0020901D002010B5FA4CC9
+:103E300094B02168087A002836D017206A4610709E
+:103E400000A806220931023010F026FF09A96846B1
+:103E500009F0AEFD112825D02168C03189790629E5
+:103E600020D007291ED008291CD004291AD00929DE
+:103E700018D00A2916D00B2914D0052912D00028F1
+:103E800003D0E6A1F32011F0A4F82168B82040582F
+:103E900006221C30093110F0FFFE2068017A8030C4
+:103EA000806BC17614B010BD3220C7E770B5DA4D13
+:103EB000044629680300C03111F07CF90C077C0B23
+:103EC0001A212E3B48515C677080FF20D3A1093036
+:103ED0006EE0887901286DD009286BD0052869D05B
+:103EE0000A2867D00B2865D0FF20CCA10E305FE0F8
+:103EF000887901285ED0FF20C8A1153058E0887964
+:103F0000062857D0072855D0082853D0052851D067
+:103F1000FF20C2A118304BE0887909284AD00A282E
+:103F200048D00B2846D0042844D0FF20BBA11E3027
+:103F30003EE0887903283DD007283BD0082839D0B7
+:103F4000092837D0FF20B5A1243031E08879062830
+:103F500030D00A282ED0FF20B0A12A3028E088795E
+:103F6000062827D0072825D00B2823D0FF20ABA177
+:103F70002E301DE0887906281CD00A281AD00B287C
+:103F800018D0FF20A5A1333012E08879092811D07C
+:103F90000A280FD0FF20A1A1383009E0887909282C
+:103FA00008D00A2806D0082804D0FF209BA13C3066
+:103FB00011F00FF82868C030847170BDFF2097A100
+:103FC0004130F5E79449C9220968525CD206920F44
+:103FD00005D1A0318A8B824201D1887F70470020B1
+:103FE000704770B504461120207000218A4D617021
+:103FF0002968C031897A002908D003290ED0042904
+:1040000010D0FF2085A16A3010F0E3FF207800096E
+:10401000012802D92868807D607070BD0007000FFC
+:10402000203002E00007000F30302070EEE730B59E
+:1040300003887E497E4C8B4202D09A1FA2421ED238
+:1040400042888A4202D0951FA54218D2934216D8C0
+:1040500083887D24E400A34211D8C088884205D01B
+:10406000734D04460A3C2D1FAC4208D2884208D04A
+:104070008A4206D05B1C5A43C000824201DD072001
+:1040800030BD002030BDFFB50022099B002802D0C2
+:10409000994205DC5CE0002902D1002004B0F0BDAB
+:1040A0000920FBE7845C002C12D085186F780D2F57
+:1040B0004CD010DC3B0011F07DF80A421B2A2A305C
+:1040C0003032323A3A42835C002B3FD1521CD2B29A
+:1040D0008A42F8DBE1E7122F31D004DC0E2F35D015
+:1040E0000F2F2CD132E0142F11D0152F27D116E02D
+:1040F000022CD5D1AB78039C072B237001D25B0730
+:1041000001D40A20CAE7029B01241B7814E0E34390
+:10411000DB0708E0012C08D011E00620BEE70F25E0
+:1041200023072D075B19002BF4D03046B6E7029B1E
+:104130001B789C070AD402242343029C2370835CCF
+:10414000521C9A18D2B28A4204DDA9E70B20A5E7D7
+:10415000192676028A42A5DB9FE705E00278401C1B
+:10416000002A01D0002070470A46491E89B2002A61
+:10417000F4D10120704730B5274D0021286887B061
+:10418000C943A030818300248477214606200DF0A6
+:10419000D1FD002105200DF0CDFD002102200DF004
+:1041A000C9FD0120FFF782FE28686946C030C4714E
+:1041B00004720120087068460BF007FC07B030BDA0
+:1041C00030B5154C95B02268C0329279042A0CD0D3
+:1041D000052A0AD028236A4613705080132906D076
+:1041E0003B2904D0072015B030BD0820FBE7117132
+:1041F000104609A909F0DCFB05000BD12068C0308E
+:104200008179062916D0082914D0072912D0052053
+:10421000FFF74CFE2846E6E7540000207372635C0B
+:104220006761705F636F72652E630000FFFF0000BF
+:104230007B0C00000420EBE730B587B0040003D00E
+:10424000002107200DF076FDFE4D012128686A4609
+:1042500001720421117003210C300DF06BFA2968F2
+:104260004022887B8006800E1043887368460BF0DE
+:10427000ACFB00280DD12968098A00299ED0002CAA
+:104280009CD08B000122002107200DF0AEFC0728F6
+:1042900001D0032092E7002090E770B50025064684
+:1042A000002803D0002107200DF044FDE54C01213A
+:1042B00020680172062109300DF03CFA2068817BEC
+:1042C0008906890E8173FFF7B1FD2068008A0028F6
+:1042D0000AD0002E08D083000122002107200DF013
+:1042E00084FC072802D00325284670BD0025FBE783
+:1042F000F0B59BB0040004D11920D349400110F05F
+:1043000068FE72202070616800260A780825521F16
+:104310000127CC48130010F04DFF0F0976D9FD7628
+:1043200078FCFBB576767676FAF97600C5480068B3
+:10433000C0308079032803D0C349C44810F049FE37
+:10434000002108460DF0F6FC002107200DF0F2FCDC
+:104350006078BC4A28436070106810250146C0315F
+:104360004B7A2B434B7263689D783C2D48D00246B4
+:104370009D88A032977763688030DB890B80636803
+:104380001B8A4B8063685B8A8B8095836168826B34
+:10439000C97911756168806B08311530062210F0FB
+:1043A0007BFC0620FFF782FDA648CA210068FB229D
+:1043B0000E54017E11400176B82109588A7A92087C
+:1043C00092008A724682284602F0ACFE002804D091
+:1043D0009E489D491A3010F0FCFD284602F0BCF8BA
+:1043E000002804D0994898491D3010F0F2FD284665
+:1043F00003F008FD002806D069209349C0003EE183
+:104400000120FFF753FD1BB0F0BD064600688F8802
+:10441000C0308079062812D0072810D008280ED086
+:1044200004280CD009280AD00A2808D00B2806D066
+:10443000052804D0D5208449800010F0CAFD60789A
+:10444000284360703068C030417A294341728079D6
+:10445000092811D00A280FD00B280DD005280BD021
+:10446000FFF789FE384602F062FE384602F07AF81D
+:10447000384603F0FDFCC6E7FFF77DFE0220FFF79C
+:1044800015FDEFE70068C0308079062812D00728B4
+:1044900010D008280ED004280CD009280AD00A28E9
+:1044A00008D00B2806D0052804D06F206649C0002C
+:1044B00010F08FFD6068807902F0F1FE0028A2D034
+:1044C0006178294361706168C8809CE7074600688D
+:1044D000C0308079062812D0072810D008280ED0C6
+:1044E00004280CD009280AD00A2808D00B2806D0A6
+:1044F000052804D055485449623010F06AFD6078B0
+:10450000284360706068C188386804E032E197E150
+:1045100084E084E00FE0C030018061680989418057
+:10452000616849898180002102200DF003FC386810
+:10453000C030C67167E706460068C030807906283B
+:1045400019D0072817D0082815D0042893D0092897
+:1045500011D00A280FD00B280DD005288BD03B484E
+:104560003949793010F035FD3068C0308079042841
+:10457000ABD00528A9D03068807C40063AD5606869
+:1045800002210C30FFF7E9FD002833D060680821D4
+:10459000001DFFF7E2FD00282CD03168B8204058FC
+:1045A000807A800708D1CA20405C002808D1488A58
+:1045B000C20505D5C00703D14A8A402082434A82FA
+:1045C0004A8A802082434A822D2268460270BC209B
+:1045D000425A684642801022973101A810F05CFBD5
+:1045E00009A9684609F0E4F90028A3D0174816493C
+:1045F000A03044E062683068AC2192890A52616858
+:104600000822091DAE3010F047FB10A80574306871
+:10461000AE30159014A80BF0D8F9F4E68F71064669
+:104620000068C030807906281FD007281DD00828D0
+:104630001BD00428F1D0092817D00A2815D00B2840
+:1046400013D005E0540000201C42000029030000A4
+:104650000528E2D0F949FA4810F0BBFC3068C030B8
+:1046600080790428D9D00528D7D0606881790029BD
+:1046700002D08078002805D0F148F0496C3010F065
+:10468000A8FCC0E66078B8212843607030680958FB
+:10469000897A8907890F012952D1817C09064FD473
+:1046A000017E490701D5042100E00321C030817259
+:1046B0002B206946087009A9684609F079F9002895
+:1046C00004D0DF48DD49213010F083FC69463068B2
+:1046D000098D81820E2210A90A74DA49B822159137
+:1046E000125808324A61024660324A6092790A7072
+:1046F000024614320A61521D8A601032CA60133AAF
+:104700008A619632CA61921C0A62473A4A62103242
+:104710008A621032CA62473ACA63521E0A64921F02
+:1047200050304A64886414A80CF038FB022815D075
+:10473000002813D0C248C1494A3010F04AFC0DE0AD
+:10474000817C4906017E490701D5042100E003214F
+:10475000C0308172002106200DF0ECFA3068418AE9
+:104760000A0602D440229143418289B280229143B9
+:10477000418248E6B4480068C0308079032804D0FC
+:10478000AF48AE49783010F024FC002108460DF007
+:10479000D1FA002107200DF0CDFA6078AA4A28430B
+:1047A0006070106810250146C0314B7A2B434B7264
+:1047B00063689D783C2D00D122E602469D88A03298
+:1047C000977763688030DB890B8063681B8A4B8036
+:1047D00063685B8A8B8095836168826BC979117588
+:1047E0006168806B08311530062210F055FA0620FA
+:1047F000FFF75CFB9448CA210068FB220E54017E3F
+:10480000114001764682284602F08CFC002804D034
+:104810008B488A49923010F0DCFB284601F09CFE60
+:10482000002804D086488549953010F0D2FB2846F0
+:1048300003F0E8FA00289CD08148804997301EE7B1
+:10484000607828436070DEE500290BD088807E48C0
+:104850000068C0300288CA8002880A8142884A8182
+:10486000808888817047F7B5064600780C46002797
+:10487000010982B03D46012974D073480068009058
+:10488000C03002296FD0072904D00A296CD06B49A7
+:104890006E48E3E171680A78521F130010F08AFC39
+:1048A0000F09A551A5A52F585847A5A5A5A5656F22
+:1048B000A5008A783C2A1BD010271625002C7DD015
+:1048C0008888A0807068A21DC08920827068C08915
+:1048D000E0817068008A60827068408AA082716896
+:1048E00008460831C07901F09FFB0020607375E035
+:1048F00019270725002CE2D00021A17171E01127B2
+:104900000725002CDBD089880091A1807168F722EF
+:104910008979A171417A11404172009802F008FC36
+:10492000009801F023FE009803F0B0FAC1E10127DE
+:104930000925002CC3D08888A080706880792072F7
+:10494000B7E1888812270E252146FFF77DFFB0E1E9
+:1049500018270825002CB2D08888A080A01DFFF75A
+:1049600040FBA6E145E0A1E15DE01A270725002C08
+:10497000A5D04888A08070680079A07199E18A78F4
+:104980003C2AB5D010271625002C98D08888A08006
+:104990007068C08920827068C089E0817068008A70
+:1049A00060827068408AA0827168607B497D40089F
+:1049B0004000C907C90F0843607300E036E1716821
+:1049C000C007497DC00F49084900084360737168FA
+:1049D000A21D08460831C07901F026FB1A4800687C
+:1049E000C030417AEF22114046E1532013490001C3
+:1049F00034E1307A012803D014481049C5382DE13C
+:104A000012270E2570892146FFF71EFF002C91D03A
+:104A100070784007400F032888D10B480068C030E9
+:104A2000417AFB22DFE708490968A031002C01D058
+:104A30008A8BA280327A921E0AE000001C4200009B
+:104A4000ED030000AC120020540000200C06000012
+:104A5000130010F0AFFB073D4853EDEE6F05ED007E
+:104A600013270C25002C90D0009900224A82F1686F
+:104A700089788907890F0129217A26D049084900B8
+:104A80002172FD231940F3689B785B07DB0F5B0005
+:104A900019432172E323E2801940F3681B785B0716
+:104AA000DB0E19432172DF231940F3685B78DB07C3
+:104AB0009B0E194321726272F1680122C978A172BA
+:104AC000017A1143F7221140ADE001231943D7E7E2
+:104AD00015270C25002C9AD0F06806220068A11D2D
+:104AE0000EF07CFFE5E016270725002C8FD0317BE8
+:104AF000A171017A08221BE00172DAE01427122565
+:104B0000002C84D00098A21D8030806B01461531A6
+:104B1000007D01F089FAB089E081207C0121084301
+:104B2000F92108402074FE480068C030017A022252
+:104B30001143E1E717273825002C77D03221A01D3B
+:104B400010F007F90020A071207A03210843207299
+:104B5000FB210840F24909680A7E5207D20F9200F1
+:104B600010432072B8204058807A800757D0A07A2E
+:104B70008A7C4008D2074000D20F1043FD2210402B
+:104B8000A0728B7CFB229B07DB0F10409B0018431D
+:104B9000A0728B7CF7269B07DB0F3040DB001843AD
+:104BA000EF231840A072E07A10408A7CD206D20F20
+:104BB00092001043E0728A7C3040D206D20FD200BD
+:104BC0001043E072888AA0812046102267310E309F
+:104BD00010F062F8D249A07F0968C0078A7DC00F33
+:104BE00052001043A0770A7E400852074000D20FBF
+:104BF0001043A077084640304DC820344DC4303CA7
+:104C00003F20405C22463032393101F00DFAC44871
+:104C100000688030806B817A890889008172C04881
+:104C20000068C030017AFB22114065E737E000E000
+:104C300038E0327B022A14D017273825002C2ED0DA
+:104C4000017AFB2319400172012A17D0032A17D0D9
+:104C5000042A18D0052A16D0B249B34810F0B9F981
+:104C600027E019270725002C19D0898BA180012165
+:104C7000A171417A4908490041721AE0012000E01F
+:104C80000220A07106E0707B0007000F8030A07149
+:104C9000052A02D00020E0710BE00120FBE7049818
+:104CA00005800CE0A0489F490A30D7E7317A0029F7
+:104CB00008D00498002C058001D027806580002052
+:104CC00005B0F0BD19270725002CE8D00021C94305
+:104CD000A1800021A171417AFD2284E610B5904C9B
+:104CE00094B02068C0308079022809D0032807D00A
+:104CF000052805D0092803D00A2801D00B2837D170
+:104D00001B2108A801730021817369460BA808F0D4
+:104D10004FFE002804D1684640781B2802D00320AB
+:104D200014B010BD002108460DF004F80021072042
+:104D30000DF000F868468078002819D12068C0304E
+:104D40008079801E030010F035FA0A060613081356
+:104D500013130D0F1113012000E00420FFF7A6F834
+:104D60000020DDE70620F9E70720F7E70820F5E750
+:104D70000820D5E770B50025694C002807D0022827
+:104D800017D0072828D033206649400146E0FFF7B6
+:104D9000A5FF00280CD1FEF7D6FA2221017005727A
+:104DA000FEF7EDFA2068C030417A022211434172C9
+:104DB00070BDFEF7C8FA122101700121017221684D
+:104DC000BC22525A4281C031CD71FEF7D8FA206818
+:104DD000C030417A0422E9E72168C620405C0228FD
+:104DE00009D0032807D0092805D00A2803D00B28AA
+:104DF00001D00528DCD1887B8109012911D08009E7
+:104E000004D0494847496E3010F0E3F80020FFF71E
+:104E100044FA0028CCD044484249723010F0D9F806
+:104E200070BD0020FFF708FAF3E770B50D460400E7
+:104E300004D1CD203B49C00010F0CBF820780128E8
+:104E400005D0394837499D3010F0C3F870BDA188AE
+:104E50003648334E814209D1E288824206D1306819
+:104E60001321A030808BFFF7ABF970BD814202D1D6
+:104E7000E08800280AD012202870687808210843AA
+:104E8000687007CC083507C5002106E000227823AA
+:104E9000114602200CF0A9FE02213068C030C17119
+:104EA00070BD1F480068C030807A704738B51C4C10
+:104EB00005460278206813000146C03110F07AF9E7
+:104EC00009A8060909A21945728AA800FEF7AEFFD3
+:104ED00038BD8879062806D0092804D0124811491F
+:104EE000B53010F076F820680422017E1143017677
+:104EF00088E0A9880029EBD0A030808B0B4988423C
+:104F0000E6D0A868002804D107480649C53010F04B
+:104F100060F8A8680A38A8600090AB88206807E0AD
+:104F2000540000201C420000E9050000FFFF0000C3
+:104F3000A030808B0622042102F028F80028C7D078
+:104F4000F849F94810F045F838BD287902288879E1
+:104F50000DD00428F8D00528F6D0284601F075F8C1
+:104F600020681321A030808BFFF72AF938BD07286D
+:104F700006D00A2804D0EC48EA490A3010F029F893
+:104F8000284601F062F820680122C030417A1143BE
+:104F900041728079072803D00920FEF787FF38BDCA
+:104FA0000620FAE7887906280AD0042808D00928BC
+:104FB00006D0052804D0DC48DA49313010F009F871
+:104FC0000ECDDA480361C2608160A2210170FEF754
+:104FD000EBF938BD8879062818D0072816D009289B
+:104FE0000DD00A280BD0D048CE4944300FF0F1FF45
+:104FF0002068C0308079062808D0072806D00B200A
+:10500000FEF754FF284601F020F838BD0820F7E7E6
+:10501000C548C449583095E7FFB593B001246846A8
+:1050200003218470C9021D4601800AF0A6F90022FE
+:105030006946012003F0ABF906460AF0A2F9002EFA
+:105040005CD16846152184704902018000271C212B
+:1050500001A808970FF07FFE01200146103108A833
+:1050600001700020014608A841708178F9200140B4
+:10507000891C214308A881706846017902263143C2
+:10508000017114998185C7851F21018608A80A909E
+:1050900013980D90684609900AF06FF90EAA09A9B5
+:1050A00001A802F036FF07460AF06BF9002F02D084
+:1050B000384617B0F0BD9E4F68463968008F48806B
+:1050C000684684709B49018008A88078F9210840CF
+:1050D000801C4108490008A88170684686850686BC
+:1050E00015A80D900AF049F90EAA09A901A802F025
+:1050F00010FF06460AF045F9002E01D03046D8E7E9
+:1051000068463968008F88808A4968468470C91C5F
+:105110000180298810A8018069884180A988818040
+:10512000E988C180082168468185018610A80D9014
+:105130000AF023F90EAA09A901A802F0EAFE044622
+:105140000AF01FF9002C01D02046B2E76846396802
+:10515000008FC8800020ACE7F0B5774D95B00C46C5
+:10516000A9423FD30126B604744FA11BB94239D3DB
+:1051700073498C4236D2202806D0212827D02228F5
+:1051800042D0072015B0F0BD3C216846017021884F
+:1051900041806188818009A908F00AFC0028F1D1CA
+:1051A00008A98979002903D002290ED00320E9E754
+:1051B0006168A942E6D38A1BBA42E3D3604A9142AE
+:1051C000E0D26A46128D0A80DCE75E48DAE72068A2
+:1051D000574C002813D00721490701224118920398
+:1051E000914201D31020CDE706210EF0E1FB2168AA
+:1051F000A82250500120A03188750020C2E7206805
+:105200000021A0308175F8E7204600F02AFFB9E7B9
+:10521000494A10B5914208D301229204474B8A1A99
+:105220009A4202D3464A914201D3102010BD202851
+:1052300005D0212803D0222803D0072010BD062046
+:1052400010BD084600F051FF10BD70B50446374848
+:10525000CC21AC300FF07FFD3448354EAC3000210E
+:105260003060C943A0308183002585770120FEF797
+:105270001DFE3068C7210D54E121C57389000182EC
+:10528000B6210D54014609310830FDF779FF316828
+:10529000084629311930FDF7A9FF002C24D03068C9
+:1052A00080308463FEF7C2FD1E20E081607A8F218A
+:1052B0000840303060723068014614312161983105
+:1052C0006162933921601031616025721339A162E6
+:1052D000091FE1628531E163303921631031616377
+:1052E00010310930A163A06470BD11480068C0305E
+:1052F0008079042803D0052801D0002070470120C0
+:10530000704770B506460C480C46814208D3012010
+:1053100080040A49201A884202D30948844213D3E0
+:10532000102070BD1C420000B30600004C1200208B
+:1053300054000020012A0000006001000000FC1F52
+:105340000040002002300000FFF7CFFF002801D00E
+:105350001120E6E7FD48FE4D002E02D0012E46D179
+:105360002FE02278002A0AD00121012A09D0022A3E
+:1053700014D0032AD5D1A2799209D2D112E000210A
+:1053800003E0A2799209032ACBD128680622017290
+:1053900060308171611C0FF07FFC05E0A2799209F9
+:1053A000012ABED128680172002107200CF0C2FC3E
+:1053B00028680622611C09300FF06EFCFEF736FDEE
+:1053C00011E02178002912D0012910D0022910D033
+:1053D0000329A6D10120FEF760FF002803D0DD4994
+:1053E000DD480FF0F6FD2868C673002099E7072016
+:1053F00097E70120FEF720FFEFE707214907012289
+:1054000010B541189203914201D3102010BDD0492C
+:10541000024609680B7A0931184600F005FE0020A3
+:1054200010BDFFB599B005460020694608710872A5
+:1054300008A9087408751E4614460121C748890446
+:10544000C74AC84B002D06D085420DD36F1A97422C
+:105450000AD39D4208D2002C09D0844204D3601A9A
+:10546000904201D39C4202D310201DB0F0BD2846CB
+:10547000204318D01F270CAB01AA009728461A9981
+:10548000FEF701FE0028F0D10DAB02AA31462046FE
+:105490000097FEF7F8FD0028E7D16846007AC107BB
+:1054A00003D00A20E1E70720DFE7800705D568463B
+:1054B0000079800701D50B20D7E7FFF716FF0028FA
+:1054C00001D01120D1E703AF002D0FD01A2069467B
+:1054D00008731A9888732946F81C1A9A0FF0DCFB97
+:1054E0000EA903A808F064FA0028BED1002C0ED043
+:1054F000202168460173867332462146F81C0FF05E
+:10550000CBFB0EA903A808F053FA0028ADD19049AF
+:1055100008A80968007C08700020A6E7F0B50446DA
+:105520008E48002795B084426FD301208004211A51
+:105530008B488142F8D38B48844266D22378012B72
+:105540000BD1864960688842EED39904421A844997
+:105550008A42E9D383498842EFD27D490A681546D9
+:10556000C035A879022814D0032812D0052810D0FD
+:1055700009280ED00A280CD00B280AD0012803D005
+:10558000002B06D0012B04D0687AC506AD0F06D1DA
+:1055900001E00820F6E5850701D4400701D5112078
+:1055A000F0E5012B15D0208A6F4E0546203DB5420F
+:1055B0007ED2022B01D0032B01D1A02878D3012B5E
+:1055C00007D01078C00704D0608A002870D0B428B3
+:1055D0006ED8002B06D0012B08D0022B04D0032B51
+:1055E00066D110E0002512E0022510E06068012578
+:1055F000007800280BD0012808D0022806D0032804
+:1056000004D05248BEE5032501E066E00127D07BC7
+:1056100001281CD1108A002819D0907B810901290A
+:1056200011D0800904D04C484A49E4300FF0D1FC35
+:105630000120FEF732FE00280BD047484549E830EC
+:105640000FF0C7FC05E00120FEF7F6FDF3E7FEF7DB
+:10565000EDFB207A002806D0012806D0022806D0CB
+:10566000032825D105E0002604E0012602E00226F9
+:1056700000E00326002D01D0022D42D1002E40D0A3
+:10568000E068002814D00179002928D008290FD813
+:10569000027B9446082A0BD800290ED02F4A0168B5
+:1056A00091421AD3012292048B1A2D4A934200E0B0
+:1056B00084E012D32B4A91420FD26146002912D0C6
+:1056C00080682649884208D301218904421A244966
+:1056D0008A4202D32349884205D3102052E5027B37
+:1056E000002A6BD0D4E71A4800680078800702D0FF
+:1056F0001648401E46E5022D03D1022E5ED0032E31
+:105700005CD0182168460170218A4180218A8180FD
+:1057100085710F480068007A002801D0012870D1F7
+:105720006946C8716846077221780930012932D06C
+:1057300006210FF00EFB07216846C173067409A904
+:1057400008F036F90028C9D10A210FE00232000022
+:10575000540000201C4200005F08000000600100AF
+:105760000000FC1F00400020E13F0000684601707F
+:1057700009A908F01DF90028B0D13A20694608703F
+:1057800009A9684608F014F90028A7D1002D08D00F
+:10579000022D06D04CE061680622491C0FF07CFA0D
+:1057A000C9E7002E44D00026374623E00168B00048
+:1057B00009580978002903D0012904D00720E1E421
+:1057C00069468F7002E001216A469170E168062205
+:1057D0000968095800A8491C03300FF05DFA0B2036
+:1057E0006946087009A9684608F0E2F80028E6D181
+:1057F000761CF6B2E0680179B142D7D800266F4630
+:1058000012E050E08068B10041581022B81C0FF03F
+:1058100043FA3B206946087009A9684608F0C8F8B1
+:105820000028CCD1761CF6B2E068017BB142E9D801
+:105830001B20694608700120887009A9684608F095
+:10584000B7F80028BBD108A840791B282BD1002D20
+:105850000AD0012D04D0022D08D0032D18D105E067
+:105860000320FEF723FB26E003200FE0FE4800683C
+:10587000C030807903000FF09DFC0916061616183B
+:1058800016081A1C1600022000E00920FEF70EFB85
+:10589000608A00280FD000228300114610460CF0C9
+:1058A000A4F9002807D003206CE40520EEE70A20C5
+:1058B000ECE70B20EAE7002064E470B586B00C004A
+:1058C00006460BD0E94884424AD301208004E849C7
+:1058D000201A884244D3E748844241D2E24D2868E6
+:1058E000C030C179022902D0407A400702D5112088
+:1058F00006B016E5002C04D02046FEF798FB0028E1
+:10590000F6D13046FEF75EFB012803D0022823D0F3
+:10591000D948EDE721001BD1082069468882286814
+:1059200001ABC08805AA002103F019F90028DFD1D6
+:105930006846808A082801D00320D9E76846818814
+:105940008181C188C181018901824189418203A984
+:10595000304601F074FCCBE7002C01D00620C7E7ED
+:105960001020C5E770B50C460546FEF72BFB012855
+:1059700003D0022801D0C048D3E421462846FEF7D0
+:105980001FFCCEE400B50146143095B0192801D2B1
+:10599000880707D008461E3004D00A3002D00720FE
+:1059A00015B000BDFFF7A1FC002801D01120F7E7DA
+:1059B000AD4831220068417068460270817009A9C3
+:1059C00007F0F6FFECE701B582B0022069460880D7
+:1059D000A54802AB00686A468088002102F02AFFD1
+:1059E00069460988022900D003200EBD38B502217E
+:1059F0006A4611800721490701224118920391420A
+:105A000001D3102038BD9849034609686A468C883E
+:105A10000021204603F0A3F8694609880229F1D045
+:105A2000032038BD3EB504460820694608808F48EB
+:105A3000844208D3012080048D49201A884202D371
+:105A40008C48844201D310203EBD2046FEF7EFFA79
+:105A50000028F9D12088694688806088C880A0889D
+:105A60000881E0884881804801AB00686A46C088A8
+:105A7000002102F0DFFE694609880829E4D00320EE
+:105A80003EBD1FB504460820694688817748844298
+:105A900008D3012080047649201A884202D3754831
+:105AA000844202D3102004B010BD6F486B460068DA
+:105AB00003AAC088002103F052F80028F3D16946F8
+:105AC0008989082901D00320EDE7694609882180EA
+:105AD00069464988618069468988A1806946C98884
+:105AE000E180E0E7FEB50546604817460E46814274
+:105AF00008D3012189045E4A731A934202D35D4B95
+:105B00009E4201D31020FEBD1F2F01D90C20FEBDE7
+:105B1000554C85422AD3681A904227D39D4225D2FC
+:105B2000206801A9408802F037FE0028EFD12878CC
+:105B300069464871206801A9408802F010FE0028DB
+:105B4000E5D169460090087802210843694608704B
+:105B50004979090703D0082108436946087020687D
+:105B60006946408802F0A5FD0028D0D169460F8122
+:105B700020683346408802AA002102F05BFE694695
+:105B80000989B942C3D00320FEBD38B50C460721B0
+:105B9000012249079203002802D04318934202D2FF
+:105BA0006118914201D3102038BD21886A461180C6
+:105BB000002801D000290BD02B49034609684D88E5
+:105BC0000021284602F0CBFF69460988218038BDB4
+:105BD0000C2038BD30B50C46244987B08C4208D320
+:105BE00001218904224A611A914202D321498C423F
+:105BF00002D3102007B030BD1B4D2968C0310A7A8E
+:105C0000520708D48979491F0B000FF0D3FA050415
+:105C10000604040604000820ECE7FEF7D3F9012887
+:105C200003D0022839D01448E4E720881E2801D286
+:105C30000720DFE72868C030807906282BD00A20AB
+:105C4000FEF734F90520694608700879A1788008C4
+:105C5000C9078000C90F084369460871FB21084045
+:105C6000A1788907C90F09E05400002000600100F5
+:105C70000000FC1F004000200230000089000843A3
+:105C8000694608712088C880684609F09EFE002891
+:105C9000B0D00320AEE70720D2E70620AAE7F0B590
+:105CA00087B014460D46FEF78DF9012804D002286E
+:105CB00002D0FE4807B0F0BDFD4B18680146C03168
+:105CC0000A7AD20707D08A79042A04D0052A02D09A
+:105CD000002D02D052E00820ECE7F64A944208D3A7
+:105CE00001229204F44BA21A9A4202D3F34A94423C
+:105CF00001D31020DEE7A278D206520F042A0CD876
+:105D0000E378072B09D3102B07D822799A4204D3C2
+:105D1000102A02D822881E2A01D00720CAE702468C
+:105D20008032966BF727F372966B23793373966BF9
+:105D3000737A3B40A778BF06FF0FFF003B437372A7
+:105D4000966B2388F381966BA778B37AFF079B083D
+:105D50009B00FF0F3B43B372FB273B40A778966B3A
+:105D6000BF07FF0FBF003B43B372926BA478537A17
+:105D7000E406DB08DB00640F234353720B226B46FF
+:105D80001A70852D22D008DC002D17D0812D17D058
+:105D9000822D17D0832D08D116E0862D18D0882D9E
+:105DA00018D0892D18D08A2D18D00B221A71B6223E
+:105DB000125CBF4C002A13D0A83012E00022F5E795
+:105DC0000122F3E70222F1E70322EFE70522EDE7E4
+:105DD0000622EBE70822E9E70922E7E70A22E5E7DE
+:105DE00000200290887907280BD0082809D00920C4
+:105DF000FEF75CF8684609F0E8FD002803D00320B0
+:105E000058E70620F4E720680422C030017A4908E8
+:105E100049001143017200204CE770B5A44E0D46B5
+:105E2000316886B0C031097A1446090701D40820C8
+:105E30005EE5FEF7C7F8012803D0022801D09B4891
+:105E400056E5002D12D09B48844208D301208004DF
+:105E50009949201A884202D39848844201D31020DD
+:105E600046E5012D0BD0022D02D106E0002C01D019
+:105E700007203DE50020029005E0022000E001201F
+:105E8000694608710294032069460870684609F063
+:105E90009CFD002801D003202AE53068F722C0309D
+:105EA000017A11400172002022E570B594B01446C9
+:105EB0000E46FEF787F8012804D0022802D07B485E
+:105EC00014B059E57A4D2868C030007A800701D4B3
+:105ED0000820F5E7002C01D00720F1E7FFF705FACD
+:105EE000002801D01120EBE7002E1DD02D2168469F
+:105EF00001702C68BC20015B684641801022B11CF7
+:105F000001A80EF0C9FE207EFB210840B17CC90724
+:105F1000490F08432076B07CFF214008A075608AB5
+:105F200082310843608207E02E21684601702868AC
+:105F3000A030818B6846418009A9684607F038FD8A
+:105F40002968FD23C0310A7A1A400A72B8E710B5F1
+:105F50000C46FEF737F8012803D0022801D0534839
+:105F600010BD5448844208D3012080045249201AAD
+:105F7000884202D35148844201D3102010BD2046EC
+:105F8000FEF72FF8002010BD10B594B00446FEF7C0
+:105F900019F8012804D0022802D0444814B010BDDA
+:105FA00043480068C0308179042910D005290ED0FB
+:105FB0003820694608704C8001200871487109A991
+:105FC000684607F0F5FC0028E8D00B20E6E7002043
+:105FD000E4E710B594B00446FDF7F4FF012803D0C0
+:105FE000022801D03148D9E731480068C0308179B2
+:105FF00004290DD005290BD03820694608704C8043
+:1060000000200871487109A9684607F0D1FCC5E76E
+:106010000020C3E726480068C0308079062801D3F5
+:10602000012070470020704708B51346002806D0AD
+:1060300023A00068009048796A468009105C1870B7
+:106040000622581C0EF028FE08BD10B50446FDF7C8
+:106050007AF9A22101700ECC08300EC0FDF78FF93D
+:1060600010BD70B5124C054601682068002913D098
+:10607000104A914208D3012292040F4B8A1A9A4285
+:1060800002D30E4A914201D3102075E410227730DA
+:106090000EF002FE206801218030806B01722068C2
+:1060A000A9880182C17B012919D10BE002300000CF
+:1060B00054000020006001000000FC1F0040002090
+:1060C0000302FF01807B800901280AD00120FEF72E
+:1060D000E4F8002803D01A491A480EF07AFF00208D
+:1060E0004AE40120FEF7A8F8F3E770B5054600681A
+:1060F000154C00281ED007214907401801218903AB
+:10610000884201D3102037E42068B8210958097A61
+:10611000012909D00146773129300AF08EFF206825
+:1061200001218030806B017221681022286877314C
+:106130000EF0B2FD2068008AA88000201CE4000058
+:106140001C420000FD02000054000020FFB581B099
+:1061500001980E46C078174610360E37022809D02F
+:10616000032840D005287DD0F2A1F7480EF031FF7A
+:1061700005B0F0BDCC890A2060430E301880312371
+:106180000A98002A0380F3D0486800889080002095
+:10619000D0801081097B9481891FCDB21AE03088AC
+:1061A0007168388048780A7800021043F880C8780F
+:1061B0008A78000210433881BA1C091D28460BF06A
+:1061C0008AF8002D01D0002802D000203871788094
+:1061D00008360A372046641EA4B20028DFD1019990
+:1061E0000020C870C4E7CC890A2060430E301880B4
+:1061F00032230A98002A0380BAD048680025008814
+:106200009080D5801581087B401FC0B2009094819A
+:1062100042E0716832880878FA803A79C3075208F8
+:106220005200DB0F1A43FD231A408307DB0F5B008C
+:106230001A43FB231A404307DB0F9B001A43F72343
+:106240001A400307DB0FDB001A43EF231A40C30693
+:10625000DB0F1B011A43DF231A408306DB0F5B01B0
+:106260001A4300E020E0BF231A404306DB0F9B01E6
+:106270001A433A71C00978718A784B781002184332
+:1062800038813A46C91C00980BF025F8002801D047
+:10629000BD703D8008360A372046641EA4B200282F
+:1062A000B7D10198C57063E7087BCC89801E85B2A1
+:1062B0002846083060431030188034230A98002A9A
+:1062C00003808FD048681746008890800020D080D7
+:1062D000108194811037E000D581C0190CE030881E
+:1062E0003880009878602A46716800980EF0D4FCD7
+:1062F000009808360837401900902046641EA4B262
+:106300000028ECD16BE7FFB50546C07881B00C469C
+:106310000A9E03000EF04EFF0BA3071733414F6D8B
+:106320008F9D9D9DA300207B1746082806D003283B
+:1063300004D085487FA154300EF04BFE04990E2006
+:10634000088030200CE0207B1746042804D07E48CB
+:1063500078A171300EF03DFE04990E2008803120A6
+:106360003080002F44D060680088B880607AFF30A9
+:106370000130F880E08938810020B88137E0207B47
+:106380001746042804D070486AA18D300EF021FE13
+:1063900004990E2008803220E2E7207B174602286D
+:1063A00004D0694863A1A9300EF013FE04990E20B1
+:1063B00008803320D4E7207B1746042804D06248A5
+:1063C0005CA1C4300EF005FE049810210180342039
+:1063D0003080002F0CD060680088B880607AFF3071
+:1063E0000130F880E08938810020B881F881E870B8
+:1063F000BEE6207B1746052806D0062804D0524862
+:106400004CA1E1300EF0E5FD049812210180352009
+:106410003080002FECD060680088B880607AFF3050
+:106420000130F880E0893881E089B8810020388225
+:10643000A988F981DBE7207B1746072804D042486A
+:106440003CA1F8300EF0C5FD04990E2008803620DE
+:1064500086E700962846049B00F02DFD88E635A1CE
+:106460003A480EF0B6FD83E670B5054600780C4656
+:10647000082603000EF09EFE124C3434241C380A09
+:106480000A0A0A0A0A0A0A0A0A0A0A4C687800284A
+:1064900004D02E4827A12C300EF09BFD002C03D1F8
+:1064A0001F2024A1400108E060783043607020E0A4
+:1064B000002CF9D17D201FA1C0000EF08AFDF3E76A
+:1064C000002904D03F201BA100010EF082FDFCF743
+:1064D0003AFF0446407830436070FCF750FF08E014
+:1064E0001A4814A1473002E0184812A14C300EF0AF
+:1064F00070FD002C0AD06078000707D5932020702B
+:106500002046582229460830FAF75EFE002070BD6A
+:106510000E4808A15030EAE710B500200C4C0D4998
+:106520000346C2008C525218401C0006D370000E65
+:10653000F7D010BD7372635C67617474635F636FDF
+:1065400072652E63000000005A020000B3030000D1
+:10655000FFFF000058000020FE49088001208870DD
+:1065600000207047FB4900208870704710B500215B
+:10657000F848C94301800021C17007F053FAD8E7F9
+:10658000F7B584B0054600276846078187806868AC
+:106590000C46008800F0ECFB0646287A032805D05C
+:1065A000002E03D1EC49ED480EF013FD297A204668
+:1065B000C91E123000900B000EF0FCFD0FF2F1F03E
+:1065C0003D09AA465C6D34B3CDF38B8BF000F078B7
+:1065D000012803D0E049AD200EF0FBFCA8896946F4
+:1065E000C0000E30888030200881002C22D06868DE
+:1065F0000188A180E7802781A989A18100200DE081
+:10660000C100B27909190A74B288CA81820052198C
+:10661000D3894B82128A401C8A8280B2A18981422E
+:10662000EED8D7E002A8009001AB224629463046BA
+:1066300000F0CCFBF1E002A8009001AB2246294615
+:10664000304600F005FCE8E0F07806281AD0FF207C
+:10665000C149223014E068680188A180E780278161
+:10666000A989A181B188E181E9892182EA89296921
+:1066700000982BE0F078062804D0FF20B6493C3083
+:106680000EF0A7FCE8896946123088803520088121
+:10669000002CE0D1C1E0F078072804D0FF20AE49FB
+:1066A00056300EF096FCA88969460E308880362058
+:1066B0000881002CBED068680188A180E78027810E
+:1066C000A989A1812046AA890E3029690EF0E4FA31
+:1066D00080E0E8896946123080B2382288800A81D9
+:1066E000002C79D068680188A180E7802781A9897A
+:1066F000A181287A102809D00221A173E989218279
+:10670000EA89296900980EF0C7FA86E00121F4E7CA
+:1067100002A8009001AB224629463046FFF716FD3D
+:106720007BE0F078082803D08B498D480EF051FCAF
+:1067300014206946888037200881002C6DD0686855
+:106740000188A180E7802781A989A18167822782AA
+:106750000120A0733EE0F078092804D080487E49EB
+:1067600018300EF036FC288A6946143088803720AD
+:106770000881002C51D068680188A180E78004213D
+:106780002781A173A989A181E9892182298A61824E
+:1067900020462A8A1430696998E702E038E01CE054
+:1067A00024E0F0780A2804D06D486B4933300EF0AD
+:1067B00010FC14206946888037200881002C2CD0DA
+:1067C00068680188A180E78027810521A173A781DE
+:1067D00027826782F77020E017E002A8009001ABE3
+:1067E000224629463046FFF78EFD16E00D20694609
+:1067F000392288800A81002C07D00120E08055488A
+:106800000188A1802781277307E00699088010E09E
+:106810008F205149C0000EF0DCFB68460699808845
+:106820000880002C05D06846008920806846808852
+:106830006080002007B0F0BDF7B594B015460F4654
+:10684000149800F0A0FA04000AD0032000F088FB9E
+:10685000022802D2E078002804D0112017B0F0BD41
+:106860004048FBE71720694601260883002D0FD01A
+:106870000321684601711021018210A8024605908B
+:1068800004A928460AF04DFD00280DD00720E5E7B1
+:1068900008216846017100210781C9434181052112
+:1068A0008673C90281810CE0A878A0712888A08035
+:1068B000684605218673C902818100210781C94389
+:1068C000418109AA023206A901A807F0E4F80028CC
+:1068D00002D000F06BFAC1E707A800906846038B6E
+:1068E00004220321149800F051FB0028B6D1E67071
+:1068F000B4E770B592B00D0006460ED000F043FA32
+:1069000004000CD0032000F02BFB022802D2E07818
+:10691000002806D0112012B070BD1020FBE71148EE
+:10692000F9E7172168468180042101722988818155
+:106930006988C181012181740B4901820AAA02324E
+:1069400001A902A807F0A7F800280FD000F02EFA3E
+:10695000E1E7000058000020346500003C0400001E
+:1069600063020000023000000228000008A8009026
+:106970006846838804220321304600F007FB002884
+:10698000C9D10221E170C6E770B592B00D0006468C
+:106990000DD000F0F8F904000BD0032000F0E0FA6D
+:1069A000022802D2E078002805D01120B3E7102099
+:1069B000B1E7FA48AFE717216846818004210172E8
+:1069C000298881816988C18101218174F44901820A
+:1069D0000AAA023201A902A807F05DF8002802D035
+:1069E00000F0E4F997E708A800906846838804223D
+:1069F0000321304600F0CAFA00288CD10321E1704F
+:106A000089E770B592B00D0006460DD000F0BBF9D5
+:106A100004000BD0032000F0A3FA022802D2E07891
+:106A2000002805D0112076E7102074E7DB4872E7D4
+:106A3000022168460172298881816988C1811721F4
+:106A400081800AAA023201A902A807F024F80028CE
+:106A500002D000F0ABF95EE708A800906846838892
+:106A600004220321304600F091FA0028DBD10421F2
+:106A7000E17050E7F0B591B015000E4607460ED014
+:106A800000F081F904000CD0032000F069FA02281C
+:106A900002D2E078002806D0112011B0F0BD1020FD
+:106AA000FBE7BE48F9E7172168468180042101729F
+:106AB000298881816988C181B17881743188018296
+:106AC0000AAA023201A902A806F0E5FF002802D0B6
+:106AD00000F06CF9E1E708A800906846838804227A
+:106AE0000321384600F052FA0028D6D10521E17082
+:106AF000D3E7F7B592B015460E46129800F043F969
+:106B000004000AD0032000F02BFA022802D2E07819
+:106B1000002804D0112015B0F0BDA048FBE70627DF
+:106B2000002D12D0684607728681C581A580172086
+:106B3000694688800AAA023201A902A806F0ABFFC2
+:106B4000002807D000F032F9E5E705216846017218
+:106B50008681EBE708A80090684683880422032119
+:106B6000129800F013FA0028D5D1E770D3E7F7B5F3
+:106B700092B016460D000ED0129800F004F90400F1
+:106B80000BD0032000F0ECF9022802D2E0780028B4
+:106B900005D01120BFE71020BDE78048BBE70727DD
+:106BA0006846077286811721049581800AAA0232FD
+:106BB00001A902A806F06FFF002802D000F0F6F845
+:106BC000A9E708A800906846838804220321129848
+:106BD00000F0DCF900289ED1E7709CE7F3B51720A0
+:106BE00091B00C46002915D021780B000EF0E2FA86
+:106BF000062B05051A041C2B1520C01EE28880B246
+:106C0000002A02D0A368002B04D0824204D90C20B1
+:106C100013B0F0BD1020FBE7042905D0A0880028A0
+:106C200011D101E00620F3E7119800F0ACF805005F
+:106C30000BD02078092701281AD0022807D0042871
+:106C400024D0052835D00720E2E75448E0E768461D
+:106C5000077161880181E1884181A068082603905D
+:106C6000304600F07DF9072829D34C48801CCFE737
+:106C70000C216846017161880181E1884181A06829
+:106C800003900EE0E878002811D118E00D21684645
+:106C9000017161880181A1884181E1888181A068B9
+:106CA00004900326304600F05BF90228EAD3112055
+:106CB000AEE70E2168460171217B0172F1E71721D1
+:106CC0006846018309AA023206A901A806F0E3FE7C
+:106CD000002802D000F06AF89AE707A800906846FA
+:106CE000038B04223146119800F050F900288FD10F
+:106CF0002178012907D002298AD0042905D0052945
+:106D000005D0032084E7082102E0EF7080E70A2124
+:106D1000E9707DE730B591B00C46054600F033F8D8
+:106D2000002808D0032000F01BF9022805D31B48D7
+:106D3000801C11B030BD1948FBE70F216846017176
+:106D400004811721018309AA023206A901A806F0CD
+:106D5000A2FE002802D000F029F8EAE707A8009078
+:106D60006846038B04220321284600F00FF9E0E770
+:106D70000C49884205D00C490988814201D10A4852
+:106D800070470020704710B5FFF7F2FF002802D0CF
+:106D90008178C90700D1002010BD0000023000003A
+:106DA00003280000FFFF000058000020002806D044
+:106DB000012805D0052805D0062805D003207047F6
+:106DC00011207047082070475C487047FFB583B0BA
+:106DD00003980C9EC0781D4614460F46012803D028
+:106DE0005749D2200EF0F5F8F889C0000E302880FF
+:106DF00030203080387B001FC0B20190002C26D09C
+:106E000078680088A0800020E0802081F889A08137
+:106E1000002616E0F0000519C01900902A464169C5
+:106E20000E3201980AF057FA002802D00020287488
+:106E3000E8810098761C008A68820098B6B2408A81
+:106E4000A882A089B042E5D803990020C870F1E477
+:106E5000F8B50646C0781F4614460D46042804D0EF
+:106E6000FF20374903300EF0B4F8A88906214843C3
+:106E70000E30388033210698002C01801AD06868C3
+:106E80000088A0800020E0802081A989A18103469C
+:106E90000CE01946062251434A190919D789CF81B6
+:106EA000977C8F74128A5B1C0A829BB2A1899942DB
+:106EB000EFD8F070F8BD70B514460546142204985A
+:106EC0001A8037220280002C18D0486800260088DB
+:106ED000A080487AFF300130E080C8892081C889CD
+:106EE000A0816682E878082809D0092811D00A28EC
+:106EF00019D0134913480EF06CF8EE7070BD087B82
+:106F00000C2804D00F480E490C380EF062F801200E
+:106F100012E0087B0D2804D00A48094908380EF011
+:106F200058F8042008E0087B0E2804D005480449DE
+:106F3000001F0EF04EF80520A073DEE703300000BE
+:106F4000346500008203000001460020FA4A02E096
+:106F5000401C082803D24300D35A8B42F8D1704713
+:106F600030B50446F44A0020163A117953790AE004
+:106F70005518AD79A54201D1401CC0B2491CC9B217
+:106F8000102900D100218B42F2D130BDFFB5EA4873
+:106F900081B0163841790A9C491CCDB21E46102D8D
+:106FA00000D10025E44816380079A84202D1042017
+:106FB00005B0F0BD0820FFF7D3FF0746072804D926
+:106FC000FF20DEA1A5300EF004F80298082801D1B8
+:106FD000072F17D001982080301D6080002060713D
+:106FE0002071E68003982081204606F005FD0028E8
+:106FF0000AD0D148029916384379821D99544571B7
+:107000000020D5E7D248D3E7FF20CCA1B7300DF060
+:10701000E0FF0320CCE7F0B58DB0044600256846BC
+:10702000057116468C460620FFF79AFF00281CD1F2
+:1070300021780127C807002801D0132917D96846ED
+:1070400087766178C17602218183C58304A8009088
+:1070500070680C23008805220621FFF797FF00289F
+:1070600003D0B6A185200DF0B4FF0DB0F0BDB2483D
+:1070700016380278002AF8D0427863789A42F4D120
+:10708000012918D0132919D16146062916D1057096
+:10709000002101200AF04EFE6846077170680188E1
+:1070A0006846C1800021C9430181607922790102CB
+:1070B000114368461AE06146062908D068460079FF
+:1070C0000028D2D0314601A8FDF7AFFECDE705700C
+:1070D000002101200AF02EFE6846077160792279AE
+:1070E00001021143684601810021C9434181E9E75A
+:1070F000914810B50021163801704A1E4280417037
+:107100000171417101200AF015FE10BD10B5FFF7A5
+:10711000EFFF0020884902464300401CCA5208285D
+:10712000FAD310BD84491639488000207047DFE744
+:1071300070470EB501216846017086498180C18083
+:107140000021FDF772FE0EBDF7B505460078002759
+:1071500000090C463E46012804D0FF2077A1683084
+:107160000DF037FF287A02280CD0FF2073A17E3063
+:107170000DF02FFF0298002C068001D0278066803A
+:107180000020FEBDEA89702710460A3086B2002C26
+:107190000BD068680088A080A8892081E280204602
+:1071A0000A3029690DF078FDE4E702980680E7E7E8
+:1071B000F0B543680246D9799C79090221435C7A8B
+:1071C0001E7A25025C88981D3543241F87B0A14292
+:1071D0001DD11B79022B1AD1042D1AD0052D2AD0CE
+:1071E000062D1AD0402D12D3061D0F4614462846F0
+:1071F000FFF7AAFE08280AD0112020700220207272
+:10720000A581E7812661607808210843607007B096
+:10721000F0BD001D00F0E1F8F9E7041D0D46FEF792
+:10722000F9FE0028F3D0062168460170019405722A
+:1072300008F0CBFBEBE7001DFFF7EDFEE7E710B52D
+:107240003D4C8AB0163C2278012A26D012236A4689
+:10725000937363789B1CD373082313820B88538228
+:107260004B8893828B88D382C988118301A90091AE
+:107270000C2305220721FFF789FE00280BD10022ED
+:10728000F023114601200AF0B0FC01202070607844
+:10729000801C607000200AB010BD1120FBE7F0B523
+:1072A000254C0027163C87B00646A51D1FE06079D7
+:1072B0002179884204D1112020A140010DF089FEDE
+:1072C0002079405D042804D0082808D17F1CFFB233
+:1072D00005E0072069460870684608F076FB2079CB
+:1072E000401CC0B22071102801D10020207130460E
+:1072F000761EF6B20028DAD1384688E710B5044683
+:10730000402801D2072010BDFFF71EFE082802D03A
+:107310003120000210BD0021074802E0491C082965
+:1073200003D24A00825A002AF8D1082914D0490011
+:107330004452002010BD0000DA1300207372635C19
+:107340006C326361705F636F72652E6300000000D2
+:1073500004300000FFFF00000420EBE700B54028E8
+:1073600001D2072000BDFFF7EFFD082805D000215E
+:107370003B4A40001152084600BD052000BDF0B553
+:107380008BB016460C00074607D0002E05D061884A
+:10739000402904D207200BB0F0BD1020FBE7208865
+:1073A000002801D0172801D90C20F4E70846FFF780
+:1073B000CBFD08280FD0258803A82A463146023085
+:1073C0000DF06AFC01A8009062882B46082138461F
+:1073D000FFF7DCFDDFE70520DDE7F0B50E460746E9
+:1073E00001468BB014460125304606F0D1FC082832
+:1073F0001DD10020694608850120FFF7B1FD002856
+:1074000002D117206946088503AB02330AAA394620
+:107410003046009407F0CFF800280AD0022819D08F
+:10742000032804D0FF200F4902300DF0D2FD28467A
+:10743000B1E76846038D002BF9D001A80090606881
+:10744000042200880121FFF7A1FD0028EFD00549A3
+:10745000EC20EAE760780025102108436070E6E739
+:10746000DA1300203C730000002803D08178012942
+:1074700039D101E0102070470188FA4A881A9142F8
+:1074800033D01BDCF84A881A91422ED00BDC00293D
+:107490002BD00320C002081A27D0012825D00121B3
+:1074A0000903401A07E001281FD002281DD0FF2839
+:1074B0001BD0FF380138002815D116E0FF22013219
+:1074C000811A904211D008DC01280ED002280CD07D
+:1074D000FE280AD0FF2806D107E0012905D002299D
+:1074E00003D0032901D0002070470F20704700B55A
+:1074F0000A2821D008DC03000DF05CFE0A1C2024C1
+:10750000241A24282224261A102819D008DC0B2833
+:1075100016D00C2814D00D281AD00F2808D111E04D
+:1075200011280FD0822807D084280DD085280DD0AF
+:10753000032000BD002000BD052000BDCB4800BDDC
+:10754000072000BD0F2000BD042000BD062000BDA7
+:107550000C2000BD70B500290BD0CB1FFA3B812455
+:107560001E46CDB2112B1BD2012805D0022806D011
+:1075700009E0002010701DE0FF20043001E0FF2032
+:107580000330814218D033000DF014FE111613138E
+:1075900016131616131616161313131316131600B6
+:1075A0000846FF3881381F2803D9FF39FE390229E0
+:1075B00002D81570002070BD1470072070BD00B592
+:1075C00003000DF0F7FD060406040C080A0C002069
+:1075D00000BD112000BD072000BD082000BD032014
+:1075E00000BD00780207120F04D0012A05D0022A3C
+:1075F0000AD10EE0000907D108E00009012805D0F2
+:10760000022803D0032801D007207047087000200B
+:10761000704706207047002807D0012807D00228AD
+:1076200007D0032807D007207047002004E011206E
+:1076300002E0212000E0312008700020704738B5BA
+:107640000C4605004FD06946FFF7CBFF002822D13A
+:107650002088032189028843694609788907090D32
+:10766000084320806946681CFFF7BBFF002812D141
+:107670002188032000038143684600788007800C3E
+:1076800001432180A8784007820F2020012A03D0DF
+:10769000022A03D0072038BD814300E00143218046
+:1076A00088B20105890F08D0012189038843A97890
+:1076B0000907C90F89030843208080B28104890F1C
+:1076C0000AD0A9784004C906C90F400CC903084371
+:1076D00020808004800F02D12088400403D52088B8
+:1076E000402108432080002038BD70B504460020AA
+:1076F000088015466068FFF7A2FF002815D1218990
+:10770000A089814210D86168594E8978C90707D08D
+:10771000711E884208D831460DF038FB298009E0F7
+:10772000FF21FF31884201D90C2070BDFF30FF30AE
+:107730000330288060688078C007A08903D0314674
+:107740000DF024FB03E0FF30FF30033081B22980CD
+:1077500020688178474801732068464900882039AD
+:107760004885002070BD10B5137804785B08E407E5
+:107770005B00E40F23431370FD2423400478A40727
+:10778000E40F640023431370FB2423400478640750
+:10779000E40FA40023431370F72423400478240744
+:1077A000E40FE40023431370EF2423400478E4063D
+:1077B000E40F240123431370DF2423400478A4063C
+:1077C000E40F6401234313700078BF244006C00F08
+:1077D0002340800103431370002906D00878C107B5
+:1077E00001D1800701D5012000E00020C001590629
+:1077F000490E0843107010BD30B50A8803239B0260
+:1078000004889A4323059D0F02D1A3049C0F01D045
+:107810009B0F00E001239B021A4303230A801B03F2
+:107820009A4303889804840F02D11805830F01D06E
+:10783000800F00E00120000302430A8030BDF3B551
+:1078400091B00D0018D01198002818D012212846A8
+:107850000DF07FFA01A9012007F0A9FE00242646B9
+:10786000374677E0022900000128000003300000BD
+:10787000010200000C140020102013B0F0BD0720FE
+:10788000FBE76846007C01280BD16846C1890520CA
+:10789000C002081A0AD001280AD002280CD00328F6
+:1078A0000CD0042C0ED0052C0FD10DE0012400E0EB
+:1078B00002246846868908E0032406E0684604241A
+:1078C000878902E0052400E0062468468189119832
+:1078D00081423FD12C74002E3AD00BA800900CAB03
+:1078E00010220021304607F0F4FE002820D168461F
+:1078F000808D2A46C0B20CA909F0EDFC002817D1F2
+:10790000AE81002F24D00BA8009006AB13220021DB
+:10791000384607F0DEFE00280AD16846808D06A9A9
+:10792000C01E0331C0B22A1D09F0D5FC002801D0C9
+:107930000320A2E76846817E427E08021043E88168
+:10794000062C05D16846007CA8726846C08928814B
+:10795000002092E701A807F032FE002891D0FFF73F
+:10796000C6FD8AE7002804D0012903D0022904D0EB
+:1079700003207047F949C98D02E0F8494031C988B0
+:10798000814201D1002070470720704730B5F34C89
+:107990000025608B91B0C00B2ED1216900292BD01E
+:1079A000207B800728D401226846027102720022DF
+:1079B0004272228B8281A28A8282049117210183E2
+:1079C00009AA0023023206A901A807F0A7F9002896
+:1079D00003D0FFF7F4FD11B030BD207B0221084336
+:1079E000207307A8009069460B8B20880422012190
+:1079F000FFF7CCFA05460BE0FBF7A5FC84210170EC
+:107A00000921017218341ECC0C301EC0FBF7B7FCE4
+:107A10002846E0E710B5D14C034621690020002933
+:107A200009D02146012210311846FBF76BFE0020D9
+:107A30002061A0820120217BF9221140217310BD19
+:107A400070B50C4605461C2120460DF082F9002039
+:107A50002080002D08D0012D04D0C1A1C5480DF013
+:107A6000B8FA70BD062000E00520A07070BD10B50A
+:107A700007F07CFB10BDFEB50546007800260C46DD
+:107A8000374603000DF096FB0C91070C1D962F4610
+:107A90002F46486C899168680A38FBF793FD89E0A6
+:107AA000002904D0B348AEA11B300DF092FAFBF7C9
+:107AB0004AFC04464078082108436070FBF75FFCED
+:107AC00078E0002C04D1BB20A5A180000DF081FA44
+:107AD000284601F0B1FA00286CD0607808210843EC
+:107AE0006070022666E0E888694608800190002CF4
+:107AF00004D1A0489AA12F300DF06BFA28780728FE
+:107B00001CD10198C00B19D0944800218171A9881B
+:107B1000818012E003264DE0002C04D1C52090A105
+:107B200080000DF056FA8D48017B89070BD500695E
+:107B3000002802D0E888C00B3CD0022660780821DB
+:107B40000843607036E0291D8EC918308EC0283871
+:107B50000188022601222046FBF7B6FD0127EDE74A
+:107B6000002C04D183487EA164300DF032FA7B48AA
+:107B70000821007B4007C00F460060780843607012
+:107B8000002E17D12879012802D16879002811D058
+:107B90002046FFF73FFF07460CE0002CCED10D201A
+:107BA0006FA180010DF015FAC8E772486CA17A3018
+:107BB0000DF00FFA002C0CD06078000709D5002FCB
+:107BC00007D1842020702046582229460830F9F732
+:107BD000FBFA3046FEBDF7B5027A88B00C46054682
+:107BE00020460C300490069216300027921E029018
+:107BF0003E460A31594813000DF0DCFA0ADF06E66A
+:107C00002AE62AE66A98C6E64288002A02D0522767
+:107C10000726DDE051271E26002C7DD06A684F48DC
+:107C20001288A2800122A2718079C0004019C08907
+:107C3000FFF705FE002877D148488179C900491926
+:107C4000C98921818079C0004019408AA083BFE0A2
+:107C5000688A00900698072817D1E889C00B14D0CD
+:107C600000985127223086B2002C55D0A88904995B
+:107C7000FFF7E5FD002857D168680088A080022042
+:107C8000A071A8892081012041E000985027203070
+:107C900086B2002C40D0A889FFF7D1FD002843D13F
+:107CA00068680088A080A889E080287A07280AD020
+:107CB00002202072288AA0830098E0832046696908
+:107CC0002030009A01E00120F3E70CF0E5FF7FE0AF
+:107CD000698A00910169002902D0E989C90B22D083
+:107CE0000099512722318EB200218171A9898180AA
+:107CF000002C5FD00088A080A8890499FFF79FFD21
+:107D0000002811D10220A071A88920810420A0722E
+:107D1000288AE083009801E04CE005E0208469694E
+:107D2000009A0298D1E703200BB0F0BD007B40071A
+:107D300002D55127222601E050272026002C39D0D9
+:107D40006868502F0088A08016D00220A0712146BC
+:107D5000287B0831FFF774FE3AE00000EC130020A6
+:107D60007372635C67617474735F636F72652E63B3
+:107D700000000000CB020000287BA11DFFF760FE81
+:107D80000020FFF747FE23E0A9890089884207D138
+:107D900054270626002C0DD068680088A08017E0C4
+:107DA00053270826002C05D068680088A080A88981
+:107DB000E0800DE00A98068010E055270726002C89
+:107DC000F8D00020A07103E0FD49FE480DF001F954
+:107DD0000A98002C068001D0278066800020A3E747
+:107DE000F94800210172203801814181418081716F
+:107DF0008180027BF923520852001A40027301610C
+:107E00008182704770B5F04C86B0203C2080002005
+:107E10006080A071A0806946012007F0C8FB102691
+:107E200008E00199088802461207D20FB0431201F8
+:107E300010430880684607F0C2FB0500F1D02069B6
+:107E4000002804D0DF48DE4933300DF0C2F8207B33
+:107E5000800704D5DB48DA4934300DF0BAF8822DBA
+:107E600004D02846FFF743FB06B070BD0020FBE7B7
+:107E7000D54810B52038017B012211430173002140
+:107E800041808171818006F045FB10BD10B5CE4C5C
+:107E90000020C043203C20800020FFF7BBFD207B5A
+:107EA00040084000207310BD70B5C74D0446203D0A
+:107EB000287B800704D5C348C1494B300DF089F8B1
+:107EC000287BC00706D12888C049884202D028698B
+:107ED000002801D0082070BD002C08D0A0881628EA
+:107EE00001D2092070BD20682861A088A882FFF710
+:107EF0004DFD70BD10B50C4607F02DFB002804D0D9
+:107F0000C520AF49C0000DF064F82046FFF7EFFA36
+:107F100010BDF0B5AC4D0446203591B0002008905E
+:107F200068820E462882E8812946E8804039088622
+:107F3000694608830885088688838882A2480E904F
+:107F4000007A1746012808D0022806D0032804D05A
+:107F5000042802D0082011B0F0BD9D48844269D3A6
+:107F600001239B049B49E21A8A4263D39A4A9442B2
+:107F700060D286425ED31001331A0846834259D339
+:107F80001046864256D26068002815D09049884233
+:107F900050D31101421A8F498A424BD38E498842ED
+:107FA00048D260892189884203D801225202914235
+:107FB00001D90C20CFE7089010AA0CA93046FFF792
+:107FC00094FB0028C7D106A92069FFF738FB0028D9
+:107FD000C1D1206900280CD060788007002868464D
+:107FE000008B03DA8004800F75D002E08004800FDC
+:107FF00071D16846008B81061ED58004800F6068B1
+:1080000009D0002818D00721490740180121890309
+:1080100088420FD201E000280ED06D496068884286
+:1080200008D301218904421A6A498A4202D36A4963
+:10803000884201D310208EE705A96069FFF7FFFA97
+:10804000002888D16069002808D06846808A010528
+:10805000890F01293FD18004800F3CD007A9A06976
+:10806000FFF7EDFA0028A5D16846808A800632D451
+:108070006846808B81062ED4A169002906D00105AF
+:10808000890F012927D18004800F24D0E0680028BF
+:1080900004D0007800281ED01C281CD24A4A611C3B
+:1080A000123220460992FFF75EFB0321002089026D
+:1080B000884301218902411868460D9101850121FB
+:1080C000817446490182404A0FA91532306809F08F
+:1080D00028F9002801D007203DE708A8007F3A4989
+:1080E000C01CC2B26A7100201031FF3200900190B2
+:1080F000FF3203460291039003320AA904A807F055
+:10810000C5F9002827D130482038008E0B902E4822
+:108110003389383032690146123902910093019255
+:10812000039010A90A8873890CA9306807F0AEF98A
+:1081300001007CD12448E98811308170090AC1709E
+:108140000026009631386A79008E3146099B07F087
+:108150001CF9002802D0FFF7CAF9FCE60E98807CD3
+:10816000C00928D068460D99018501218174292113
+:1081700009020182AE81287B61784008C90740006E
+:10818000C90F08432873FD2108406178022289073E
+:10819000C90F4900084328730B4900922A31881CF3
+:1081A00002910190002303960D4A0AA904A807F042
+:1081B0006DF901003BD1606800283DD0206911E0D5
+:1081C000607D0000220400000C140020FFFF00006E
+:1081D000006001000000FC1F004000200328000098
+:1081E0000302000000280DD106A90CA8FFF704FB2C
+:1081F0006078800706D46946088B03210903884309
+:1082000069460883012069468874FD4808822089F0
+:10821000FC490CF0BBFD6268089BFB48019200938F
+:1082200002900A460396002306A904A800E081E014
+:1082300007F02CF901007DD12078C10601D4800619
+:108240002ED568460684606900280DD105A90CA8C2
+:10825000FFF7D2FA6846818A032080028143012019
+:1082600080020918684681826946888A4821084345
+:108270006946888201208874E14808AA401C088267
+:10828000E1490192891C0220DE4A029100900023FC
+:108290000396921C05A904A807F0F8F8010063D121
+:1082A0002078C0072ED068460684A06900280DD12A
+:1082B00007A90CA8FFF7A0FA6846818B032080026B
+:1082C0008143012080020918684681836846818BBA
+:1082D000402001436846818301218174C84908AA6E
+:1082E000891C0182C8480192001D0221C54A0091E3
+:1082F000029000230396921C07A904A807F0C6F871
+:10830000010031D1E068002832D068460D9901851E
+:1083100001218174BA49C91C0182E16808A80A7860
+:10832000027049784170E068418868464184E0689D
+:10833000017900E018E008A80171E0680722C1880F
+:1083400008A84171090A8171AF4808A9801D0092EF
+:1083500001910290412200230396D2000AA904A8A9
+:1083600007F094F8010003D00B98FFF7C3FDF2E586
+:1083700003210E98002F017207D0E8883880E88921
+:108380007880288AB880688AF8800020E3E5F0B514
+:1083900001248BB016460F46012802D002281BD1BB
+:1083A00004E0684605218474C90202E068469749E2
+:1083B00084740182002F11D0032100208902884398
+:1083C0000121890241186846018506AA05A9384697
+:1083D00008F0A7FF002803D00720A5E41020A3E49D
+:1083E000894DB8782E3D287338882F46203F7885F0
+:1083F0006A46127D0020294606AB00920E31019399
+:10840000FF32029103900346FF3203320AA904A807
+:1084100007F03CF8002802D0FFF769F884E4002E4A
+:1084200001D0F88D30802C7200207DE470B592B0C0
+:108430000446012508A8857075496846018406F040
+:108440009CFF002208A90120FFF7A1FF064606F0C5
+:1084500098FF30003AD120780024C00700283FD090
+:108460001C2168460CF077FC684601782020014307
+:108470006846017008A885706649684601841194B1
+:108480000794817FF9200140891C6846817700208C
+:10849000014668460177002001466846417704217D
+:1084A0008185C485018607A80A9011A80D9008A8A7
+:1084B000099006F062FF0EAA09A96846FFF729FD98
+:1084C000054606F05EFF002D02D0284612B070BDB2
+:1084D0004D486946098F4E3801816946898F41812F
+:1084E00049482E3804720020F0E7F7B5464E9CB09C
+:1084F00000212E3E0091317A012904D0022902D0B8
+:1085000008201FB0F0BD40494E39CA8D824201D0CB
+:108510000620F6E71D98824201D10720F1E73B488B
+:10852000012110AA9176401C1083002003239B0296
+:1085300002469A438B02D31810AA93846A46918408
+:108540003549D18410AA9077908317AA0A926A4677
+:1085500091850C9009A807F051F80024254627467C
+:1085600004A909A807F04DF8002810D082287BD173
+:10857000002C7CD0002D7AD010A8048145810024E5
+:10858000047518A8807812AD012872D07AE0684688
+:10859000807D002F1FD0012862D16846818A1B4848
+:1085A000401C814219D114A800906846408A0EAB45
+:1085B0001022002107F08DF8002877D110A8008A3A
+:1085C000042801D006285BD16846018F1D9881429E
+:1085D00046D10F2095E7012842D16846808A0521BF
+:1085E000C902884202D0491C884239D106484E3817
+:1085F000C18D6846408A814210D101270FE00000FA
+:1086000001290000010200003A14002001280000A6
+:1086100001180000052A0000FFFF00000027002CC1
+:1086200001D0002D0DD01D99884219D114A90091B7
+:1086300004460EAB1022002107F04BF8002835D17C
+:1086400001E0009D0CE010A8008A022801D010284B
+:1086500016D1C0B218AA0EA908F03DFE00280FD10D
+:108660006846408A00907BE720E000E001E00520BA
+:1086700047E72A1D15A918A808F053FE002801D0C5
+:1086800003203EE710A8007D0023001DC2B210A801
+:1086900002751E98029019A901950394009216A8DC
+:1086A00006F0F4FE002801D102213172FEF71FFF0F
+:1086B00027E73EB50B46401E84B201AA00211846AA
+:1086C000FFF751F806F059FE02A8009001AB012215
+:1086D0000021204606F059FE044606F052FE684688
+:1086E0000089012803D0FE49FE480CF072FC2046A8
+:1086F000FEF7FDFE3EBDF0B5FB4E0446307A89B074
+:108700000F46032804D0042802D0082009B0F0BD89
+:1087100004AA06A92046FEF7E8FF0500F6D1F248B4
+:108720002389383022690146103902910093019261
+:10873000039069460A8A638906A9206806F0A6FEA6
+:10874000002802D0FEF7D3FEE0E7002F03D0E64872
+:10875000203000893880042030722846D6E738B5AA
+:108760000C00054608D00022694607F00CF80028E6
+:1087700004D0FEF7BCFE38BD102038BD6946204647
+:10878000FEF75DFF0028F8D1A0786946C207D20F36
+:10879000284607F013F8ECE73EB50C0008D002AA13
+:1087A000694606F0F0FF002804D0FEF7A0FE3EBDAB
+:1087B00010203EBD032120460CF0CBFA684600880D
+:1087C00001A90005800FFEF726FF00280BD168469F
+:1087D000007920706846008801A98004800FFEF7A8
+:1087E0001AFF002801D003203EBD68460079607062
+:1087F000A278EF20024068460088C10B09010A43B5
+:10880000F7210A404104C90FC9000A43A270F921A7
+:108810000A40800601D5012000E0022040006946A0
+:108820000243097A50084000C907C90F0843A070E5
+:1088300000203EBDFEB51D4614460E46074606F016
+:108840009CFD01A8009022882B463146384606F050
+:108850009CFD054668468088208006F092FD2846EB
+:10886000FEF745FEFEBDF0B50C46002199B0074667
+:10887000684681850D46002C11D0E068002806D09E
+:10888000A06800280BD002886B469A850180A078EA
+:10889000012806D0022804D0072019B0F0BD10200E
+:1088A000FBE72088002807D0401E80B201A906F00F
+:1088B0007EFE002842D136E08C48EEE769468A8980
+:1088C00021888A420BD26846007C002501282CD1E1
+:1088D0006846C0898649884227D1012525E08A4219
+:1088E00003D1002D2FD06D1C01E0022D02D0032DED
+:1088F0001BD31FE06946097C012916D169467C4BD0
+:10890000CA895B1ED11A9A421DD005DC7948101A1B
+:1089100019D0012809D116E0012914D0FF390139F5
+:1089200003D1032506E00D26B60201A806F047FE96
+:108930000028C3D0822804D0002806D0FEF7D7FD37
+:10894000ABE7022DFAD13046A7E7E068002813D044
+:1089500006F013FD0BA800906A46A1882088928D2E
+:10896000E36806F012FD054606F00BFD002D19D157
+:108970006846A168808D088002980078C00601D5FD
+:108980005D488AE706F0F9FC0EA8009068468089E9
+:108990000CAB0222002106F09CFE054606F0F1FC1D
+:1089A000002D01D02846C9E76846008F022801D073
+:1089B000032072E7A078012808A8007C03D0800774
+:1089C0000ED4082069E7C007FBD00820FEF7C8FADC
+:1089D000072802D34548401C5FE70825022001E034
+:1089E000022503206946087621886846818317217D
+:1089F000818611AA002302320DA906A806F08EF97D
+:108A0000002802D0FEF7DBFD47E70FA8009068467C
+:108A1000838E042229463846FEF7B8FA3DE770B542
+:108A2000064615460C460846FEF71EFD00280AD1EC
+:108A300006F0A3FC2A4621463046FFF7A8FC044670
+:108A400006F09FFC204670BD70B514460D460646E4
+:108A500006F093FC224629463046FFF746FD0446C1
+:108A600006F08FFC204670BD70B51E4614460D0002
+:108A70001AD0002C18D06168002915D00121FEF70A
+:108A800071FF00280FD12068FEF7EEFC00280AD104
+:108A900006F073FC324621462846FFF73AFA0446B0
+:108AA00006F06FFC204670BD102070BD70B51546F5
+:108AB0000C0023D00221FEF755FF00280ED12068BC
+:108AC000FEF7D2FC002809D106F057FC29462046C3
+:108AD000FFF711FE044606F054FC204670BD00006E
+:108AE000607D00003E0600000C14002003300000F2
+:108AF0000328000000280000013400001020EDE7EA
+:108B0000FEB507460E4607201546400701211218FC
+:108B100089031C468A4219D2002C02D020188842B0
+:108B200014D2384600F045FA00280AD1002C0FD1A3
+:108B300001AA6946384606F026FE002802D0FEF754
+:108B4000D6FCFEBD68460088800601D41020FEBD1C
+:108B500023462A4631463846FFF76CFEFEBDFFB578
+:108B600085B01E4614000F4609D003AA02A9059835
+:108B700006F009FE002804D0FEF7B9FCC6E5102077
+:108B8000C4E568460089C00601D5FB48BEE506F08D
+:108B9000F4FB01A800900023F84A3946059806F036
+:108BA00098FD054606F0EDFB002D11D1002E0CD0EE
+:108BB00006F0E3FB002000902288334639460598F2
+:108BC00006F087FD054606F0DCFB684680882080BD
+:108BD0002846D1E7002906D0E94B0A885B899A42EA
+:108BE00001D8E84870473EE610B586B004236C46CD
+:108BF000A382E34B1C89002C07D05B898B4201D2F6
+:108C0000914204D9DF4806B010BD0620FBE76B4651
+:108C100019825A820021009101911C8002219970D1
+:108C200005A9029104A903916946FFF71CFEEAE732
+:108C3000F0B591B00D4681206946087105F09CFCA5
+:108C40000646002D08D02878CD4C012806D00228F1
+:108C500028D0072011B0F0BD1020FBE7A98801AA99
+:108C6000FEF778FC0028F5D1B00734D568460079C6
+:108C7000002820D1A879C0071DD006F07EFB002077
+:108C800000906A892989A088EB6806F07EFB694616
+:108C9000087106F076FB6946087900280BD0FEF7CC
+:108CA00026FCD7E7A98801AAFEF754FC0028D1D1F9
+:108CB000342006420FD00121684601720173017908
+:108CC0004173F00609D5A18868460182A18A018313
+:108CD0002069059004E00820BCE7A0886946088266
+:108CE000FAF731FB05461720694688830AAA2B4606
+:108CF000023207A902A806F011F8074668780007B3
+:108D000001D5FAF73CFB002F03D03846FEF757FC9D
+:108D1000A0E7F00603D5207B062108432073B006A8
+:108D200002D50020FEF776FE08A8009069468B8BDE
+:108D3000208804220121FEF729F98BE7F0B50026EF
+:108D400095B014460D4600290FD0022C4FD3A71E14
+:108D5000BAB28A480AF052FE29191039CA7B8B7BB5
+:108D600011021943884242D1BCB201A9012006F088
+:108D70001EFC7AE0029F3888010776D5002D41D08D
+:108D8000A9190691CA788B78361D1102B6B219431B
+:108D90008919A1422BD869468A8906994B780978A6
+:108DA0001B020B439A4222D1C00623D506F0E5FAF6
+:108DB00007A800900698AB19C17880780A02069936
+:108DC00002434878097800020843002106F0DDFAE2
+:108DD000009006F0D6FA009800283ED10698C17897
+:108DE000827808026946898B1043884202D00B20A2
+:108DF00015B0F0BD0698C17882780802104380193A
+:108E000086B22EE0C0062CD5002007AA01461154D8
+:108E1000401C80B21028FAD306F0AFFA06A80090E2
+:108E20006846002380891022194606F052FC009003
+:108E3000002803D006F0A5FA00980EE00BA86946BA
+:108E4000009088890A8B07AB002106F09EFA0090FB
+:108E500006F097FA0098002803D0FEF748FBC7E712
+:108E600003E0388810218843388001A806F0A7FB6A
+:108E7000002800D17EE7424D6988002921D00122D7
+:108E800068460276027700244477018417218185A1
+:108E90000EAA234602320BA906A805F03FFF0028C0
+:108EA00002D0FEF78CFBA3E70CA8009069468B8DDF
+:108EB000288804220121FEF769F8002898D16C80E7
+:108EC00096E7002094E7F0B5002487B015460E46DB
+:108ED000002A04D002A9012006F069FB41E010201D
+:108EE00007B0F0BD0398007800073AD506F045FAC0
+:108EF00001A8009068460023008A204A194606F01F
+:108F0000E8FB074606F03DFA002F23D1002E23D0C0
+:108F100068468088298820183719001D814239D376
+:108F20006946098A3970090A797069468988B97071
+:108F3000090AF97006F021FA01A869460090088A2A
+:108F40008A883B1D002106F0C4FB074606F019FA8B
+:108F5000002F01D00320C3E7684680882018001D39
+:108F600084B202A806F02BFB0028BBD082280BD0CD
+:108F7000FEF7BDFAB4E7000001340000FFFF000077
+:108F8000EC13002003300000002E0ED02988A01C16
+:108F9000814201D20C20A3E72246314639480AF02B
+:108FA0002DFD31190870000A4870A41C2C80002087
+:108FB00096E700B585B06946FEF741FC00280AD166
+:108FC0006846007C03000CF0F5F808052F2F2F2FC2
+:108FD00008080531032005B000BD684680780128E7
+:108FE00007D1684600880321C902401A1CD0012815
+:108FF0001AD068468079012806D1684680881521F4
+:109000004902401A05280FD96846807A012811D1F3
+:109010006846018929200002081A05D0022803D0D9
+:10902000032801D0042805D10F20D4E7164917489A
+:109030000BF0CFFF0020CEE738B5154A0021518054
+:1090400003791AE0CC002418A46800946C462488A4
+:10905000250707D5E50605D5D90008182038C08BA7
+:10906000508006E0640406D59171C9000818C088D4
+:109070009080012038BD491CC9B28B42E2D8002043
+:1090800038BD0000FFFF0000607D000033020000DB
+:10909000EC1300200120F8494006C861704770B504
+:1090A000F54D0024AC7028466C7020304470047478
+:1090B0006C61AC72AC6209F01AFFA86128463430CA
+:1090C0000AF0B4FD002804D0FF20ECA13A300BF0E8
+:1090D00080FFEE48C46301204006E86170BD70B5B2
+:1090E0000125EB4902260E60E849CD63E949C96ACA
+:1090F00009070ED4E7494031CB6AE74A53620B6B4C
+:1091000093624B6BD3628B6B1363C96BD3051943AB
+:109110005163D949E14CC96900282BD001282DD0D1
+:10912000FF20D6A169300BF054FFDD48A063FF207B
+:10913000043060632563DB49032008602061D74960
+:10914000962040314860D948D7494163D549FC3918
+:109150000163D549091FC163D249F03981630320F6
+:10916000D249000340394860D14910204860D148B5
+:10917000066070BDD0486061D04804E0CF48E03060
+:109180006061CE48801F0143A161CEE7BA4901204A
+:1091900008707047B84900200870704770477047E2
+:1091A000BE4940310028086802D00122104301E086
+:1091B000400840000860704770B50C46AE4D01464F
+:1091C0000622E81C0BF068FD6C7270BDAA482030C6
+:1091D00040787047A84A91705070704770B50D463E
+:1091E0000446082904D9FF20A4A1C6300BF0F1FEE3
+:1091F0000022B34809E09100635809180B6053003E
+:109200001B191B8C0B62521CD2B2AA42F3D3206BE7
+:10921000AB494031086070BD0B23DB4310B5C21A67
+:109220009E4998421FD008DC1C3222D00A2A20D046
+:10923000142A1CD0182A08D117E0083011D00428AD
+:109240000DD0082809D00C2805D0FF208BA1F230C2
+:109250000BF0BFFE10BD04200CE000200AE0FC2053
+:1092600008E0F82006E0F42004E0F02002E0EC2022
+:1092700000E0D820C86010BD7F482030007B7047D8
+:1092800010B5864CC17861620BF067FD0002E061A9
+:1092900010BD252808D0262808D0272808D041004E
+:1092A0000A2807D8091D06E0022105E01A2103E07B
+:1092B000502101E0891DC9B2784A91607749403157
+:1092C000486170476C494861704770B56A4CA0723C
+:1092D00000F01FFBA07AC00740D0724D28688007BD
+:1092E00003D466A177480BF074FEA07A01061DD561
+:1092F000800707D5734861A1801C0BF06AFEA07A35
+:10930000000613D52078694E012816D0002804D015
+:109310006C485AA111300BF05CFE6B487061A0697B
+:109320003061FF206149013040394860A07A8007F0
+:1093300014D52868C00708D102E06348001FEDE794
+:1093400060484EA11A300BF044FEA07A400728680E
+:1093500001D5042100E008210843286070BD70B5E4
+:109360000124454D002807D0012818D002281AD022
+:10937000232042A100010BE000F0CBFA52482978EB
+:10938000001F012907D0002907D04E483BA15738BC
+:109390000BF01FFE70BD046070BD446070BD812085
+:1093A000FFF793FF70BD00F0B4FA6869002804D19C
+:1093B000444832A14F380BF00CFE6969A86A401886
+:1093C0004249C86039484249403001603E490C3149
+:1093D00041600814354940394860274820300474FA
+:1093E00070BDF8B50C2069460870314C6068C00645
+:1093F000C50F1026A66034480021FC300161324BB5
+:1094000001221B1F1A610BE000BF00BF00BF00BF9D
+:1094100000BF00BF00BF00BF6B461A78521E1A7013
+:109420006A461278002A02D00269002AECD0016153
+:1094300068460078002804D1912010A180000BF02C
+:10944000C8FD002D00D06660F8BD0B490020C86142
+:10945000704710B50BF081FC00021049000AC86388
+:1094600010BD0B49022008607047094902200860BE
+:109470001049086070470000481400207372635C54
+:1094800068616C5F7263732E63000000C01F004050
+:1094900080E100E08000001000170040001500404F
+:1094A0005B060000001200404480004040F501408F
+:1094B0000013004080E200E00601020025000300E6
+:1094C0000016004075020000041000404085004076
+:1094D0004C810040F74902200860CBE7F64908704C
+:1094E000C8E710B5F5480AF0A9FB002803D0F449F5
+:1094F000F4480BF06EFD10BD10B5F0480AF0B6FB55
+:1095000010BDF1494860B5E7EC4910B53439EF4B6F
+:109510000022C8605A60896A0818ED49486000F066
+:10952000FFF910BDE54810B5C2213438C160E74AE3
+:1095300000215160806AE649C230486000F0F0F9CD
+:1095400010BD0120E34940028860DC490020343925
+:10955000C860DF4948608DE7D84900203439886207
+:1095600088E7D648DA493438806AFE30886081E777
+:10957000D749002088607DE7D748016810229143D1
+:109580000160D6490120886174E7D5490020C8618F
+:10959000D14801681022114301606BE700B5FFF765
+:1095A000EBFFC64900203439087400BD00B5FFF751
+:1095B000ECFFC24901203439087400BDC849CA69AA
+:1095C000012A01D0002055E7BF4A40329268520676
+:1095D000520E524202700020C86101204AE7F8B5DD
+:1095E000BF4C2069012806D00021B44834380078E7
+:1095F000012802D004E04021F7E7E268012A04D004
+:1096000000220A43012802D004E02022F9E7616821
+:10961000012905D000211143B24A002802D007E0F9
+:109620001021F8E71368012B02D1E368012B04D065
+:1096300000230B43002802D007E00823F9E7116854
+:10964000002902D1E168012905D000221A439F4E6A
+:10965000002802D004E00422F8E77168012904D050
+:1096600000211143002802D004E00221F9E76068DC
+:10967000012829D000259C480D4301680906090EE0
+:1096800002D06169012900D000218C4F143F397349
+:1096900000680006000E02D0A069012800D000205A
+:1096A00078738B488068002803D000F03DFA0128C9
+:1096B00000D00020B8730021E16021616160616128
+:1096C000A16171602846F8BD0125D4E77B480121DE
+:1096D0001438C173CEE6F8B5784E0127143E307CBD
+:1096E0000025002825D07C4C206800902560FFF7DD
+:1096F00078FE009820607A48C56005614560456144
+:1097000085617449001488603046203801787348B8
+:1097100001290AD000290AD0D920694980000BF01C
+:1097200058FCF9F775FC3574F8BD0760F9E7476038
+:10973000F7E7FFF754FF04460020F07364484268DF
+:109740005E4D343D6A620068A8622978002909D11B
+:10975000A978002906D05C4B5B681B780B406978C0
+:10976000994309D000213170E10707D0104602F07B
+:1097700029FD0121A86A08E03770F5E7A10601D5A7
+:10978000022102E0A10702D5002102F02AFD4E4F7E
+:10979000796806220931E81C0BF051FA002807D13C
+:1097A000687A79680978C909884201D1012000E006
+:1097B00000207070204600F0BDF83F48C2270078B6
+:1097C000002815D0012828D002283BD003285AD0E1
+:1097D0003B4946480BF0FDFB287C002804D0287844
+:1097E000002865D0FFF7C8FE2878002861D089E0FE
+:1097F000A00701D501F0CCFB200703D50120EF60C5
+:1098000001F0FEFB600703D50020EF6001F0F8FBDC
+:10981000A006E1D501F068FBDEE7A00701D503F063
+:1098200026FF200703D50120EF6003F09FFE6007AD
+:1098300003D50020EF6003F099FEA006CCD503F01D
+:1098400020FEC9E7A00703D5BF200440F9F7D2FBEB
+:10985000200705D5BF2004400120EF60F9F7C9FBC0
+:10986000600705D5BF2004400020EF60F9F7C1FB79
+:10987000A00603D5BF200440F9F7BAFB6006ABD5BC
+:10988000F9F7B9FBA8E7A00701D5F9F7B7FB20075F
+:1098900003D50120EF60F9F7B0FB600703D5002086
+:1098A000EF60F9F7AAFBA00696D5F9F7A5FB93E7B9
+:1098B0001EE020E000E100E0600000207C140020B9
+:1098C0007C940000AB020000001500404081004085
+:1098D0004085004000F501400012004000100040AB
+:1098E00000110040001400404016004094040000A5
+:1098F000FFF74BFE78E7E868002803D0A96A09184B
+:1099000028484160F07B002800D10DE7F9F780FB83
+:10991000F8BD254903200860881524498860A9E519
+:10992000224823494030C161224981611F494015C5
+:1099300048609FE570B50546FFF7EBFF1E4CA17A26
+:10994000080701D568071CD41C4AC80605D5507BFA
+:10995000002802D0907B002813D0880602D510780A
+:1099600000280ED1480602D55078002809D00020E2
+:109970008A070026002A07DA4A0704D50122227046
+:1099800002E00120F4E72670CA0709D0AA0705D42F
+:10999000890705D5002803D0A80601D4FFF721FDCB
+:1099A000A67270BD408500400012004000F50140E5
+:1099B000101000404481004048140020681400202A
+:1099C0002E48002101704170704770B5064614465C
+:1099D0000D460120F7F780FE28490120284B08702A
+:1099E0009E60DC601D6170BDF8B504460120F7F78C
+:1099F00073FE22490120087021494C60214900264C
+:109A00004E600321204D8902A960204F002C0AD00E
+:109A1000012C03D01EA140200BF0DBFA3E60032096
+:109A200080026860F8BD386001208002F9E710B557
+:109A30001248017800290ED00321134A890291604F
+:109A400010494A680021002A03D0154A1268427062
+:109A500000E0417001700020F7F73EFE10BD07489E
+:109A60000178002907D007484068002802D00C4838
+:109A70000068C0B270474078704700006100002065
+:109A800000F5004000F1004000F5014000F2004008
+:109A90007372635C68616C5F63636D2E63000000CA
+:109AA00000F400403648002101704170102181709F
+:109AB000704770B5064614460D460220F7F70CFEB7
+:109AC00001202F492F4A0870E41E146196605560EA
+:109AD00070BD10B50220F7F7FFFD2949012008707D
+:109AE000294800210160416081602849C014486014
+:109AF00010BD10B5224C2078002811D00120234938
+:109B0000C002886000F02EF80021002804D0012057
+:109B100060701F48006801E061701020A070217023
+:109B20000020F7F7D9FD10BD10B5154801780029C0
+:109B300005D000F017F8002800D0012010BD4078B3
+:109B400010BD10B50E480178002909D000F00AF8C0
+:109B5000002803D00E480068C0B210BD102010BD10
+:109B6000807810BD08480168002905D041680029A7
+:109B700002D08068002801D0002070470120704783
+:109B80006300002000F5004000F1004000F50140B6
+:109B900000F4004010B528210BF0DBF810BD407830
+:109BA0008006800E704740788006800EC01C70478B
+:109BB0002820704770B5054600780A0700090001A3
+:109BC000120F104328700B000BF0F4FA070507057D
+:109BD000070509050B00062408E00C2406E02224F2
+:109BE00004E00024FEA158200BF0F3F96878800906
+:109BF00080012043687070BD00780007000F704737
+:109C000010B50622C01C0BF047F810BD0B4610B56E
+:109C1000C11C062218460BF03FF810BD10B50622F5
+:109C200009300BF039F810BD0B46014610B506227D
+:109C3000093118460BF030F810BD0278BF23C90770
+:109C40001A40490E0A430270704700784006C00F60
+:109C5000704702785206520EC9010A4302707047DB
+:109C60000078C009704770B50C460546C11C2046F7
+:109C7000062209300BF010F820784006400E2070C4
+:109C800029784906C90FC9010843207070BD70B515
+:109C900015460E4604461F2A03D9D1A1A9200BF070
+:109CA00098F920462A46314609300AF0F5FF6078D7
+:109CB000AD1D80098001A906890E0843607070BD42
+:109CC00070B5054640780E468406A40E062C03D2D5
+:109CD000C3A1B9200BF07DF9A41FE4B21F2C00D959
+:109CE0001F2429462246093130460AF0D5FF204676
+:109CF00070BD70B515460E4604461F2A03D9B8A19B
+:109D0000CD200BF066F920462A46314609300AF08C
+:109D1000C3FF6078AD1D80098001A906890E084344
+:109D2000607070BD70B5044640780E468506AD0E75
+:109D3000062D03D2AAA1DE200BF04BF9AD1FEDB228
+:109D40001F2D03D9A6A1E2200BF043F921462A4694
+:109D5000093130460AF0A0FF284670BD10B5042234
+:109D60000F300AF099FF10BD0B46014610B50422D2
+:109D70000F3118460AF090FF10BD10B503221330C2
+:109D80000AF08AFF10BD0B46014610B503221331BD
+:109D900018460AF081FF10BD4176090A81767047A6
+:109DA000817E427E080210437047C176090A01771E
+:109DB0007047017FC27E0802104370474177090A4D
+:109DC00081777047817F427F080210437047C175D9
+:109DD000090A01767047017EC27D08021043704770
+:109DE00081757047807D704720300279C90652091D
+:109DF0005201C90E0A430271704720300079C00633
+:109E0000C00E704720300279D206D20E49010A43B3
+:109E100002717047203000794009704710B5052263
+:109E20001F300AF039FF10BD0B46014610B5052260
+:109E30001F3118460AF030FF10BD30B5411C837E3B
+:109E40000A461902D37D447E927D1B0221431343AF
+:109E5000674D827D8C1FAC4210D8002A0ED0082A94
+:109E60000CD88A420AD28B4208D8817F427F0802EE
+:109E70001043A91D884201D8012030BD002030BD0B
+:109E800000210A464254491C2229FBDB70474078D6
+:109E9000C006C00E70474078C006C00EC01C704798
+:109EA0002220704710B502788B07920892009B0F12
+:109EB0001A4302704278520952014270012908D0B7
+:109EC000022906D0032905D0FF2045A1A3300BF0BD
+:109ED00080F810BD01210A43427010BD10B5027810
+:109EE0008B07920892009B0F1A4302704278520926
+:109EF00052014270012908D0022906D0032905D059
+:109F0000FF2037A1BD300BF064F810BD01210A43DA
+:109F1000427010BD00788007800F70470278FB23E5
+:109F2000C9071A40490F0A4302707047007840077A
+:109F3000C00F70470278F723C9071A40090F0A4378
+:109F40000270704700780007C00F70470278EF2357
+:109F5000C9071A40C90E0A43027070470078C0064C
+:109F6000C00F704770B50546C1700B000BF022F9A9
+:109F70000E080A0C0E1012120C14141212160C18E1
+:109F80000C2413E0082411E002240FE017240DE054
+:109F90000D240BE0012409E0092407E0062405E074
+:109FA000452000240EA1C0000BF013F8687840098A
+:109FB00040012043687070BDC078704770B504469A
+:109FC00040780E46C506ED0E1B2D03D904A10948A5
+:109FD0000AF0FFFF6019C01C042231460CE00000AB
+:109FE0007372635C756C5F7064752E6300000000B3
+:109FF0007A0C00003A0200000AF04EFE70BD70B507
+:10A00000044640780E46C506ED0E1B2D03D9A04927
+:10A01000A0480AF0DEFF6119C91C042230460AF08C
+:10A020003BFE70BDC171090A01727047017AC279A5
+:10A030000802104370474172090A81727047817AA1
+:10A04000427A080210437047C172090A01737047CF
+:10A05000017BC27A0802104370474171090A81717D
+:10A060007047817942790802104370470171704747
+:10A07000007970474173090A81737047817B427B85
+:10A0800008021043704730B5411C037A0A46C47970
+:10A0900019022143537914791B0223437E4D007921
+:10A0A0008C1FAC4210D800280ED008280CD888424B
+:10A0B0000AD28B4208D8D07A917A00020843A91DAF
+:10A0C000884201D8012030BD002030BD10B50522E6
+:10A0D000001D0AF0E1FD10BD0B4610B5011D052263
+:10A0E00018460AF0D9FD10BD4172090A8172704705
+:10A0F000817A427A080210437047017170470079F3
+:10A10000704710B50822001D0AF0C6FD10BD0B46B1
+:10A1100010B5011D082218460AF0BEFD10BD0A78D0
+:10A120000273497841737047027B0A70407B487024
+:10A13000704710B508220E300AF0AEFD10BD0B4678
+:10A14000014610B508220E3118460AF0A5FD10BDD3
+:10A1500010B5042216300AF09FFD10BD0B460146D3
+:10A1600010B50422163118460AF096FD10BD10B540
+:10A170000822001D0AF090FD10BD0B4610B5011D10
+:10A18000082218460AF088FD10BD10B504220C30D4
+:10A190000AF082FD10BD0B46014610B504220C31B9
+:10A1A00018460AF079FD10BD017170474171090A26
+:10A1B00081717047C171090A017270470079704757
+:10A1C00081794279080210437047017AC279080206
+:10A1D00010437047017170470079704701717047F3
+:10A1E0000079704710B50822001D0AF055FD10BD1A
+:10A1F0000B4610B5011D082218460AF04DFD10BD92
+:10A2000010B50822001D0AF047FD10BD0B4610B521
+:10A21000011D082218460AF03FFD10BD70B5154615
+:10A220000E4604461B2A04D93720194900010AF0BA
+:10A23000D0FE2A463146E01C0AF02EFD6078E90681
+:10A2400040094001C90E0843607070BD70B50546F5
+:10A2500040780E46C406E40E1B2C04D9DF200C49BE
+:10A2600080000AF0B6FE2246E91C30460AF014FDD2
+:10A27000204670BD4078C006C00E1B2801D80120C2
+:10A2800070470020704710B522220AF005FD10BD6E
+:10A29000E09F0000430200007A0C0000FEB50F466C
+:10A2A00004460146064620302546C031603640351A
+:10A2B0000190032F04D0002F2DD0012F2BD04BE085
+:10A2C00000206080A080E08020816081A082E08505
+:10A2D000E0826874A074E074A076E076A073E07306
+:10A2E00020746074019B987401232B74A8822883C6
+:10A2F0000876E883B0706883A873E8732077607786
+:10A30000019988720199087430727072B072327457
+:10A31000B074A883FEBD0020A8822883012F52D0EC
+:10A32000E08B0090608C0290C00000990AF02EFD36
+:10A33000401C80B2E8820099192241439202914266
+:10A3400001DD401EE8827D20000200990AF01EFD1A
+:10A35000401C3080002F01D0022FDBD10198007A01
+:10A36000C1060198C90E01720020687322182421C9
+:10A370008B5C4032D9075B08DE07C90FF60F7118F6
+:10A380005B08DE07F60F71185B08DE07F60F711821
+:10A390005B08DE07F60F71185B08DE07F60F711811
+:10A3A0005B08DE07F60F76185908891911726A7B67
+:10A3B000401C5118C0B269730528D7D3002FA9D10A
+:10A3C0000020A874FEBD4A7F2046E030022A12D049
+:10A3D000097F022913D050A173200AF0FAFD012051
+:10A3E00000900290E08BA98B484300990AF0DCFCB6
+:10A3F000A883029898E7818800910089F1E7018A93
+:10A400000091808AEDE770B504464034667B0546CE
+:10A41000002E68D0252E66D8002964D03E20405DED
+:10A42000A27B4843101825210AF0B0FC0846A1730E
+:10A430004207C908520F3C4B691820319A5C0979D0
+:10A440008A4367D031460AF0A1FC491CCAB20020F9
+:10A4500006E0002804D029184031C979511ACAB23F
+:10A46000291848235B5C93423AD320310979C943C8
+:10A47000CB07DB17D21A521E1206120E34D08B07EE
+:10A48000DB17D21A521E1206120E2FD04B07DB1703
+:10A49000D21A521E1206120E2BD00B07DB17D21A3D
+:10A4A000521E1206120E27D0CB06DB17D21A521EEE
+:10A4B0001206120E23D08B06DB17D21A521E12067A
+:10A4C000120E1FD04B06DB17D21A521E1206120EA6
+:10A4D0001BD00906C917511A491E0A06120E17D0B9
+:10A4E000401C0528B5DB70BDC00013E0C000401C57
+:10A4F00010E0C000801C0DE0C000C01C0AE0C000DD
+:10A50000001D07E0C000401D04E0C000801D01E008
+:10A51000C000C01DE07370BD7372635C6C6C5F75CE
+:10A5200074696C2E63000000EC51010010B5FF4807
+:10A530000021017041708170C17041718171C171E0
+:10A54000083009F073FB002804D0FF20F8A1843004
+:10A550000AF03FFD10BD10B5F44900204872081DF7
+:10A5600009F064FB002804D0FF20F1A1C3300AF0F9
+:10A5700030FDFFF7DBFFF148FFF782FC0021EF48D9
+:10A58000FFF7E4FC0121ED48FFF78CFC10BDE2E78A
+:10A590001B207047E5494A7A002A01D00020704705
+:10A5A000488101204872704710B5E0494A7A002A74
+:10A5B00002D04989814201D0002010BDDB48001D36
+:10A5C00009F03CFB002804D0FF20D9A1B4300AF0E8
+:10A5D00000FDD648001D09F049FBFFF7A7FF012049
+:10A5E00010BD70B5D14C0025627A002A02D0628974
+:10A5F000824201D00D700DE0227863789A4203D335
+:10A6000022786378D21A04E062782378D21A102371
+:10A610009A1A0A70FFF7C8FF002801D0657201205E
+:10A6200070BDC2494A7A002A04D04989814201D1C9
+:10A630000120704700207047BC490A784B78521CB3
+:10A640001207120F9A4207D0097822225143BC4ABE
+:10A65000891801600120704700207047B3480178D5
+:10A660004278491C0907090F914206D00178491C1C
+:10A670000907090F01700120704700207047AB499E
+:10A680004A7A002A04D04989814201D101207047C9
+:10A6900000207047A5490A784B789A4207D049783C
+:10A6A00022225143A64A89180160012070470020E8
+:10A6B000704710B59D4C20786178884216D060783C
+:10A6C000401C0007000F6070201D09F0B7FA002839
+:10A6D00004D0E078401CE070012010BDA078401C40
+:10A6E000A0709248001D09F0C1FAF5E7002010BDE6
+:10A6F0008E4801784078814201D1012070470020C6
+:10A7000070478A4801784278914202D301784078B4
+:10A7100003E041780078081A1021081AC0B2704787
+:10A720000F20704770B5814C0D46617A002916D014
+:10A730006189814213D100262E70201D09F07EFA16
+:10A74000002805D1A0782870A670201D09F08EFA87
+:10A750002878E17840182870E670012070BD00204C
+:10A7600070BD76490160704770494A7A002A04D06A
+:10A770004989814201D101207047002070476B490F
+:10A780004979002901D0002070476E4901600120FD
+:10A79000704766484179002901D0002070470121A7
+:10A7A00041710846704761494A7A002A04D04989B4
+:10A7B000814201D101207047002070475B494979EF
+:10A7C000012901D0002070475E49016001207047D7
+:10A7D00056484179012901D000207047002141717C
+:10A7E0000120704751484079012801D0012070476D
+:10A7F000002070474D494A7A002A04D04989814295
+:10A8000001D1012070470020704770B5474C0546C4
+:10A81000A0790721401C0AF0B9FAE079814208D0FA
+:10A82000A07922214843474922314018286001205D
+:10A8300070BD002070BD10B53C4C0721A079401CB4
+:10A840000AF0A4FAE079814207D0A0790721401CE0
+:10A850000AF09CFAA171012010BD002010BD334800
+:10A860008179C079814201D1012070470020704771
+:10A870002E494A7A002A04D04989814201D1012017
+:10A8800070470020704710B504462848083009F08A
+:10A89000D5F9002815D125498879CA7990420CD07C
+:10A8A000C8792221484327492231401820601F4897
+:10A8B000083009F0DBF9012010BD1C48083009F010
+:10A8C000D5F9002010BD10B504461848083009F02D
+:10A8D000B5F9002815D115498879CA7990420CD06C
+:10A8E000C8792221484317492231401820600F4877
+:10A8F000083009F0BBF9012010BD0C48083009F000
+:10A90000B5F9002010BD094810B5083009F096F9D6
+:10A91000002822D1054CA079E17988421AD0E0794B
+:10A920000721401C0AF032FAE1710DE066000020B8
+:10A930007372635C646D5F712E630000B01700205A
+:10A9400080140020A01600202046083009F08EF95F
+:10A95000012010BD0C4809F089F9002010BD0A48FB
+:10A9600008388179C079814201D1012070470020E7
+:10A970007047054808388179C079814201D10120AA
+:10A9800070470020704700006E000020704770473D
+:10A99000FF207047704770470020704700207047C5
+:10A9A000002070470020704700207047002070474B
+:10A9B000002070470020704700207047012070473A
+:10A9C000002070470020704700207047002070472B
+:10A9D000F8B5FF4D0446A87F002600280CD00029BA
+:10A9E00023D1667010202070E87FA07028462030A8
+:10A9F0000078E070AE7718E0287A012801D00020B6
+:10AA0000F8BD002911D16670F149687A01270A3131
+:10AA1000002801D0132000E0052020701422A01C83
+:10AA20000AF03AF9A7716E722E720120F8BDF8B5DE
+:10AA3000E8480078002802D00C273846F8BD0027E7
+:10AA4000E34D3C46203DAF74EF746F75AF752F75C5
+:10AA500028466F732038DE4E47737771E87D0028F3
+:10AA600004D0FEF785FDFFF744F8EC75347274727C
+:10AA7000B477D7482430FFF78DF8D5484C30FFF72E
+:10AA800089F8DAE710B5D34C00232370D04C203C72
+:10AA9000E375CF4B01241C71603B583307C3FFF7AC
+:10AAA000C6FF002804D0FF20CBA102300AF091FAA3
+:10AAB00010BDC7482038807C7047F8B5C44D0646A5
+:10AAC000407B203DE873C24837791346AF73B27BB1
+:10AAD00082710446603C217006221946601C0AF00F
+:10AAE000DBF8B07960730622F11DE01D0AF0D4F89E
+:10AAF000687B0126002800D0EE74B5484038407BC2
+:10AB0000002800D02E75002F09D0012F09D0022F68
+:10AB100024D0032F46D0FF20AFA14D3013E00021F9
+:10AB20001DE0AB4801212430FFF744F8A848E11D9F
+:10AB30002430FFF773F8607B002807D0012807D086
+:10AB4000FF20A5A143300AF044FA0CE0002100E008
+:10AB500001219F482430FFF77CF804E006219C483F
+:10AB60002430FFF727F800206875A8759848611C05
+:10AB70002430FFF745F8964821782430FFF75DF838
+:10AB8000934804214C30FFF715F89148611C4C3074
+:10AB9000FFF736F88E4821784C30FFF74EF8AE7448
+:10ABA0000020F8BD0221DAE770B5894C0125203C70
+:10ABB0000246A5758648007A002801D03A2070BD6B
+:10ABC000834860380378934206D1002262750622DA
+:10ABD000401C0AF061F86575002070BD70B5044630
+:10ABE0007B4D0020203D28752846224632380AF049
+:10ABF00053F82846203844730120287570BD7449E5
+:10AC00000871704710B5724C0022203CE2746073EA
+:10AC10000246204612380AF03FF80120E07410BDC9
+:10AC2000F8B500F04CFB6A4C0025203CE07D002884
+:10AC300004D0FEF79DFCFEF75CFFE575654E3570B0
+:10AC4000FEF75AFCA07B012804D00021084601F041
+:10AC500082FAF8BD0021022001F07DFA5C4C207AD6
+:10AC60000127002809D0A07F0028F2D10520E07735
+:10AC7000204620300570A777F8BD70780028FBD0FB
+:10AC8000534906226039487BE073C91D0846693084
+:10AC90000AF002F83C20A07227727570F8BD10B55A
+:10ACA0004B4C203CE17B207CCA0701D0C2070BD073
+:10ACB0008A070FD582070DD42620FEF7EAFA207CFA
+:10ACC00002210843207410BD2520FEF7E2FA207C03
+:10ACD0000121F6E74907F6D54007F4D42720FEF70F
+:10ACE000D8FA207C0421ECE770B53A4D287800288A
+:10ACF0007CD1374C203CA07C00287CD0FEF7F1FBB7
+:10AD00000026267466746E703046FEF7E7FB00205E
+:10AD1000FEF7E5F93448FEF7B3FA2546403D296EC3
+:10AD20008857FEF779FA3048C01EFEF792FBFEF70F
+:10AD300008FCFFF7B4FFFEF729FAFEF7CBFB012072
+:10AD4000FEF70DFB0F210520FEF744FA2978681C59
+:10AD5000FEF732FAA07B01280AD0E07C002807D059
+:10AD6000214612390846627B5630FEF790FFE674A2
+:10AD7000207D002808D0164840380146427B123911
+:10AD80008C30FEF7B6FF2675607D00280BD010488A
+:10AD9000691C2430FEF734FF0D48691C4C30FEF767
+:10ADA0002FFF6675A675E86D0178002903D001783C
+:10ADB000001DFEF713FAA86D0178002907D001786D
+:10ADC000034A401C7732FEF774FE0120E0750EE066
+:10ADD00034180020740000207372635C6C6C5F6137
+:10ADE00064762E6300000000F751010003E0FEF7D7
+:10ADF00083FB002070BD0C2070BDFB49486070478C
+:10AE000070B50546FEF79DFB002D06D00020FEF72D
+:10AE10005CFAFEF7BBF9FFF742FFF44C607C0028B8
+:10AE200009D0A07B012803D1F149F2480AF0D1F8FA
+:10AE3000FFF7F6FE70BD0126002D05D00220FEF7BB
+:10AE40008EFAEA4820304671E8484430FEF759FB54
+:10AE5000012008F0A8FDFEF7A1F9A07B00280FD083
+:10AE600001280DD002280BD003280BD0E148E0497F
+:10AE70001E300AF0AEF8E07B217C884306D009E062
+:10AE8000032000E00120FEF720FAF4E7A07B012870
+:10AE900003D06674D448067070BD00202074F9E7B2
+:10AEA00010B5FEF71EFBD048007800280ED1CF4821
+:10AEB000807C00280AD00020FFF7A2FFF6F781FA75
+:10AEC000CA4820300079012806D007E000F0F7F9E1
+:10AED000FEF712FB0C2010BDF8F79AF8002010BD09
+:10AEE000C14901204870704770B500F0DAFF0028B2
+:10AEF0001BD0FF202D30FEF7E5F9BB4E3078BB4C60
+:10AF00002034012814D0022801D003282ED0A520F7
+:10AF1000B74980000AF05DF83078002807D0F6F7CE
+:10AF200050FA207901282BD02FE0FFF779FE70BD71
+:10AF3000AE4DA87B032819D0FEF7F4FAE87D00286F
+:10AF400003D0FEF7C6FDFEF70CFBA8489430FEF7D1
+:10AF5000D8FA012008F028FDA87B01280BD0A179A0
+:10AF60006F20012906D0032904D004E00120FFF757
+:10AF700047FFD1E77F20FEF7A8F902203070CBE72A
+:10AF80006079002801D1FEF7A1FB0020607170BD3F
+:10AF900070B5964CE07D002803D0FEF7E9FAFEF785
+:10AFA000A8FD00F07EFF00281CD08F4D28780228D5
+:10AFB00003D08F4990480AF00CF8A07B012814D0E8
+:10AFC000FF202D30FEF77EF90120FFF719FF2878CA
+:10AFD000002809D0F6F7F5F9844C203420790128AF
+:10AFE00006D00AE0FFF71CFE70BD99208000E9E75B
+:10AFF0006079002801D1FEF769FB0020607170BD07
+:10B00000F8B50446FEF738F90746FEF78DFD01282E
+:10B0100027D0002674480078022804D07648744966
+:10B020003C3009F0D6FF714DE87D002803D0FEF7D3
+:10B030009FFAFEF75EFDFEF784FA6C489430FEF747
+:10B04000DBFD21006D4C009064D0FEF7BFF80028B6
+:10B0500060D0009803000AF0ADF8065D5D5D065D06
+:10B060001E5D0126D6E7A87B012853D0374304D1C3
+:10B07000A079002801D002284CD160484C30FEF75E
+:10B0800040FA012008F08FFC0120FEF71EF9564817
+:10B090000321017045E059487430C178D438C27931
+:10B0A00091421DD10146D4310A79037A9A4217D1CF
+:10B0B0004A79437A9A4213D18A79837A9A420FD194
+:10B0C000CA79C37A9A420BD10A7A037B9A4207D192
+:10B0D0000978407B4906C90F814201D1012100E076
+:10B0E0000021A87B012802D0002803D012E000290B
+:10B0F00007D10FE0374304D1A079002801D00128FF
+:10B1000008D13E487430FEF798FE002802D0A87D92
+:10B11000002810D0FF202D30FEF7D4F80120FFF7D3
+:10B120006FFE3148007800286AD0F6F74AF9207996
+:10B1300001286ED0C0E02C4F30497868042283315A
+:10B14000343009F0A9FD2D484021743000784006C4
+:10B15000C20F78680A54294906227731413009F034
+:10B160009BFD2649786803228731383009F094FD29
+:10B1700022483B217430827D78680A541F4974311B
+:10B180000A7ECB7D12021A4382878A7E4B7E120290
+:10B190001A43C2830A7FCB7E1102194301841749E7
+:10B1A00074318A7F4B7F1102194341841349052270
+:10B1B0009331243009F070FD10497F68943108798B
+:10B1C000C20638462030D20E0090827709794909AC
+:10B1D000C177207A00281DD0A07F00285BD1607A3B
+:10B1E00000280ED013200DE0740000201418002059
+:10B1F000D8AD0000F9030000BF02000034180020A1
+:10B200005CE00520E0773449002008700120A07739
+:10B2100041E04CE03048E97D1038002924D000217D
+:10B22000A172B989A1814021C95DE1733946062225
+:10B23000413109F031FDF88BE082388C2083788C25
+:10B2400060830098C07F2077607F400840003043D3
+:10B250006077FEF776FC617F4000C907C90F0143A4
+:10B2600061770120607215E00021A172B989A18186
+:10B270004021C95DE17339460622413109F00CFDD8
+:10B28000F88BE082388C2083788C60830098C07FB4
+:10B29000207701202072114D0020287000F00FF857
+:10B2A000FEF72AF90120696800F055FF39E7607957
+:10B2B000002801D1FEF70AFA00206071F8BD10B530
+:10B2C000FEF74AF9FEF73DF9FEF78BF80020FDF78F
+:10B2D000FCFFFEF7CAF810BD5418002074000020CF
+:10B2E0008107C90E002808DA0007000F0838800817
+:10B2F000FD4A80008018C06904E08008FB4A800095
+:10B3000080180068C8400006800F704710B500F034
+:10B310007BFF10BD70B5F64C0546A26800290DD024
+:10B32000002A04D0FF20F3A14C3009F052FEA560A2
+:10B33000F6F748F80220F6F73FF870BD002A04D16E
+:10B34000FF20ECA1543009F044FE0020A060F6F785
+:10B350003AF80120F6F738F870BDE5481030C07EA5
+:10B36000002801D00020704701207047E0481030CD
+:10B37000C07E7047DE483430C07E70470021C17601
+:10B38000817601600162DA481030C07E002807D162
+:10B39000D7483430C07E002802D1D549012008703A
+:10B3A000704710B50B46C17E847EA14204D0114681
+:10B3B000184607F0B4FB10BDFFF7E0FF10BD38B52D
+:10B3C000CB4C606801684978012924D00121684686
+:10B3D00006F05EF968460078CA49000209F0D6FC1A
+:10B3E00060680268C0685268511807F0B5F9616872
+:10B3F000C860BF49606834310022884215D0018B93
+:10B40000002912D04272032101720271021D017FD4
+:10B41000FFF7C7FF38BD7D21C068C90007F09CF960
+:10B420006168C860B8480861E3E7018B491C018383
+:10B4300002214172E7E7FFB5AD4F02461037386A87
+:10B440003C68056889B060680790A948C1680291A6
+:10B450006B880B98C01A80B208900C98002804D012
+:10B46000264638362046483002E03E1D28466430E5
+:10B47000059003203071002A15D0012A7ED0022ABF
+:10B4800052D0032A7BD09BA1A04809F0A2FD0C98C2
+:10B490000028307974D0032804D09C4895A1093045
+:10B4A00009F097FD40E1002904D1984891A169383D
+:10B4B00009F08FFD9549A88FA839484340180A998B
+:10B4C00000F0A8FEA0619149E88BA83948430A9989
+:10B4D00000F0A0FEE06186488C4AC068A98FA83AB7
+:10B4E000514384464118A069894A091A8A183B21A8
+:10B4F000A262864B495DA83B594341180818FF30AA
+:10B500001630206260626046101AFF38ED2135382F
+:10B51000C9008842BBD27F49884204D27B4875A1CA
+:10B520005C3809F056FDBAE0784AA88FA83AE1687D
+:10B53000504308180A9900F06DFEA0617349E88B2A
+:10B54000A83948430A9900F065FEE0616848C06880
+:10B55000002804D16D4867A1543809F03AFD5820FD
+:10B56000405B6D4A0028A88FE16822D0504308183C
+:10B57000A169401AA0622169A06802E022E051E0BE
+:10B58000CDE04843A169644A40183B21495D5143DD
+:10B5900041180818FF3014302062E88BE1695043ED
+:10B5A000411A0F208001081A60625148A16AC068E0
+:10B5B0006DE050430818A169401A3968D3384968CA
+:10B5C0004018D7E7284640300290008B002801D071
+:10B5D000002904D14D4847A13C3809F0FAFCE88B1A
+:10B5E0004D494843E169401AA062029A138B2269CF
+:10B5F0009B1A9C46A3685343A2699A186346594311
+:10B6000051183B22525D444B5A438A185118FF315E
+:10B61000143121620F218901411A61623449C968DC
+:10B62000401A35E00C98002803D03420005D002833
+:10B6300074D1E88B38494843E169401A0899484376
+:10B64000A062284640300690008B0028079829D039
+:10B65000002804D02D4827A1163809F0BAFC069816
+:10B660002D4A018B08980818E16948434000FF30D3
+:10B6700014302062E88B5043411A0F208001081AD1
+:10B68000606200F0C1FD00281CD0A16A0298081A6F
+:10B69000FF38ED212338C900884200D3F7E60220A5
+:10B6A0003071F4E6002802D00298002804D117482F
+:10B6B00010A11D3809F08DFC0798A16AD33808182D
+:10B6C000A062CCE706F0B1FD7A690146104607F0AA
+:10B6D000D5FFA16A081AFF38ED211E38C90088423B
+:10B6E000DCD201200DB0F0BD00ED00E000E400E090
+:10B6F000D01800207372635C6C6C5F6C6D2E7330BD
+:10B700002E63000010270000B78913008A0500008F
+:10B7100036040000A3020000E20400002AE003282F
+:10B7200002D1FD4807210170A16A786907F014F879
+:10B73000B060616A206A884202D90598016001E020
+:10B74000059908600598F54900680818F060A9880F
+:10B750000B98081A00B2002801DD022000E000204A
+:10B7600070710C9830700C98002805D03420005D62
+:10B77000002801D00220B5E70C9801214840203470
+:10B780006075397F32463846FFF70BFE0020A9E787
+:10B7900010B5E14900284A68116A096807D01268A3
+:10B7A000C98BDF4BD2695943891A09F0EFFA10BDF2
+:10B7B000F8B5D94F35227868016A0C680168525C87
+:10B7C000002A0AD0498E6288914206D1407A002828
+:10B7D00003D1D449D44809F0FCFB06F026FD01460C
+:10B7E0007868406907F04AFFFFF7D2FF79686588FB
+:10B7F0000B682E185A8EB24202DB521C5A8602E0A7
+:10B80000401C2818588608683622125C002A05D188
+:10B81000428E23899A4201D1521C4286088B03280A
+:10B8200002D2401C088302E00868408EA0802046B7
+:10B830004030C18A808A081A6188401E401885B24B
+:10B84000203416E0096AE67F097976004B00B74993
+:10B85000007DCB5A895BC91889B20023FFF7EBFD45
+:10B86000002811D0012810D0AF48AE493A3009F075
+:10B87000B0FB79680868428EAB1A1BB2002BE1DA84
+:10B880000820E07400F00BFEF8BD78680068418E77
+:10B89000491C4186EDE770B51F209F4D002128709F
+:10B8A000E960A868C27E130009F084FC04545403C4
+:10B8B0004654026A14680268117002685160006898
+:10B8C0002030407D002808D106F0AFFCA968096847
+:10B8D000096C07F0D3FE002815DCA86801684A8EC1
+:10B8E00061888A4204D12289511A6181628004E010
+:10B8F000511A61810168498E61800268C1681164D2
+:10B90000C16841610FE0A8680168098E6288891AE0
+:10B9100061810168098E618001680A6CC2600A6CED
+:10B920004261886C6066204601F06DFC00280ED0F4
+:10B930007B487C49BD3808E0C1684161FFF7D4F914
+:10B94000002804D076487749B73809F042FBF5F76C
+:10B9500038FD70BD72487349B038F6E710B56E4ACD
+:10B960000B00526809F026FC0906090F1E0C2D2D4C
+:10B97000082A2D00FFF78FFF10BD00F059FC10BD05
+:10B98000FDF7A9FE10BDD07E022805D0D07E032889
+:10B9900005D0644966480EE0FFF70AFF10BDFFF7C7
+:10B9A0000EFD10BDD07E0228F6D0D07E0328F6D042
+:10B9B0005F485C490B3009F00CFBF0E706F01BFC1C
+:10B9C00010BD23205749000109F003FB10BDF3B55A
+:10B9D00081B0514C029825460026012710350300FE
+:10B9E00009F0E8FB0906313C3C3143433C3C430051
+:10B9F000494801211030FFF78DFC02990198FFF7AB
+:10BA0000ADFFE87E022828D1A0680468006A0668B5
+:10BA100006F0EAFBF18B424A5143E269891AD339B5
+:10BA2000FF223232E162904202D24248081802E01C
+:10BA3000081A41494018E0624048E16A814200D852
+:10BA40000846E06206E001460198FFF787FFE87EBE
+:10BA5000022802D1286820300775FEBD01466560C6
+:10BA60000198FFF77BFF6660FEBDFF202D49C130C6
+:10BA700009F0AFFAFEBDF8B5064627480D4600248A
+:10BA80003430254F0B0009F095FB09060C10100C03
+:10BA9000161610101600204801213430FFF73AFC2A
+:10BAA00029463046FFF75AFFF8BD78603046FFF769
+:10BAB00055FF7C60F8BDFF201A49F53009F089FA7E
+:10BAC000F8BDF0B5144C0020616885B003268E7671
+:10BAD000CA7E0746032A03D0C97E00293FD03FE033
+:10BAE000087F002804D112480E49D93009F071FAB4
+:10BAF0006068057F684606710221417106F095FB7A
+:10BB00000290FF20F53003900121684601706946DC
+:10BB1000284607F004F814E0D0180020EF160000C3
+:10BB2000E2040000F4B6000074060000FC510100BD
+:10BB30001602000084F8FFFFB5F9FFFF161200009F
+:10BB400020BF6068007F07F025FE0028F8D06068FD
+:10BB5000007F06F050FB60680777FFF70FFC0120BD
+:10BB600061688F7605B0BEE5FD494A68907600E0D1
+:10BB700020BF4A68D07E002803D0D07E937E9842B2
+:10BB8000F6D0D07E002803D00020002191767047A7
+:10BB90000120FAE770B5F24900241031CA7EF04D59
+:10BBA000032A03D02431CA7E032A17D169600028F2
+:10BBB00010D001280AD0EB49EB4809F00AFA00201E
+:10BBC0006968002C0860686008D070BD0320FFF72A
+:10BBD000CBFF01E0FFF775FF0446F0E70C2070BDD6
+:10BBE000F8B5DF4F04461F25E67E330009F0E2FA80
+:10BBF000042A20031B20DA481030844203D0D9499C
+:10BC0000DA4809F0E6F902207C60FFF7ADFF002872
+:10BC100005D07968002008600862786012E00C2581
+:10BC2000002078600BE00120FFF7B4FF054604E038
+:10BC3000CE48CC490C3009F0CCF9002D02D0E07E82
+:10BC4000B042D1D1E07E002804D0C848C5491230A6
+:10BC500009F0BFF9F8BDC24810B51030FFF7C0FFBA
+:10BC6000BF483430FFF7BCFFBD490020583108758C
+:10BC7000BF494870BA49103148610A4624325061C0
+:10BC800088769076012210390A708860486010BD6D
+:10BC900070B504460120FFF723FBC5B20B20FFF768
+:10BCA0001FFBC0B2854204D0B048AE49343809F019
+:10BCB00090F90120FFF714FBC5B21820FFF710FB25
+:10BCC000C0B2854204D0A948A649333809F081F9A9
+:10BCD0000420C043FFF704FBC5B21920FFF700FBA7
+:10BCE000C0B2854204D0A1489E49323809F071F9AA
+:10BCF0009F489B490C38047000201031C876887624
+:10BD00000A462432D0769076994B0124083B1C7168
+:10BD100018600862106208601060FFF79CFF70BD39
+:10BD20008F48007870479249083908717047F3B519
+:10BD30000D468B4983B01031CA7E08462430884CAA
+:10BD4000002A02D1C27E002A03D0C97E022903D074
+:10BD500005E08848616006E0C17E002901D00C2022
+:10BD600000E76060844806F0F2F96168087760686F
+:10BD70007F490160007F002804D17B4879496238FF
+:10BD800009F027F906F030FA7C49884200D20846CB
+:10BD9000FF30C83086B260680321C1760027012DCC
+:10BDA0002FD0724A0399121D5143026851600068F6
+:10BDB00001210170684605F06BFC68460078704907
+:10BDC000000208F0E3FF019106F02FFA01997118C3
+:10BDD00006F0C2FC6168032DC86021D06948086183
+:10BDE000606803210172022141720771021D017F07
+:10BDF000FFF7D7FA6068078307202070002067608C
+:10BE0000B0E606F012FA314606F0A6FC6168C8609A
+:10BE10005D48086108680770096801204870DFE71D
+:10BE20005A48DCE77047F8B54D4E1036F17E0029D0
+:10BE300004D131462431C97E002901D00C20F8BD3F
+:10BE40000221F176464C4A4F5834083F376234603D
+:10BE5000002538602575397920304A004C49C07F6B
+:10BE60008A5A4000085A2B46101881B22A462846A2
+:10BE7000FFF7E1FA002804D03B483A49323009F094
+:10BE8000A8F825610120A5602075658625863448BF
+:10BE90007830857539684888401E48803583002091
+:10BEA000F8BD10B52E4901248868827E032A0CD083
+:10BEB00000684078002806D0C8683649884202D910
+:10BEC0000024FFF70DF8204610BD0024FBE72448AE
+:10BED000826813681978491C1970C1681068C26AB1
+:10BEE000914204D8007D012801D001207047002034
+:10BEF000704700207047F8B51948194C1030606041
+:10BF0000016A00260D68006834212F460E54403720
+:10BF1000B97C002963D1007D032860D106F085F942
+:10BF200001466068406907F0A9FB002857DDFFF76C
+:10BF30002FFC6988401C41186068026811860068FF
+:10BF40002989028E91424AD9012120308175F88ACF
+:10BF5000B98A401A6988401E401887B238E000004C
+:10BF6000D0180020F4B600008D0300006D02000020
+:10BF700088000020CFB9000077BA0000F605000065
+:10BF800010270000CB120000B7891300B70800008B
+:10BF9000FC5101002E841300096A09794A00CD4939
+:10BFA0008B5A028E007D94463F22525D5200895A80
+:10BFB000C91889B201236246FFF73DFA00280ED066
+:10BFC00001280ED002280AD0C349C44809F001F85C
+:10BFD00061680868028EBA1A12B2002ADCDA66605A
+:10BFE000F8BD60680068018E491C0186F0E7F8B56D
+:10BFF000BB4D0026AA680128116A0C6810D00720E2
+:10C00000287006F05DF8B7480078F6F7AFFDA8682D
+:10C010000683026861885186006820308675F8BD05
+:10C02000087913684100AB481F7D415A032F18D08F
+:10C030001A7D022A22D01A7D012AE2D13F231B5DFC
+:10C0400022895B00C05A0023401881B20120FFF70B
+:10C05000F2F90028D5D0A1489F49B53008F0B9FFC2
+:10C06000CFE71E6112683F2396601B5D22895B004B
+:10C07000C05A0023401881B20320E8E75822125B1F
+:10C080001A613F231B5D22895B00C05A00234018C0
+:10C0900081B20220FFF7CFF9AA6801211268117559
+:10C0A000D7E738B58E4C0021A0680D46006842786D
+:10C0B000002A01D045701FE00078002809D0012136
+:10C0C000684605F0E5FA684600788749000208F0FE
+:10C0D0005DFEA0680268C0685268511806F03CFB1B
+:10C0E0000146A068C160057102214172021D017FF5
+:10C0F000FFF757F9A068058305F0E2FF794800785B
+:10C10000F6F734FD38BD10B50146754A0B0090684E
+:10C1100009F050F8060D150408190C1C012100F057
+:10C12000A6F807E00021506800F0A1F810BD01203A
+:10C13000FFF75DFF00210846FFF7ECF810BD00682F
+:10C140000321017510BD00F0A5F810BD62496748D4
+:10C1500008F03FFF10BD70B5614C002809D00128E0
+:10C1600016D0022821D061485B49243008F031FF05
+:10C1700070BDFFF796FF00210846FFF7CBF8A068D7
+:10C18000807E002801D01F2000E00720207070BDB5
+:10C19000A068002501684D70FFF7F0F80320F6F75E
+:10C1A00023FC05F08DFFA56070BDFFF77AFFA06846
+:10C1B000FFF7E4F800210846FFF7ACF80420F6F793
+:10C1C00013FC70BD46498968CA7E022A08D10A68F4
+:10C1D0001378002B04D150600968CA6A1018C8622D
+:10C1E000704710B53E4A00290CD0012907D002291A
+:10C1F00007D03E483849443008F0EBFE10BD401EE1
+:10C2000000E0401FD06010BD35488068002800D095
+:10C210000120704710B504460020002907D034489B
+:10C2200008F0B4FD0146204608F0B0FD401C10BDEA
+:10C2300010B52B488068C07E030008F0BBFF0414D3
+:10C2400014030A1401F0F2F800280BD022492948FF
+:10C2500006E0FEF725FE002804D026481E49001DF2
+:10C2600008F0B7FE10BD23481B490B30F8E710B5A6
+:10C270000446002903D00020FFF7B9FE03E0194867
+:10C280000078F6F773FC2046FFF778F80020F6F701
+:10C29000ABFB10BD10B512488268106A11680068C7
+:10C2A000CB698B60134BC18B9B3359431368D960A7
+:10C2B0000146E0314B8883870C783B231C548B88E4
+:10C2C000C383CB88038409894184116802200875DF
+:10C2D00010BD0000FC510100F4B600005A06000039
+:10C2E000D01800207C00002010270000B2070000BA
+:10C2F00040420F0047040000F8B5FEF702FA064678
+:10C30000FEF770FAF94D07466879F94C002809D014
+:10C31000012823D0022826D003282ED0FF20F5A103
+:10C32000C63033E0F2481830FEF748FA002801D052
+:10C3300003200FE0EE481830FEF7ACF9002804D0D7
+:10C3400060696030007A002806D0E9481830FEF7AE
+:10C3500008FA012068711BE00220FBE7E44818306E
+:10C36000FEF7FFF914E0E2481830FEF793F90028D1
+:10C370000ED1FF20DFA1B83008E0DD481830FEF70D
+:10C380001DFA002804D1FF20DAA1C03008F021FEF8
+:10C39000A169F722087810400870AA79D207120F15
+:10C3A0001043FB2210400870EA79D207520F104365
+:10C3B00008706B79EF22022B04D0012B07D0032BDE
+:10C3C00007D00CE0012E06D8002F04D007E07F1E16
+:10C3D0003E43002E03D010401022104300E01040D6
+:10C3E0000870287C002811D0687901280ED0BF4839
+:10C3F0005438FDF786F8BD49606954397830A26930
+:10C40000FDF7E3FA0020FDF7EFFA04E00846FDF738
+:10C4100078F8FDF70CFBA0690078C00606D4E06947
+:10C420000078C00602D4E079002802D0A079002864
+:10C4300001D0012000E00320FCF747FF032020701B
+:10C4400001202071F8BDAA4810B51C30FEF7DDF9B7
+:10C45000A74C002802D00020607004E0012060702A
+:10C46000A2485438E061A148407C002802D060789E
+:10C47000002805D0E069FDF744F8FDF7D8FA10BDB3
+:10C480009A485438FDF73DF8984A6069543AA0300C
+:10C49000E169FDF79AFA0120FDF7A6FA10BD10B583
+:10C4A00093490022486932238276C27601221A54C7
+:10C4B0004030807C002803D00A700021022001E077
+:10C4C00000210320FFF71FFE10BD70B5884C607976
+:10C4D000C2062046416908464030002A01DA00229F
+:10C4E00002E0028B4B89D2180B460283C0331A7EBE
+:10C4F000002A03D0828B4D8952198283627A002AE6
+:10C5000003D03D2001F0C9F852E08A7E032A4FD0C3
+:10C51000227A002A13D0500701D4D00601D51E205C
+:10C5200036E0100701D53D2032E0D00705D1900755
+:10C5300003D470A1734808F04CFD2A2028E0603134
+:10C540008A78002A05D0C28B551CC5830D88AA4263
+:10C550000FD25A7F062A02D01A7F062A05D1428BB3
+:10C56000531C438309888A4203D2828BC18A8A4240
+:10C5700001D322200CE0027C808A002A0FD00628FA
+:10C580000FD35A48C07B012801D03E2000E008208C
+:10C5900001F083F86069807E032809D001E08842B9
+:10C5A000F5D20120207000210846FFF7ACFD70BDD8
+:10C5B000FFF775FF70BD10B54C494D48CA7B002A86
+:10C5C0002BD0012A29D0022A27D0032A04D049A13E
+:10C5D0004D4808F0FEFC10BD897B02290FD00729C9
+:10C5E0001BD0406901464031CA8A898A511A891E86
+:10C5F00089B2032900D30321028951180BE0406955
+:10C60000014640318A8A032A01D2018903E0428827
+:10C61000C98A5118491C818010BD4069F5E700B5F1
+:10C62000030008F0C7FD0604070B0F1212170029BC
+:10C630000ED00FE0491E02290AD90BE0491F01293B
+:10C6400006D907E0072903D004E00A390C2901D8EC
+:10C65000012000BD002000BDFEB50546244818306D
+:10C66000FEF78DF8002804D1274822A1CF3808F022
+:10C67000B0FC1F4CA069FDF703FC0321A069FDF786
+:10C680002DFCA069EF220178114001702946FDF7C9
+:10C6900069FC002601272B0008F08CFD0E5D5D086B
+:10C6A0005D1D6161155D4D5D613D385D60697121A4
+:10C6B000095C002901D0062101E0C030417EA0695B
+:10C6C000FDF71BFD4BE0E069FDF776FC0146A06934
+:10C6D000FDF784FD43E06169A069D031FDF747FDB6
+:10C6E0006169A0699531FDF750FD38E0C819002057
+:10C6F000900000207372635C6C6C5F736C61766594
+:10C700002E6300006B020000780800000621A0697B
+:10C71000FDF760FD23E020690178A069FDF744FD85
+:10C7200020698188A069FDF741FD20694188A069E1
+:10C73000FDF740FD13E00096019660696030007CD3
+:10C74000002803D069460878384308706946A06914
+:10C75000FDF756FD03E0FE49FE4808F03AFCFEF7FF
+:10C7600018F8002804D1FB48F949801D08F031FC75
+:10C770000C2D07D0072D04D060695E210E52603069
+:10C780008770FEBD606940304683FEBDF0B5F24C57
+:10C79000DC2061698DB0405C042809D0052834D1C3
+:10C7A0006031487A002829D001204874022026E010
+:10C7B0001022EA31684600F0A8FF61691022C831F2
+:10C7C00004A800F0A2FF684605F0BBF8616908AA5A
+:10C7D0006CCA0F46CB6778378A670846FE608030A0
+:10C7E000BD60074620376CC7002303634363012005
+:10C7F000A0310876D9494874052000E00D20FFF7E4
+:10C800002BFF61690020C03108770DB0F0BDF8B58D
+:10C81000D1481830FDF7B3FF002842D0CE4C207A23
+:10C8200000283ED160690025C030007ECB4E002834
+:10C830000BD0B17B0120FFF7F2FE002805D1B17BC0
+:10C840000420FFF7ECFE002806D060690127C03005
+:10C85000407F062807D00CE060695C210D526030F3
+:10C86000457402202FE0B17B0420FFF7D8FE00289A
+:10C8700010D0B07B030008F09DFC173F3F3F3F1EE8
+:10C880003F3F3F3D3F203F3F3F292C3F3F3F3F3F02
+:10C890003F2F3F0060696A21095CC90702D0C030A0
+:10C8A0004577F8BD0C20FFF7D7FE60696030817ACC
+:10C8B00039438172F8BD072005E0FDF7D0FF00285D
+:10C8C000F8D075740B20FFF7C7FEF8BD00F02CFF01
+:10C8D000F8BDFFF75BFFF8BD606900218030816023
+:10C8E000C160057437740620FFF7B6FE60696030DA
+:10C8F0008570F8BD0920E6E700F0D8FEF8BD70B5F8
+:10C90000964DA87B072834D1934CDE22606941887C
+:10C91000125A491C91422CD1217A002929D1014671
+:10C92000E0318B88C28B934207D1CA88068CB24211
+:10C9300003D10A89468CB2420DD0884A8689303AA2
+:10C9400056819381CB88D3810989118201462E318A
+:10C9500051600121117001221146FDF79FFC002159
+:10C960000420FFF7D0FB61690020C0314877A8732D
+:10C97000E87370BD70B5794CA07B162803D074495C
+:10C98000774808F026FB74480021426973486032FA
+:10C99000117291703038067E0B250123002E06D0CF
+:10C9A000027D002A12D14575817503750EE0567A15
+:10C9B000002E06D051722288828381760C22027664
+:10C9C00004E022888283817683770576A17370BD27
+:10C9D000F8B5614DA879800723D5287A002820D1A1
+:10C9E0005E4C0120A17BFFF71AFE002819D1A8692F
+:10C9F0000127C0780026030008F0DCFB0E62620805
+:10CA0000622E3B4F0A62146220524562022021E0EE
+:10CA1000A07B042804D052484D49333808F0D9FA95
+:10CA2000A673F8BDA07B082804D04D4848492D388E
+:10CA300008F0CFFA686960308670F1E7A07B0A28B9
+:10CA400004D047484249263808F0C3FA6869603084
+:10CA500007720B20A073F8BDA07B0E2804D0AB207A
+:10CA60003B49C00008F0B5FA6869603007720F20D2
+:10CA7000F0E7A07B0F2804D039483549183808F072
+:10CA8000A8FA1120E6E7A07B0F2804D034483049EB
+:10CA9000123808F09EFA1320DCE7FFF76BFFF8BDB1
+:10CAA00069690846C0310A7F062A04D16030807A5D
+:10CAB000800700D50E77487F0628F0D14E77F8BD65
+:10CAC000274823496E3008F084FAF8BD10B5234C8E
+:10CAD0000020A17BFFF7A3FD002804D11E480122FE
+:10CAE000017A114301720420A07310BD10B51A4CD5
+:10CAF00060690146C0314A7F002A06D0097F0629B5
+:10CB000003D0217A0122114321726030807A80079C
+:10CB100015D4E069FDF752FB61696031C872E069C4
+:10CB2000FDF74EFB616960318881E069FDF74DFBDF
+:10CB3000616902226031C881887A10438872606915
+:10CB400000220146C0310B7F062B00D10A7709E095
+:10CB5000F4C60000ED07000090000020C819002076
+:10CB6000770500006A231B5CDB0703D106234B77A4
+:10CB70004030428310BDF8B5FE48817B0020FFF7AE
+:10CB80004EFDFD4C0126002807D160696030407AD7
+:10CB9000002802D1207A30432072616900255E208E
+:10CBA000455262204654C831E069FDF7C8FA616910
+:10CBB000E0699131FDF7D2FA6169042208469131AA
+:10CBC000B93008F069F8EB483038017E08270029B1
+:10CBD00006D0017D002912D14775857506750EE0D6
+:10CBE0006169054689894183E249E0691439FDF7A5
+:10CBF0008EFAE049E0690C39FDF796FA2F76DD48A8
+:10CC00000E218173F8BD70B5DA4D0020A97BFFF7C6
+:10CC100006FDD94C002803D1207A01210843207257
+:10CC2000E069FDF730FA00280ED0E069FDF726FA3A
+:10CC30006169DE225052498800F0C1FD002806D00B
+:10CC4000282000F02AFD70BDFFF740FF70BDE069AD
+:10CC5000FDF70EFA6169E0310870E069FDF701FA4D
+:10CC60006169E0314880E069FDF7E0F96169E03130
+:10CC70008880E069FDF7E3F96169E031C880E06927
+:10CC8000FDF7E6F96169E03108810720A87370BDFE
+:10CC9000F8B5B94CA079C0076FD0207A00286CD1C4
+:10CCA000B44D0120A97BFFF7BAFC002853D1E069FD
+:10CCB0000027C178022201260B0008F07BFA0D162E
+:10CCC0001308354A4A384C474A1929444A00FDF7A7
+:10CCD00016FA6169DA225054AE735E204752603111
+:10CCE0008E7038E000F076FD35E0FFF78CFF32E023
+:10CCF000A97B0020FFF793FC002802D1207A304363
+:10CD0000207260695E210F52603086700A2018E040
+:10CD1000A87B0B2802D0207A104320722F74606900
+:10CD2000603046720C200CE0FFF725FF13E0A87B73
+:10CD3000112802D0207A1043207260696030877019
+:10CD40001620A87307E0FFF7D1FE04E000F00FFD06
+:10CD500001E0FFF7BBFEFDF76EFD002804D14F2078
+:10CD60008649000108F035F9606900238030016BC5
+:10CD7000426B491C5A4142630163F8BDF8B57D4FCF
+:10CD8000012814D1787C002802D1387C002801D0F9
+:10CD9000FCF74DFEFCF7E0FBFCF7D3FB0020FCF7B3
+:10CDA00094FAFCF71EFBFCF760FBFCF7A5FBF87B95
+:10CDB00001260025704C00280FD16079C10705D0ED
+:10CDC0000220F87360694030057402E0800717D5CF
+:10CDD000FE7300210120FFF796F9F87B012802D0AD
+:10CDE000022808D00CE06079C00709D00220F8734F
+:10CDF0006069403005746079000701D50320F8733D
+:10CE000000F018FDFFF703FD2079002801D03D81D7
+:10CE100002E03889401C38816079C007606904D01D
+:10CE200072210D544030858203E04030818A491CD4
+:10CE30008182E079002806D061696031887C02280F
+:10CE400006D8401C887460696030807C022804D950
+:10CE50003D817D81606960308574B97B0020FFF77A
+:10CE6000DEFB002802D1B87B06284BD16069014661
+:10CE7000C0310A7F062A45D0497F062942D03D4964
+:10CE8000C97B03293ED16030807C00283AD1FDF770
+:10CE90002FFC002836D0FDF7A5FC002832D06169B0
+:10CEA000C88801282ED90A4640325674D08A978AFB
+:10CEB000831E9F4201DB012002E0C01B401E80B2A6
+:10CEC0002C4B1F89A3899F4201D3012302E0DB1B66
+:10CED0005B1C9BB2984200D91846012800D15574BA
+:10CEE0002A22525C002A11D0224A898D52898A4214
+:10CEF00001D3012102E0891A491C89B2884205D96F
+:10CF0000084603E06169012040314D7461694A8837
+:10CF100010180881FFF74FFB6069122215490C3089
+:10CF200007F0BAFEFFF7D1FAFEF7E3FF00280AD0B8
+:10CF3000104810388179002905D161690246898934
+:10CF4000203A118586710C481C30FDF7BCFC002886
+:10CF50000FD0E06900788007800F012809D00228EF
+:10CF600007D0FDF7D0FC002803D10449044808F09D
+:10CF700030F807E0C819002090000020F4C6000037
+:10CF80007F030000606940308574F8BD70B5FE4CC9
+:10CF9000607900283CD0FD4D022810D1FDF789FBB7
+:10CFA000002803D1FA49FB4808F013F86A69002306
+:10CFB00080329068D168401C5941D1609060002651
+:10CFC00066712079012804D12671A87910210843BF
+:10CFD000A871E078012816D1E670A87908210843E5
+:10CFE000A871FDF7F5FB002804D1EA48E84918309C
+:10CFF00007F0EFFF6969002380318A68C868521C16
+:10D0000058418A60C860A079012802D00120A0712F
+:10D0100070BDA67170BDF8B5DC4CDB4DE269002730
+:10D020001078042183079B0FE8790126012B11D08A
+:10D03000022B0FD0032B01D0207A30E06178002939
+:10D0400005D1AE70A1793143A17123E0EF71F8BD34
+:10D05000EE71F8BD5278D3061CD060780028F8D164
+:10D06000D006C00E1B2818D8607908436071FDF700
+:10D07000E2FB002804D1C748C5494B3007F0A9FF9F
+:10D08000606900238030026B416B521C594102637E
+:10D090004163E8790128DBD1D8E7207A10210843E1
+:10D0A0002072F8BDF8B5B84D0446303D287D002704
+:10D0B00000280AD0002978D1677010202070687D80
+:10D0C000A070A87DE0702F756FE02878002814D03C
+:10D0D00000296AD1072067702E462070083607E0C5
+:10D0E000686807802F700A223146A01C07F0D4FD23
+:10D0F00028780028F4D1A77057E0287EA24E143E6D
+:10D10000002837D0002950D1297EA0480B0008F014
+:10D1100051F80D2C2C2C2C2C2C2C2C112C2C2008C8
+:10D120002C0067700C212170A97EA1704069808954
+:10D13000A08018E008216770217040690A46808944
+:10D14000914960801439201D07F0A6FD3089A08127
+:10D1500009E067700B212170A97EA1704069808968
+:10D16000A080A87FA0712F761FE089498A4807F028
+:10D1700030FF1AE0844810388279002A08D000294C
+:10D1800013D1677011212170B189618087710CE022
+:10D19000827A002A0BD0002907D1677012212170F2
+:10D1A000318A6180718AA18087720120F8BD0020D8
+:10D1B000F8BD76480078012801D00C2070477249EC
+:10D1C0000020303908700875087620318871704762
+:10D1D00070B56E4C064620780D46002804D093208A
+:10D1E0006B49000107F0F5FE01202661E07225621F
+:10D1F0002070FFF7DEFF002804D0674864494930FB
+:10D2000007F0E7FE70BDF8B5604C2178012902D126
+:10D210002178012901D00C20F8BD01460546606146
+:10D2200012220C31584807F037FD01274035AF7402
+:10D23000554D2888FDF723FA002827D02888FDF7C8
+:10D24000D9FA002822D02888FDF78EFA00281DD0B0
+:10D250002888FDF7A8FA002818D0FCF742F9606981
+:10D260000026C088002825D048481830FDF787FAE6
+:10D2700000281FD06069C030007E00281AD0A97B2A
+:10D280000120FFF7CCF9002802D013E01220F8BDEE
+:10D29000A97B0420FFF7C3F900280BD16069014680
+:10D2A0004030868360314E740220FFF7D5F9606903
+:10D2B00040304674344830380078002806D1606920
+:10D2C000C18D008C814201D9A18102E06069008C8E
+:10D2D000A08160694189491E8AB2298989182981FA
+:10D2E000297B002902D06E812E7302E0698989189A
+:10D2F0006981014640318B8A9B188B82C388012B40
+:10D3000001D85B1CC380002A01D060308674A87BE2
+:10D31000032816D0487C002815D02889A189884286
+:10D3200011D2FDF7E5F900280DD060692A21095CCA
+:10D3300000290BD06989808D814207D3A670E770E0
+:10D340000CE0A7700AE0A670E67007E0688900218B
+:10D35000401C6881A7700520FEF7D5FE6069512149
+:10D360000E54A97B052901D0062920D1DE2142884F
+:10D37000095A511A09B2002919DB01460522E03188
+:10D380002430F3F721FF09E0C819002090000020A5
+:10D39000F4C6000039070000F10800000122022154
+:10D3A0006069FCF77BFF6069C0304677AE736069E7
+:10D3B0004189FDF728F8A07800282AD1606920303B
+:10D3C000807A002800D06E810120FBF788FE60691A
+:10D3D0003830FCF73EF860693430FBF751FF216AC2
+:10D3E00000200856FBF718FF0120FCF777F8FBF741
+:10D3F000D1FEFCF76FF80120FBF7B1FF6069406ECA
+:10D40000FCF782F8FFF71FF860694030C07BFBF73C
+:10D4100040FF6671E671A6712672A6726672267169
+:10D4200002202070FCF768F80020F8BD10B5F74C1A
+:10D430002078022801D00C2010BDA078002803D04D
+:10D440000020FFF79BFC17E0FCF74BF800F01DF9FC
+:10D4500060692030007C012809D0FCF79FF8FBF7B9
+:10D460009EFEF3F7AEFFE07A012803D004E0FCF75C
+:10D470009DF8F4E7F5F7CCFD002010BDE349C87234
+:10D48000704710B5E14C2078032803D0E049E1480B
+:10D4900007F09FFDE04801218278002A06D0002293
+:10D4A00082700171A27904231A43A271A2691378D0
+:10D4B000DB439B0707D1C378002B04D1C170A0794F
+:10D4C00002210843A0711078C00606D4E0690078F4
+:10D4D000C00602D4E07900280CD06078002809D179
+:10D4E000A079002806D1FEF7F2FC002802D0207AAD
+:10D4F000002803D00120FFF741FC03E0FEF7A3FF63
+:10D5000000F0C3F82078012806D0F3F75AFFE07A3C
+:10D51000012801D1FCF7DAF810BD38B5BB4C6069C1
+:10D520002030007C012820D1A07A00281DD1684637
+:10D53000FCF744F8002818D061693120405C0128CC
+:10D5400010D1B54A0D236D460020D356285683428C
+:10D5500008D050738989303A9185114620318873FB
+:10D5600001208872A07A401CA07238BD70B5A74C0B
+:10D5700006462078042804D0A648A549553007F06F
+:10D5800028FD607910210843A34D6071002E47D01B
+:10D59000FCF765FA61780126084300280ED1687C03
+:10D5A00000280BD0E0694178C90607D00078E979F6
+:10D5B0000007C00F884201D1667247E0E07800287A
+:10D5C00009D0E0694178C90605D10078C00602D4C7
+:10D5D000FFF7A3FF3AE0FFF7A0FFE069A979007821
+:10D5E0004007C00F884205D0FFF7D0FC60790821C2
+:10D5F00008436071E069E97900780007C00F88424C
+:10D6000001D1FFF708FD6079304360710020E071BF
+:10D61000A079000702D5A87B022817D0207A13E052
+:10D62000022108436071E079401CC0B2E07101281A
+:10D630000CD8687C00280DD0774854384078C10653
+:10D64000C90E052906D2C006002803D00120FFF725
+:10D6500095FB01E0FEF750FE2078012806D0F3F795
+:10D66000B0FEE07A012801D1FCF730F870BD10B5AA
+:10D6700066480078042804D066486549B73007F04A
+:10D68000A8FC0120FFF77AFB10BD10B50720FBF7BF
+:10D690001CFE5E490420087010BD5C4933224969B4
+:10D6A00050545D4A032090738876704710B5574CEC
+:10D6B0006069C030007F00281CD0062806D056487C
+:10D6C000817B0020FEF7ABFF002813D06069014684
+:10D6D000C0310A7F130007F06DFD070D0D0D0D0D14
+:10D6E0000D050D006030807AC20704D0C04380076A
+:10D6F00000D1087710BD0C20FEF7AEFF6069012253
+:10D700006030817A1143817210BD10B5002A0AD0B1
+:10D71000002306E0D41A6418203CE47FC4545B1C48
+:10D72000DBB29342F6D310BD10B503F0B0FF0C2866
+:10D730001CD3364C08216069D03003F0A9FF0028C3
+:10D7400006D060690421953003F0A2FF002803D1C0
+:10D750002F49324807F03DFC6169042208469531A3
+:10D76000BD3007F099FA0420FEF776FF10BD7CB5B6
+:10D77000294E0020B17BFEF752FF0125234C0028E3
+:10D7800002D1207A284320726946E069FCF73EFD09
+:10D79000684600780021C207D20F684602706069AF
+:10D7A000002A02D06030057401E0603001746069C5
+:10D7B0005E221152603085700820B0737CBD401A23
+:10D7C000174900B2884201DC002801DC01207047C3
+:10D7D0000020704770B5104D0020A97BFEF71FFF99
+:10D7E0000A4C002803D1207A012108432072E06905
+:10D7F000FCF77EFC6169DE2250524988FFF7DFFFAB
+:10D8000000280FD02820FFF748FF70BD90000020AF
+:10D81000F4C60000330A0000C819002062060000A8
+:10D82000FE7F00006169E069E031FCF755FC0520EE
+:10D83000A873EAE770B500F047F8384C384D6079C6
+:10D84000400709D5A97B0520FEF7E9FE002803D093
+:10D85000207A082108432072FFF71AFA00F012F824
+:10D86000FFF7B6F8A079C00609D5A87B030007F03A
+:10D87000A1FC06060606060604060620A873FFF7A6
+:10D880003EF8C2E710B525488179490714D5017AD9
+:10D89000002911D12249897B0B0007F08BFC080D70
+:10D8A000050D0D0D0E0D100D4069002262210A5468
+:10D8B000C030807EFFF7F1FE10BD012100E00221A3
+:10D8C0004069C030417710BD10B51448817909070F
+:10D8D0001DD5017A00291AD1114A947B230007F043
+:10D8E00069FC1416160B16161616161616161616AC
+:10D8F0001616161616161716406960308170407C91
+:10D90000002801D0062000E01620FFF7C6FE10BD5B
+:10D910004069603001728170917310BD90000020E9
+:10D92000C819002010B5031D03600020521E04E03A
+:10D930005C181C60401C2346C0B29042F8DB0020FB
+:10D94000186010BD01460A680020002A02D0104667
+:10D9500012680A60704702680A6001607047000040
+:10D9600000B51A2822D00ADC030007F023FC0D11B1
+:10D970001F131F1F191915171F1F1F1B1F002A28F0
+:10D9800014DD3A38030007F015FC030F11091100EC
+:10D99000002000BD1E4800BD042000BD0D2000BDBC
+:10D9A0000F2000BD082000BD112000BD032000BDD8
+:10D9B00010B50C46F4F784FF00281AD02046F4F77F
+:10D9C00084F9002812D020780E280BD00F2809D017
+:10D9D000022807D0032805D00EA1772007F0F9FA16
+:10D9E000002010BDA078FFF7BBFF10BD09A17D206E
+:10D9F000F4E708A18320F1E710B5F4F7EDF810BDC6
+:10DA000010B5F4F762F910BD10B5F4F744F910BD84
+:10DA1000023000007372635C686F73745F686369DF
+:10DA20002E630000F0B597B00021032004F082F9C6
+:10DA30000025FE4E022775807574347C12E0F06874
+:10DA4000E1004018818800290CD0858069460F705C
+:10DA50004D7001680291808869468880002168467F
+:10DA6000F8F702FD2046641EE4B20028E7D117B0A3
+:10DA7000F0BDEE4BD86019741A80D3E7EB49EC4B3C
+:10DA80004A8800201A4200D00120497C002901D098
+:10DA9000082108437047F7B504460E460078012177
+:10DAA000E34A8140521C114098B0E04A00915188ED
+:10DAB000E04B994205D0009B002B05D0DC4B19426E
+:10DAC00002D001201BB0F0BD009BD84A1943518001
+:10DAD0001A9D002D11D00020287022781A98002756
+:10DAE000401C130007F066FB10EF0D152137555D44
+:10DAF0006A39AFAB85B3EEEDECEF0B28EDD0042027
+:10DB0000E0E702212970A1880170090A4170032011
+:10DB100093E004212970A1880170090A4170E1880D
+:10DB20008170090AC170052087E006212970A1884B
+:10DB30000170090A4170E1888170090AC170218968
+:10DB40000171090A4171A289E81D216907F0A4F851
+:10DB5000A089C01D71E0082129702178082901D110
+:10DB600010212970A1880170090A4170E188817033
+:10DB7000090AC1700520308020466A1D01A90830BD
+:10DB800003F0CFFB00287DD1694630880979401821
+:10DB900053E00A212970A1880170090A417003200D
+:10DBA0000AE00C212970A1880170090A4170E188FE
+:10DBB0008170090AC170052030809DE0A0888446EC
+:10DBC0004000401C81B2308888425BD3052959D37C
+:10DBD0000E202870002008E0A36842009B5A5219CA
+:10DBE00053701B0A401C937080B26045F4D331809F
+:10DBF000B6E08E49487C002873D0401E4874C8683F
+:10DC000021790822C9004518A988286840180838D1
+:10DC1000A16807F041F802216846017100214171B5
+:10DC200028680390A98868460181002101A8F8F7B7
+:10DC30001BFC0020A880002E00D0308090E02978C6
+:10DC400080221143297029784022114329702978B4
+:10DC50008909890112312970A1880170090A41706E
+:10DC6000E288E81CA16807F017F8E088C01C308043
+:10DC70002878410640D5C00972D00121684601715B
+:10DC8000002100E02BE041713188ED1C091D01816C
+:10DC90001A980390E08840190490001D634D059088
+:10DCA000297C68460176002101A8F8F7DDFB0746CC
+:10DCB00030880C303080022F06D0002F50D060E02A
+:10DCC0003CE032E01CE059E06946097EE868CA00A1
+:10DCD00080182A7C914202D28188002902D0042730
+:10DCE0004FE02EE0697C491C69741A990160318803
+:10DCF00081800020308044E04C48A188C1802FE022
+:10DD000029788909890116312970A1880170090AC9
+:10DD10004170E1888170090AC1702289681DE1683B
+:10DD200006F0BAFF2089401D46E728788009800167
+:10DD3000183028702079687002207EE73B480A047A
+:10DD400001D405271DE00289A3889A4201D0062745
+:10DD500017E01E222A70012249043280490C4180BA
+:10DD6000009800280DD0314D0022288811468300EC
+:10DD7000032003F03AFF2078287107E0002030806C
+:10DD800003272A48009942888A434280384699E608
+:10DD9000F7B59AB002000C4606D0172A04D82348DB
+:10DDA000244B4088984202D107201DB0F0BD237853
+:10DDB0005D0601D4DB0901D00820F6E700236D469B
+:10DDC0002B706B701D462378611C9F06931E189361
+:10DDD000531E19939BB2169302AB1793134BBF0EAE
+:10DDE000DE883B0007F0E6F9208511F15EF16BF16A
+:10DDF000A3F1C6F1F2F1FBF1EEF1EDF1ECF1F1F18D
+:10DE0000EBF1EAF1E9F1E8F185F1052A71D104229B
+:10DE100069460A7005490A7969460A71E178A3786A
+:10DE20000A021A436946CA80227905E0DC190020FB
+:10DE3000FE710000FFFF00004A7061788906890EBC
+:10DE40000C2923D009DC891E0B0007F0B3F9091354
+:10DE500052155219521B521D520012291CD004DCBB
+:10DE60000E2915D01029D1D114E0162916D0182961
+:10DE7000CCD115E0800700E04007002839DA2AE11C
+:10DE80000007FAE7C006F8E78006F6E74006F4E781
+:10DE90000006F2E7C005F0E7C004EEE78004ECE717
+:10DEA0004004EAE7800724D5032AAFD105206A465B
+:10DEB0001070487809780002084390800BE1400711
+:10DEC000F1D5062A15D31898617880B2012902D0BD
+:10DED00002299BD101E0022700E0102706226946B3
+:10DEE0000A7000228A8001AEA11C0236BA1C179269
+:10DEF00018E0B6E04A780B7812021A433280801E8E
+:10DF0000891C1890B21C1691384603F0E4F9169952
+:10DF100018986B469A88C919C01BB61D521C9A8066
+:10DF2000179A80B28242E5D900289CD1D3E000073D
+:10DF3000B9D51998694682B20720087000208880F8
+:10DF4000601C891D11E0437806781B0233430B8067
+:10DF5000C37886781B0233434B806E46121FB3880A
+:10DF6000001D091D5B1C92B2B380042AEBD2002A6B
+:10DF700077D1B0E0C00674D5022A72D31898082170
+:10DF800082B2684601700021C18063780371A01CD1
+:10DF900017990EE04678077836023E430E80861CBD
+:10DFA0004E606F46D21AFE88C0180831761C92B2B5
+:10DFB000FE809342EED9DAE76FE076E065E051E06B
+:10DFC00046E01EE014E00AE000E0A0E0800648D54C
+:10DFD00009206A46107096801698D0800FE040069F
+:10DFE0003FD50A22684602708680169AC28006E0F3
+:10DFF000000636D50B206A46107016989080029164
+:10E0000069E0C0052DD5022A7FD318980C2182B271
+:10E01000684601700021C18063780371A01C1799C4
+:10E0200013E04678077836023E430E80C67887783C
+:10E0300036023E434E80061D4E606F46D21AFE8861
+:10E04000C0180831761C92B2FE809342E9D98EE75F
+:10E05000C0045AD5012A58D10D2168460170868026
+:10E0600039E052E0800450D5052A4ED30E2368468D
+:10E0700003708680C8788B78010219436846C18096
+:10E08000521F0281601D039025E040043DD5012A06
+:10E090003BD10F20694608701DE0030435D44B784E
+:10E0A0000E781B023343244E3381032A2DD31B2FBA
+:10E0B00027D011236E46337001261F4BF6033043E1
+:10E0C000588048780B780102194368468180D21E37
+:10E0D000C280E01C029020788006800E1B280AD0A7
+:10E0E0001D2808D00021032003F024FE1248418897
+:10E0F000C90BC903418068461C99F8F7B5F9284651
+:10E1000053E610206B461870DBE70725F7E7082574
+:10E11000F5E700B50022D243074997B04A800328AB
+:10E1200007D1032268460270097901710021F8F7CE
+:10E130009BF917B000BD0000DC190020FFB589B0C5
+:10E140000020019009981027FE4C1E46154608280D
+:10E1500006D0E06901F05EF8002809D03770BEE013
+:10E16000288809213843108013980227017016E08F
+:10E17000E169012088710521E269C9029180E169A4
+:10E180008872E169F0480881E16900208873288875
+:10E190002021084328801121139804270170139827
+:10E1A0000225801C0290307806900A203070E548E5
+:10E1B0001830049001F022FA0020059020462C30FF
+:10E1C00003906DE00998102808D1022D06D001991E
+:10E1D0000298A28D401A8270110AC170E08D0A99CE
+:10E1E000884202D901F0CDF806E0884204D10698B1
+:10E1F000002801D030701CE00298E18D0170090AFE
+:10E20000417012980088401BC01B82B2FF20C01BC7
+:10E21000904200D2024607A8009002980021C3193C
+:10E22000E08D01F056FA3070002805D0C0B2832886
+:10E2300058D0E08D20833EE00598002804D0206C63
+:10E2400000790A282CD336E06846808BC119C9B200
+:10E250000191022D0DD01399019A4978914202D172
+:10E26000228F824208D00191206C0178032908D0C6
+:10E2700023E0084613994870206C0178042906D0E1
+:10E2800007E000790A2818D20120059008E0E18D06
+:10E29000818002990198081802900198281885B287
+:10E2A0000399049801F0ADF9002804D11298008870
+:10E2B000401BB84286DA022D0DD00998102806D1ED
+:10E2C00002990198A28D081A8270110AC1701298E1
+:10E2D000058000203070206C0078032802D00020D8
+:10E2E0000DB0F0BD0220FBE7F8B5964A0026126D8E
+:10E2F000002A2ED0401F934D84B24035E88A234631
+:10E300000833AF8AC318BB4222D88B784F781B02E0
+:10E3100010183B4303701B0A43700B79CF781A0225
+:10E320003A438270120AC2700471220A4271224674
+:10E33000491D801D06F0B0FCE88AA41D001980B2BA
+:10E340008049E882096D002208180270427000E0DE
+:10E3500009263046F8BD30B57A4B028840339B8A97
+:10E36000934213D9774B1C6DA3185C781D78240257
+:10E370002C430BD05C791D7924022C436404640C7B
+:10E38000A41D1219028000200B6030BD822030BD18
+:10E39000F0B585B0074600266846068155E001982D
+:10E3A000417802780D021543417902790802104341
+:10E3B00000044AD43D8003A80023012200905202A9
+:10E3C0001946284601F085F9040044D168460189C0
+:10E3D0000182019841790279090211434378027858
+:10E3E0001C021443AC421CD10A041AD44A04012171
+:10E3F000520C89030A430096C178807809020143D0
+:10E400000023204600F0C1FF040010D10199487993
+:10E410000A79000210430122D20310430871000A56
+:10E42000487101A904A8FFF796FF0400D1D0019913
+:10E4300000964878097800020843694600238A89D3
+:10E44000194600F0A2FF822C05D101A902A8FFF70E
+:10E4500082FF0400A3D06846068109E0019948794B
+:10E460000A79000210434004400C0871000A487108
+:10E4700001A902A8FFF76FFF0028EFD0822C02D07D
+:10E48000204605B0F0BD0020FBE7F7B584B0144688
+:10E490000646002700F071FF2A480025006D00287D
+:10E4A0002FD0059801282CD12046FFF771FF0700D7
+:10E4B00027D1002E29D06846058118E001994878B7
+:10E4C0000978000208432080019B0095587919794A
+:10E4D0000202D8780A4301029F78587839431F789E
+:10E4E00000029B1D384300F050FF002805D101A910
+:10E4F00002A8FFF730FF0028E0D0822800D10020DA
+:10E500000746002E01D00F48056500F03AFF384657
+:10E5100007B0F0BDF0B597B00021042003F00AFC6D
+:10E52000084F00243D467C8040356C73AC73287BDB
+:10E53000B96CC00008380E18B08800280DD0012032
+:10E54000694603E0F01900200128000008703068D7
+:10E55000019000216846F9F78EFAB4803C65AC82E0
+:10E56000EC8217B0F0BDFE4B986418464030017342
+:10E570001A803838D861CDE7F949002049880A0760
+:10E5800000D501200A06120F01D002221043CA054D
+:10E5900001D5042210438A0501D5102210434905F4
+:10E5A00001D520210843EE494031497B002901D0A3
+:10E5B000082108437047FFB5A7B004002898164605
+:10E5C0001B9022D00178E6484D06428822920246EE
+:10E5D00040320092002D14DB8A06920E1E2A0ED0C5
+:10E5E000229A5205520E10D13288172A0DD3009A62
+:10E5F000927B002A09D1DB4D229AAA4205D0CA0992
+:10E6000006D08A06920E122A02D003202BB0F0BD4B
+:10E61000D348826C0098007B2590C0000838101801
+:10E620001F9048060CD40098407B002808D0009921
+:10E6300088731F99289808601F9884800220E5E756
+:10E64000002718A90F7069460F72C54902AA0A640B
+:10E65000309A4A6410A90F850F861B981D460078D2
+:10E6600020908106BE4B601F24901A462C322192C6
+:10E670002898DA691833890E1E93401C0B0006F0A7
+:10E6800099FD1FFDFD11FD1AFD90FDFCFDFBFDFA3E
+:10E69000FDF9FDFCFDF8FDFDFDF7FDF6FDFDFDFDC1
+:10E6A000FDF5FD00032C7BD10320287017226A7032
+:10E6B0000022AA70E0E2052CF5D141780278090227
+:10E6C0001143A74B10AA19831185C27880781202D2
+:10E6D00002435A8300297DD091427BD800211846FD
+:10E6E00081720181491E01841E9800F087FF052078
+:10E6F0002870A81C1D900220009021991E9800F0FF
+:10E7000080FF002803D047E018A90870F0E2944881
+:10E710002030807C012803D002206870102002E0A5
+:10E7200001206870022022908D4830302390002212
+:10E7300020A9239802F0F5FD00282AD120A800780E
+:10E740002299814225D132880099801C511A814238
+:10E750001FDB83481D99C08D0870000A48701D9802
+:10E7600020A9801C1D9000981D9A801C0090239861
+:10E7700002F0D7FD20A909781D9840181D90009837
+:10E78000401880B2009021991E9800F03AFF0028AE
+:10E79000CDD0009802288DD10A2018A908706CE20B
+:10E7A0006DE0072C6BD341780378090219436C4B59
+:10E7B0008446198310AB1985C37880781B021843EF
+:10E7C000674B0029588305D0814203D801211846A0
+:10E7D000817200E0A4E061464B7909791B020B438A
+:10E7E000038100218173104600F014FD00280FD131
+:10E7F0005B480121C26991710522C369D2029A80E6
+:10E80000C2699172C26958491181C069002181733E
+:10E810005349E01F08841B98C01D48621E9800F0F1
+:10E82000EDFE07202870681C009001201D904C48C8
+:10E830000021C18530E01D98012815D04848C169E4
+:10E84000897901292FD000981038C17B807B09027B
+:10E85000014300980170090A41700098801C0090E3
+:10E860001D98801C80B21D903D4809E013E2BEE176
+:10E870007AE1D8E00DE2A0E080E03BE01EE2B6E005
+:10E88000C18D00980170090A41700098801C0090A9
+:10E890001D98801C80B21D9021991E9800F0B1FE39
+:10E8A000002802D006E0818DD3E731881D98081A30
+:10E8B0000428C0DA1D98012800D16DE72848C169F5
+:10E8C0008979012903D0828D26498A4205D1818D1B
+:10E8D00000980170090A417009E000981038C17B66
+:10E8E000827B0802009910430870000A48701D9846
+:10E8F000801CC1E1072C01D0152C78D14178037818
+:10E9000009021943164B198310AB1985C378807817
+:10E910001B02034312480029438301D0994201D9C5
+:10E920000120F1E60E4801218172002101818173ED
+:10E93000052C07D024981B99C0B2491D02F0CBFCCE
+:10E940000028BAD100200649C04308841B980096CD
+:10E950000195007818AB8006800E1CAA002105E006
+:10E96000F0190020FFFF000001280000FFF7E6FB80
+:10E970000746FE4810A9008B08857EE1032CBCD118
+:10E98000402210A90A86417802780802F74910430C
+:10E99000088310A9088520A9009131886B1C491EA5
+:10E9A0008AB2002100F095FE18A90870002830D125
+:10E9B0000B20287020A8008833E0052C9DD18021F1
+:10E9C00010AB1986014640780B780202E7481A43DB
+:10E9D0000283CB7889781B021943E44B10461984D3
+:10E9E00010AB1A85E24A914202D307208CE697E0E9
+:10E9F0003F23DE4A9B021943118421AA00923288E8
+:10EA00006B1C521E92B200F064FE18A90870002818
+:10EA100003D08328B1D102272FE10D20287020A830
+:10EA20008088401C28E120990C22C9095143C91C47
+:10EA30001E91A14204D92098400671D500201BE107
+:10EA4000417800780902014310A801851B980078DD
+:10EA500042062898C01C1D90002A62DA05206A46EA
+:10EA600010721B980078C00944D0082268460272D0
+:10EA70008181A01A87B268468782289806901E98DE
+:10EA8000201A81B26846C1811D980490401806F092
+:10EA900064F9079006982599C0190890491E08A89E
+:10EAA000017102A83099F8F7E6FF07460021684691
+:10EAB0000172002F1BD0022F18D1009808A9007BEB
+:10EAC0000979401E884210DDA848289A836CC90045
+:10EAD0005A50816C08A80079C000001D0C520098A3
+:10EAE0000099407B401C4873C7E00527EAE00620F8
+:10EAF00069460872002000901E980021201A20907C
+:10EB000082B21B9B10A8DB1C008D00F03EFC01466E
+:10EB100018A80170002268460272832903D003E01E
+:10EB200093E00720E4E702271B98007840060ED503
+:10EB30008E484188C90506D510AA018B128D9142D5
+:10EB400001D100214162002018A9087094E0FF2142
+:10EB5000013110A80186018D844801832099018428
+:10EB60001D994162132085E0052C6ED3417803780E
+:10EB70000A021A4310A90A859446092269460A72B4
+:10EB80000021009101222499D20311438AB2C17855
+:10EB9000807809021B9B01435B1D604600F0F5FB7A
+:10EBA00018A90870002269460A720122520210A9AF
+:10EBB0000A86832802D0002805D099E06B48098D89
+:10EBC000018302277EE06948006D002807D02046B7
+:10EBD0001B99FFF789FB18A9087000284DD12B4617
+:10EBE000324620461B9900F024FB074645E01B985F
+:10EBF000022C4078009064D1002801D0012860D117
+:10EC00000A2168460172009901731AAA002000992E
+:10EC1000FFF73BFC0146684641730021817302A85F
+:10EC20003099F8F728FF0746002168460172012154
+:10EC3000890210A80186022F08D04C48006C807908
+:10EC4000002807D018A9087020E04BE04749009839
+:10EC5000088337E0002F03D0812018A9087031E025
+:10EC60001AAA01200099FFF710FC18A908700028C3
+:10EC700003D119202870012030806846007A0028CE
+:10EC800004D002A83099F8F7F6FE0746002F2BD0E3
+:10EC900018E0062038E522993448090711D5012CDF
+:10ECA0000FD10B2269460A72C08888810021042096
+:10ECB00003F040F8082010A90886BFE62098400617
+:10ECC00010D50327294810AA4188128E114341808C
+:10ECD0005005400E04D01F99289808601F98848022
+:10ECE000384693E404200FE518A8007800280ED0D9
+:10ECF000012028701B980078687010A8008DA870FB
+:10ED0000000AE87018A8007828710520308017489C
+:10ED100010AA4188128E91434180E1E7FFB5064673
+:10ED20009FB000201B903178012088401149124A81
+:10ED3000084010A908860D494988914203D000284F
+:10ED400004D0080702D5012023B0F0BD219D002783
+:10ED50002F7020983C46018810A8018418A80771DC
+:10ED600000F00BFB6846077202A907E0F0190020CB
+:10ED70000102000009F80000FFFF0000FA480164EA
+:10ED800001464031826C1A91097BC9000839571835
+:10ED900022994164307801282AD0022809D003281A
+:10EDA00079D12878800980011D302870EE48B1881B
+:10EDB000C1803078022804D12878800980011B3076
+:10EDC000287001A8009010A8008CEB1CC01E82B215
+:10EDD000B088002100F07DFC0028E1D1B188697085
+:10EDE000090AA9706946888810A9C01C08842DE109
+:10EDF000717918A801713079012802D00228CFD189
+:10EE0000E6E0D9487F2340881B010246184010AB3A
+:10EE10001886802840D006DC102810D020280ED07C
+:10EE200040280AD120E0FF38013859D0FF38013896
+:10EE30006AD0FF38FF3802387ED0052491E0D00632
+:10EE400001D5082000E010201B90042069460872BC
+:10EE50000020888118A800900195318919AB1CAA5F
+:10EE60001B98FFF76BF977E0BF4B3289188B824212
+:10EE70004FD10A221B92002973D101A9009110A938
+:10EE8000098C6B1C491E8AB2002100F022FC18A9D3
+:10EE900008710B2017E0F6E0B34B3289188B8242E1
+:10EEA00037D10C221B9200295BD101A9009110A936
+:10EEB000098C491E8AB21946098C6B1C00F009FCAA
+:10EEC00018A908710D2028706946888810A9401C6F
+:10EED0000884042069460872A348008B888140E0BA
+:10EEE000A14A3389108B834213D112231B9300292B
+:10EEF00037D1536A002B05D00091128C00F045FAEF
+:10EF000018A9087113205EE097483289038B9A4252
+:10EF100001D00424E7E016221B92026D002A09D1D9
+:10EF2000F268002A06D002651A98328A82821A9AFA
+:10EF30000020D082002900E02FE012D1B888396883
+:10EF4000FFF7D2F918A9087100280AD1B8882B4612
+:10EF500018AA396800F06DF90446022818D0042C6C
+:10EF600016D0B88800280FD06846007A002804D050
+:10EF700002A82299F8F77FFD04460120694608722D
+:10EF8000386803900020B880002C5FD0052C7BD01F
+:10EF90006846007A032873D0A5E018201B9000294A
+:10EFA00005D071483189018300210165D9E76E4898
+:10EFB0000246017E18320120FFF767FA18A908718E
+:10EFC0000028CED119202870012010A90884C8E794
+:10EFD0001A98407B002856D0307AC0001358001D84
+:10EFE0000193105A1D9000291AD100F0CAF9062089
+:10EFF00069460872002000901D980F3882B201986F
+:10F000008178437808021843019B0021DB1C00F043
+:10F01000BCF918A90871002269460A72832830D009
+:10F02000002118A8017110A801840121684601720D
+:10F03000019803901A981A99407B401E48731A98B9
+:10F04000807B002802D01A99401E887310A8008E79
+:10F050007F21090102468A431DD0434800220088CF
+:10F0600011468300042002F0C0FD3F483178017151
+:10F0700010A94088098E08433B4948800FE003E00F
+:10F080002BE002242FE00524374810AA4188128E75
+:10F090009143418027E034494A8882434A80684648
+:10F0A000007A002805D03048416C02A8F8F7E3FC4C
+:10F0B000044618A80079002815D01B986870012014
+:10F0C00028702948008BA870000AE87018A80079F9
+:10F0D0002871052110A8018405E02348416C02A88D
+:10F0E000F8F7C9FC044600F04CF91F484088400579
+:10F0F000400E20D11A98807B00281CD1B8880028A7
+:10F1000019D0209910AA0988118422990091396890
+:10F1100018AA219BFFF74FFA044602280BD00120C2
+:10F12000694608723868039002A82299F8F7A3FC90
+:10F1300004460020B88010A8018C20980180204649
+:10F1400002E600B50022D243074997B04A8004285E
+:10F1500007D1022268460270097901710021F8F78F
+:10F160008AFC17B000BD0000F019002010B5394C22
+:10F1700003780022216C012B02D0022B44D126E01F
+:10F180000B78002B01D0042B03D10A71226C0321D0
+:10F190001170216C83880A79D200921D8B52216CE8
+:10F1A0000A79D20008328918C2880A80216C038942
+:10F1B0000A79D2000A328B524289206C0179C90047
+:10F1C0000C314252216C0879401C087120E00A740D
+:10F1D000226C81889180216CC288CA80226C01894E
+:10F1E0001181226C41895181216CC068C860616CB9
+:10F1F000206CF8F740FC0146022807D0206C007C08
+:10F20000002802D1002903D0812010BD832010BD29
+:10F21000002010BD8178012909D100880521C9028B
+:10F22000884202D0491C884201D100207047052045
+:10F23000704710B51488844201D2052010BD1724F0
+:10F240001C701080421E491C581C05F025FD002032
+:10F2500010BD0000F019002010B58B78002B11D0E4
+:10F2600082789A4207D10B88002B0BD003E0091D4E
+:10F270008B78002B08D08B789A42F8D103880C88C1
+:10F28000A342F4D1002010BD812010BD10B500298B
+:10F2900002D001290DD102E00088000501E00088BC
+:10F2A0008004800F07D001281CD0022809D0032831
+:10F2B00010D0812010BD002901D0032010BD0220F4
+:10F2C00010BDF5F7EEFD03280CD004280AD0002865
+:10F2D00006D009E0F5F7E5FD042803D0022803D0A5
+:10F2E000052010BD002010BD0F2010BDF3B5C81CB7
+:10F2F00080080E46800081B0B04201D08620FEBD5D
+:10F30000FE4C354626600198A08000202081E080D8
+:10F3100014E0B807A978800D0843F94905F036FDD7
+:10F32000E088401CE080B80607D42089401880B2ED
+:10F3300020810199081A8019A8600C352F88780758
+:10F34000E7D40020A072FEBDEC480C22C1880089E1
+:10F350005143081880B2704770B51346E74A451804
+:10F360009488AC4201D2842070BD126810180A46FD
+:10F37000194605F091FC002070BDE049012088721B
+:10F380007047DE49002088727047FFB589B0970446
+:10F390000E460546BF0C029200F034FA040021D05C
+:10F3A000002069460873D548807A012812D00121CF
+:10F3B0002046FFF76BFF002815D12078400609D5BD
+:10F3C0000221684601730582218841828682C782B4
+:10F3D0000C9806900298000407D500273E460125A8
+:10F3E00001970CE001200DB0F0BD2078A1788007D6
+:10F3F000800D0843C249019005F0C8FC0D460298F3
+:10F4000040040AD50198A84207D12088E1788005F8
+:10F41000800F00020843B04201D3AE4201D9072059
+:10F42000E1E7B81980B20290A84201D90D20DAE7CD
+:10F430006846007B002804D003A8F8F718FB0028D2
+:10F44000D1D10198A8420BD1208803210902884319
+:10F4500002998905890F0902084320800298E0700B
+:10F460001298002800D007800C9800280CD0207833
+:10F47000000609D4A0683A4680190C9905F00CFCE6
+:10F4800020881021884320800020ACE7FFB59B4DE9
+:10F4900081B00E46E8882F680C21009048433C1844
+:10F4A0009749039805F072FC0A462889E11B8446B7
+:10F4B0000C314018318880B28B0601D5002300E062
+:10F4C00013461818AB8880B2834202D8842005B056
+:10F4D000F0BD0098894D401C80B2E88021800D99D4
+:10F4E000002900D00C600399A170E2702188039D6F
+:10F4F0008908AD058900AD0F294303252D02A943D5
+:10F500009505AD0F2D0229430425294321800C992F
+:10F51000002900D0088001998978A1710199098892
+:10F52000A1803178890601D50B9905E073496244C1
+:10F5300092B20A81991AC919A16000212173327807
+:10F54000920601D50020C2E700910B9B0A9A04990C
+:10F55000FFF71BFFBBE7FEB5044600F053F90700B9
+:10F5600008D0664D641EE8880190A6B2286834462B
+:10F57000009015E00120FEBD0C2000996043095A5F
+:10F580008A060BD489078A0D0099801C085C5C49A7
+:10F59000104305F0FBFB2889401A2881641CA4B2A3
+:10F5A0000198A042E8D8EE8000203870FEBD002807
+:10F5B00003D0401E0880002070470120704710B51E
+:10F5C0004E490288CB889A4201D3822010BD0B6835
+:10F5D0000C21514359180B88CC789B059B0F1B02BB
+:10F5E000234341608C7904738C884481C38189688A
+:10F5F000521C016102800281002010BD01210182A4
+:10F600007047FEB505460020C043088068680F4675
+:10F6100081786846817068680188684601800021A9
+:10F620008171288A2C88A04200D304462C8234E0C1
+:10F63000288A401C2882301D6968FFF70DFE0028CB
+:10F6400029D139882F48814201D1601E38806888CD
+:10F65000A04227D33088F1788005800F000208434C
+:10F6600002906946301DFFF7F7FD002813D1298964
+:10F67000244881421AD000213046FFF707FE0028B7
+:10F6800009D12A890298824205D1E968B06805F05B
+:10F69000D6FA00280AD0641CA4B2204600F0B2F8C2
+:10F6A0000600C5D1641E2C828220FEBD7C80B0790C
+:10F6B000B871B088B8803088388130788007810D83
+:10F6C000B078014379810298B881B0683861002030
+:10F6D000FEBDFFB585B014460F46059800F092F8C0
+:10F6E000050037D00548BE05807AB60D01281CD02C
+:10F6F00000212846FFF7CAFD002805E0481A00202F
+:10F7000001020000FFFF000022D1287840060CD53E
+:10F71000012168460170059981802988C180068190
+:10F720004481F8F7A4F9002812D12888AA78810723
+:10F73000890D11438005800FEA7800021043BE4214
+:10F740000AD0374A914207D3611E814204DD0B2063
+:10F7500009B0F0BD0120FBE7864201D90720F7E799
+:10F76000801B82B2A24200D922460E98002800D007
+:10F7700002800898002804D0A8688119089805F02C
+:10F780008BFA0020E4E770B514460D4600F03AF815
+:10F7900000280DD001882980002C0DD001788078B8
+:10F7A0008907890D01431E48814203D2012002E0EE
+:10F7B000012070BD00202070002070BD70B516467D
+:10F7C0000D4600F01FF804000DD02D882580FF2E77
+:10F7D00016D0A807A178800D0843114905F0D6FA84
+:10F7E000002E06D101E0012070BDFF31FF31033151
+:10F7F00089B2A170A80880008905890F084320807C
+:10F80000002070BD0749CA88824207D3002805D06E
+:10F810000C22096850430C380818704700207047C4
+:10F8200001020000481A0020F0B585B00E460546DA
+:10F830000020694608707078FE49C00003900C589B
+:10F84000FD4F002D0ED0022D73D0002C72D02078E9
+:10F85000801E030005F0AEFC09837F7F7F83797FE4
+:10F8600077727F00002C03D1F4A16B2005F0B1FB6F
+:10F870002078801E030005F09DFC09065E5E5E197F
+:10F88000365E50545E003078062803D0EBA1762017
+:10F8900005F09FFBB8687168806C032205F0FCF9E5
+:10F8A000012069460870002835D1CEE730780C2851
+:10F8B00003D0E2A1812005F08CFBE06800780028ED
+:10F8C00006D0B8687168806B102205F0E5F928E071
+:10F8D000B8681021006B05F03CFAB868816A006BCB
+:10F8E0000A787168F1E730780D2803D0D3A194200D
+:10F8F00005F06FFB04206946087071684878097844
+:10F9000000020843B9684A6A517812780902114323
+:10F91000484069468880084608E0C8A1AF2005F045
+:10F9200058FB6846007800288FD06846F5F7BEFA85
+:10F930008BE727E01CE0C1A1B420F0E7B86861695B
+:10F94000006CFEF708F8A16900E0E168B868006C97
+:10F95000FEF701F803E0B9A1E32005F03AFBB8682F
+:10F960002146006CFDF7F7FFB24A03990020505082
+:10F97000022D07D0002D05D0012D03D0AFA1EF201F
+:10F9800005F027FB05B0F0BD10B501780124012971
+:10F9900002D0022910D112E04268A74800218260FB
+:10F9A0000170A4486C38C166016741678167D289DC
+:10F9B00002214C3001F0E1F90024204610BDFF2067
+:10F9C0009EA1163005F005FBF7E7F0B505469EA1B0
+:10F9D00003C997B014911390002008A908759549A0
+:10F9E0002A781031944C0491217805910126914F89
+:10F9F000A168130005F0DEFB0CEF07309AF0EDEC88
+:10FA0000EBEAE9E9E8EF20700124FF264F360546CE
+:10FA100010A80570457001F0C1F90746012803D010
+:10FA200086A1304605F0D5FA10A93846FFF7FCFE4E
+:10FA30002046641EE4B20028EAD10A206946087014
+:10FA40006846029501F088FA002803D0FF207BA1C8
+:10FA5000583068E0002646E3C86A0078C0072FD017
+:10FA6000012069460870684601F076FA002804D043
+:10FA7000FF2072A16B3005F0ACFAA068006CFDF7B6
+:10FA800061FF050004D1FF206CA16E3005F0A1FAE2
+:10FA900008984078C0003D5006202870A068016892
+:10FAA00069600069A8606448C01CE860284601F0ED
+:10FAB00053FA022804D0FF2060A1783005F089FABB
+:10FAC000A068C06A00784007C4D501206946087064
+:10FAD000684601F041FA002804D0FF2057A1803089
+:10FAE00005F077FAA068006CFDF72CFF050004D143
+:10FAF000FF2052A1833005F06CFA08984078C000CE
+:10FB00003D5006202870A068016869600069A860FF
+:10FB10004948401DE860284601F01EFA022899D0A5
+:10FB2000FF2046A18D3005F054FA93E7A96800291B
+:10FB300033D0694608712979012932D0022904D0CD
+:10FB4000FF203EA1A73005F044FA3A4810221030B9
+:10FB5000A96805F0A1F837481030364920314860CF
+:10FB60002078C1062CD5EF2108402070032069467B
+:10FB70000870304810300290684601F00FF90446D2
+:10FB8000022808D0002C06D0012C04D0FF202BA185
+:10FB9000B83005F01EFA69466FE101216A4611711D
+:10FBA000DBE7244A04996C3AD06748608860C860F3
+:10FBB0000621A86803F0FCFE1E4910310860CAE760
+:10FBC00020210843207045E7A1E15AE119E1E6E070
+:10FBD00086E056E000E081E2886C407980090128E7
+:10FBE00004D0FF2015A1CC3005F0F3F9A068017A0C
+:10FBF000002906D1416B406801F01FFAA16801207D
+:10FC00000872012069460870684601F0A5F90028CD
+:10FC100004D0FF2009A1D73005F0DBF9A068006C03
+:10FC2000FDF790FE050004D1FF2004A1DA3005F0B5
+:10FC3000D0F90DE0C01A0020B40000207372635C9C
+:10FC4000736D2E630000000004411A8800A4800038
+:10FC500008984078C0003D5002202870A068416B91
+:10FC60006960806CC01CA860284601F075F904002A
+:10FC700004D0FF20FD49E23005F0ABF929462831D8
+:10FC8000FBE0172268460272012202708078820827
+:10FC9000287992008007800F024368468270FB201B
+:10FCA000024028794007C00F8000024368468270F6
+:10FCB000EA8882804A6C02A901F090F9002804D0F9
+:10FCC000FF20EA49F73005F084F9052108A80175FD
+:10FCD0006846017A0187A0680026406C0F9006E212
+:10FCE000012069460870684601F036F9002803D003
+:10FCF000DE49DF4805F06DF9A068006CFDF722FED3
+:10FD0000060004D18320D949800005F062F9A0687B
+:10FD1000006CFDF717FE1290002804D1D448D34997
+:10FD2000801D05F056F9D3488068006CFDF70AFE87
+:10FD3000040004D1CE48CD49093005F04AF90898AD
+:10FD40004078C0003E500A203070287A30716868D0
+:10FD5000C84DB060A868406C3061172030731298AD
+:10FD6000B4617061304601F0F7F80446022808D00B
+:10FD7000002C06D0012C04D01120BC49400105F014
+:10FD800028F92046316AFFF74FFD28780521014008
+:10FD9000042900D05EE6FB21084028702AE005987F
+:10FDA00040084000207082071CD5FD2210402070C2
+:10FDB0000F206A46107017201071486C0290684638
+:10FDC00000F0ECFF0546022808D0002D06D0012DDA
+:10FDD00004D0A748A5493A3005F0FBF86946284603
+:10FDE000FFF722FD2078052101400429D2D1FB2113
+:10FDF00008402070072008A908759E48807808767A
+:10FE000028E6012069460870684601F0A5F8002838
+:10FE100004D097489549543005F0DBF8A068006C91
+:10FE2000FDF790FD060004D113209049400105F034
+:10FE3000D0F890488068006CFDF784FD040004D180
+:10FE40008B488A495A3005F0C4F808984078C000B9
+:10FE50003E5007203070874880684068706068684E
+:10FE6000F460B060304601F077F8040004D08048B8
+:10FE70007E49653005F0ADF8316A2046FFF7D4FCC5
+:10FE8000E8E5012069460870684601F065F8002839
+:10FE900004D0774875497A3005F09BF80898407887
+:10FEA0001190A068006CFDF74DFD060004D15120B3
+:10FEB0006E49C00005F08DF8A068006CFDF742FDAA
+:10FEC000040004D16A486949823005F082F811982B
+:10FED000C0003E50C019296941600920307068682F
+:10FEE0007060A868B060A889B08163483061103044
+:10FEF000B4617061304601F02FF8022804D05C48EC
+:10FF00005A49903005F065F811982875A2E55A4ACB
+:10FF100000208C32107002206B46187001922879F4
+:10FF2000002801D0107098E0524803230C3040683C
+:10FF3000FB2703708378504A9B089B003B408370EB
+:10FF40004B7A00271B07DB0F43708C3257600B7B0B
+:10FF5000C370CB7A1372537A0C7D5B08E4075B00A5
+:10FF6000E40F23430C461534D460FD242340CC7E9B
+:10FF7000E407A40F234353720B461C3313614771EC
+:10FF800007718B7A3B4A9C070C32A40F1268012C34
+:10FF900004D19478A407A40F012C1DD09B089B00CA
+:10FFA0008B7293785B0702D48B7A5B0728D54B7AE8
+:10FFB00013AF5B075B0FDC005B00E3181478640091
+:10FFC0001B19DBB2DC083C5D5F077F0F0623DB1BE0
+:10FFD000DC40A3079B0F14E04C7A53796406640F4E
+:10FFE00023404371147906273C400471E4001C430C
+:10FFF000204B5C7083789B089B005B1C8370D0E770
+:020000040001F9
+:1000000000238478FB273C408F7A7F07FF0FBF00D7
+:100010003C4384704C7A6407640F04705078012864
+:1000200007D1487A000704D5032008A908750220E3
+:100030002DE0022B27D0012B2BD00F4B0020049A50
+:10004000D86750609060D06018467C30024610320D
+:100050005060887AFB2210408872684600F09EFE4D
+:10006000040035D0012C34D0004907E03CFC0000EE
+:1000700009020000B4000020541A00206520C000CE
+:1000800004F0A7FF25E0032008A9087501200876E1
+:10009000E3E77E4C0D21E01C04F05BFE20461030AF
+:1000A0004460022008A908750E94A868002807D0AB
+:1000B0000068206005997648202211430170CCE742
+:1000C00005980007C9D57349734804F082FFC4E757
+:1000D000002669462046FFF7A7FB04E06E486D49FD
+:1000E000203004F076FF08A8007D002802D00DA87B
+:1000F000F4F7DCFE304617B0F0BDF0B597B00C4613
+:10010000054600206946087061482F785F4E0178E7
+:10011000583E82683B0005F04DF80BAA8407263B49
+:100120004C6B79798F9CAA002B20694608730CA927
+:1001300003A8FDF73DFC002804D05748554941303D
+:1001400004F047FF55490D9804F020FE4F48016028
+:100150004F4869680C300160AA684260019108202C
+:10016000694608708CE08A0610D5DF2211400170C4
+:1001700003202070454810304168A1604068002885
+:1001800002D00020207177E00120FBE7102256E02A
+:100190002B20694608733D4903A85C39FDF708FC2C
+:1001A000002804D03C483B496A3004F012FF042088
+:1001B0001BE02A206946087303A8102202306968F0
+:1001C00004F06AFD07A810220230A96804F064FD5B
+:1001D0002E4903A85C39FDF7EBFB002804D0392039
+:1001E0002C49000104F0F5FE05202070666043E014
+:1001F0002A79002A02D001221143017005206946A4
+:10020000087028798880A868029039E0D06A402375
+:10021000018819430180D06B6968102204F03CFD0D
+:100220002AE0FB2211400170062069460870A96887
+:1002300068680291019023E0CB0703D002221143AA
+:10024000017058E70F20207017202071506CA060BB
+:1002500012E0937A9B0706D0D26A44781388FF3461
+:1002600001342343138004221143017004E00A483F
+:100270000849BD3004F0ADFE684600780028E0D0A3
+:100280006846F4F713FE36E701207047D01A0020C5
+:10029000B40000203CFC00001503000040420F00A9
+:1002A00070B504780D460646230004F083FF0B1C4E
+:1002B000181C1C1C1C07181C1C181C0000210520E5
+:1002C00001F038FDB068007805280CD0FA4800220B
+:1002D000008811468300052001F087FC03E000211F
+:1002E000052001F027FD002D0ED0002028702946A2
+:1002F0003046FFF702FFF1482978005D884201D1BE
+:10030000032070BD022070BD00213046FFF7F5FECE
+:10031000002070BD30B5E8494B68497A0A011146A2
+:100320000C315C5C032C0CD0044600252034257174
+:1003300025725C5CA500AA18641C5C5498500320CC
+:1003400030BD062030BDF0B50446264620360D46A9
+:100350003279012008218FB0002A0CD0012A21D047
+:10036000022A2BD0032A04D12A78052A01D1297028
+:1003700000200FB0F0BD01203071606800280AD065
+:10038000A069017061684160216981606169C16033
+:10039000FFF7C0FFEDE707202870206968606069FB
+:1003A000A86009E029780729E3D1022030710520EF
+:1003B0002870C248203868600320DAE729780529C8
+:1003C000D7D1A08910280AD9103880B2A081A1689D
+:1003D0001023091803A86A6800F054FE2DE01028C5
+:1003E00004D0C1B20BAA1020A76809E0102322692B
+:1003F000A16817E0491EC9B2401EC0B27B5C13540D
+:100400000029F7D100280AD0401EC0B28021115423
+:10041000002102E0401EC0B211540028FAD16269E6
+:1004200010230BA907A800F02DFE102307A903A88D
+:100430006A6800F027FE032030716068019003A80D
+:10044000029005206946087029466846FFF728FF94
+:100450008FE7F0B5044626460D4620363179012057
+:100460008DB000290BD0012938D0022905D1297877
+:10047000052902D10920287000200DB0F0BD217D92
+:100480006846CA07D20F02738807C10F6846017415
+:10049000012203A905A800F0EDFD04A9012205AF82
+:1004A000481D00F0E7FD0722B81CE16800F0E2FDFE
+:1004B00007A807220130216900F0DCFD6068019087
+:1004C00009A80290102305AAA16800F0DBFD012015
+:1004D0003071052168460170294621E029780529F7
+:1004E000CBD1062203A8E16900F0C4FD04A80622CE
+:1004F0000230A16900F0BEFD042106A800F0B2FDA3
+:100500006068019007A80290102303AA696800F0B0
+:10051000B9FD0220307105206946087029466846F9
+:10052000FFF7BEFEA9E7F0B5074685B00D460020EF
+:10053000694608703E466248203632798179133820
+:1005400001240078130004F035FE180DFEFDFCFBBD
+:10055000FAF9F8F7F6F5F4F3F2F1F0EFEEEDECEB73
+:10056000EAE9E8E7B968039100291BD0012269464E
+:100570000A7003220A710A224A7139690291397993
+:1005800000297DD0039A1278002A7AD00C2A78D2DA
+:10059000130004F00FFE0BEF09EF354D8498B0F116
+:1005A000EDECEF000020C8E30021062001F0C2FBC3
+:1005B0003879072866D1424C133C2078022802D0B3
+:1005C00000287FD101E00020207003980079C11F2E
+:1005D0000A2901D30A2598E1607039480722C01F13
+:1005E000039900F047FD0120307120700220694618
+:1005F00008703348801F01903869401C029037E230
+:1006000011293DD12E4C133C0228DAD16068617863
+:10061000007A884201D9062577E1039926481022FD
+:10062000491C303800F026FD03202070022045E1EF
+:100630001129E6D1224C133C0428C2D10520207098
+:1006400003991D481022491C203800F013FD062094
+:100650003071786903210170626851684160164900
+:100660002039816021460C31C160C91D0161017DC5
+:10067000537A49084900DB07DB0F1943017502E093
+:1006800070E354E384E1D3688361FD231940537A16
+:100690009B07DB0F5B0019430175116976E10229A5
+:1006A000AFD1002867D005206946087103984078CB
+:1006B00048713869029051E3241B00203452010034
+:1006C000DB00002082E011299BD1F74C06287DD168
+:1006D000A0680399806B1022491C00F0CBFC062116
+:1006E0006846017038690290002168460171FFF781
+:1006F000D7FD072057E00B299BD1EB4C07287ED173
+:10070000A0680399006B0222491C00F0B3FCA068AA
+:100710000822406B039917E00EE116E3FDE2DDE2EB
+:10072000C7E2BCE29EE267E248E241E21FE2F5E195
+:10073000DFE1C8E1BEE1B1E1A5E16AE147E128E11D
+:10074000DAE0BEE0AFE075E0C91C00F093FC0621E2
+:100750006846017038690290002168460171FFF710
+:100760009FFD204613304179490849003EE041E0B1
+:100770001BE001E05CE0EFE2112991D1CA4C0828AE
+:100780003DD1A0680399C06B1022491C00F072FC97
+:10079000062168460170386902900021684601719F
+:1007A000FFF77EFD09202070C9E208298CD1BE49DF
+:1007B000092824D1039842788868016C0A7003994B
+:1007C000406C0622891C00F055FC00E017E0062171
+:1007D0006846017038690290002168460171FFF790
+:1007E0005FFDB14813304179FD221FE041715EE2A7
+:1007F0003071F2E11129C0D1AB490A2801D0082596
+:1008000083E088680399806C1022491C00F032FC58
+:10081000062168460170386902900021684601711E
+:10082000FFF73EFDA04813304179FB221140DDE780
+:1008300007256AE0297802297ED19B490128FBD14E
+:100840006A684A6015780846002D5CD106216A4620
+:1008500011703969029107211171029902240C70FB
+:10086000CA785207520FCA704B795B075B0F4B7106
+:100870008B795B075B0F8B71D20701D18A714A714B
+:1008800005460A794078824200D26A70864807227B
+:10089000133000F0EFFB00202C70307101466846E9
+:1008A000FFF7FEFC4BE229780429C5D103286FD15C
+:1008B00008227E48696800F0DDFB032030710420C7
+:1008C000F2E129780429B7D1774F0328B4D17748CA
+:1008D00008220830696800F0CDFB04203071786888
+:1008E0004168002906D00321297000212971406840
+:1008F000A86072E10320D7E1287803289CD12879E9
+:1009000000281AD00546002D16D006216846017031
+:100910003869029002216846017102980521017030
+:10092000457000216846FFF7BBFC01216846017055
+:1009300004210171457115E293E15B49A86849689A
+:100940000028486001D15A48486005203071786914
+:10095000032202704A684260544A8260524A0C3252
+:10096000C260D21D0261027D4B7A5208DB07520041
+:10097000DB0F1A430275CB688361FD231A404B7A63
+:100980009B07DB0F5B001A4302750969C16130E107
+:100990000DE12978092988D14349032885D104200C
+:1009A00008700620694608703869029011200871A5
+:1009B000029803210170401C1022696800F05AFB64
+:1009C00000216846FFF76CFC00203071B7E1297800
+:1009D000092993D1052891D134496A68203910201A
+:1009E000401EC0B20B5C145CA34203D0002004255F
+:1009F00030718AE70028F3D107203071786904212B
+:100A00000170294949684968416028498160103965
+:100A1000EEE028780A28BED10620694608703869B9
+:100A2000029011200871029804210170401C1022CC
+:100A30001E4900F01FFB00216846FFF731FC1A48F1
+:100A4000102140786A68091AC9B2101800F00AFB30
+:100A50006868019014481330C178C9070BD08179B8
+:100A6000002902D14079002805D0082030711BE10F
+:100A700029466846EFE0072069460870002168466D
+:100A8000FFF70EFC5FE128780E2884D106486968DC
+:100A900081608969407808700920A9E6C80701D0FB
+:100AA0000A20FFE00F20A3E6C8000020141B00204E
+:100AB0001452010028780F2879D1A8683861287964
+:100AC00038730B20FAE628780428F5D1FC4C6968C5
+:100AD000A0680822006A00F0CDFA0C203071786915
+:100AE0000722B9690270A268D3684360126A826003
+:100AF0007EE028780D28DFD1F14C6968A0680223D8
+:100B00000269C06900F0BEFA0D20307178690621D3
+:100B10000170A1688A684260096966E028780C283B
+:100B2000CAD1E74C6968A0686278406A00F0A2FA0E
+:100B30006078A2681021091A526AC9B2101800F030
+:100B400091FA0621684601703869029011226846C0
+:100B50000271029810220170A168401C496A00F0DD
+:100B600089FA00216846FFF79BFB0E206EE028788B
+:100B70000F2876D1062168460170386902900B2152
+:100B800068460171029C0720CD4D2070A8680222A2
+:100B9000C169601C00F06EFAA8680822016AE01CB6
+:100BA00000F068FA00216846FFF77AFB7AE7C8E0B0
+:100BB000880701D5102075E0132019E628780F2842
+:100BC0004FD1A86838612879387311203071BC483A
+:100BD000816848690078002801D00324CAE0786958
+:100BE00006220270C9684160B6498160B549091D95
+:100BF000C160FFF78FFB30E0B14880684169097838
+:100C000000290CD129780C292BD1AD4C6968806A58
+:100C1000102200F02FFAA16801204969087006210E
+:100C20006846017038690290112168460171029886
+:100C300008210170A249401C89681022896A00F0CD
+:100C400019FA00216846FFF72BFB122030710921A9
+:100C5000684601702946FFF723FB044601287DD032
+:100C600088E06FE028780F286CD10620694608706C
+:100C70003869029008200871029809210170904992
+:100C800089680A78D207D20F427049680622801C10
+:100C900000F0F0F900216846FFF702FB8CE74807F7
+:100CA00005D514203071092069460870E0E6162049
+:100CB0009EE528780F2851D1A868386128793873C3
+:100CC000152030717869062101707D4989688A682C
+:100CD0004260096981607B49891D89E728780C2871
+:100CE00045D1774C6968A0681022C06A00F0C2F94B
+:100CF0000620694608703869029011200871029830
+:100D00000A210170A168401CC96A102200F0B2F9E2
+:100D100000216846FFF7C4FAC9E7694813304079F3
+:100D2000002810D0C10703D065480621017006E0F5
+:100D3000800701D5082000E00A20614908700024DE
+:100D400018E00BE013E0172052E55D49002805D0BC
+:100D50000020307108700A206946087068460078E3
+:100D6000002804D000216846FFF79AFA002454486E
+:100D700000210170204605B0F0BD10B5524BFF2494
+:100D80005C72586019721A80002204E0491EC9B2D0
+:100D90000B010C33C2540029F8D110BDF0B54A4EF6
+:100DA0000546717A01208DB0FF2971D00127727A32
+:100DB000736811015C180C31595C8900091F645873
+:100DC0006A7021780B0004F0F5F90B960709272CBF
+:100DD00059888D4A4F5492002F707CE02146203173
+:100DE0000A9109790120002902D0012967D10EE07A
+:100DF0006068019005A802900D21C01C00F032F936
+:100E0000032205A8A16800F035F90A984EE0297878
+:100E1000052974D106215DE029462046FFF719FB1C
+:100E200069E021462031069109790120002902D08C
+:100E3000012964D10EE06068019007A802900822A1
+:100E4000E16800F017F9082209A8A16800F012F97A
+:100E500006982BE02978052951D10A213AE0294644
+:100E6000204600F01AF946E029462046FFF76BFAC3
+:100E700041E029462046FFF756FB3CE02146203161
+:100E8000059109790120002903D0012937D11DE0FE
+:100E900056E06068019007A802900822A16800F05F
+:100EA000E9F8082109A800F0DDF8059869460771FE
+:100EB0000520087029466846FFF7F2F91BE00BE0B1
+:100EC000C80000200C520100241B002029780529AD
+:100ED00015D10B212970002011E02946204600F091
+:100EE00023F908E02946204600F04EF903E02946A0
+:100EF0002046FFF7C9F9002801D001280CD125624E
+:100F0000717A736809010C315A5C521E1206120E76
+:100F10005A5401D003204AE70328FCD0737A726840
+:100F200019011D010D312C46515C7172FF270D34E2
+:100F300017550C35545D002C02D0FF2903D1737274
+:100F40000DB0F0BD21460C010D34145DFF2CF9D11C
+:100F500009010D315354F3E770B5AD4C0546607A85
+:100F6000214603464A6811E0010108460C30105C36
+:100F700008E0401EC0B286008E199659AE4201D1DB
+:100F8000042070BD0028F4D10D31505CFF28EBD156
+:100F90009F480021007A01E0491CC9B2884204D967
+:100FA0000E010C36965D002EF6D1884201D8052040
+:100FB00070BD08010D30135461722846FFF7AAF97D
+:100FC000032806D0617A626809010D31515C6172B3
+:100FD00070BD28462830FFF7E1FE70BD10B50478DB
+:100FE0000123012C14D10C78022C11D30B23137084
+:100FF00083785B075B0F537002220A708088002899
+:1010000005D0830000221146062000F0EEFD0023EB
+:10101000184610BD0EB50022012105280AD0062869
+:1010200007D1684601700221017142710021FFF76A
+:1010300064F80EBD68460170F6E710B58EB00C4638
+:1010400006216A461170019072480290001D0390BB
+:101050006846FFF781FF102220460B9900F00AF83E
+:101060000EB010BD002202E0491EC9B24254002950
+:10107000FAD1704703E0521ED2B28B5C8354002A2F
+:10108000F9D1704730B505E05B1EDBB2CC5CD55CB6
+:101090006C40C454002BF7D130BD3EB5044620301F
+:1010A0000D4602790121002A02D0012A3AD10FE02F
+:1010B00061680191574908310291012101710520B0
+:1010C0006946087029466846FFF7EAF8014629E0B4
+:1010D0002878052826D169681022A06800F087F8D2
+:1010E0006868C07B000606D54A4AA06810231832FB
+:1010F0000146FFF7C7FF1022A168E06800F077F80B
+:10110000A068C07B000606D5424AE068102318326A
+:101110000146FFF7B7FF07202870A0686860E06805
+:101120000021A86008463EBDF0B5044626460F469D
+:1011300020363179012089B0002909D0012905D153
+:101140003978052902D10C203870002009B0F0BD93
+:10115000606803AD01900295022203A8A168FFF721
+:1011600089FF0222A81CE168FFF784FF0C21281DDB
+:10117000FFF778FF01203071052069460870394675
+:101180006846FFF78DF8E1E710B5034620331C7978
+:101190000122002C04D0012C10D0022C25D11EE0FD
+:1011A00001211971C16806220A7040684860194817
+:1011B000801C8860801CC86008460CE00C780C2CF1
+:1011C00013D102221A71C268052313704968516055
+:1011D000806890601046FFF79DF8024605E00878A9
+:1011E0000B2802D10D2008700022104610BD10B54A
+:1011F000002409E00B78521E5B0023430370401C5F
+:101200000B78491CD2B2DC09002AF3D110BD0000D2
+:10121000241B00200C52010070B50D46040012D0B2
+:10122000002D10D02101284603F093FD10225449CF
+:10123000284603F031FD52480121083801804480DE
+:101240004560002070BD012070BD70B54C4E00247B
+:101250000546083E11E0716820014018817BAA7B99
+:10126000914209D1C17BEA7B914205D10C222946EA
+:1012700003F0E5FC002806D0641C30888442EADBD9
+:101280000020C04370BD204670BD70B50D460600FD
+:101290000AD0002D08D03A4C083C20886188401CB8
+:1012A000884203D9042070BD102070BD3046FFF77E
+:1012B000CCFF002801DB401C0AE0208861680001A7
+:1012C00040181022314603F0E7FC2088401C2080A3
+:1012D0002870002070BD70B514460D001FD0002C82
+:1012E0001DD00021A170022802D0102817D108E0DB
+:1012F000687829780002084311D00121A17010807C
+:101300000BE02846FFF7A1FF002808DB401CA07077
+:10131000687B297B000208432080002070BD0120EB
+:1013200070BD70B5054614460E000AD0002030701E
+:10133000A878012807D004D9114908390A889042B1
+:101340000BD9012070BD002C04D02878207028888B
+:10135000000A50700220087010E0002C0CD0496880
+:101360000001411810391022204603F095FC28781E
+:1013700020732888000A607310203070002070BD30
+:10138000EC00002073490968016000207047714932
+:1013900008600020704701216F4A704B002803D07D
+:1013A000012805D06E48704791630020187001E055
+:1013B000D1631970002070476A49012008606848AD
+:1013C000801C70470422684B6649002805D05A608B
+:1013D000086901221043086108E0086940084000DC
+:1013E00008619A605C490020C03188600020704725
+:1013F0005C490622002808D0012809D002280DD017
+:1014000003280FD05648401C70470869904302E0FB
+:1014100008699043801C0861002070470869904368
+:10142000001DF8E708691043F5E74E494A6A024390
+:101430004A62002070474B494A6A82434A62002050
+:1014400070474849496A0160002070474549CA69A8
+:101450000243CA61002070474249CA698243CA6197
+:10146000002070473F49C96901600020704730B5CE
+:101470000546002072B601463A4A384C4032002DEB
+:1014800011D00123012D0CD0022D02D0072062B60D
+:1014900030BDA3706478002C01D09363F7E79163AB
+:1014A000F5E7A170F9E7A170F9E72F4904208860FA
+:1014B00029490020C03188602849012008702B4943
+:1014C0000A688023120A12021A430A602849086037
+:1014D000704722480078704770B5EFF31080C50759
+:1014E000ED0F72B61D4C6078401C0006000E607057
+:1014F00003D120A1CC2003F06CFD6078012806D137
+:10150000A078002803D01749012040318863002DBE
+:1015100000D162B670BD70B5EFF31080C507ED0F56
+:1015200072B60E4C6078002803D112A1DC2003F0C3
+:1015300050FD6078401E0006000E607006D1A07855
+:10154000002803D00749002040318863002D00D1D6
+:1015500062B670BD0004004040000040FC00002066
+:1015600004200000000500400003004000E400E00B
+:1015700000E100E07372635C736F635F706F7765A7
+:10158000722E63008107C90E002808DA0007000FD9
+:1015900008388008B94A80008018C06904E08008D3
+:1015A000B74A800080180068C8400006800F704766
+:1015B000B44948788978884201D3401A02E0212250
+:1015C000511A0818C0B27047AE492331487889785B
+:1015D000884201D3401A02E02122511A0818C0B2F1
+:1015E0007047A849463148788978884201D3401A23
+:1015F00002E02122511A0818C0B27047A04810B565
+:101600000C300168FF22120291430122D2031143E0
+:1016100001609C490020233148708870233948704C
+:101620008870463148708870974802F0FFFA9648F3
+:10163000401C02F0FBFAF2F7A9F900F015F910BD11
+:1016400020207047B4E770B50C4605460026FFF72A
+:10165000AFFF8C49A04214D30A46203A002320460B
+:10166000641EE4B200280BD08878105C287088785B
+:101670006D1C401CC0B288702128F0D18B70EEE741
+:10168000012600F0F1F8304670BD202070479BE73E
+:1016900070B50C4605460026FFF796FF79492331C1
+:1016A000A04214D30A46203A00232046641EE4B226
+:1016B00000280BD08878105C287088786D1C401C3E
+:1016C000C0B288702128F0D18B70EEE7012600F0BF
+:1016D000CBF8304670BD202101700020704710B556
+:1016E0000446FFF77EFF2070002010BD70B50C4649
+:1016F0000546FFF776FF63494631A04215D30A46F7
+:10170000203A00232046641EE4B200280BD08878DB
+:10171000105C287088786D1C401CC0B2887021282D
+:10172000F0D18B70EEE7002400E0584C00F09CF8FC
+:10173000204670BD70B50C460546212904D9FF200E
+:1017400053A1473003F045FC4C484068103840B284
+:10175000FFF718FFC6B20D20FFF714FFC0B2864294
+:1017600007D2FF204AA14D3003F033FC01E0F2F72D
+:101770004DF921462846FFF766FF0028F7D070BDD7
+:10178000F8B5404E07462336B1787078212200F034
+:1017900060F8354623353B4C00280ED0A1786078A0
+:1017A000212200F056F8002814D0A9786878212268
+:1017B00000F04FF800281AD025E032497078C91C93
+:1017C0000F547078401CC0B2707021281BD10020CB
+:1017D000707018E02B49607820390F546078401CF5
+:1017E000C0B2607021280ED1002060700BE0254946
+:1017F000687826310F546878401CC0B26870212880
+:1018000001D100206870B1787078212200F021F8B1
+:1018100000281DD0A1786078212200F01AF8002855
+:1018200016D0A9786878212200F013F800280FD08C
+:10183000F2F7CEF8144802F001FA01214903884278
+:1018400003D013A1C12003F0C4FB0F4802F00EFA2D
+:10185000F8BD401C884205D0904201D1002901D03A
+:10186000002070470120704710B5074802F0E6F9E4
+:10187000002801D1F2F79BF810BD000000ED00E058
+:1018800000E400E0501B0020FF00002007200000C3
+:101890007372635C736F635F72616E642E630000CA
+:1018A00010B5284802F0C2F9002803D026A11D2057
+:1018B00003F08FFB2348401C02F0B8F9002803D046
+:1018C00021A1212003F085FB10BDF1B5224D6F68E9
+:1018D00001261C4802F0B2F91A4C002803D1002658
+:1018E000601C02F0C3F91D4A1D490120506000BF71
+:1018F00000BF00BF00BF00BF00230B604B60009B18
+:101900006B60106000BF00BF00BF00BF00BF086871
+:10191000002802D148680028F9D048680028E4D19E
+:10192000002E04D06F60601C02F088F907E0601C94
+:1019300002F084F90028D3D1024802F097F9002080
+:10194000F8BDC2E7010100207372635C736F635FCF
+:101950006563622E6300000000E5004000E0004087
+:1019600000E1004030B5EFF31081CC07E40F72B610
+:101970001D4A116910230D461D431561002C00D12D
+:1019800062B61A4DC406E40E0120A0402C68044241
+:101990000DD0C8060AD4EFF31080C007C00F72B68E
+:1019A000116999431161002800D162B630BD20BF92
+:1019B00040BF20BFEAE70E4908784A78401CC0B211
+:1019C000904200D008707047084A094820BF40BFC5
+:1019D00020BF4178037843701368002B02D103784D
+:1019E0008B42F3D00020704700ED00E000E200E001
+:1019F00003010020FEB5F64C07466068FF213E015A
+:101A000081552178FF2913D0090108314158324608
+:101A1000491E083209020192090A805800F0CEF9E5
+:101A2000002802D02478254615E061682078885582
+:101A30002770FEBDE64842680198115828010090C1
+:101A40000830105800F0BAF9002806D1E0482C46BA
+:101A5000416800980D5CFF2DECD1DD482101406804
+:101A600085554754FEBD70B5D94A04460020157A05
+:101A700053680AE00201561C9E5DA64203D10C3257
+:101A80009A588A4204D0401CC0B28542F2D8FF2046
+:101A900070BDF8B5CE4F3E7801F01AFE0146FF2E1C
+:101AA00071D03401254678680835405900F086F930
+:101AB00002280CD97868405901F0FDFD01F008FEBC
+:101AC00001467868405900F079F902285BD8C0498E
+:101AD0004868025D0A70A11C425C002A0CD0521EAC
+:101AE000425441590122D20589180902090A41517B
+:101AF0003046FFF77FFF30E0631CC25C0092221D7E
+:101B000094468258002A10D001239B029A420FD992
+:101B10009205920D43595703DB191B021B0A4351CF
+:101B20006346C3589A1A920A09E0FF21C1540AE099
+:101B3000435952039A181202120A42510022425487
+:101B40003046FFF757FFA2480C344168C26800983E
+:101B5000095980001258009890479D4C2078FF2822
+:101B600011D0000161680830085801F0A4FD01F0AF
+:101B7000AFFD01462078626800010830105800F07F
+:101B80001DF9022886D3F8BDF8B51C4615460E4649
+:101B90000746FF2B03D38FA1D42003F01AFA8C48F9
+:101BA000FF21C76045600472067401700022427014
+:101BB000104604E00201521C401CA954C0B2A042CD
+:101BC000F8D3F8BD70B5824C06466578207C854216
+:101BD00003D380A1E72003F0FCF9E068A900465098
+:101BE0006078401C6070284670BDFFB581B01D460E
+:101BF000FF2401F06DFD764F064679780198814209
+:101C000003D874A1F52003F0E4F971480021037AA8
+:101C1000406810E00A019446521C825CFF2A25D0DD
+:101C2000019FBA4205D162460C328758029A974208
+:101C30001ED0491CC9B28B42ECD8FF2C18D0210110
+:101C40004A1C019B83540B460C33029AC250039BDF
+:101C50005F4F0022012B0ED00B1DC25001239B02AF
+:101C60009D4216D9AA05920D08D008E00C46E0E77F
+:101C7000FF2005B0F0BD0B1DC550EFE71A4653031A
+:101C80009B190E461B0208361B0AAA1A8351920A98
+:101C900009E0002D00D101256B039B191D022D0ABF
+:101CA0000B460833C550891C42543D463E782046B9
+:101CB000FFF7A0FE2878B04214D000016968083010
+:101CC000085801F0F8FC01F003FD29786A68090161
+:101CD000083152580146104600F070F8022801D22F
+:101CE000FFF7D7FE0198C4E770B50C46054601F032
+:101CF000EFFC064621462846FFF7B5FEFF2817D021
+:101D0000334D04012046696808300858314600F018
+:101D100055F80121090340186968A41C095D400BAE
+:101D2000002901D089020818002800D1012070BDC7
+:101D3000002070BDF3B581B00F460198FFF793FE08
+:101D4000FF282AD0224E3578726829460C4604E0D6
+:101D5000844205D025462301D45CFF2CF8D11CE039
+:101D6000FF2C1AD0A5421CD10801105C3070FF284E
+:101D700015D000010830105801F09DFC01F0A8FCBE
+:101D800001463078726800010830105800F016F8EB
+:101D9000022806D2FFF77DFE03E00020FEBD01F021
+:101DA00092FC39460198FFF79FFF22017168FF23DB
+:101DB000541C0B558A5C2B01CA54FEBD401A00020C
+:101DC0000121000AC905884200D90020704700009F
+:101DD0009C1B00207372635C736F635F74696D6535
+:101DE000722E6300F0B500241C4A01211C4B08032D
+:101DF000546018601B4B1C601B4C20601B4804691E
+:101E0000E443E406E6170469761C10252C430461BC
+:101E1000174C6160174D296000E020BF1F68002F3C
+:101E2000FBD0002E03D107691026B74307619068E5
+:101E30008005906801D5104A10436960A1600021B7
+:101E400019600121084A09031160F0BD10B504466C
+:101E5000FFF7C8FF2060002010BD000000C5004053
+:101E600080E100E000C1004080E200E000ED00E021
+:101E700000C3004000C0004000FCFFFF70B51F49D8
+:101E80000A68002A17D000231D4601244A68521C04
+:101E90004A60092A00D34D600E792246B2400E688E
+:101EA00016420AD072B60B6893430B6062B649685B
+:101EB0000160002070BD052070BD5B1C092BE5D3BF
+:101EC0000FA1362003F085F8F5E7012010498005C1
+:101ED00008607047EFF31081CA07D20F72B6012174
+:101EE00081400648036819430160002A00D162B6A8
+:101EF000EBE70248002101604160704708010020C3
+:101F00007372635C736F635F6576742E63000000A9
+:101F100000E200E00120810708607047012081078E
+:101F2000486070471048C068C00700D00120704763
+:101F30000D488068C00700D0012070470A484069FA
+:101F4000C00700D0012070470748C06970470649A4
+:101F50008A69D20306D589698907890F814201D12F
+:101F6000012070470020704700040040F8B5FE4C87
+:101F7000207BE17A88421AD00126FC4D0027E07AC6
+:101F8000215C14200A4642435019037C052B0FD0D4
+:101F9000062B1BD0072B28D0437C012B33D0F4A178
+:101FA000F64803F016F8207BE17A8842E7D1F8BDC5
+:101FB0000674E07A0A2807D0E07A401CE072491CD7
+:101FC000C8B2AA5802210CE00020F7E70674E07AB4
+:101FD0000A2808D0E07A401CE072491CC8B2AA580E
+:101FE00003219047DFE70020F6E70674E07A0A282D
+:101FF00007D0E07A401CE072491CC8B2AA580821F8
+:10200000EFE70020F7E74774E07A0A2807D0E07A84
+:10201000401CE072491CC8B2AA580721E1E7002021
+:10202000F7E770B5D64D06206872D648002444778D
+:10203000047738300473C472D34801F0F7FDD348F5
+:102040000475EC72D249601E88606C71AC70EC70E3
+:102050002C716C70CF48022104704470CE4804701B
+:10206000047528300470491EFAD10120F1F750FDA3
+:102070000020F1F74DFD0120A871F0F741FDC748A0
+:10208000F0F750FDC64C2070C648F0F74BFD60706D
+:10209000F1F7E2FC70BD10B5F1F709FDC04C2078F6
+:1020A000F0F75EFD6078F0F75BFDB54C207A002814
+:1020B00005D0FFF730FAF0F7E2FD0020207210BDE6
+:1020C00070B5AF4CA079002804D0A9A1B64802F0A1
+:1020D00080FF70BDE07A002804D11320A4A1400144
+:1020E00002F077FF0126A6710025E572607A0421CF
+:1020F000142250439D4A80180174A5488168491CE8
+:1021000004D0691E81600120F1F702FD0020F1F783
+:10211000FFFCF1F7E3FC01F023FEF1F7E8FDA34833
+:10212000056005600120A249C0030860F0F74AFF7E
+:1021300098480078022804D0032804D1E0780028C9
+:1021400001D0A67000E0A570F1F7BDFD70BD03469B
+:1021500086490520142242435218203A127F002A51
+:1021600004D0401E0006000EF4D1704714224243F2
+:1021700051180A46403AD362012220390A77704743
+:10218000012805D0032805D1002903D1002070477C
+:102190000029FBD010B47A4C002363707D4A0028DC
+:1021A00090700CD002280AD007291AD20B007B4469
+:1021B0001B79DB189F441505070D0F111300D37011
+:1021C00003E01B2000E03A20D0700120607010BCBA
+:1021D00070475820F8E77720F6E79620F4E7B52017
+:1021E000F2E710BC0020704710B56A484078F1F75C
+:1021F00085FD80B210BD411E1422504310B55B4ACC
+:102200008418203C042902D8207F002803D158A13B
+:10221000684802F0DEFE207F012803D054A1664802
+:1022200002F0D7FE0020207710BD70B5554C607FBE
+:10223000217F884201D1012500E00025F1F7F7FC5C
+:10224000F1F75CFD617F227F914201D1012100E025
+:102250000021A942EBD170BDF7B50646481E844661
+:102260008EB0C0B2142204905043404A85182846CC
+:102270000595007C2D1D07282AD13B4C0027E07ACC
+:10228000227B824221D0235C049A934201D1012710
+:1022900001E0002F04D00A2811D0421CA25C225475
+:1022A0000A280ED0401C227BC0B28242EBD1002F04
+:1022B0000BD0207B002806D0207B401E04E00022AB
+:1022C000ECE70020EFE70A202073059A0120107444
+:1022D00060462B4C04280FD814204143234808188B
+:1022E0002038007F002807D00598007C012807D0FF
+:1022F0001098807A012807D01DA1304802F069FEAD
+:102300001098807A012871D10598184B007C02281A
+:102310001AD0154C207B0A2874D0207BE17A401C0F
+:10232000884204D1C92012A1800002F052FE059912
+:1023300001204874217B04986054207B0A2865D0D2
+:10234000207B401C20731CE1607A049A0146904275
+:1023500006D0014614277843C018807C9042F8D1FB
+:10236000627A824235D12BE0A81C0020B81C0020E4
+:102370007372635C72656D2E63000000D50500000A
+:102380003C1D0020701C0020481D0020901C0020D7
+:102390001C1D002012010020C81C0020931A0100FF
+:1023A000100100206D1F01007F02000000F50040B9
+:1023B00080E200E0CD020000CE0200001703000022
+:1023C000617A14225143C918897C61720121A1727A
+:1023D00007E014224243D21814277943927CC9188B
+:1023E0008A74142206215043C01881741098007A10
+:1023F000062819D203007B441B79DB189F4408127E
+:10240000100E0C0AE07A00288CD090E7002099E7A3
+:1024100000210FE0B4210DE073210BE0322109E02F
+:102420000A2107E0062105E0FF20FE49E23002F024
+:10243000D0FD0021109802910068401A2860109980
+:10244000097A002912D00221401A0102090A2960E2
+:1024500010980268406810180002000A686010981E
+:10246000807A0228109803D0007B74E00421EBE707
+:10247000007A002813D0022202981018844610987F
+:102480004268604608301718E748029A4078904240
+:1024900002D9E278002A04D03846083005E0042248
+:1024A000EAE7029A801AC0190830627A062A1CD01C
+:1024B000627A14235A43DD4BD2185268914214D0E9
+:1024C000DB4B0793617A14225143D84A89184A6832
+:1024D0008968921B891B12020902120A090A90429A
+:1024E0003AD89A4238D8994236D83018C01B0002E0
+:1024F000000A286010996044CE4AC9680002000AA8
+:102500009446421A01239B0507929A4201D2104633
+:1025100014E00A1A09929A4201D207980EE0079A2B
+:102520006346624503D9591A0818401C06E0099A07
+:10253000624506D9181A4018401C404200285FDC4A
+:1025400003E0B849BC4802F044FD2868C019000205
+:10255000000A6860002028726868082708300002B6
+:10256000000A68601098407AA8721098007A687221
+:1025700003280ED200280CD0FFF7D4FC002803D08B
+:1025800007E0002011B0F0BD02983A210F1A322066
+:102590000290A5480178012901D0032909D1417889
+:1025A0000298814205D9E078002802D10298081AE1
+:1025B000C71928689E4A801B844601026868090A78
+:1025C000801B03021B0A8F421AD81746914217D864
+:1025D000BB4215D8617A062916D0677A6146062271
+:1025E000039200923A4614235A43904BD2189368B0
+:1025F0009B1B8B4216D80397977C062FF2D177E06E
+:10260000049801F059F9BCE7059802220499027474
+:10261000627A062A00D0627A827461720120A07206
+:1026200011B0F0BD062F63D0002239469446142223
+:102630007E4B4A43D21853689B1B834229D2917B1D
+:10264000AB7A99421FD805980521049C7B4D0174F3
+:10265000287B0A2811D0287BE97A401C884203D1C4
+:102660007049774802F0B5FC287B2C54287B0A2857
+:1026700007D0287B401C287383E7E87A0028EFD036
+:10268000F2E70020F7E701218C46917C0629CED1A4
+:1026900002E0604600282AD03D46009114202A46D8
+:1026A000424362480621161831741038007B0A280C
+:1026B000624816D0017BC07A491C814203D161A1D6
+:1026C000634802F086FC5D48017B4554017B0A2982
+:1026D0000BD0017B491C0173B57C0098A842DDD169
+:1026E00006E0C07A0028EAD0EDE70021F3E7009782
+:1026F0000599022008744D4D607AB84207D10599BA
+:1027000000988874049860720120A07221E00398F8
+:10271000062F0FD0062803D14AA14E4802F059FCDB
+:102720000398142250434019049981740599009824
+:1027300088740EE0062803D142A1474802F049FC04
+:102740000398142250434019049981740599062076
+:102750008874012011B0F0BD70B50D4606463F49A2
+:1027600000242046891BA04103D236A13C4802F038
+:1027700030FC3C490020491BA04103D231A13A481A
+:1027800002F027FC394A70190021821A8C4101D3CA
+:102790003749401870BDF8B5401EC0B214214843F7
+:1027A00022494518687B062813D203007B441B7915
+:1027B000DB189F44020C0A080604002066E0B420DF
+:1027C00010E073200EE032200CE00A200AE0062020
+:1027D00008E0FF201BA1E23002F0FBFB697B002038
+:1027E000002953D0022140186968002440180C21A8
+:1027F00000026956000A00294ADBF1F77FFA174AFE
+:1028000006460C27EF570021101AA14103D20DA153
+:10281000134802F0DEFB13490020C91BA0412CD253
+:1028200008A127E07023010012010020B81C00203D
+:10283000FFFF3F00FFFFFF0014070000A81C00205F
+:10284000090200007372635C72656D2E6300000004
+:10285000C7030000DF030000E5030000FF7F841EC4
+:10286000F50300000020A107F60300000080841E8D
+:1028700000807BE1FB4802F0ACFBFB4AF019002131
+:10288000821A8C4101D3F9494018F8BD0421AAE706
+:10289000F1F734FA0C21695600224018F449091A5C
+:1028A000A241F2D24042F8BDF0B5064683B0F148ED
+:1028B0000190457A029534687068001B0702EE4863
+:1028C0003F0A001B0090062D2DD0142029464143BD
+:1028D000EA480122081884464168E748920586467E
+:1028E000081B904210D3631A93420DD302467046E0
+:1028F000724503D900984018401C05E073450ED975
+:10290000411A0819401C404200280CDA6046029522
+:10291000857C0198C0790028D5D003B0F0BDD84996
+:10292000D84802F056FB0298854226D0142148432D
+:10293000D2490123401802908068CF499B058C46FC
+:10294000011B8646994210D3221A9A420DD3634640
+:10295000614503D900997144491C06E01946624556
+:102960002DD9091A0819401C4142002905DD029899
+:10297000B17A807B814200D37446062D15D0BF49C1
+:102980001420454368184268121B1202120ABA4208
+:102990000BD2B27A837B9A4200D38468857C0198FB
+:1029A000C0790028B9D1062DEAD13068A042B4D050
+:1029B000E0190002000A3460706003B0F0BDB04955
+:1029C000B04802F006FBD8E7F0B5AF4904464868C6
+:1029D00085B0C005C00D1CD0103840B200280CDAFC
+:1029E0000207120F083A920892005118C96980072D
+:1029F000C00EC1400806800F09E08108A34A890083
+:102A0000891809688007C00EC1400806800F002899
+:102A100008D000262078002806D0012804D0002005
+:102A200005B0F0BD0126F5E72079062813D2030092
+:102A30007B441B79DB189F44020C0A080604002023
+:102A400018E0B42010E073200EE032200CE00A20E1
+:102A50000AE0062008E0FF208949E23002F0B9FAD6
+:102A600021790020002905D002214718814D002E30
+:102A700002D003E00421F8E70020E87102AA6946C9
+:102A8000A068F1F745F9694608228A56E06801A96D
+:102A90008018C01C01221F2801DA019209E003AA54
+:102AA000F1F736F96846007B002802D00198401CF7
+:102AB000019000990198401808300002000A019026
+:102AC000C81B0002000A009060796946887200986D
+:102AD0000390F1F7ACF8009A019B121A181A6C498E
+:102AE00012020002120A000A8A4216D8884214D83A
+:102AF0006846FFF7D9FE00990398814205D0C819AE
+:102B00000002000AF1F7FAF8A0600120E979002933
+:102B100086D0002EB0D005B0F0BD0020F6E7F3B5AA
+:102B20008FB05C480C460B9001F088F85A4A0F9918
+:102B3000504E5518203D594F00280BD05848007D65
+:102B4000002803D057A15A4802F043FA2078012800
+:102B50007DD05FE1787F0A280CD0787F397F401CD8
+:102B6000884203D14FA1534802F033FA207801285C
+:102B700004D00CE0387F0028F4D0F7E7E87F002885
+:102B800003D048A14C4802F024FA0120E877787F6E
+:102B90000F991422494D504340190174207802289E
+:102BA00023D0787F14214843451920792872607911
+:102BB00068722A460C322946A068F1F7A9F80C2061
+:102BC00028560F2804DD1F3828732868401C286009
+:102BD0000C22AA56281DE16802908818C01C1F28E4
+:102BE0003FDA029901200860FDE027494868C005E6
+:102BF000C00D20D0103840B200280CDA0207120FA6
+:102C0000083A920892005118C9698007C00EC14065
+:102C10000806800F09E081081C4A890089180968A4
+:102C20008007C00EC1400806800F002803D11DA1F7
+:102C3000234802F0CEF9787F14214843451900213A
+:102C4000E0686A460591117303AA05A900E0D8E07F
+:102C5000F1F75EF86A460C2010560F2832DD01208D
+:102C600031E0B3E0F60300000080841E00807BE1C9
+:102C7000FF7F841E3C1D0020FFFFFF00B81C0020CA
+:102C8000442801001407000000ED00E000E400E02B
+:102C9000FFFF3F00481D002016010020701C00208F
+:102CA000901C00207372635C72656D2E63000000DF
+:102CB00017050000F5040000FA040000B01B002016
+:102CC0000605000000200599401808900220A8720F
+:102CD0002079287260796872A068291DC01C039150
+:102CE0001F2801DA01200AE006AAF1F711F8684668
+:102CF000007E002804D0039803990068401C0860F7
+:102D0000287A062813D203007B441B79DB189F44E2
+:102D1000020C0A08060400200FE0B4200DE0732026
+:102D20000BE0322009E00A2007E0062005E0FF2042
+:102D3000FD49E23002F04DF900202179002943D00D
+:102D400002214118069168680831401808990590D9
+:102D500008180699401A0C900020F071F0F767FFF0
+:102D600004462860089820180002000AE860707A7B
+:102D7000062825D0707A14214843EC494018406851
+:102D80000090059940180002000A0190687A69468F
+:102D900088726846FFF788FD0098019A001B121B95
+:102DA00000021202E24B000A120A0C99984207D85C
+:102DB0008A4205D80099069808180002000A28607F
+:102DC000F0790028C8D110E00421BAE704AA0299DA
+:102DD000F0F79EFF6846007C002804D00298029914
+:102DE0000068401C08602078A872787F0A2806D006
+:102DF000787F401C78770B9800F038FF47E0002080
+:102E0000F8E7E87F002803D0CAA1CD4802F0E1F836
+:102E10000120E877CB490F9808742078022803D165
+:102E2000C4A1C94802F0D5F8C64D2079287260794E
+:102E300068722A460C322946A068F0F769FF0C2018
+:102E400028560F2804DD1F3828732868401C286086
+:102E50000C22AA56281DE16802908818C01C1F2861
+:102E600003DA0299012008600CE003AA0299F0F746
+:102E70004FFF6846007B002804D002980299006842
+:102E8000401C08602078A872AE4901200875797F3F
+:102E9000387F814223D0747A062C22D0F0F7C7FE07
+:102EA00014214C43A1496218117C042917D003292D
+:102EB00015D0536892681B1A101A1B0200029C4915
+:102EC0001B0A000A082B0AD30A468B4207D89042F5
+:102ED00005D8787F397F884201D0F0F7F4FE11B031
+:102EE000F0BD787F397F8842F7D111B0F0BD10B5C1
+:102EF0000020F0F7FAFD10BD10B50120F0F7F5FD48
+:102F000010BDF1B5009802281FD0904C607A0628B9
+:102F100003D188A18E4802F05CF80026A671012535
+:102F2000E572607A03211422804F5043C019017466
+:102F3000F0F7CEFE009800280CD001282AD00328F4
+:102F40007CD0B5207BA1C00044E082480078EFF738
+:102F50000DFEF8BD8048007F002803D075A17F4892
+:102F600002F037F865717C4D00202E60F0F7D0FD3F
+:102F7000A968481C04D0012300221846F0F7FEFD82
+:102F8000607A617A401CC0B2142251437A58012100
+:102F90009047F8BD0120F0F7BBFD607900280DD007
+:102FA0006D488068401C09D0607A617A401CC0B2CC
+:102FB000142251437A5806219047F8BD6648007F95
+:102FC00001280AD0022812D0032824D0042836D0A1
+:102FD00058A1634801F0FDFFF8BD2079002803D017
+:102FE0002671F0F77AFEE5705B480677F8BD207A27
+:102FF000002804D1FEF770FAEFF718FE2572607A08
+:10300000617A401CC0B2142251437A580021904783
+:1030100051480677F8BD504F0123397B786800226C
+:10302000411A1846F0F7AAFD2079002803D026712E
+:10303000F0F753FEE57002203877F8BD1BE0464EEE
+:10304000217870680123411A00221846F0F796FD96
+:10305000207A002804D1FEF73FFAEFF7E7FD25724A
+:10306000607A617A401CC0B2142251437A58002120
+:1030700090473577F8BD607A617A401CC0B214225F
+:1030800051437A5805219047F8BD10B52F4C607A0E
+:10309000062803D127A1334801F09BFF607A617AAB
+:1030A000401CC0B214225143204A52580421904778
+:1030B00010BDF0B583B006200290F0F7B8FD234CA8
+:1030C0000090617A28480190062920D0617A142066
+:1030D000414316480918097C042918D0617A142242
+:1030E00051430818007C03287BD00198009A03689C
+:1030F00040689B1A801A1B0200020D491B0A000A35
+:10310000082B6ED30A468B426BD8904269D812487E
+:103110008068401C03D007A1144801F05AFF00202A
+:103120006071607A062823E0A42C0100B81C0020FE
+:10313000FFFF3F007372635C72656D2E63000000D9
+:103140001E050000901C0020240500003C1D0020EE
+:1031500055050000100100201C1D00206105000025
+:103160009C050000AF0500002C1D0020EB050000B1
+:1031700007D16078002804D0FE48C178417081787A
+:103180000170607A062815D0607A1421FA4A484303
+:103190008018007C04280DD1607A0290617A0120A9
+:1031A0001423594389180874617A59438918897C12
+:1031B0006172A072F14D687F297FF14F884233D050
+:1031C000F04E287F142148438019007CC05D0128FF
+:1031D000287F07D048438019007CC05D02282FD08B
+:1031E00044E001E2142148438019807A01280AD082
+:1031F000287F0221142250438019007CC155287F6A
+:103200000A2808D009E0297F002014225143891997
+:10321000097CC8552AE0002001E0287F401C28775F
+:10322000687F297F8842CCD1D74D287D00284CD09B
+:10323000287CC15D012928D0C05D022830D03AE049
+:10324000287F142148438019807A012803D0CFA118
+:10325000D14801F0BEFE297F002014225143891974
+:103260008872297F51438919097CC855287F142108
+:1032700048438219287F48438019017C0098FEF753
+:10328000EBFF287F0A28C8D1C5E7A97A012904D015
+:103290000221C155002028750DE00021C1550AE02A
+:1032A000A87A012803D0B9A1BC4801F092FE002001
+:1032B000A872297CC855287D002806D0297CB24AEE
+:1032C0000098FEF7C9FF00202875029806281ED036
+:1032D00014214843A8494018017C012917D107212E
+:1032E000AF4D0174287B0A283CD0287BE97A401C2A
+:1032F000884203D1A5A1AB4801F06BFE297B02985F
+:103300006854287B0A2831D0287B401C2873607AB7
+:1033100006287DD0A07A00287BD00020A072617A98
+:10332000142041439448A04B0A18566891681D46E2
+:10333000D2687C35DE67AA6069609C4D697E002991
+:1033400016D00226617A14228B4851430818407B1C
+:1033500006281BD203007B441B79DB189F440A1408
+:1033600012100E0CE87A0028C4D0C7E70020CDE781
+:103370000426E7E700200FE0B4200DE073200BE007
+:10338000322009E00A2007E0062005E0FF207FA1A7
+:10339000E23001F01EFE00202873697E022901D070
+:1033A000012910D12969009A09188A1A1202120AF1
+:1033B0003A2A08D90320687632390802000A2861BF
+:1033C000322028730AE0322808D2207A00280ED151
+:1033D000FEF782F8EFF72AFC012007E0207A0028A8
+:1033E00005D0FEF798F8EFF74AFC002020726149FB
+:1033F0000822487820700978012901D0032906D1D4
+:1034000001212171297B884201D9421A083201E049
+:1034100091E0A1E0A378002B00D0921C2179002933
+:1034200001D1002B5DD09446614A00990092019A27
+:10343000176852687F1A511A3F0209023F0A090AA7
+:10344000BC451BD85A4A974218D8009A914215D8C1
+:10345000297B884223D92B69421A9A1A1202120A2E
+:10346000101880190002000A2A616860002914D02F
+:10347000032028770006000E3ED14CE0002020718A
+:10348000A070297B002925D02869401880190002E6
+:10349000000A6860022028772EE00120E9E78142D7
+:1034A0000BD92A69511889190902090A696000288B
+:1034B00001D00420DDE70220DBE7002B03D133A19C
+:1034C0003C4801F086FD286980190002000A686006
+:1034D000002004E0296989190902090A696028772E
+:1034E00019E0287B00280FD02969081880190002EC
+:1034F000000A6860022028772869012381190022C8
+:103500001846F0F73BFB09E0286980190002000A21
+:103510006860002028770120F0F7FAFA607A142119
+:10352000484315490C22401882560123002069683F
+:10353000F0F724FB10E00120F0F7EAFA0020F0F7A2
+:10354000E7FAF0F7CBFA207A002805D0FDF7E3FF81
+:10355000EFF795FB00202072A078002804D0F0F748
+:10356000BCFB0020E070A0706078002827D00148E4
+:10357000C17821E012010020B81C0020701C00203E
+:1035800015010020B01B0020901C00207372635CAA
+:1035900072656D2E630000000D0600002906000014
+:1035A000A81C00203B060000B01C00201C1D0020B1
+:1035B000FFFF3F008D060000417081780170207987
+:1035C000002806D00020CE49E0700978002900D1FB
+:1035D0002071CC48017BC07A814203D0CA48407830
+:1035E000EFF7C4FA0120E07103B0F0BDF0B5C74CAD
+:1035F0000746607A83B0062804D16F20C4A1000179
+:1036000001F0E7FC607A1421C44E48438019007C25
+:10361000032803D0BEA1C24801F0DBFCC14DA8685D
+:10362000401C03D0BAA1C04801F0D3FC607A142139
+:10363000484381190C20085600216A4600911171F7
+:10364000C01901AA6946F0F763FB6A4604201056C8
+:103650000F2801DD012000E0002000994018696872
+:1036600040180102090AA9606079002804D00123EA
+:1036700000221846F0F782FA03B0F0BD70B5AC4CEA
+:10368000AA4A0B1AA34214D3451AA54211D3934256
+:1036900003D9101A43185B1C0BE0954204D9511A48
+:1036A0000818401C434204E099A1A24801F091FC93
+:1036B0000023184670BD10B50146012300220220E8
+:1036C000F0F75CFA10BD10B50220F0F721FA10BD3A
+:1036D00010B5F0F7ACFA10BDF0B58C4D0446E87AA1
+:1036E00083B0002803D18AA1934801F072FC642CB6
+:1036F0004DD3924A00210846121B884147D3904877
+:10370000417F007F814242D18E48007D00283ED11A
+:10371000687A1421814F4843824EC519306801AA46
+:1037200000196946F0F7F4FA6946042008560028A3
+:1037300002DD0098401C0090A96800986B680A1888
+:10374000D21A1202804B120A9A4220D8AA7C062A68
+:1037500008D014235A43D2195268511A0902090A8F
+:10376000814214D3B068401C05D00120F0F7D0F995
+:103770000020C043B060306800193060A86800992C
+:1037800040180002000A7061012003B0F0BD002063
+:1037900003B0F0BDF8B50646401EC4B214205F4920
+:1037A00060434518287C002804D1772058A10001E7
+:1037B00001F00FFC6248017F407F81420CD0634AD8
+:1037C00014234B439B181B7CB3420CD00A290CD00A
+:1037D000491CC9B28142F3D15A48017D002961D008
+:1037E000007CB0425ED10020F8BD0021F1E7052940
+:1037F00003D0062901D0072928D101212974C17AD3
+:103800000023027B8A4221D00246565CA64201D1A7
+:10381000012301E0002B04D00A2911D04E1C965D33
+:1038200056540A290ED0491C167BC9B28E42ECD1DF
+:10383000002B0BD0117B002906D0117B491E04E020
+:103840000026ECE70021EFE70A211173697C0029CB
+:103850002AD06F74C17A0023027B8A4224D0425C52
+:10386000A24201D1012301E0002B04D00A2912D089
+:103870004A1C825C42540A290FD0491C027BC9B2FF
+:103880008A42ECD1002B0FD0027B0146002A06D0E1
+:103890000A7B521E04E00022EBE70021EEE70A2239
+:1038A0000A7301E017480027297C01299FD16A7C0F
+:1038B000002A9CD10120F8BD70B505461420174A96
+:1038C0000521684380180F4C0174207B0A2811D011
+:1038D000207BE17A401C884203D10DA11C4801F0F5
+:1038E00078FB207B2554207B0A2807D0207B401CB6
+:1038F000207370BDE07A0028EFD0F2E70020F7E7F0
+:1039000012010020A81C0020100100203C1D0020F6
+:103910007372635C72656D2E63000000B81C00203A
+:10392000F10600001C1D0020F2060000FF7F841E2F
+:103930000020A1071407000033070000FF1FA107A4
+:10394000701C0020901C0020FFFF3F00B01B0020D7
+:103950000902000010B501462022094801F09CF937
+:1039600007490020C877084610BD06490120486174
+:103970000548064A0168914201D100210160704763
+:103980004C1D0020000500401C010020BEBAFECAEC
+:10399000064A10705170704704481C22017841712A
+:1039A00042700170704770477047704720010020D7
+:1039B00030B50346002002460DE09C5C2546303DB4
+:1039C0000A2D02D30020C04330BD0A256843303899
+:1039D0002018521CD2B28A42EFD330BD70B50D46CA
+:1039E000144608E00A2101F0D1F92A193031203AB1
+:1039F000641ED177E4B2002CF4D170BD10B5002361
+:103A000010E0040A00020443A0B2CC5C444020064B
+:103A1000000F60400407240C44402006C00C6040A6
+:103A20005B1C9BB29342ECD310BD10B520380C4602
+:103A3000030001F0BFFB33E0DBE41B1F23272C3125
+:103A4000373C41474D5054585C606D7165697478DE
+:103A50007C8084888C9094989C9FA2A6AAAEB2B8D1
+:103A6000BCC0C5CACFE9F0F3D3D7F800206800F096
+:103A7000DDF8D6E0206800F0E1F8D2E0206800F040
+:103A8000F5F8CEE0207840B200F092FAC9E0207854
+:103A900040B200F0B0FAC4E02078616840B200F0B3
+:103AA000C3FABEE0207840B200F0D3FAB9E0207843
+:103AB00040B200F0DEFAB4E02078217940B200F0A4
+:103AC000E9FAAEE02078616840B200F013FBA8E0AC
+:103AD00000F01FFBA5E0206800F023FBA1E02078A8
+:103AE00000F038FB9DE02068FDF7F5FD99E02068C7
+:103AF000FDF7F5FD95E021792068FDF7F7FD90E0F1
+:103B00002068FDF73FFC8CE02068FDF740FC88E072
+:103B10002078FDF740FC84E0FDF74EFC81E0207842
+:103B2000FDF750FC7DE02078FDF762FC79E020682D
+:103B3000FDF77BFC75E02068FDF77DFC71E02068F7
+:103B4000FDF77FFC6DE02068FDF780FC69E02068F0
+:103B5000FDF782FC65E02068FDF784FC61E02068E9
+:103B6000FDF785FC5DE00846EDF7F0FA59E0EFF768
+:103B700070F856E0EFF79DF853E02068EFF7A5F8EE
+:103B80004FE0206800F080F84BE0206800F082F8F9
+:103B900047E0206800F083F843E02078A26861687D
+:103BA00000F082F83DE0207800F089F839E02078D4
+:103BB00000F091F835E02078616800F098F830E086
+:103BC0002078616800F09FF82BE02179207800F0E0
+:103BD000D5FB26E02068FDF778FE22E02068FEF79E
+:103BE0004DF91EE02068FEF731F91AE0204607C8BB
+:103BF00000F0B9FC15E0206800F00CFD11E06168F0
+:103C0000206800F037FD0CE0206800F029FF08E094
+:103C100009E003E0FFE700F03BFF02E0206800F06E
+:103C200073FF206010BD0120086010BD00210170ED
+:103C3000084670470146002008707047EFF3108176
+:103C4000C907C90F72B60278012A01D0012200E02B
+:103C5000002201230370002900D162B6002A01D09E
+:103C600000207047012040037047E7E7EFF3108121
+:103C7000C907C90F72B600220270002900D162B6CE
+:103C800000207047F2E7000038490968C9B20160B6
+:103C9000002070473549C0B2486000207047334962
+:103CA000C0B2886000207047082801D330487047B0
+:103CB000C3002E4818180161426100207047022895
+:103CC00002D32B48401C70472A4A0121C0008018AB
+:103CD000016000207047022802D32548401C70472D
+:103CE000244A0121C000801841600020704702284A
+:103CF00002D31F48401C70471F4A8000C9B2801879
+:103D0000016000207047022802D31948401C704708
+:103D1000194A800080180068C0B20860002070470F
+:103D200010B5FF20114AC043906008200021C30055
+:103D30009B1819615961401C1028F8D300200E4AC5
+:103D400005E0022803D383009B18196004E0830078
+:103D50009B181C68E4B21C60401C0428F1D310BD01
+:103D6000FF200249C04388607047000000F5014011
+:103D70000820000000F0014000F8014010B572B6C4
+:103D800000F0DEF800280BD0EDF78AFAFEF783F991
+:103D900000F0BBFA6F490020C86288626E49086073
+:103DA00062B6002010BDF3B5002501200007C06AEF
+:103DB00081B0C0430006000E04D168480068401C72
+:103DC00000D1012572B600F0BBF8002801D062B620
+:103DD00087E0EDF7D1F9EDF767FA614C614A002110
+:103DE0002368CB40DB071FD00346CB40DB0718D14D
+:103DF0004BB2002B07DA1E07360F083EB608B60096
+:103E0000B618F66904E09E08574FB600F6193668F2
+:103E10009B07DB0EDE4033069B0F012B04D0032BE8
+:103E200002D062B65148FEBD491C2029D8D3019C5E
+:103E300001204F49230001F0BDF914222424242439
+:103E4000242424240B0D1012142016181A1C1E2FC3
+:103E5000002400E00124C86314E00224FBE70324EB
+:103E6000F9E70424F7E70824F5E70924F3E70A242F
+:103E7000F1E70B24EFE70C24EDE70524EBE707243B
+:103E800000E00624D06901210002000AC9070843A6
+:103E9000D061002D04D009E062B601200003FEBD10
+:103EA0002C4D3448E862EDF7FFF9A8622A49324800
+:103EB0000860324902980860EDF7F6F9214600F0F3
+:103EC0000BFAFEF7AEF800F00DFC00F087FA01984F
+:103ED000EDF7B4F9040062B603D0FFF74FFF2046B8
+:103EE000FEBD0020FEBD10B5044600F029F80028F4
+:103EF00000D001202070002010BD21490860002062
+:103F0000704710B50C46102808D011280BD0122885
+:103F10000CD013280ED00120086010BD6168206805
+:103F2000FFF741FF0AE0FFF729FF07E02068FFF7EE
+:103F3000DAFF03E01249206808600020206010BD0D
+:103F400005480D490068884201D1012070470020D2
+:103F500070470000000500401C0100200010001008
+:103F600000E100E000ED00E000E400E001100000EE
+:103F70004000004000200000BEBAFECA2801002018
+:103F8000040000208107C90E002808DA0007000F8E
+:103F900008388008814A80008018C06904E08008E1
+:103FA0007F4A800080180068C8400006800F704774
+:103FB00010B5044600F0DBF8002813D02046FFF7C8
+:103FC000E1FFC0B200F0E1F800280DD07549E2062B
+:103FD0000B78D20E01209040002B08D04A68104385
+:103FE000486006E0704810BD6F48401C10BD6F4926
+:103FF0000860002010BD10B5044600F0B8F8002895
+:104000000BD06849E2060B78D20E01209040002BBD
+:1040100005D04A6882434A6004E0634810BD6349A2
+:1040200080310860002010BD70B50D46044600F0D8
+:104030009EF800280BD05E480068E206D20E0121EF
+:104040009140084000D001202860002070BD5648F3
+:1040500070BD10B5044600F08AF8002807D0E106CC
+:10406000C90E0120884052490860002010BD4E480A
+:1040700010BD10B5044600F07AF8002808D0E1061B
+:10408000C90E012088404A4980310860002010BDD7
+:10409000454810BD70B50D46044600F068F800288C
+:1040A00019D0284600F071F8002816D0A007C20EDB
+:1040B000FF209040A907090E9140002C10DA22073A
+:1040C000120F083A9308354A9B009B18DA6982431D
+:1040D0000A43DA610CE0344870BD3348401C70BDBF
+:1040E000A3082F4A9B009B181A6882430A431A6050
+:1040F000002070BD70B50C46054600F038F8002869
+:1041000005D02846FFF73EFF2070002070BD2648EE
+:1041100070BDBFF34F8F21492648C860BFF34F8F52
+:10412000FEE770B51F4C05462178012000290ED10D
+:10413000207072B600F0F8F81C4E8036316881436A
+:10414000616000F0F1F8C043306062B60020287072
+:10415000002070BD13490A78002A06D0002804D137
+:10416000124A48681060002008700020704710B59F
+:104170000446202805DA00F0D7F80121A1400842C2
+:1041800001D0002010BD012010BD012803D003285C
+:1041900001D00020704701207047000000ED00E0D2
+:1041A00000E400E02C0100200120000000E100E01C
+:1041B00000E200E00400FA05F8B504468007002597
+:1041C0000126002804DA5A48C563C66302208443E6
+:1041D000E00404D55748C563C66380148443600077
+:1041E00003D55548456080058443E00504D5534810
+:1041F000C563C66380158443A00404D55048C563D5
+:10420000C6634014844360042704C00FF90F88423A
+:1042100003D04CA1612000F0DCFEB80F0AD04E495B
+:10422000CD634E48C563C563CE63C663C6630320D2
+:104230008003844320050AD5494FFD632F20ECF706
+:10424000B3FFFE632F20ECF7AFFFF8148443002C7C
+:1042500003DAFFF765FD640064084248044203D0B6
+:1042600038A1902000F0B5FEF8BDF0B500210A4657
+:10427000FF230446CC40E4072AD04CB2E606F60EF3
+:104280000125B540384E3560384E3560002C11DAC6
+:1042900025072D0F083DAE08354DB6007619F56996
+:1042A000A407E70E1C46BC40A5431446BC4025436A
+:1042B000F5610DE0A6082F4DB60076193568A40704
+:1042C000E70E1C46BC40A5431446BC402543356060
+:1042D000491C2029CDD3F0BD70B5274C0D46206078
+:1042E000FFF76AFF2068FFF7C0FF2846EEF77AFD68
+:1042F000FDF7D6FAFDF782F9FFF712FDFDF7D5F8C5
+:10430000EEF7FEFB00F06AF870BD10B51A4C20689D
+:10431000FFF752FF2068FFF7A8FFFFF701FDEEF758
+:10432000E6FD0020206010BD1348006870470000C3
+:10433000C01F0040C0CF004000E50140C08F0040DA
+:10434000C0DF00407372635C736F635F636F6E66A0
+:1043500069672E6300000000C0EF0040C0FF00400E
+:10436000C0BF0040FEFF0FFC80E100E080E200E003
+:1043700000ED00E000E400E03401002070B500240E
+:1043800002460D4620462146002A1ED0012A04D0AE
+:10439000022A04D0032A1ED103E0012002E00220F9
+:1043A00013E003202B0000F005FF07160507090B9B
+:1043B0000D0F1600012108E0022106E0032104E0B0
+:1043C000042102E0052100E00621FDF7D9FE0028C6
+:1043D00001D0204670BD0724FBE70000B148002152
+:1043E00001708170704770B5AF4D01236B60AF4BAA
+:1043F0001C68002CFCD0002407E00E6806601E68D4
+:10440000002EFCD0001D091D641C9442F5D3002031
+:10441000686018680028FCD070BD70B5A14C0D46CE
+:104420006178884203D0A2A16C2000F0D2FD2B005D
+:1044300000F0C0FE094F0625254F4F4F4F464F0055
+:104440002078022803D09AA1702000F0C2FD03203A
+:104450002070A078022802D0012804D008E0A068CB
+:1044600000F0CEFB04E02269E168A068FFF7BBFF23
+:104470000020A070FDF724FE0420207070BDFDF721
+:10448000D4FE01466068FFF7F9F805462078022857
+:1044900003D087A1842000F09CFD894A89498A487D
+:1044A000954206D8401BC86086496078FEF737FB06
+:1044B00070BD854202D802224A71F3E7032003E06F
+:1044C000A0780028FAD10220FDF704FD00F0E0F802
+:1044D00070BD77A1AD2000F07CFD70BD70B50546C4
+:1044E000FDF7A3FE6F4C60602078012803D070A117
+:1044F000B42000F06EFD73490220087000220A719A
+:104500008D6003224A71704ACA6020706078FEF79D
+:1045100006FB70BD10B5634CA078002802D120784E
+:10452000002801D0112010BD6848FDF710FE607012
+:104530006078002803D001202070002010BD0320E7
+:1045400010BD10B50124020B64040121604BA04290
+:1045500002D29140186802E0203A58689140084021
+:1045600000D0012010BDF8B50E46910005464F1948
+:1045700014463F1F009100F054FB009980028919F6
+:10458000091FB14201D2012200E00022002C03D019
+:10459000FF2101318C4201D90920F8BD4D498D42DE
+:1045A00019D3AF4217D3854205D2874203D228469A
+:1045B0003043800701D01020F8BD8E420BD3002A73
+:1045C00009D12846FFF7BDFF002804D13846FFF780
+:1045D000B8FF002801D00F20F8BD3F483F490068D0
+:1045E000884205D0224631462846FFF7FCFE0FE000
+:1045F000FFF790FF0028EFD12A480121C6608560AF
+:10460000046181702046312148431430FFF766FF72
+:104610000020F8BD10B504462E48800A84420BD312
+:1046200000F0FFFAA04201D8102010BDA0020446FD
+:10463000FFF787FF002801D00F2010BD264827492B
+:104640000068884203D0204600F0DAFA0AE0FFF75B
+:1046500061FF0028F1D11348022184608170204855
+:10466000FFF73CFF002010BD1A48010B01208840D5
+:10467000401E704700B50B460246FFF7F5FF10429B
+:1046800001D00F2000BD124802604360002000BD31
+:1046900010B5044C6078FDF7AEFD00202070A070CE
+:1046A00010BD00003801002000E5014000E4014099
+:1046B0007372635C736F635F666C6173682E630013
+:1046C000307500006C1D0020D0FB01001B44010070
+:1046D00000060040006001001C010020BEBAFECAB6
+:1046E00010540000F74805218170002101704170CD
+:1046F000C1708160704710B5F3490A78022A07D06B
+:10470000CA681018C860C8689638FEF76FFF10BDF9
+:104710008A68101888608868F6E70378EB49EC4AE5
+:10472000002B02D0012B10D014E00379002B01D014
+:10473000012B0FD14379002B01D0012B0AD18368C3
+:10474000643B8B4206D2C06810E00379002B03D093
+:10475000012B01D0002070474379002B01D0012BA1
+:10476000F8D1C368643B8B42F4D280689042F1D8A0
+:1047700001207047F8B504460226FEF7BDFB00682D
+:10478000002803D0D3A1BE2000F023FC0127CD4D8B
+:10479000002C08D02078002817D0012805D0022846
+:1047A00011D0032813D02F710DE06068C82808D3FA
+:1047B000FEF792FF002804D06068FFF79CFF0126F7
+:1047C00003E0002601E000F0F9F93046F8BD287852
+:1047D0000028F8D16068FFF7A0FF0028E3D06068E8
+:1047E0000078002826D0A878042803D0B9A1F820A2
+:1047F00000F0EFFBB44F00203870606800790128AA
+:1048000000D00020387160684079002837D003203C
+:10481000787160688168E868FDF79EFFB86060683D
+:10482000C0689630F8600320A870A749E878FEF7C2
+:1048300076F9C8E7A4480221017061680979012965
+:1048400019D00021017161684979002915D003212F
+:10485000417161688968963181606168C968C16029
+:10486000C068984C14346060FDF7DFFC20606F7006
+:104870000220A870A7E70321E4E70221E8E702206D
+:10488000C6E7F8B58F4C0D46E178884204D0FF208A
+:1048900090A11A3000F09DFB28468A4F0025012682
+:1048A0001437030000F086FC090612375A7C8D97F6
+:1048B000C4A0C400A078032807D0A078022804D0A0
+:1048C000FF2084A11E3000F084FBF8BDA0780328EF
+:1048D00007D0A078022804D0FF207EA1223000F06B
+:1048E00078FB0420A07025712078002810D1FFF7F4
+:1048F00002FFE078FDF74FFFE0607D49886A7D4A5E
+:10490000024022617B4AD24310408862002050E07E
+:1049100000F054F9F8BDA078032807D0A078022849
+:1049200004D0FF206BA1453000F053FB2078002815
+:1049300002D000F04FF9F8BDA07803281FD1042061
+:104940002AE0091A6048C1600146E078FEF7E7F8FE
+:10495000F8BD0420FDF7BEFAA570F8BDA0780328C5
+:1049600007D0A078022804D0FF205AA1663000F0BA
+:1049700030FB20780028DCD1A07803280BD0FDF78D
+:1049800054FC01463868FEF779FE0028E1DB7968BF
+:104990008142DEDBD5E70520FDF79CFAA670F8BD65
+:1049A000A078042804D0FF204AA1873000F011FB32
+:1049B0000220A1688847FFF7DDFEFF260546C036C6
+:1049C00042E0A078042804D0FF2042A18C3000F0FF
+:1049D00000FB0120EDE7A078042899D0FF203DA13D
+:1049E000913000F0F6FA93E7A07804280AD06078B6
+:1049F000002802D0A078022804D0FF2035A19630EC
+:104A000000F0E7FA2078002893D12079002804D01C
+:104A10000620FDF75FFA2571C0E76078002805D011
+:104A20002949E078FEF77BF86570F8BD0720B3E709
+:104A3000FF2028A1B13046E7002D0AD0012D06D075
+:104A400024A1304600F0C5FA022DF5D1F8BD0420AE
+:104A500000E00320A1688847FFF78CFE0546F3E7D6
+:104A600070B5050005D0174CA078052803D011209B
+:104A700070BD102070BD2048FDF769FBE070E07844
+:104A8000002803D0A5600020A07070BD032070BD79
+:104A900010B50C480178002901D0112010BD817893
+:104AA00005292BD0817801292AD08178002927D0A7
+:104AB000012101708178012922D0807800281FD03F
+:104AC00020E000004C0100207C1D00203D860100FC
+:104AD000FF1FA1077372635C736F635F7261646928
+:104AE0006F5F74696D65736C6F742E6300000000F6
+:104AF0000005004002810080834801000F2010BDA6
+:104B000000F068F8002010BDF8B5394E0446B078C2
+:104B1000002801D001280DD1002C0DD02046FFF730
+:104B2000FCFD00280AD02078324D002808D0B0784B
+:104B3000012823D00F20F8BD1020F8BD0720F8BDB4
+:104B400002272F702079012814D000202871607965
+:104B5000002811D003206871A0689630A860E06832
+:104B6000E860E868224C14346060FDF75EFB20606A
+:104B7000B77019E00320E9E70220ECE70020287075
+:104B80002079012816D0002028716079002813D0E0
+:104B900003206871A168F068FDF7DEFDA860E06899
+:104BA0009630E8600320B0701249F078FDF7B7FF47
+:104BB0000020F8BD0320E7E70220EAE710B50E4821
+:104BC000816A0E4A11400A4A126911438162FDF757
+:104BD00077FA10BD10B5064CE078FDF70CFB082005
+:104BE000FDF778F90520A07000202070607010BDDE
+:104BF0004C0100207C1D002000050040FD7EFF7F51
+:104C00000A4A022151600A490B68002BFCD09060CF
+:104C100008680028FCD00020506008680028FCD0FC
+:104C200070470120000740697047000000E501401F
+:104C300000E4014070477047704770477047034673
+:104C400010B50B439B070FD1042A0DD308C810C918
+:104C5000121FA342F8D018BA21BA884201D9012004
+:104C600010BD0020C04310BD002A03D0D30703D0DD
+:104C7000521C07E0002010BD03780C78401C491C32
+:104C80001B1B07D103780C78401C491C1B1B01D14E
+:104C9000921EF1D1184610BDF8B5042A2CD3830713
+:104CA00012D00B78491C0370401C521E83070BD096
+:104CB0000B78491C0370401C521E830704D00B78EC
+:104CC000491C0370401C521E8B079B0F05D0C91A4C
+:104CD000DF002023DE1B08C90AE0ECF775FAF8BDF7
+:104CE0001D4608C9FD401C46B4402C4310C0121F8D
+:104CF000042AF5D2F308C91A521EF0D40B78491CC5
+:104D00000370401C521EEAD40B78491C0370401CEF
+:104D1000521EE4D409780170F8BD01E004C0091FF7
+:104D20000429FBD28B0701D50280801CC90700D063
+:104D30000270704700290BD0C30702D00270401CDC
+:104D4000491E022904D3830702D50280801C891ED4
+:104D5000E3E70022EEE70022DFE70378C278194696
+:104D6000437812061B0219438378C0781B04194349
+:104D700011430902090A000608437047020A087035
+:104D80004A70020C8A70020ECA7070470022030932
+:104D90008B4273D3030A8B4258D3030B8B423CD311
+:104DA000030C8B4221D312E003460B437FD4002235
+:104DB00043088B4274D303098B425FD3030A8B42AF
+:104DC00044D3030B8B4228D3030C8B420DD3FF2219
+:104DD000090212BA030C8B4202D31212090265D0E7
+:104DE000030B8B4219D300E0090AC30B8B4201D39A
+:104DF000CB03C01A5241830B8B4201D38B03C01AE1
+:104E00005241430B8B4201D34B03C01A5241030B57
+:104E10008B4201D30B03C01A5241C30A8B4201D308
+:104E2000CB02C01A5241830A8B4201D38B02C01AB3
+:104E30005241430A8B4201D34B02C01A5241030A2A
+:104E40008B4201D30B02C01A5241CDD2C3098B420F
+:104E500001D3CB01C01A524183098B4201D38B018C
+:104E6000C01A524143098B4201D34B01C01A52412F
+:104E700003098B4201D30B01C01A5241C3088B4274
+:104E800001D3CB00C01A524183088B4201D38B005F
+:104E9000C01A524143088B4201D34B00C01A524101
+:104EA000411A00D201465241104670475DE0CA0FD8
+:104EB00000D04942031000D34042534000229C4698
+:104EC00003098B422DD3030A8B4212D3FC228901A2
+:104ED00012BA030A8B420CD3890192118B4208D378
+:104EE000890192118B4204D389013AD0921100E0DA
+:104EF0008909C3098B4201D3CB01C01A52418309EE
+:104F00008B4201D38B01C01A524143098B4201D31A
+:104F10004B01C01A524103098B4201D30B01C01A45
+:104F20005241C3088B4201D3CB00C01A52418308BF
+:104F30008B4201D38B00C01A5241D9D243088B4215
+:104F400001D34B00C01A5241411A00D201466346B8
+:104F500052415B10104601D34042002B00D549421C
+:104F6000704763465B1000D3404201B50020C04645
+:104F7000C04602BD704770477047704710B500F0DB
+:104F800059F810BD30B58C180278401C13071B0F60
+:104F900001D10378401C120906D10278401C03E0BD
+:104FA0000578401C0D70491C5B1EF9D101E00B70A7
+:104FB000491C521EFBD1A142E6D3002030BD0000A7
+:104FC00001231B68134B1860134B1960134B1A60B5
+:104FD0007047134A134B13607246053AF0E7114AC3
+:104FE0000F4B1B689A420ED10D4B002018600198A0
+:104FF0000D4B04B598470CBC9E460246029800999A
+:105000000A4B1B68184706980599094B1B68DB6813
+:105010001847000070010020740100207801002072
+:1050200068010020EFBEADDE5539010028010020E7
+:10503000040000201D481E497047FFF7FBFFECF7F6
+:105040007DF800BD01200007C06AC0B2FF2804D16E
+:10505000184819490968884202D01848184901605F
+:10506000184819490968884203D1184A13605B68D7
+:10507000184700BD20BFFDE7124813490968884260
+:105080000ED1134B18680B498842F3D080F308887F
+:105090001049884204DD1048026802210A43026078
+:1050A0000E4880470E4880470E480047901D00205C
+:1050B000901D0020FFFFFFFF001000102C05004096
+:1050C0000800000000100000000000200400002084
+:1050D0000060010000200020240500406B39010021
+:1050E00045500100C14F01001348704502D1EFF354
+:1050F000098101E0EFF308818869023800781028FF
+:1051000014DB202810DB23280BDB0C4A12680C4B25
+:105110009A4203D1602804DB0A4A10470220086043
+:105120007047094A10470000084A1047084A1268A9
+:105130002C32126810470000FDFFFFFF1C01002009
+:10514000BEBAFECAAD1200002B3A0100033F0100B7
+:10515000040000200D4B0E4908470E4B0C49084730
+:105160000D4B0B4908470D4B094908470C4B0849A3
+:1051700008470C4B064908470B4B054908470B4BA2
+:10518000034908470A4B024908470000052E000062
+:10519000E13D0000BD2F0000873C0000353C0000D1
+:1051A000E9390000B912000063170000493D000012
+:1051B000AB2B000030B47446641E2578641CAB42EF
+:1051C00000D21D46635D5B00E31830BC1847000049
+:1051D00002490020C861203908727047E0030020AE
+:1051E00000020207FFFFFFFF0000FFFF01020408AB
+:1051F00010204080555555D6BE898E00F401FA0026
+:10520000960064004B0032001E00140001000300F1
+:10521000000001000000000000000000000000008D
+:1052200000000000870000000000000000000000F7
+:105230000000000000000203040500000E0F000043
+:10524000705201000800002010000000041100004E
+:10525000805201001800002064010000844F01000A
+:10526000A45201007C010020141C00002011000049
+:105270000249022208681042FCD0704700E200E0B8
+:10528000E1078F56FF9900CD29022B01360100015D
+:1052900000EC3720FB349B5F8074800010027001AB
+:0452A000E4C54F0111
+:00000001FF
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TARGET_RBLAB_NRF51822/TARGET_NORDIC/TARGET_MCU_NRF51822/PeripheralNames.h	Fri Aug 15 15:28:31 2014 +0100
@@ -0,0 +1,58 @@
+/* mbed Microcontroller Library
+ * Copyright (c) 2013 Nordic Semiconductor
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+#ifndef MBED_PERIPHERALNAMES_H
+#define MBED_PERIPHERALNAMES_H
+
+#include "cmsis.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#define STDIO_UART_TX     TX_PIN_NUMBER
+#define STDIO_UART_RX     RX_PIN_NUMBER
+#define STDIO_UART        UART_0
+
+typedef enum {
+    UART_0 = (int)NRF_UART0_BASE
+} UARTName;
+
+
+typedef enum {
+    SPI_0 = (int)NRF_SPI0_BASE,
+    SPI_1 = (int)NRF_SPI1_BASE,
+    SPIS = (int)NRF_SPIS1_BASE
+} SPIName;
+
+typedef enum {
+    PWM_1 = 0,
+    PWM_2
+} PWMName;
+
+typedef enum {
+    I2C_0 = (int)NRF_TWI0_BASE,
+    I2C_1 = (int)NRF_TWI1_BASE
+} I2CName;
+
+typedef enum {
+    ADC0_0 = (int)NRF_ADC_BASE
+} ADCName;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TARGET_RBLAB_NRF51822/TARGET_NORDIC/TARGET_MCU_NRF51822/PortNames.h	Fri Aug 15 15:28:31 2014 +0100
@@ -0,0 +1,30 @@
+/* mbed Microcontroller Library
+ * Copyright (c) 2013 Nordic Semiconductor
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+#ifndef MBED_PORTNAMES_H
+#define MBED_PORTNAMES_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+typedef enum {
+    Port0 = 0 //GPIO pins 0-31
+} PortName;
+
+#ifdef __cplusplus
+}
+#endif
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TARGET_RBLAB_NRF51822/TARGET_NORDIC/TARGET_MCU_NRF51822/TARGET_RBLAB_NRF51822/PinNames.h	Fri Aug 15 15:28:31 2014 +0100
@@ -0,0 +1,180 @@
+/* mbed Microcontroller Library
+ * Copyright (c) 2013 Nordic Semiconductor
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+#ifndef MBED_PINNAMES_H
+#define MBED_PINNAMES_H
+
+#include "cmsis.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+typedef enum {
+    PIN_INPUT,
+    PIN_OUTPUT
+} PinDirection;
+
+#define PORT_SHIFT  3
+
+typedef enum {
+    p0  = 0,
+    p1  = 1,
+    p2  = 2,
+    p3  = 3,
+    p4  = 4,
+    p5  = 5,
+    p6  = 6,
+    p7  = 7,
+    p8  = 8,
+    p9  = 9,
+    p10 = 10,
+    p11 = 11,
+    p12 = 12,
+    p13 = 13,
+    p14 = 14,
+    p15 = 15,
+    p16 = 16,
+    p17 = 17,
+    p18 = 18,
+    p19 = 19,
+    p20 = 20,
+    p21 = 21,
+    p22 = 22,
+    p23 = 23,
+    p24 = 24,
+    p25 = 25,
+    p26 = 26,
+    p27 = 27,
+    p28 = 28,
+    p29 = 29,
+    p30 = 30,
+//    p31=31,    
+    
+    P0_0  = p0,
+    P0_1  = p1,
+    P0_2  = p2,
+    P0_3  = p3,
+    P0_4  = p4,
+    P0_5  = p5,
+    P0_6  = p6,
+    P0_7  = p7,
+    
+    P0_8  = p8,
+    P0_9  = p9,
+    P0_10 = p10,
+    P0_11 = p11,
+    P0_12 = p12,
+    P0_13 = p13,
+    P0_14 = p14,
+    P0_15 = p15,
+    
+    P0_16 = p16,
+    P0_17 = p17,
+    P0_18 = p18,
+    P0_19 = p19,
+    P0_20 = p20,
+    P0_21 = p21,
+    P0_22 = p22,
+    P0_23 = p23,
+    
+    P0_24 = p24,
+    P0_25 = p25,
+    P0_26 = p26,
+    P0_27 = p27,
+    P0_28 = p28,
+    P0_29 = p29,
+    P0_30 = p30,
+    
+    LED1    = p18,
+    LED2    = p19,
+    LED3    = p18,
+    LED4    = p19,
+    
+    BUTTON1 = p16,
+    BUTTON2 = p17,
+        
+    RX_PIN_NUMBER = p11,
+    TX_PIN_NUMBER = p9,
+    CTS_PIN_NUMBER = p10,
+    RTS_PIN_NUMBER = p8,
+
+    // mBed interface Pins
+    USBTX = TX_PIN_NUMBER,
+    USBRX = RX_PIN_NUMBER,
+        
+    SPI_PSELMOSI0 = p20,
+    SPI_PSELMISO0 = p22,
+    SPI_PSELSS0 = p24,
+    SPI_PSELSCK0 = p25,
+        
+    SPI_PSELMOSI1 = p12,
+    SPI_PSELMISO1 = p13,
+    SPI_PSELSS1 = p14,
+    SPI_PSELSCK1 = p15,
+    
+    SPIS_PSELMOSI = p12,
+    SPIS_PSELMISO = p13,
+    SPIS_PSELSS = p14,    
+    SPIS_PSELSCK = p15,
+
+    I2C_SDA0 = p22,
+    I2C_SCL0 = p20,
+
+    I2C_SDA1 = p13,
+    I2C_SCL1 = p15,
+    
+    D0  = p7,
+    D1  = p8,
+    D2  = p9,
+    D3  = p10,
+    D4  = p11,
+    D5  = p12,
+    D6  = p13,
+    D7  = p17,
+    
+    D8  = p18,
+    D9  = p23,
+    D10 = p24,
+    D11 = p25,
+    D12 = p28,
+    D13 = p29,
+
+    D14 = p5,
+    D15 = p6,
+
+    A0  = p1,
+    A1  = p2,
+    A2  = p3,
+    A3  = p4,
+    A4  = p5,
+    A5  = p6,
+    
+    // Not connected
+    NC = (int)0xFFFFFFFF
+} PinName;
+
+typedef enum {
+    PullNone = 0,
+    PullDown = 1,
+    PullUp = 3,
+    PullDefault = PullUp
+} PinMode;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TARGET_RBLAB_NRF51822/TARGET_NORDIC/TARGET_MCU_NRF51822/TARGET_RBLAB_NRF51822/device.h	Fri Aug 15 15:28:31 2014 +0100
@@ -0,0 +1,57 @@
+/* mbed Microcontroller Library
+ * Copyright (c) 2006-2013 ARM Limited
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+#ifndef MBED_DEVICE_H
+#define MBED_DEVICE_H
+
+#define DEVICE_PORTIN           1
+#define DEVICE_PORTOUT          1
+#define DEVICE_PORTINOUT        1
+
+#define DEVICE_INTERRUPTIN      1
+
+#define DEVICE_ANALOGIN         1
+#define DEVICE_ANALOGOUT        0
+
+#define DEVICE_SERIAL           1
+
+#define DEVICE_I2C              1
+#define DEVICE_I2CSLAVE         0
+
+#define DEVICE_SPI              1
+#define DEVICE_SPISLAVE         1
+
+#define DEVICE_CAN              0
+
+#define DEVICE_RTC              0
+
+#define DEVICE_ETHERNET         0
+
+#define DEVICE_PWMOUT           1
+
+#define DEVICE_SEMIHOST         0
+#define DEVICE_LOCALFILESYSTEM  0
+
+#define DEVICE_SLEEP            1
+
+#define DEVICE_DEBUG_AWARENESS  0
+
+#define DEVICE_STDIO_MESSAGES   0
+
+#define DEVICE_ERROR_PATTERN    1
+
+#include "objects.h"
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TARGET_RBLAB_NRF51822/TARGET_NORDIC/TARGET_MCU_NRF51822/gpio_object.h	Fri Aug 15 15:28:31 2014 +0100
@@ -0,0 +1,52 @@
+/* mbed Microcontroller Library
+ * Copyright (c) 2006-2013 ARM Limited
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+#ifndef MBED_GPIO_OBJECT_H
+#define MBED_GPIO_OBJECT_H
+
+#include "mbed_assert.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+typedef struct {
+    PinName  pin;
+    uint32_t mask;
+
+    __IO uint32_t *reg_dir;
+    __IO uint32_t *reg_set;
+    __IO uint32_t *reg_clr;
+    __I  uint32_t *reg_in;
+} gpio_t;
+
+static inline void gpio_write(gpio_t *obj, int value) {
+    MBED_ASSERT(obj->pin != (PinName)NC);
+    if (value)
+        *obj->reg_set = obj->mask;
+    else
+        *obj->reg_clr = obj->mask;
+}
+
+static inline int gpio_read(gpio_t *obj) {
+    MBED_ASSERT(obj->pin != (PinName)NC);
+    return ((*obj->reg_in & obj->mask) ? 1 : 0);
+}
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TARGET_RBLAB_NRF51822/TARGET_NORDIC/TARGET_MCU_NRF51822/objects.h	Fri Aug 15 15:28:31 2014 +0100
@@ -0,0 +1,73 @@
+/* mbed Microcontroller Library
+ * Copyright (c) 2013 Nordic Semiconductor
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+#ifndef MBED_OBJECTS_H
+#define MBED_OBJECTS_H
+
+#include "cmsis.h"
+#include "PortNames.h"
+#include "PeripheralNames.h"
+#include "PinNames.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+struct serial_s {
+    NRF_UART_Type *uart;
+    int index;
+};
+
+struct spi_s {
+    NRF_SPI_Type *spi;
+    NRF_SPIS_Type *spis;
+};
+
+struct port_s {
+    __IO uint32_t *reg_cnf;
+    __IO uint32_t *reg_out;
+    __I  uint32_t *reg_in;
+    PortName port;
+    uint32_t mask;
+};
+
+struct pwmout_s {
+    PWMName pwm;
+    PinName pin;
+};
+
+struct i2c_s {
+    NRF_TWI_Type *i2c;
+    PinName sda;
+    PinName scl;
+    int freq;
+};
+
+struct analogin_s {
+    ADCName adc;
+    uint8_t adc_pin;
+};
+
+struct gpio_irq_s {
+    uint32_t ch;
+};
+
+#include "gpio_object.h"
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
--- a/TARGET_RBLAB_NRF51822/TARGET_NORDIC/TARGET_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/ble.h	Fri Jul 25 09:46:51 2014 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,385 +0,0 @@
-/* Copyright (c) 2011 Nordic Semiconductor. All Rights Reserved.
- *
- * The information contained herein is confidential property of Nordic Semiconductor. The use,
- * copying, transfer or disclosure of such information is prohibited except by express written
- * agreement with Nordic Semiconductor.
- *
- */
-/**
-  @addtogroup BLE_COMMON BLE SoftDevice Common
-  @{
-  @defgroup ble_api Events, type definitions and API calls
-  @{
-
-  @brief Module independent events, type definitions and API calls for the S110 SoftDevice.
-
- */
-
-#ifndef BLE_H__
-#define BLE_H__
-
-#include "ble_ranges.h"
-#include "ble_types.h"
-#include "ble_gap.h"
-#include "ble_l2cap.h"
-#include "ble_gatt.h"
-#include "ble_gattc.h"
-#include "ble_gatts.h"
-
-/** @addtogroup BLE_COMMON_ENUMERATIONS Enumerations
- * @{ */
-
-/**
- * @brief Common API SVC numbers.
- */
-enum BLE_COMMON_SVCS
-{
-  SD_BLE_ENABLE = BLE_SVC_BASE,         /**< Enable and initialize the BLE stack */
-  SD_BLE_EVT_GET,                       /**< Get an event from the pending events queue. */
-  SD_BLE_TX_BUFFER_COUNT_GET,           /**< Get the total number of available application transmission buffers from the stack. */
-  SD_BLE_UUID_VS_ADD,                   /**< Add a Vendor Specific UUID. */
-  SD_BLE_UUID_DECODE,                   /**< Decode UUID bytes. */
-  SD_BLE_UUID_ENCODE,                   /**< Encode UUID bytes. */
-  SD_BLE_VERSION_GET,                   /**< Get the local version information (company id, Link Layer Version, Link Layer Subversion). */
-  SD_BLE_USER_MEM_REPLY,                /**< User Memory Reply. */
-  SD_BLE_OPT_SET,                       /**< Set a BLE option. */
-  SD_BLE_OPT_GET,                       /**< Get a BLE option. */
-};
-
-/** @} */
-
-/** @addtogroup BLE_COMMON_DEFINES Defines
- * @{ */
-
-/** @brief  Required pointer alignment for BLE Events.
-*/
-#define BLE_EVTS_PTR_ALIGNMENT    4
-
-/** @defgroup BLE_USER_MEM_TYPES User Memory Types
- * @{ */
-#define BLE_USER_MEM_TYPE_INVALID               0x00  /**< Invalid User Memory Types. */
-#define BLE_USER_MEM_TYPE_GATTS_QUEUED_WRITES   0x01  /**< User Memory for GATTS queued writes. */
-/** @} */
-
-/** @brief  Maximum number of Vendor Specific UUIDs.
-*/
-#define BLE_UUID_VS_MAX_COUNT     10
-
-/** @} */
-
-/** @addtogroup BLE_COMMON_STRUCTURES Structures
- * @{ */
-
-/**
- * @brief BLE Module Independent Event IDs.
- */
-enum BLE_COMMON_EVTS
-{
-  BLE_EVT_TX_COMPLETE  = BLE_EVT_BASE,  /**< Transmission Complete. */
-  BLE_EVT_USER_MEM_REQUEST,             /**< User Memory request. */
-  BLE_EVT_USER_MEM_RELEASE              /**< User Memory release. */
-};
-
-/**@brief User Memory Block. */
-typedef struct
-{
-  uint8_t*          p_mem;      /**< Pointer to the start of the user memory block. */
-  uint16_t          len;        /**< Length in bytes of the user memory block. */
-} ble_user_mem_block_t;
-
-/**
- * @brief TX complete event.
- */
-typedef struct
-{
-  uint8_t count;                        /**< Number of packets transmitted. */
-} ble_evt_tx_complete_t;
-
-/**@brief Event structure for BLE_EVT_USER_MEM_REQUEST. */
-typedef struct
-{
-  uint8_t                     type;     /**< User memory type, see @ref BLE_USER_MEM_TYPES. */
-} ble_evt_user_mem_request_t;
-
-/**@brief Event structure for BLE_EVT_USER_MEM_RELEASE. */
-typedef struct
-{
-  uint8_t                     type;       /**< User memory type, see @ref BLE_USER_MEM_TYPES. */
-  ble_user_mem_block_t        mem_block;  /**< User memory block */
-} ble_evt_user_mem_release_t;
-
-
-/**@brief Event structure for events not associated with a specific function module. */
-typedef struct
-{
-  uint16_t conn_handle;                 /**< Connection Handle on which this event occured. */
-  union
-  {
-    ble_evt_tx_complete_t           tx_complete;        /**< Transmission Complete. */
-    ble_evt_user_mem_request_t      user_mem_request;   /**< User Memory Request Event Parameters. */
-    ble_evt_user_mem_release_t      user_mem_release;   /**< User Memory Release Event Parameters. */
-  } params;
-} ble_common_evt_t;
-
-/**@brief BLE Event header. */
-typedef struct
-{
-  uint16_t evt_id;                      /**< Value from a BLE_<module>_EVT series. */
-  uint16_t evt_len;                     /**< Length in octets excluding this header. */
-} ble_evt_hdr_t;
-
-/**@brief Common BLE Event type, wrapping the module specific event reports. */
-typedef struct
-{
-  ble_evt_hdr_t header;                 /**< Event header. */
-  union
-  {
-    ble_common_evt_t  common_evt;         /**< Common Event, evt_id in BLE_EVT_* series. */
-    ble_gap_evt_t     gap_evt;            /**< GAP originated event, evt_id in BLE_GAP_EVT_* series. */
-    ble_l2cap_evt_t   l2cap_evt;          /**< L2CAP originated event, evt_id in BLE_L2CAP_EVT* series. */
-    ble_gattc_evt_t   gattc_evt;          /**< GATT client originated event, evt_id in BLE_GATTC_EVT* series. */
-    ble_gatts_evt_t   gatts_evt;          /**< GATT server originated event, evt_id in BLE_GATTS_EVT* series. */
-  } evt;
-} ble_evt_t;
-
-
-/**
- * @brief Version Information.
- */
-typedef struct
-{
-  uint8_t   version_number;             /**< Link Layer Version number for BT 4.1 spec is 7 (https://www.bluetooth.org/en-us/specification/assigned-numbers/link-layer). */
-  uint16_t  company_id;                 /**< Company ID, Nordic Semiconductor's company ID is 89 (0x0059) (https://www.bluetooth.org/apps/content/Default.aspx?doc_id=49708). */
-  uint16_t  subversion_number;          /**< Link Layer Sub Version number, corresponds to the SoftDevice Config ID or Firmware ID (FWID). */
-} ble_version_t;
-
-/**@brief Common BLE Option type, wrapping the module specific options. */
-typedef union
-{
-  ble_gap_opt_t     gap;            /**< GAP option, opt_id in BLE_GAP_OPT_* series. */
-} ble_opt_t;
-
-/**
- * @brief BLE GATTS init options
- */
-typedef struct
-{
-  ble_gatts_enable_params_t  gatts_enable_params; /**< GATTS init options @ref ble_gatts_enable_params_t. */  
-} ble_enable_params_t;
-
-/** @} */
-
-/** @addtogroup BLE_COMMON_FUNCTIONS Functions
- * @{ */
-
-/**@brief Enable the bluetooth stack
- *
- * @param[in] p_ble_enable_params Pointer to ble_enable_params_t
- *
- * @details This call initializes the bluetooth stack, no other BLE related call can be called before this one has been executed.
- *
- * @return @ref NRF_SUCCESS BLE stack has been initialized successfully
- * @return @ref NRF_ERROR_INVALID_ADDR Invalid or not sufficiently aligned pointer supplied.
- */
-SVCALL(SD_BLE_ENABLE, uint32_t, sd_ble_enable(ble_enable_params_t * p_ble_enable_params));
-
-/**@brief Get an event from the pending events queue.
- *
- * @param[in] p_dest Pointer to buffer to be filled in with an event, or NULL to retrieve the event length. This buffer <b>must be 4-byte aligned in memory</b>.
- * @param[in, out] p_len Pointer the length of the buffer, on return it is filled with the event length.
- *
- * @details This call allows the application to pull a BLE event from the BLE stack. The application is signalled that an event is 
- * available from the BLE Stack by the triggering of the SD_EVT_IRQn interrupt (mapped to IRQ 22).
- * The application is free to choose whether to call this function from thread mode (main context) or directly from the Interrupt Service Routine
- * that maps to SD_EVT_IRQn. In any case however, and because the BLE stack runs at a higher priority than the application, this function should be called
- * in a loop (until @ref NRF_ERROR_NOT_FOUND is returned) every time SD_EVT_IRQn is raised to ensure that all available events are pulled from the stack. 
- * Failure to do so could potentially leave events in the internal queue without the application being aware of this fact.
- * Sizing the p_dest buffer is equally important, since the application needs to provide all the memory necessary for the event to be copied into
- * application memory. If the buffer provided is not large enough to fit the entire contents of the event, @ref NRF_ERROR_DATA_SIZE will be returned
- * and the application can then call again with a larger buffer size.
- * Please note that because of the variable length nature of some events, sizeof(ble_evt_t) will not always be large enough to fit certain events, 
- * and so it is the application's responsability to provide an amount of memory large enough so that the relevant event is copied in full.
- * The application may "peek" the event length by providing p_dest as a NULL pointer and inspecting the value of *p_len upon return.
- *
- * @note The pointer supplied must be aligned to the extend defined by @ref BLE_EVTS_PTR_ALIGNMENT
- *
- * @return @ref NRF_SUCCESS Event pulled and stored into the supplied buffer.
- * @return @ref NRF_ERROR_INVALID_ADDR Invalid or not sufficiently aligned pointer supplied.
- * @return @ref NRF_ERROR_NOT_FOUND No events ready to be pulled.
- * @return @ref NRF_ERROR_DATA_SIZE Event ready but could not fit into the supplied buffer.
- */
-SVCALL(SD_BLE_EVT_GET, uint32_t, sd_ble_evt_get(uint8_t* p_dest, uint16_t *p_len));
-
-
-/**@brief Get the total number of available application transmission buffers in the BLE stack.
- *
- * @details This call allows the application to obtain the total number of
- *          transmission buffers available for application data. Please note that
- *          this does not give the number of free buffers, but rather the total amount of them.
- *          The application has two options to handle its own application transmission buffers:
- *          - Use a simple arithmetic calculation: at boot time the application should use this function
- *          to find out the total amount of buffers available to it and store it in a variable.
- *          Every time a packet that consumes an application buffer is sent using any of the 
- *          exposed functions in this BLE API, the application should decrement that variable.
- *          Conversely, whenever a @ref BLE_EVT_TX_COMPLETE event is received by the application
- *          it should retrieve the count field in such event and add that number to the same
- *          variable storing the number of available packets.
- *          This mechanism allows the application to be aware at any time of the number of
- *          application packets available in the BLE stack's internal buffers, and therefore
- *          it can know with certainty whether it is possible to send more data or it has to
- *          wait for a @ref BLE_EVT_TX_COMPLETE event before it proceeds.
- *          - Choose to simply not keep track of available buffers at all, and instead handle the 
- *          @ref BLE_ERROR_NO_TX_BUFFERS error by queueing the packet to be transmitted and 
- *          try again as soon as a @ref BLE_EVT_TX_COMPLETE event arrives.
- *
- *          The API functions that <b>may</b> consume an application buffer depending on 
- *          the parameters supplied to them can be found below:
- *
- *          - @ref sd_ble_gattc_write (write witout response only)
- *          - @ref sd_ble_gatts_hvx (notifications only)
- *          - @ref sd_ble_l2cap_tx (all packets)
- *
- * @param[out] p_count Pointer to a uint8_t which will contain the number of application transmission buffers upon
- *                     successful return.
- *
- * @return @ref NRF_SUCCESS Number of application transmission buffers retrieved successfully.
- * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
- */
-SVCALL(SD_BLE_TX_BUFFER_COUNT_GET, uint32_t, sd_ble_tx_buffer_count_get(uint8_t* p_count));
-
-
-/**@brief Add a Vendor Specific UUID.
- *
- * @details This call enables the application to add a vendor specific UUID to the BLE stack's table,
- *          for later use all other modules and APIs. This then allows the application to use the shorter,
- *          24-bit @ref ble_uuid_t format when dealing with both 16-bit and 128-bit UUIDs without having to
- *          check for lengths and having split code paths. The way that this is accomplished is by extending the 
- *          grouping mechanism that the Bluetooth SIG standard base UUID uses for all other 128-bit UUIDs. The 
- *          type field in the @ref ble_uuid_t structure is an index (relative to @ref BLE_UUID_TYPE_VENDOR_BEGIN) 
- *          to the table populated by multiple calls to this function, and the uuid field in the same structure 
- *          contains the 2 bytes at indices 12 and 13. The number of possible 128-bit UUIDs available to the 
- *          application is therefore the number of Vendor Specific UUIDs added with the help of this function times 65536, 
- *          although restricted to modifying bytes 12 and 13 for each of the entries in the supplied array.
- *
- * @note Bytes 12 and 13 of the provided UUID will not be used internally, since those are always replaced by 
- * the 16-bit uuid field in @ref ble_uuid_t.
- *
- *
- * @param[in]  p_vs_uuid    Pointer to a 16-octet (128-bit) little endian Vendor Specific UUID disregarding
- *                          bytes 12 and 13.
- * @param[out] p_uuid_type  Pointer where the type field in @ref ble_uuid_t corresponding to this UUID will be stored.
- *
- * @return @ref NRF_SUCCESS Successfully added the Vendor Specific UUID.
- * @return @ref NRF_ERROR_INVALID_ADDR If p_vs_uuid or p_uuid_type is NULL or invalid.
- * @return @ref NRF_ERROR_NO_MEM If there are no more free slots for VS UUIDs.
- * @return @ref NRF_ERROR_FORBIDDEN If p_vs_uuid has already been added to the VS UUID table.
- */
-SVCALL(SD_BLE_UUID_VS_ADD, uint32_t, sd_ble_uuid_vs_add(ble_uuid128_t const * const p_vs_uuid, uint8_t * const p_uuid_type));
-
-
-/** @brief Decode little endian raw UUID bytes (16-bit or 128-bit) into a 24 bit @ref ble_uuid_t structure.
- * 
- * @details The raw UUID bytes excluding bytes 12 and 13 (i.e. bytes 0-11 and 14-15) of p_uuid_le are compared 
- * to the corresponding ones in each entry of the table of vendor specific UUIDs pouplated with @ref sd_ble_uuid_vs_add 
- * to look for a match. If there is such a match, bytes 12 and 13 are returned as p_uuid->uuid and the index 
- * relative to @ref BLE_UUID_TYPE_VENDOR_BEGIN as p_uuid->type. 
- *
- * @note If the UUID length supplied is 2, then the type set by this call will always be @ref BLE_UUID_TYPE_BLE.
- *
- * @param[in]      uuid_le_len Length in bytes of the buffer pointed to by p_uuid_le (must be 2 or 16 bytes).
- * @param[in]      p_uuid_le   Pointer pointing to little endian raw UUID bytes.
- * @param[in,out]  p_uuid      Pointer to a @ref ble_uuid_t structure to be filled in.
- *
- * @return @ref NRF_SUCCESS Successfully decoded into the @ref ble_uuid_t structure.
- * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
- * @return @ref NRF_ERROR_INVALID_LENGTH Invalid UUID length.
- * @return @ref NRF_ERROR_NOT_FOUND For a 128-bit UUID, no match in the populated table of UUIDs.
- */                                                 
-SVCALL(SD_BLE_UUID_DECODE, uint32_t, sd_ble_uuid_decode(uint8_t uuid_le_len, uint8_t const * const p_uuid_le, ble_uuid_t * const p_uuid));
-
-
-/** @brief Encode a @ref ble_uuid_t structure into little endian raw UUID bytes (16-bit or 128-bit).
- *
- * @note The pointer to the destination buffer p_uuid_le may be NULL, in which case only the validitiy and size of p_uuid is computed.
- *
- * @param[in]      p_uuid        Pointer to a @ref ble_uuid_t structure that will be encoded into bytes.
- * @param[out]     p_uuid_le_len Pointer to a uint8_t that will be filled with the encoded length (2 or 16 bytes).
- * @param[out]     p_uuid_le     Pointer to a buffer where the little endian raw UUID bytes (2 or 16) will be stored.
- *
- * @return @ref NRF_SUCCESS Successfully encoded into the buffer.
- * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
- * @return @ref NRF_ERROR_INVALID_PARAM Invalid UUID type.
- */
-SVCALL(SD_BLE_UUID_ENCODE, uint32_t, sd_ble_uuid_encode(ble_uuid_t const * const p_uuid, uint8_t * const  p_uuid_le_len, uint8_t * const p_uuid_le));
-
-
-/**@brief Get Version Information.
- *
- * @details This call allows the application to get the BLE stack version information.
- *
- * @param[in] p_version Pointer to ble_version_t structure to be filled in.
- *
- * @return @ref NRF_SUCCESS  Version information stored successfully.
- * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
- * @return @ref NRF_ERROR_BUSY The stack is busy (typically doing a locally-initiated disconnection procedure).
- */
-SVCALL(SD_BLE_VERSION_GET, uint32_t, sd_ble_version_get(ble_version_t * p_version));
-
-
-/**@brief Provide a user memory block.
- *
- * @note This call can only be used as a response to a @ref BLE_EVT_USER_MEM_REQUEST event issued to the application.
- *
- * @param[in] conn_handle                 Connection handle.
- * @param[in] p_block                     Pointer to a user memory block structure.
- *
- * @return @ref NRF_SUCCESS               Successfully queued a response to the peer.
- * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid Connection Handle.
- * @return @ref NRF_ERROR_INVALID_STATE   No execute write request pending.
- */
-SVCALL(SD_BLE_USER_MEM_REPLY, uint32_t, sd_ble_user_mem_reply(uint16_t conn_handle, ble_user_mem_block_t *p_block));
-
-
-/**@brief Set a BLE option.
- *
- * @details This call allows the application to set the value of an option.
- *
- * @param[in] opt_id Option ID.
- * @param[in] p_opt Pointer to a ble_opt_t structure containing the option value.
- *
- * @retval ::NRF_SUCCESS  Option set successfully.
- * @retval ::NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
- * @retval ::BLE_ERROR_INVALID_CONN_HANDLE Invalid Connection Handle.
- * @retval ::NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied, check parameter limits and constraints.
- * @retval ::NRF_ERROR_INVALID_STATE Unable to set the parameter at this time.
- * @retval ::NRF_ERROR_BUSY The stack is busy or the previous procedure has not completed.
- */
-SVCALL(SD_BLE_OPT_SET, uint32_t, sd_ble_opt_set(uint32_t opt_id, ble_opt_t const *p_opt));
-
-
-/**@brief Get a BLE option.
- *
- * @details This call allows the application to retrieve the value of an option.
- *
- * @param[in] opt_id Option ID.
- * @param[out] p_opt Pointer to a ble_opt_t structure to be filled in.
- *
- * @retval ::NRF_SUCCESS  Option retrieved successfully.
- * @retval ::NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
- * @retval ::BLE_ERROR_INVALID_CONN_HANDLE Invalid Connection Handle.
- * @retval ::NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied, check parameter limits and constraints.
- * @retval ::NRF_ERROR_INVALID_STATE Unable to retrieve the parameter at this time.
- * @retval ::NRF_ERROR_BUSY The stack is busy or the previous procedure has not completed.
- * @retval ::NRF_ERROR_NOT_SUPPORTED This option is not supported.
- *
- */
-SVCALL(SD_BLE_OPT_GET, uint32_t, sd_ble_opt_get(uint32_t opt_id, ble_opt_t *p_opt));
-
-/** @} */
-
-#endif /* BLE_H__ */
-
-/**
-  @}
-  @}
-*/
--- a/TARGET_RBLAB_NRF51822/TARGET_NORDIC/TARGET_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/ble_err.h	Fri Jul 25 09:46:51 2014 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,54 +0,0 @@
-/*
- * Copyright (c) 2012 Nordic Semiconductor. All Rights Reserved.
- *
- * The information contained herein is confidential property of Nordic Semiconductor. The use,
- * copying, transfer or disclosure of such information is prohibited except by express written
- * agreement with Nordic Semiconductor.
- *
- */
- /**
-  @addtogroup BLE_COMMON
-  @{
-  @addtogroup  nrf_error
-  @{
-    @ingroup BLE_COMMON
-  @}
-
-  @defgroup ble_err General error codes
-  @{
-
-  @brief General error code definitions for the BLE API.
-
-  @ingroup BLE_COMMON
-*/
-#ifndef NRF_BLE_ERR_H__
-#define NRF_BLE_ERR_H__
-
-#include "nrf_error.h"
-
-/* @defgroup BLE_ERRORS Error Codes
- * @{ */
-#define BLE_ERROR_NOT_ENABLED            (NRF_ERROR_STK_BASE_NUM+0x001) /**< @ref sd_ble_enable has not been called. */
-#define BLE_ERROR_INVALID_CONN_HANDLE    (NRF_ERROR_STK_BASE_NUM+0x002) /**< Invalid connection handle. */
-#define BLE_ERROR_INVALID_ATTR_HANDLE    (NRF_ERROR_STK_BASE_NUM+0x003) /**< Invalid attribute handle. */
-#define BLE_ERROR_NO_TX_BUFFERS          (NRF_ERROR_STK_BASE_NUM+0x004) /**< Buffer capacity exceeded. */
-/** @} */
-
-
-/** @defgroup BLE_ERROR_SUBRANGES Module specific error code subranges
- *  @brief Assignment of subranges for module specific error codes.
- *  @note For specific error codes, see ble_<module>.h or ble_error_<module>.h.
- * @{ */
-#define NRF_L2CAP_ERR_BASE             (NRF_ERROR_STK_BASE_NUM+0x100) /**< L2CAP specific errors. */
-#define NRF_GAP_ERR_BASE               (NRF_ERROR_STK_BASE_NUM+0x200) /**< GAP specific errors. */
-#define NRF_GATTC_ERR_BASE             (NRF_ERROR_STK_BASE_NUM+0x300) /**< GATT client specific errors. */
-#define NRF_GATTS_ERR_BASE             (NRF_ERROR_STK_BASE_NUM+0x400) /**< GATT server specific errors. */
-/** @} */
-
-#endif
-
-
-/**
-  @}
-  @}
-*/
--- a/TARGET_RBLAB_NRF51822/TARGET_NORDIC/TARGET_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/ble_gap.h	Fri Jul 25 09:46:51 2014 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1032 +0,0 @@
-/* Copyright (c) 2011 Nordic Semiconductor. All Rights Reserved.
- *
- * The information contained herein is confidential property of Nordic Semiconductor. The use,
- * copying, transfer or disclosure of such information is prohibited except by express written
- * agreement with Nordic Semiconductor.
- *
- */
-/**
-  @addtogroup BLE_GAP Generic Access Profile (GAP)
-  @{
-  @brief Definitions and prototypes for the GAP interface.
- */
-
-#ifndef BLE_GAP_H__
-#define BLE_GAP_H__
-
-#include "ble_types.h"
-#include "ble_ranges.h"
-#include "nrf_svc.h"
-
-
-/**@addtogroup BLE_GAP_ENUMERATIONS Enumerations 
- * @{ */
-
-/**@brief GAP API SVC numbers.
- */
-enum BLE_GAP_SVCS
-{
-  SD_BLE_GAP_ADDRESS_SET  = BLE_GAP_SVC_BASE,  /**< Set own Bluetooth Address. */
-  SD_BLE_GAP_ADDRESS_GET,                      /**< Get own Bluetooth Address. */
-  SD_BLE_GAP_ADV_DATA_SET,                     /**< Set Advertisement Data. */
-  SD_BLE_GAP_ADV_START,                        /**< Start Advertising. */
-  SD_BLE_GAP_ADV_STOP,                         /**< Stop Advertising. */
-  SD_BLE_GAP_CONN_PARAM_UPDATE,                /**< Connection Parameter Update. */
-  SD_BLE_GAP_DISCONNECT,                       /**< Disconnect. */
-  SD_BLE_GAP_TX_POWER_SET,                     /**< Set TX Power. */
-  SD_BLE_GAP_APPEARANCE_SET,                   /**< Set Appearance. */
-  SD_BLE_GAP_APPEARANCE_GET,                   /**< Get Appearance. */
-  SD_BLE_GAP_PPCP_SET,                         /**< Set PPCP. */
-  SD_BLE_GAP_PPCP_GET,                         /**< Get PPCP. */
-  SD_BLE_GAP_DEVICE_NAME_SET,                  /**< Set Device Name. */
-  SD_BLE_GAP_DEVICE_NAME_GET,                  /**< Get Device Name. */
-  SD_BLE_GAP_AUTHENTICATE,                     /**< Initiate Pairing/Bonding. */
-  SD_BLE_GAP_SEC_PARAMS_REPLY,                 /**< Reply with Security Parameters. */
-  SD_BLE_GAP_AUTH_KEY_REPLY,                   /**< Reply with an authentication key. */
-  SD_BLE_GAP_SEC_INFO_REPLY,                   /**< Reply with Security Information. */
-  SD_BLE_GAP_CONN_SEC_GET,                     /**< Obtain connection security level. */
-  SD_BLE_GAP_RSSI_START,                       /**< Start reporting of changes in RSSI. */ 
-  SD_BLE_GAP_RSSI_STOP,                        /**< Stop reporting of changes in RSSI. */ 
-};
-/**@} */
-
-/**@addtogroup BLE_GAP_DEFINES Defines
- * @{ */
-
-/**@defgroup BLE_ERRORS_GAP SVC return values specific to GAP
- * @{ */
-#define BLE_ERROR_GAP_UUID_LIST_MISMATCH            (NRF_GAP_ERR_BASE + 0x000)  /**< UUID list does not contain an integral number of UUIDs. */
-#define BLE_ERROR_GAP_DISCOVERABLE_WITH_WHITELIST   (NRF_GAP_ERR_BASE + 0x001)  /**< Use of Whitelist not permitted with discoverable advertising. */
-#define BLE_ERROR_GAP_INVALID_BLE_ADDR              (NRF_GAP_ERR_BASE + 0x002)  /**< The upper two bits of the address do not correspond to the specified address type. */
-/**@} */
-
-
-/**@defgroup BLE_GAP_ROLES GAP Roles
- * @note Not explicitly used in peripheral API, but will be relevant for central API.
- * @{ */
-#define BLE_GAP_ROLE_INVALID     0x0            /**< Invalid Role. */
-#define BLE_GAP_ROLE_PERIPH      0x1            /**< Peripheral Role. */
-#define BLE_GAP_ROLE_CENTRAL     0x2            /**< Central Role. */
-/**@} */
-
-
-/**@defgroup BLE_GAP_TIMEOUT_SOURCES GAP Timeout sources
- * @{ */
-#define BLE_GAP_TIMEOUT_SRC_ADVERTISEMENT              0x00 /**< Advertisement timeout. */
-#define BLE_GAP_TIMEOUT_SRC_SECURITY_REQUEST           0x01 /**< Security request timeout. */
-/**@} */
-
-
-/**@defgroup BLE_GAP_ADDR_TYPES GAP Address types
- * @{ */
-#define BLE_GAP_ADDR_TYPE_PUBLIC                        0x00 /**< Public address. */
-#define BLE_GAP_ADDR_TYPE_RANDOM_STATIC                 0x01 /**< Random Static address. */
-#define BLE_GAP_ADDR_TYPE_RANDOM_PRIVATE_RESOLVABLE     0x02 /**< Private Resolvable address. */
-#define BLE_GAP_ADDR_TYPE_RANDOM_PRIVATE_NON_RESOLVABLE 0x03 /**< Private Non-Resolvable address. */
-/**@} */
-
-/**@defgroup BLE_GAP_ADDR_CYCLE_MODES GAP Address cycle modes
- * @{ */
-#define BLE_GAP_ADDR_CYCLE_MODE_NONE      0x00 /**< Set addresses directly, no automatic address cycling. */
-#define BLE_GAP_ADDR_CYCLE_MODE_AUTO      0x01 /**< Automatically generate and update private addresses. */
-/** @} */
-
-/**@brief The default interval in seconds at which a private address is refreshed when address cycle mode is @ref BLE_GAP_ADDR_CYCLE_MODE_AUTO.  */
-#define BLE_GAP_DEFAULT_PRIVATE_ADDR_CYCLE_INTERVAL_S (60 * 15)
-
-/** @brief BLE address length. */
-#define BLE_GAP_ADDR_LEN            6
-
-
-/**@defgroup BLE_GAP_AD_TYPE_DEFINITIONS GAP Advertising and Scan Response Data format
- * @note Found at https://www.bluetooth.org/Technical/AssignedNumbers/generic_access_profile.htm
- * @{ */
-#define BLE_GAP_AD_TYPE_FLAGS                               0x01 /**< Flags for discoverability. */
-#define BLE_GAP_AD_TYPE_16BIT_SERVICE_UUID_MORE_AVAILABLE   0x02 /**< Partial list of 16 bit service UUIDs. */
-#define BLE_GAP_AD_TYPE_16BIT_SERVICE_UUID_COMPLETE         0x03 /**< Complete list of 16 bit service UUIDs. */
-#define BLE_GAP_AD_TYPE_32BIT_SERVICE_UUID_MORE_AVAILABLE   0x04 /**< Partial list of 32 bit service UUIDs. */
-#define BLE_GAP_AD_TYPE_32BIT_SERVICE_UUID_COMPLETE         0x05 /**< Complete list of 32 bit service UUIDs. */
-#define BLE_GAP_AD_TYPE_128BIT_SERVICE_UUID_MORE_AVAILABLE  0x06 /**< Partial list of 128 bit service UUIDs. */
-#define BLE_GAP_AD_TYPE_128BIT_SERVICE_UUID_COMPLETE        0x07 /**< Complete list of 128 bit service UUIDs. */
-#define BLE_GAP_AD_TYPE_SHORT_LOCAL_NAME                    0x08 /**< Short local device name. */
-#define BLE_GAP_AD_TYPE_COMPLETE_LOCAL_NAME                 0x09 /**< Complete local device name. */
-#define BLE_GAP_AD_TYPE_TX_POWER_LEVEL                      0x0A /**< Transmit power level. */
-#define BLE_GAP_AD_TYPE_CLASS_OF_DEVICE                     0x0D /**< Class of device. */
-#define BLE_GAP_AD_TYPE_SIMPLE_PAIRING_HASH_C               0x0E /**< Simple Pairing Hash C. */
-#define BLE_GAP_AD_TYPE_SIMPLE_PAIRING_RANDOMIZER_R         0x0F /**< Simple Pairing Randomizer R. */
-#define BLE_GAP_AD_TYPE_SECURITY_MANAGER_TK_VALUE           0x10 /**< Security Manager TK Value. */
-#define BLE_GAP_AD_TYPE_SECURITY_MANAGER_OOB_FLAGS          0x11 /**< Security Manager Out Of Band Flags. */
-#define BLE_GAP_AD_TYPE_SLAVE_CONNECTION_INTERVAL_RANGE     0x12 /**< Slave Connection Interval Range. */
-#define BLE_GAP_AD_TYPE_SOLICITED_SERVICE_UUIDS_16BIT       0x14 /**< List of 16-bit Service Solicitation UUIDs. */
-#define BLE_GAP_AD_TYPE_SOLICITED_SERVICE_UUIDS_128BIT      0x15 /**< List of 128-bit Service Solicitation UUIDs. */
-#define BLE_GAP_AD_TYPE_SERVICE_DATA                        0x16 /**< Service Data - 16-bit UUID. */
-#define BLE_GAP_AD_TYPE_PUBLIC_TARGET_ADDRESS               0x17 /**< Public Target Address. */
-#define BLE_GAP_AD_TYPE_RANDOM_TARGET_ADDRESS               0x18 /**< Random Target Address. */
-#define BLE_GAP_AD_TYPE_APPEARANCE                          0x19 /**< Appearance. */
-#define BLE_GAP_AD_TYPE_ADVERTISING_INTERVAL                0x1A /**< Advertising Interval. */ 
-#define BLE_GAP_AD_TYPE_LE_BLUETOOTH_DEVICE_ADDRESS         0x1B /**< LE Bluetooth Device Address. */
-#define BLE_GAP_AD_TYPE_LE_ROLE                             0x1C /**< LE Role. */
-#define BLE_GAP_AD_TYPE_SIMPLE_PAIRING_HASH_C256            0x1D /**< Simple Pairing Hash C-256. */
-#define BLE_GAP_AD_TYPE_SIMPLE_PAIRING_RANDOMIZER_R256      0x1E /**< Simple Pairing Randomizer R-256. */
-#define BLE_GAP_AD_TYPE_SERVICE_DATA_32BIT_UUID             0x20 /**< Service Data - 32-bit UUID. */
-#define BLE_GAP_AD_TYPE_SERVICE_DATA_128BIT_UUID            0x21 /**< Service Data - 128-bit UUID. */
-#define BLE_GAP_AD_TYPE_3D_INFORMATION_DATA                 0x3D /**< 3D Information Data. */
-#define BLE_GAP_AD_TYPE_MANUFACTURER_SPECIFIC_DATA          0xFF /**< Manufacturer Specific Data. */
-/**@} */
-
-
-/**@defgroup BLE_GAP_ADV_FLAGS GAP Advertisement Flags
- * @{ */
-#define BLE_GAP_ADV_FLAG_LE_LIMITED_DISC_MODE         (0x01)   /**< LE Limited Discoverable Mode. */
-#define BLE_GAP_ADV_FLAG_LE_GENERAL_DISC_MODE         (0x02)   /**< LE General Discoverable Mode. */
-#define BLE_GAP_ADV_FLAG_BR_EDR_NOT_SUPPORTED         (0x04)   /**< BR/EDR not supported. */
-#define BLE_GAP_ADV_FLAG_LE_BR_EDR_CONTROLLER         (0x08)   /**< Simultaneous LE and BR/EDR, Controller. */
-#define BLE_GAP_ADV_FLAG_LE_BR_EDR_HOST               (0x10)   /**< Simultaneous LE and BR/EDR, Host. */
-#define BLE_GAP_ADV_FLAGS_LE_ONLY_LIMITED_DISC_MODE   (BLE_GAP_ADV_FLAG_LE_LIMITED_DISC_MODE | BLE_GAP_ADV_FLAG_BR_EDR_NOT_SUPPORTED)   /**< LE Limited Discoverable Mode, BR/EDR not supported. */
-#define BLE_GAP_ADV_FLAGS_LE_ONLY_GENERAL_DISC_MODE   (BLE_GAP_ADV_FLAG_LE_GENERAL_DISC_MODE | BLE_GAP_ADV_FLAG_BR_EDR_NOT_SUPPORTED)   /**< LE General Discoverable Mode, BR/EDR not supported. */
-/**@} */
-
-
-/**@defgroup BLE_GAP_ADV_INTERVALS GAP Advertising interval max and min
- * @{ */
-#define BLE_GAP_ADV_INTERVAL_MIN        0x0020 /**< Minimum Advertising interval in 625 us units, i.e. 20 ms. */
-#define BLE_GAP_ADV_NONCON_INTERVAL_MIN 0x00A0 /**< Minimum Advertising interval in 625 us units for non connectable mode, i.e. 100 ms. */
-#define BLE_GAP_ADV_INTERVAL_MAX        0x4000 /**< Maximum Advertising interval in 625 us units, i.e. 10.24 s. */
- /**@}  */
-
-
-/**@brief Maximum size of advertising data in octets. */
-#define  BLE_GAP_ADV_MAX_SIZE       31
-
-
-/**@defgroup BLE_GAP_ADV_TYPES GAP Advertising types
- * @{ */
-#define BLE_GAP_ADV_TYPE_ADV_IND          0x00   /**< Connectable undirected. */
-#define BLE_GAP_ADV_TYPE_ADV_DIRECT_IND   0x01   /**< Connectable directed. */
-#define BLE_GAP_ADV_TYPE_ADV_SCAN_IND     0x02   /**< Scannable undirected. */
-#define BLE_GAP_ADV_TYPE_ADV_NONCONN_IND  0x03   /**< Non connectable undirected. */
-/**@} */
-
-
-/**@defgroup BLE_GAP_ADV_FILTER_POLICIES GAP Advertising filter policies
- * @{ */
-#define BLE_GAP_ADV_FP_ANY                0x00   /**< Allow scan requests and connect requests from any device. */
-#define BLE_GAP_ADV_FP_FILTER_SCANREQ     0x01   /**< Filter scan requests with whitelist. */
-#define BLE_GAP_ADV_FP_FILTER_CONNREQ     0x02   /**< Filter connect requests with whitelist. */
-#define BLE_GAP_ADV_FP_FILTER_BOTH        0x03   /**< Filter both scan and connect requests with whitelist. */
-/**@} */
-
-
-/**@defgroup BLE_GAP_ADV_TIMEOUT_VALUES GAP Advertising timeout values
- * @{ */
-#define BLE_GAP_ADV_TIMEOUT_LIMITED_MAX      180 /**< Maximum advertising time in limited discoverable mode (TGAP(lim_adv_timeout) = 180s in spec (Addendum 2)). */
-#define BLE_GAP_ADV_TIMEOUT_GENERAL_UNLIMITED  0 /**< Unlimited advertising in general discoverable mode. */
-/**@} */
-
-
-/**@defgroup BLE_GAP_DISC_MODES GAP Discovery modes
- * @{ */
-#define BLE_GAP_DISC_MODE_NOT_DISCOVERABLE  0x00   /**< Not discoverable discovery Mode. */
-#define BLE_GAP_DISC_MODE_LIMITED           0x01   /**< Limited Discovery Mode. */
-#define BLE_GAP_DISC_MODE_GENERAL           0x02   /**< General Discovery Mode. */
-/**@} */
-
-/**@defgroup BLE_GAP_IO_CAPS GAP IO Capabilities
- * @{ */
-#define BLE_GAP_IO_CAPS_DISPLAY_ONLY      0x00   /**< Display Only. */
-#define BLE_GAP_IO_CAPS_DISPLAY_YESNO     0x01   /**< Display and Yes/No entry. */
-#define BLE_GAP_IO_CAPS_KEYBOARD_ONLY     0x02   /**< Keyboard Only. */
-#define BLE_GAP_IO_CAPS_NONE              0x03   /**< No I/O capabilities. */
-#define BLE_GAP_IO_CAPS_KEYBOARD_DISPLAY  0x04   /**< Keyboard and Display. */
-/**@} */
-
-
-/**@defgroup BLE_GAP_AUTH_KEY_TYPES GAP Authentication Key Types
- * @{ */
-#define BLE_GAP_AUTH_KEY_TYPE_NONE        0x00   /**< No key (may be used to reject). */
-#define BLE_GAP_AUTH_KEY_TYPE_PASSKEY     0x01   /**< 6-digit Passkey. */
-#define BLE_GAP_AUTH_KEY_TYPE_OOB         0x02   /**< Out Of Band data. */
-/**@} */
-
-/**@defgroup BLE_GAP_SEC_STATUS GAP Security status
- * @{ */
-#define BLE_GAP_SEC_STATUS_SUCCESS                0x00  /**< Successful parameters. */
-#define BLE_GAP_SEC_STATUS_TIMEOUT                0x01  /**< Procedure timed out. */
-#define BLE_GAP_SEC_STATUS_PDU_INVALID            0x02  /**< Invalid PDU received. */
-#define BLE_GAP_SEC_STATUS_PASSKEY_ENTRY_FAILED   0x81  /**< Passkey entry failed (user cancelled or other). */
-#define BLE_GAP_SEC_STATUS_OOB_NOT_AVAILABLE      0x82  /**< Out of Band Key not available. */
-#define BLE_GAP_SEC_STATUS_AUTH_REQ               0x83  /**< Authentication requirements not met. */
-#define BLE_GAP_SEC_STATUS_CONFIRM_VALUE          0x84  /**< Confirm value failed. */
-#define BLE_GAP_SEC_STATUS_PAIRING_NOT_SUPP       0x85  /**< Pairing not supported.  */
-#define BLE_GAP_SEC_STATUS_ENC_KEY_SIZE           0x86  /**< Encryption key size. */
-#define BLE_GAP_SEC_STATUS_SMP_CMD_UNSUPPORTED    0x87  /**< Unsupported SMP command. */
-#define BLE_GAP_SEC_STATUS_UNSPECIFIED            0x88  /**< Unspecified reason. */
-#define BLE_GAP_SEC_STATUS_REPEATED_ATTEMPTS      0x89  /**< Too little time elapsed since last attempt. */
-#define BLE_GAP_SEC_STATUS_INVALID_PARAMS         0x8A  /**< Invalid parameters. */
-/**@} */
-
-/**@defgroup BLE_GAP_SEC_STATUS_SOURCES GAP Security status sources
- * @{ */
-#define BLE_GAP_SEC_STATUS_SOURCE_LOCAL           0x00  /**< Local failure. */
-#define BLE_GAP_SEC_STATUS_SOURCE_REMOTE          0x01  /**< Remote failure. */
-/**@} */
-
-/**@defgroup BLE_GAP_CP_LIMITS GAP Connection Parameters Limits
- * @{ */
-#define BLE_GAP_CP_MIN_CONN_INTVL_NONE           0xFFFF  /**< No new minimum connction interval specified in connect parameters. */
-#define BLE_GAP_CP_MIN_CONN_INTVL_MIN            0x0006  /**< Lowest mimimum connection interval permitted, in units of 1.25 ms, i.e. 7.5 ms. */
-#define BLE_GAP_CP_MIN_CONN_INTVL_MAX            0x0C80  /**< Highest minimum connection interval permitted, in units of 1.25 ms, i.e. 4 s. */
-#define BLE_GAP_CP_MAX_CONN_INTVL_NONE           0xFFFF  /**< No new maximum connction interval specified in connect parameters. */
-#define BLE_GAP_CP_MAX_CONN_INTVL_MIN            0x0006  /**< Lowest maximum connection interval permitted, in units of 1.25 ms, i.e. 7.5 ms. */
-#define BLE_GAP_CP_MAX_CONN_INTVL_MAX            0x0C80  /**< Highest maximum connection interval permitted, in units of 1.25 ms, i.e. 4 s. */
-#define BLE_GAP_CP_SLAVE_LATENCY_MAX             0x03E8  /**< Highest slave latency permitted, in connection events. */
-#define BLE_GAP_CP_CONN_SUP_TIMEOUT_NONE         0xFFFF  /**< No new supervision timeout specified in connect parameters. */
-#define BLE_GAP_CP_CONN_SUP_TIMEOUT_MIN          0x000A  /**< Lowest supervision timeout permitted, in units of 10 ms, i.e. 100 ms. */
-#define BLE_GAP_CP_CONN_SUP_TIMEOUT_MAX          0x0C80  /**< Highest supervision timeout permitted, in units of 10 ms, i.e. 32 s. */
-/**@} */
-
-
-/**@brief GAP device name maximum length. */
-#define BLE_GAP_DEVNAME_MAX_LEN           31
-
-
-/**@defgroup BLE_GAP_CONN_SEC_MODE_SET_MACROS GAP attribute security requirement setters
- *
- * See @ref ble_gap_conn_sec_mode_t.
- * @{ */
-/**@brief Set sec_mode pointed to by ptr to have no access rights.*/
-#define BLE_GAP_CONN_SEC_MODE_SET_NO_ACCESS(ptr)         do {(ptr)->sm = 0; (ptr)->lv = 0;} while(0)
-/**@brief Set sec_mode pointed to by ptr to require no protection, open link.*/
-#define BLE_GAP_CONN_SEC_MODE_SET_OPEN(ptr)              do {(ptr)->sm = 1; (ptr)->lv = 1;} while(0)
-/**@brief Set sec_mode pointed to by ptr to require encryption, but no MITM protection.*/
-#define BLE_GAP_CONN_SEC_MODE_SET_ENC_NO_MITM(ptr)       do {(ptr)->sm = 1; (ptr)->lv = 2;} while(0)
-/**@brief Set sec_mode pointed to by ptr to require encryption and MITM protection.*/
-#define BLE_GAP_CONN_SEC_MODE_SET_ENC_WITH_MITM(ptr)     do {(ptr)->sm = 1; (ptr)->lv = 3;} while(0)
-/**@brief Set sec_mode pointed to by ptr to require signing or encryption, no MITM protection needed.*/
-#define BLE_GAP_CONN_SEC_MODE_SET_SIGNED_NO_MITM(ptr)    do {(ptr)->sm = 2; (ptr)->lv = 1;} while(0)
-/**@brief Set sec_mode pointed to by ptr to require signing or encryption with MITM protection.*/
-#define BLE_GAP_CONN_SEC_MODE_SET_SIGNED_WITH_MITM(ptr)  do {(ptr)->sm = 2; (ptr)->lv = 2;} while(0)
-/**@} */
-
-
-/**@brief GAP Security Key Length. */
-#define BLE_GAP_SEC_KEY_LEN 16
-
-/**@brief GAP Passkey Length. */
-#define BLE_GAP_PASSKEY_LEN 6
-
-/**@brief Maximum amount of addresses in a whitelist. */
-#define BLE_GAP_WHITELIST_ADDR_MAX_COUNT (8)
-
-/**@brief Maximum amount of IRKs in a whitelist.
- * @note  The number of IRKs is limited to 8, even if the hardware supports more.
- */
-#define BLE_GAP_WHITELIST_IRK_MAX_COUNT (8)
-
-/**@defgroup GAP_SEC_MODES GAP Security Modes
- * @{ */
-#define BLE_GAP_SEC_MODE 0x00 /**< No key (may be used to reject). */
-/**@} */
-
-/**@} */
-
-/**@addtogroup BLE_GAP_STRUCTURES Structures
- * @{ */
-
-/**@brief Bluetooth Low Energy address. */
-typedef struct
-{
-  uint8_t addr_type;                    /**< See @ref BLE_GAP_ADDR_TYPES. */
-  uint8_t addr[BLE_GAP_ADDR_LEN];       /**< 48-bit address, LSB format. */
-} ble_gap_addr_t;
-
-
-/**@brief GAP connection parameters.
- *
- * @note  When ble_conn_params_t is received in an event, both min_conn_interval and
- *        max_conn_interval will be equal to the connection interval set by the central.
- */
-typedef struct
-{
-  uint16_t min_conn_interval;         /**< Minimum Connection Interval in 1.25 ms units, see @ref BLE_GAP_CP_LIMITS.*/
-  uint16_t max_conn_interval;         /**< Maximum Connection Interval in 1.25 ms units, see @ref BLE_GAP_CP_LIMITS.*/
-  uint16_t slave_latency;             /**< Slave Latency in number of connection events, see @ref BLE_GAP_CP_LIMITS.*/
-  uint16_t conn_sup_timeout;          /**< Connection Supervision Timeout in 10 ms units, see @ref BLE_GAP_CP_LIMITS.*/
-} ble_gap_conn_params_t;
-
-
-/**@brief GAP link requirements.
- *
- * See Bluetooth Core specification, Volume 3 Part C 10.2 for details.
- *
- * Security Mode 0 Level 0: No access permissions at all (this level is not defined by the Bluetooth Core specification).\n
- * Security Mode 1 Level 1: No security is needed (aka open link).\n
- * Security Mode 1 Level 2: Encrypted link required, MITM protection not necessary.\n
- * Security Mode 1 Level 3: MITM protected encrypted link required.\n
- * Security Mode 2 Level 1: Signing or encryption required, MITM protection not necessary.\n
- * Security Mode 2 Level 2: MITM protected signing required, unless link is MITM protected encrypted.\n
- */
-typedef struct
-{
-  uint8_t sm : 4;                     /**< Security Mode (1 or 2), 0 for no permissions at all. */
-  uint8_t lv : 4;                     /**< Level (1, 2 or 3), 0 for no permissions at all. */
-
-} ble_gap_conn_sec_mode_t;
-
-
-/**@brief GAP connection security status.*/
-typedef struct
-{
-  ble_gap_conn_sec_mode_t sec_mode;           /**< Currently active security mode for this connection.*/
-  uint8_t                 encr_key_size;      /**< Length of currently active encryption key, 7 to 16 octets (only applicable for bonding procedures). */
-} ble_gap_conn_sec_t;
-
-
-/**@brief Identity Resolving Key. */
-typedef struct
-{
-  uint8_t irk[BLE_GAP_SEC_KEY_LEN];   /**< Array containing IRK. */
-} ble_gap_irk_t;
-
-
-/**@brief Whitelist structure. */
-typedef struct
-{
-  ble_gap_addr_t   ** pp_addrs;        /**< Pointer to array of device address pointers, pointing to addresses to be used in whitelist. NULL if none are given. */
-  uint8_t             addr_count;      /**< Count of device addresses in array, up to @ref BLE_GAP_WHITELIST_ADDR_MAX_COUNT. */
-  ble_gap_irk_t    ** pp_irks;         /**< Pointer to array of Identity Resolving Key (IRK) pointers, each pointing to an IRK in the whitelist. NULL if none are given. */
-  uint8_t             irk_count;       /**< Count of IRKs in array, up to @ref BLE_GAP_WHITELIST_IRK_MAX_COUNT. */
-} ble_gap_whitelist_t;
-
-
-/**@brief GAP advertising parameters.*/
-typedef struct
-{
-  uint8_t               type;                 /**< See @ref BLE_GAP_ADV_TYPES. */
-  ble_gap_addr_t*       p_peer_addr;          /**< For BLE_GAP_CONN_MODE_DIRECTED mode only, known peer address. */
-  uint8_t               fp;                   /**< Filter Policy, see @ref BLE_GAP_ADV_FILTER_POLICIES. */
-  ble_gap_whitelist_t * p_whitelist;          /**< Pointer to whitelist, NULL if none is given. */
-  uint16_t              interval;             /**< Advertising interval between 0x0020 and 0x4000 in 0.625 ms units (20ms to 10.24s), see @ref BLE_GAP_ADV_INTERVALS. This parameter must be set to 0 if type equals @ref BLE_GAP_ADV_TYPE_ADV_DIRECT_IND. */
-  uint16_t              timeout;              /**< Advertising timeout between 0x0001 and 0x3FFF in seconds, 0x0000 disables timeout. See also @ref BLE_GAP_ADV_TIMEOUT_VALUES. This parameter must be set to 0 if type equals @ref BLE_GAP_ADV_TYPE_ADV_DIRECT_IND. */
-} ble_gap_adv_params_t;
-
-
-/**@brief GAP scanning parameters. */
-typedef struct
-{
-  uint8_t    filter;                    /**< Filter based on discovery mode, see @ref BLE_GAP_DISC_MODES. */
-  uint8_t    active    : 1;             /**< If 1, perform active scanning (scan requests). */
-  uint8_t    selective : 1;             /**< If 1, ignore unknown devices (non whitelisted). */
-  uint16_t   interval;                  /**< Scan interval between 0x0020 and 0x4000 in 0.625ms units (20ms to 10.24s). */
-  uint16_t   window;                    /**< Scan window between 0x0004 and 0x4000 in 0.625ms units (2.5ms to 10.24s). */
-  uint16_t   timeout;                   /**< Scan timeout between 0x0001 and 0x3FFF in seconds, 0x0000 disables timeout. */
-} ble_gap_scan_params_t;
-
-
-/**@brief GAP security parameters. */
-typedef struct
-{
-  uint16_t   timeout;                   /**< Timeout for SMP transactions or Security Request in seconds, see @ref sd_ble_gap_authenticate and @ref sd_ble_gap_sec_params_reply for more information. */
-  uint8_t    bond    : 1;               /**< Perform bonding. */
-  uint8_t    mitm    : 1;               /**< Man In The Middle protection required. */
-  uint8_t    io_caps : 3;               /**< IO capabilities, see @ref BLE_GAP_IO_CAPS. */
-  uint8_t    oob     : 1;               /**< Out Of Band data available. */
-  uint8_t    min_key_size;              /**< Minimum encryption key size in octets between 7 and 16. */
-  uint8_t    max_key_size;              /**< Maximum encryption key size in octets between min_key_size and 16. */
-} ble_gap_sec_params_t;
-
-
-/**@brief GAP Encryption Information. */
-typedef struct
-{
-  uint16_t  div;                        /**< Encryption Diversifier. */
-  uint8_t   ltk[BLE_GAP_SEC_KEY_LEN];   /**< Long Term Key. */
-  uint8_t   auth : 1;                   /**< Authenticated Key. */
-  uint8_t   ltk_len : 7;                /**< LTK length in octets. */
-} ble_gap_enc_info_t;
-
-
-/**@brief GAP Master Identification. */
-typedef struct
-{
-  uint16_t  ediv;                       /**< Encrypted Diversifier. */
-  uint8_t   rand[8];                    /**< Random Number. */
-} ble_gap_master_id_t;
-
-
-/**@brief GAP Identity Information. */
-typedef struct
-{
-  ble_gap_addr_t  addr;                       /**< Bluetooth address to which this key applies. */
-  uint8_t         irk[BLE_GAP_SEC_KEY_LEN];   /**< Identity Resolution Key. */
-} ble_gap_id_info_t;
-
-
-/**@brief GAP Signing Information. */
-typedef struct
-{
-  uint8_t   csrk[BLE_GAP_SEC_KEY_LEN]; /* Connection Signature Resolving Key. */
-} ble_gap_sign_info_t;
-
-
-/**@brief GAP Event IDs.
- * Those IDs uniquely identify an event coming from the stack to the application.
- */
-enum BLE_GAP_EVTS
-{
-  BLE_GAP_EVT_CONNECTED  = BLE_GAP_EVT_BASE,    /**< Connection established. */
-  BLE_GAP_EVT_DISCONNECTED,                     /**< Disconnected from peer. */
-  BLE_GAP_EVT_CONN_PARAM_UPDATE,                /**< Connection Parameters updated. */
-  BLE_GAP_EVT_SEC_PARAMS_REQUEST,               /**< Request to provide security parameters. */
-  BLE_GAP_EVT_SEC_INFO_REQUEST,                 /**< Request to provide security information. */
-  BLE_GAP_EVT_PASSKEY_DISPLAY,                  /**< Request to display a passkey to the user. */
-  BLE_GAP_EVT_AUTH_KEY_REQUEST,                 /**< Request to provide an authentication key. */
-  BLE_GAP_EVT_AUTH_STATUS,                      /**< Authentication procedure completed with status. */
-  BLE_GAP_EVT_CONN_SEC_UPDATE,                  /**< Connection security updated. */
-  BLE_GAP_EVT_TIMEOUT,                          /**< Timeout expired. */
-  BLE_GAP_EVT_RSSI_CHANGED,                     /**< Signal strength measurement report. */
-};
-
-
-/**
- * @brief GAP Option IDs.
- * IDs that uniquely identify a GAP option.
- */
-enum BLE_GAP_OPTS
-{
-  BLE_GAP_OPT_LOCAL_CONN_LATENCY  = BLE_GAP_OPT_BASE,    /**< Local connection latency. */
-  BLE_GAP_OPT_PASSKEY,                                   /**< Set passkey to be used during pairing. This option can be used to make the SoftDevice use an application provided passkey instead of generating a random passkey.*/
-  BLE_GAP_OPT_PRIVACY,                                   /**< Set or get custom IRK or custom private address cycle interval. */
-};
-/**@} */
-
-
-/**@brief Event data for connected event. */
-typedef struct
-{
-  ble_gap_addr_t        peer_addr;              /**< Bluetooth address of the peer device. */
-  uint8_t               irk_match :1;           /**< If 1, peer device's address resolved using an IRK. */
-  uint8_t               irk_match_idx  :7;      /**< Index in IRK list where the address was matched. */
-  ble_gap_conn_params_t conn_params;            /**< GAP Connection Parameters. */
-} ble_gap_evt_connected_t;
-
-
-/**@brief Event data for disconnected event. */
-typedef struct
-{
-  uint8_t reason;                               /**< HCI error code. */
-} ble_gap_evt_disconnected_t;
-
-
-/**@brief Event data for connection parameter update event. */
-typedef struct
-{
-  ble_gap_conn_params_t conn_params;            /**<  GAP Connection Parameters. */
-} ble_gap_evt_conn_param_update_t;
-
-
-/**@brief Event data for security parameters request event. */
-typedef struct
-{
-  ble_gap_sec_params_t peer_params;             /**< Initiator Security Parameters. */
-} ble_gap_evt_sec_params_request_t;
-
-
-/**@brief Event data for security info request event. */
-typedef struct
-{
-  ble_gap_addr_t peer_addr;                     /**< Bluetooth address of the peer device. */
-  uint16_t       div;                           /**< Encryption diversifier for LTK lookup. */
-  uint8_t        enc_info  : 1;                 /**< If 1, Encryption Information required. */
-  uint8_t        id_info   : 1;                 /**< If 1, Identity Information required. */
-  uint8_t        sign_info : 1;                 /**< If 1, Signing Information required. */
-} ble_gap_evt_sec_info_request_t;
-
-
-/**@brief Event data for passkey display event. */
-typedef struct
-{
-  uint8_t passkey[BLE_GAP_PASSKEY_LEN];         /**< 6-digit passkey in ASCII ('0'-'9' digits only). */
-} ble_gap_evt_passkey_display_t;
-
-
-/**@brief Event data for authentication key request event. */
-typedef struct
-{
-  uint8_t key_type;                             /**< See @ref BLE_GAP_AUTH_KEY_TYPES. */
-} ble_gap_evt_auth_key_request_t;
-
-
-/**@brief Security levels supported.
- * @note See Bluetooth Specification Version 4.1 Volume 3, Part C, Chapter 10.
-*/
-typedef struct
-{
-  uint8_t lv1 : 1;                              /**< If 1: Level 1 is supported. */
-  uint8_t lv2 : 1;                              /**< If 1: Level 2 is supported. */
-  uint8_t lv3 : 1;                              /**< If 1: Level 3 is supported. */
-} ble_gap_sec_levels_t;
-
-
-/**@brief Keys that have been exchanged. */
-typedef struct
-{
-  uint8_t ltk       : 1;                        /**< Long Term Key. */
-  uint8_t ediv_rand : 1;                        /**< Encrypted Diversifier and Random value. */
-  uint8_t irk       : 1;                        /**< Identity Resolving Key. */
-  uint8_t address   : 1;                        /**< Public or static random address. */
-  uint8_t csrk      : 1;                        /**< Connection Signature Resolving Key. */
-} ble_gap_sec_keys_t;
-
-
-/**@brief Event data for authentication status event. */
-typedef struct
-{
-  uint8_t               auth_status;            /**< Authentication status, see @ref BLE_GAP_SEC_STATUS. */
-  uint8_t               error_src;              /**< On error, source that caused the failure, see @ref BLE_GAP_SEC_STATUS_SOURCES. */
-  ble_gap_sec_levels_t  sm1_levels;             /**< Levels supported in Security Mode 1. */
-  ble_gap_sec_levels_t  sm2_levels;             /**< Levels supported in Security Mode 2. */
-  ble_gap_sec_keys_t    periph_kex;             /**< Bitmap stating which keys were exchanged (distributed) by the peripheral. */
-  ble_gap_sec_keys_t    central_kex;            /**< Bitmap stating which keys were exchanged (distributed) by the central. */
-  struct periph_keys_t
-  {
-    ble_gap_enc_info_t    enc_info;             /**< Peripheral's Encryption information. */
-  } periph_keys;                                /**< Actual keys distributed from the Peripheral to the Central. */ 
-  struct central_keys_t
-  {
-    ble_gap_irk_t         irk;                  /**< Central's IRK. */
-    ble_gap_addr_t        id_info;              /**< Central's Identity Info. */
-  } central_keys;                               /**< Actual keys distributed from the Central to the Peripheral. */
-} ble_gap_evt_auth_status_t;
-
-
-/**@brief Event data for connection security update event. */
-typedef struct
-{
-  ble_gap_conn_sec_t conn_sec;                  /**< Connection security level. */
-} ble_gap_evt_conn_sec_update_t;
-
-
-/**@brief Event data for timeout event. */
-typedef struct
-{
-  uint8_t src;                                  /**< Source of timeout event, see @ref BLE_GAP_TIMEOUT_SOURCES. */
-} ble_gap_evt_timeout_t;
-
-
-/**@brief Event data for advertisement report event. */
-typedef struct
-{
-  int8_t  rssi;                               /**< Received Signal Strength Indication in dBm. */
-} ble_gap_evt_rssi_changed_t;
-
-
-/**@brief GAP event callback event structure. */
-typedef struct
-{
-  uint16_t conn_handle;                                     /**< Connection Handle on which event occured. */
-  union                                                     /**< union alternative identified by evt_id in enclosing struct. */
-  {
-    ble_gap_evt_connected_t          connected;             /**< Connected Event Parameters. */
-    ble_gap_evt_disconnected_t       disconnected;          /**< Disconnected Event Parameters. */
-    ble_gap_evt_conn_param_update_t  conn_param_update;     /**< Connection Parameter Update Parameters. */
-    ble_gap_evt_sec_params_request_t sec_params_request;    /**< Security Parameters Request Event Parameters. */
-    ble_gap_evt_sec_info_request_t   sec_info_request;      /**< Security Information Request Event Parameters. */
-    ble_gap_evt_passkey_display_t    passkey_display;       /**< Passkey Display Event Parameters. */
-    ble_gap_evt_auth_key_request_t   auth_key_request;      /**< Authentication Key Request Event Parameters. */
-    ble_gap_evt_auth_status_t        auth_status;           /**< Authentication Status Event Parameters. */
-    ble_gap_evt_conn_sec_update_t    conn_sec_update;       /**< Connection Security Update Event Parameters. */
-    ble_gap_evt_timeout_t            timeout;               /**< Timeout Event Parameters. */
-    ble_gap_evt_rssi_changed_t       rssi_changed;          /**< RSSI Event parameters. */
-  } params;
-
-} ble_gap_evt_t;
-
-
-/**@brief Local connection latency option.
- *
- *         Local connection latency is a feature which enables the slave to improve
- *         current consumption by ignoring the slave latency set by the peer. The
- *         local connection latency can only be set to a multiple of the slave latency,
- *         and cannot be longer than half of the supervision timeout.
- *
- *         Used with @ref sd_ble_opt_set to set the local connection latency. The
- *         @ref sd_ble_opt_get is not supported for this option, but the actual 
- *         local connection latency (unless set to NULL) is set as a return parameter
- *         when setting the option.
- *
- *  @note  The latency set will be truncated down to the closest slave latency event
- *         multiple, or the nearest multiple before half of the supervision timeout.
- *
- *  @note  The local connection latency is default off, and needs to be set for new
- *         connections and whenever the connection is updated.
- *
- *  @retval ::NRF_SUCCESS Set successfully.
- *  @retval ::NRF_ERROR_NOT_SUPPORTED Get is not supported.
- *  @retval ::BLE_ERROR_INVALID_CONN_HANDLE Invalid connection handle parameter.
- */
-typedef struct
-{
-  uint16_t   conn_handle;                       /**< Connection Handle */
-  uint16_t   requested_latency;                 /**< Requested local connection latency. */
-  uint16_t * p_actual_latency;                  /**< Pointer to storage for the actual local connection latency (can be set to NULL to skip return value). */
-} ble_gap_opt_local_conn_latency_t;
-
-
-/**@brief Passkey Option.
- *
- *        Structure containing the passkey to be used during pairing. This can be used with @ref
- *        sd_ble_opt_set to make the SoftDevice use a pre-programmed passkey for authentication
- *        instead of generating a random one.
- *
- * @note  @ref sd_ble_opt_get is not supported for this option.
- *
- */
-typedef struct
-{
-  uint8_t * p_passkey;                          /**< Pointer to 6-digit ASCII string (digit 0..9 only, no NULL termination) passkey to be used during pairing. If this is NULL, the SoftDevice will generate a random passkey if required.*/
-} ble_gap_opt_passkey_t;
-
-
-/**@brief Custom Privacy Options.
- *
- * @note The specified address cycle interval is used when the address cycle mode is
- * @ref BLE_GAP_ADDR_CYCLE_MODE_AUTO. If 0 is given, the address will not be refreshed at any
- * interval, and not at start of advertising. A new address can be generated manually by calling
- * @ref sd_ble_gap_address_set with the same type again. The default interval is
- * @ref BLE_GAP_DEFAULT_PRIVATE_ADDR_CYCLE_INTERVAL_S.
- *
- * @note If cycle mode is @ref BLE_GAP_ADDR_CYCLE_MODE_AUTO, the address will immediately be
- * refreshed when this option is set.
- */
-typedef struct
-{
-  ble_gap_irk_t * p_irk;        /**< When input: Pointer to custom IRK, or NULL to use/reset to the device's default IRK. When output: Pointer to where the current IRK is to be stored, or NULL to not read out the IRK. */
-  uint16_t        interval_s;   /**< When input: Custom private address cycle interval in seconds. When output: The current private address cycle interval. */
-} ble_gap_opt_privacy_t;
-
-
-/**@brief Option structure for GAP options. */
-typedef union
-{
-  ble_gap_opt_local_conn_latency_t local_conn_latency;  /**< Local connection latency. */
-  ble_gap_opt_passkey_t            passkey;             /**< Passkey to be used for pairing.*/
-  ble_gap_opt_privacy_t            privacy;             /**< Custom privacy options. */
-} ble_gap_opt_t;
-/**@} */
-
-
-/**@addtogroup BLE_GAP_FUNCTIONS Functions
- * @{ */
-
-/**@brief Set local Bluetooth address.
- *
- * If the address cycle mode is @ref BLE_GAP_ADDR_CYCLE_MODE_AUTO, the address type is required to
- * be @ref BLE_GAP_ADDR_TYPE_RANDOM_PRIVATE_RESOLVABLE or
- * @ref BLE_GAP_ADDR_TYPE_RANDOM_PRIVATE_NON_RESOLVABLE. The given address is ignored and the
- * SoftDevice will generate a new private address automatically every time advertising is
- * (re)started, and every @ref BLE_GAP_DEFAULT_PRIVATE_ADDR_CYCLE_INTERVAL_S seconds. If this API
- * call is used again with the same parameters while advertising, the SoftDevice will immediately
- * generate a new private address to replace the current address.
- *
- * If the application wishes to use a @ref BLE_GAP_ADDR_TYPE_PUBLIC or
- * @ref BLE_GAP_ADDR_TYPE_RANDOM_STATIC address, the cycle mode must be
- * @ref BLE_GAP_ADDR_CYCLE_MODE_NONE.
- *
- * If this API function is called while advertising, the softdevice will immediately update the
- * advertising address without the need to stop advertising in the following cases:
- *   - If the previously set address is of type @ref BLE_GAP_ADDR_TYPE_PUBLIC and the new address
- *   is also of type @ref BLE_GAP_ADDR_TYPE_PUBLIC
- *   - If the previously set address is not @ref BLE_GAP_ADDR_TYPE_PUBLIC and the new address is
- *   also not @ref BLE_GAP_ADDR_TYPE_PUBLIC.
- *
- * If the address is changed from a @ref BLE_GAP_ADDR_TYPE_PUBLIC address to another type or from
- * another type to a @ref BLE_GAP_ADDR_TYPE_PUBLIC address, the change will take effect the next
- * time advertising is started.
- *
- * @note If the address cycle mode is @ref BLE_GAP_ADDR_CYCLE_MODE_NONE and the application is
- *       using privacy, the application must take care to generate and set new private addresses
- *       periodically to comply with the Privacy specification in Bluetooth Core Spec.
- *
- * @param[in] addr_cycle_mode Address cycle mode, see @ref BLE_GAP_ADDR_CYCLE_MODES.
- * @param[in] p_addr          Pointer to address structure.
- *
- * @return @ref NRF_SUCCESS Address successfully set.
- * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
- * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameters.
- * @return @ref BLE_ERROR_GAP_INVALID_BLE_ADDR Invalid address.
- * @return @ref NRF_ERROR_BUSY The stack is busy, process pending events and retry.
- */
-SVCALL(SD_BLE_GAP_ADDRESS_SET, uint32_t, sd_ble_gap_address_set(uint8_t addr_cycle_mode, ble_gap_addr_t const * const p_addr));
-
-
-/**@brief Get local Bluetooth address.
- *
- * @param[out] p_addr Pointer to address structure.
- *
- * @return @ref NRF_SUCCESS Address successfully retrieved.
- * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
- */
-SVCALL(SD_BLE_GAP_ADDRESS_GET, uint32_t, sd_ble_gap_address_get(ble_gap_addr_t * const p_addr));
-
-
-/**@brief Set, clear or update advertisement and scan response data.
- *
- * @note The format of the advertisement data will be checked by this call to ensure interoperability.
- *       Limitations imposed by this API call to the data provided include having a flags data type in the scan response data and
- *       duplicating the local name in the advertisement data and scan response data. 
- *
- * @note: To clear the advertisement data and set it to a 0-length packet, simply provide a valid pointer (p_data/p_sr_data) with its corresponding 
- *        length (dlen/srdlen) set to 0.
- *
- * @note: The call will fail if p_data and p_sr_data are both NULL since this would have no effect.
- *
- * @param[in] p_data    Raw data to be placed in advertisement packet. If NULL, no changes are made to the current advertisement packet data.
- * @param[in] dlen      Data length for p_data. Max size: @ref BLE_GAP_ADV_MAX_SIZE octets. Should be 0 if p_data is NULL, can be 0 if p_data is not NULL.
- * @param[in] p_sr_data Raw data to be placed in scan response packet. If NULL, no changes are made to the current scan response packet data.
- * @param[in] srdlen    Data length for p_sr_data. Max size: @ref BLE_GAP_ADV_MAX_SIZE octets. Should be 0 if p_sr_data is NULL, can be 0 if p_data is not NULL.
- *
- * @return @ref NRF_SUCCESS Advertisement data successfully updated or cleared.
- * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
- * @return @ref NRF_ERROR_INVALID_FLAGS Invalid combination of advertising flags supplied.
- * @return @ref NRF_ERROR_INVALID_DATA Invalid data type(s) supplied, check the advertising data format specification.
- * @return @ref NRF_ERROR_INVALID_LENGTH Invalid data length(s) supplied.
- * @return @ref BLE_ERROR_GAP_UUID_LIST_MISMATCH Invalid UUID list supplied.
- * @return @ref NRF_ERROR_BUSY The stack is busy, process pending events and retry.
- */
-SVCALL(SD_BLE_GAP_ADV_DATA_SET, uint32_t, sd_ble_gap_adv_data_set(uint8_t const * const p_data, uint8_t dlen, uint8_t const * const p_sr_data, uint8_t srdlen));
-
-
-/**@brief Start advertising (GAP Discoverable, Connectable modes, Broadcast Procedure).
- *
- * @param[in] p_adv_params Pointer to advertising parameters structure.
- *
- * @return @ref NRF_SUCCESS The BLE stack has started advertising.
- * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
- * @return @ref NRF_ERROR_INVALID_STATE Invalid state to perform operation.
- * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied, check the accepted ranges and limits.
- * @return @ref BLE_ERROR_GAP_INVALID_BLE_ADDR Invalid Bluetooth address supplied.
- * @return @ref BLE_ERROR_GAP_DISCOVERABLE_WITH_WHITELIST Discoverable mode and whitelist incompatible.
- */
-SVCALL(SD_BLE_GAP_ADV_START, uint32_t, sd_ble_gap_adv_start(ble_gap_adv_params_t const * const p_adv_params));
-
-
-/**@brief Stop advertising (GAP Discoverable, Connectable modes, Broadcast Procedure).
- *
- * @return @ref NRF_SUCCESS The BLE stack has stopped advertising.
- * @return @ref NRF_ERROR_INVALID_STATE Invalid state to perform operation (most probably not in advertising state).
- */
-SVCALL(SD_BLE_GAP_ADV_STOP, uint32_t, sd_ble_gap_adv_stop(void));
-
-
-/**@brief Update connection parameters.
- *
- * @details In the central role this will initiate a Link Layer connection parameter update procedure,
- *          otherwise in the peripheral role, this will send the corresponding L2CAP request and wait for
- *          the central to perform the procedure. In both cases, and regardless of success or failure, the application
- *          will be informed of the result with a @ref BLE_GAP_EVT_CONN_PARAM_UPDATE event.
- *
- * @note If both a connection supervision timeout and a maximum connection interval are specified, then the following constraint
- *       applies: (conn_sup_timeout * 8) >= (max_conn_interval * (slave_latency + 1))
- *
- * @param[in] conn_handle Connection handle.
- * @param[in] p_conn_params  Pointer to desired connection parameters. If NULL is provided on a peripheral role,
- *                           the parameters in the PPCP characteristic of the GAP service will be used instead.
- *
- * @return @ref NRF_SUCCESS The Connection Update procedure has been started successfully.
- * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
- * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied, check parameter limits and constraints.
- * @return @ref NRF_ERROR_BUSY Procedure already in progress or not allowed at this time, process pending events and retry.
- * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid connection handle supplied.
- * @return @ref NRF_ERROR_NO_MEM Not enough memory to complete operation.
- */
-SVCALL(SD_BLE_GAP_CONN_PARAM_UPDATE, uint32_t, sd_ble_gap_conn_param_update(uint16_t conn_handle, ble_gap_conn_params_t const * const p_conn_params));
-
-
-/**@brief Disconnect (GAP Link Termination).
- *
- * @details This call initiates the disconnection procedure, and its completion will be communicated to the application
- *          with a BLE_GAP_EVT_DISCONNECTED event.
- *
- * @param[in] conn_handle Connection handle.
- * @param[in] hci_status_code HCI status code, see @ref BLE_HCI_STATUS_CODES (accepted values are BTLE_REMOTE_USER_TERMINATED_CONNECTION and BTLE_CONN_INTERVAL_UNACCEPTABLE).
- *
- * @return @ref NRF_SUCCESS The disconnection procedure has been started successfully.
- * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied.
- * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid connection handle supplied.
- * @return @ref NRF_ERROR_INVALID_STATE Invalid state to perform operation (disconnection is already in progress or not connected at all).
- */
-SVCALL(SD_BLE_GAP_DISCONNECT, uint32_t, sd_ble_gap_disconnect(uint16_t conn_handle, uint8_t hci_status_code));
-
-
-/**@brief Set the radio's transmit power.
- *
- * @param[in] tx_power Radio transmit power in dBm (accepted values are -40, -30, -20, -16, -12, -8, -4, 0, and 4 dBm).
- *
- * @note -40 dBm will not actually give -40 dBm, but will instead be remapped to -30 dBm.
- *
- * @return @ref NRF_SUCCESS Successfully changed the transmit power.
- * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied.
- * @return @ref NRF_ERROR_BUSY The stack is busy, process pending events and retry.
- */
-SVCALL(SD_BLE_GAP_TX_POWER_SET, uint32_t, sd_ble_gap_tx_power_set(int8_t tx_power));
-
-
-/**@brief Set GAP Appearance value.
- *
- * @param[in] appearance Appearance (16-bit), see @ref BLE_APPEARANCES.
- *
- * @return @ref NRF_SUCCESS  Appearance value set successfully.
- * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied.
- */
-SVCALL(SD_BLE_GAP_APPEARANCE_SET, uint32_t, sd_ble_gap_appearance_set(uint16_t appearance));
-
-
-/**@brief Get GAP Appearance value.
- *
- * @param[out] p_appearance Appearance (16-bit), see @ref BLE_APPEARANCES.
- *
- * @return @ref NRF_SUCCESS Appearance value retrieved successfully.
- * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
- */
-SVCALL(SD_BLE_GAP_APPEARANCE_GET, uint32_t, sd_ble_gap_appearance_get(uint16_t * const p_appearance));
-
-
-/**@brief Set GAP Peripheral Preferred Connection Parameters.
- *
- * @param[in] p_conn_params Pointer to a @ref ble_gap_conn_params_t structure with the desired parameters.
- *
- * @return @ref NRF_SUCCESS Peripheral Preferred Connection Parameters set successfully.
- * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
- * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied.
- */
-SVCALL(SD_BLE_GAP_PPCP_SET, uint32_t, sd_ble_gap_ppcp_set(ble_gap_conn_params_t const * const p_conn_params));
-
-
-/**@brief Get GAP Peripheral Preferred Connection Parameters.
- *
- * @param[out] p_conn_params Pointer to a @ref ble_gap_conn_params_t structure where the parameters will be stored.
- *
- * @return @ref NRF_SUCCESS Peripheral Preferred Connection Parameters retrieved successfully.
- * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
- */
-SVCALL(SD_BLE_GAP_PPCP_GET, uint32_t, sd_ble_gap_ppcp_get(ble_gap_conn_params_t * const p_conn_params));
-
-
-/**@brief Set GAP device name.
- *
- * @param[in] p_write_perm Write permissions for the Device Name characteristic see @ref ble_gap_conn_sec_mode_t.
- * @param[in] p_dev_name Pointer to a UTF-8 encoded, <b>non NULL-terminated</b> string.
- * @param[in] len   Length of the UTF-8, <b>non NULL-terminated</b> string pointed to by p_dev_name in octets (must be smaller or equal than @ref BLE_GAP_DEVNAME_MAX_LEN).
- *
- * @return @ref NRF_SUCCESS GAP device name and permissions set successfully.
- * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
- * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied.
- * @return @ref NRF_ERROR_DATA_SIZE Invalid data size(s) supplied.
- */
-SVCALL(SD_BLE_GAP_DEVICE_NAME_SET, uint32_t, sd_ble_gap_device_name_set(ble_gap_conn_sec_mode_t const * const p_write_perm, uint8_t const * const p_dev_name, uint16_t len));
-
-
-/**@brief Get GAP device name.
- *
- * @param[in]     p_dev_name Pointer to an empty buffer where the UTF-8 <b>non NULL-terminated</b> string will be placed. Set to NULL to obtain the complete device name length.
- * @param[in,out] p_len      Length of the buffer pointed by p_dev_name, complete device name length on output.
- *
- * @note          If the device name is longer than the size of the supplied buffer,
- *                p_len will return the complete device name length,
- *                and not the number of bytes actually returned in p_dev_name.
- *                The application may use this information to allocate a suitable buffer size.
- *
- * @return @ref NRF_SUCCESS GAP device name retrieved successfully.
- * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
- * @return @ref NRF_ERROR_DATA_SIZE Invalid data size(s) supplied.
- */
-SVCALL(SD_BLE_GAP_DEVICE_NAME_GET, uint32_t, sd_ble_gap_device_name_get(uint8_t * const p_dev_name, uint16_t * const p_len));
-
-
-/**@brief Initiate GAP Authentication procedure.
- *
- * @param[in] conn_handle Connection handle.
- * @param[in] p_sec_params Pointer to the @ref ble_gap_sec_params_t structure with the security parameters to be used during the pairing procedure.
- *
- * @details In the central role, this function will send an SMP Pairing Request, otherwise in the peripheral role, an SMP Security Request will be sent.
- *          In the peripheral role, only the timeout, bond and mitm fields of @ref ble_gap_sec_params_t are used.
- *
- * @note    The GAP Authentication procedure may be triggered by the central without calling this function when accessing a secure service.
- * @note    Calling this function may result in the following events depending on the outcome and parameters: @ref BLE_GAP_EVT_SEC_PARAMS_REQUEST,
- *          @ref BLE_GAP_EVT_SEC_INFO_REQUEST, @ref BLE_GAP_EVT_AUTH_KEY_REQUEST, @ref BLE_GAP_EVT_AUTH_STATUS.
- * @note    The timeout parameter in @ref ble_gap_sec_params_t is interpreted here as the Security Request timeout
- *
- *
- * @return @ref NRF_SUCCESS Successfully initiated authentication procedure.
- * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
- * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied.
- * @return @ref NRF_ERROR_INVALID_STATE Invalid state to perform operation.
- * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid connection handle supplied.
- */
-SVCALL(SD_BLE_GAP_AUTHENTICATE, uint32_t, sd_ble_gap_authenticate(uint16_t conn_handle, ble_gap_sec_params_t const * const p_sec_params));
-
-
-/**@brief Reply with GAP security parameters.
- *
- * @param[in] conn_handle Connection handle.
- * @param[in] sec_status Security status, see @ref BLE_GAP_SEC_STATUS.
- * @param[in] p_sec_params Pointer to a @ref ble_gap_sec_params_t security parameters structure.
- *
- * @details This function is only used to reply to a @ref BLE_GAP_EVT_SEC_PARAMS_REQUEST, calling it at other times will result in an NRF_ERROR_INVALID_STATE.
- * @note    If the call returns an error code, the request is still pending, and the reply call may be repeated with corrected parameters.
- * @note    The timeout parameter in @ref ble_gap_sec_params_t is interpreted here as the SMP procedure timeout, and must be 30 seconds. The function will fail
- *          if the application supplies a different value.
- *
- * @return @ref NRF_SUCCESS Successfully accepted security parameter from the application.
- * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
- * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied.
- * @return @ref NRF_ERROR_INVALID_STATE Invalid state to perform operation.
- * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid connection handle supplied.
- */
-SVCALL(SD_BLE_GAP_SEC_PARAMS_REPLY, uint32_t, sd_ble_gap_sec_params_reply(uint16_t conn_handle, uint8_t sec_status, ble_gap_sec_params_t const * const p_sec_params));
-
-
-/**@brief Reply with an authentication key.
- *
- * @param[in] conn_handle Connection handle.
- * @param[in] key_type See @ref BLE_GAP_AUTH_KEY_TYPES.
- * @param[in] key If key type is BLE_GAP_AUTH_KEY_TYPE_NONE, then NULL.
- *                If key type is BLE_GAP_AUTH_KEY_TYPE_PASSKEY, then a 6-byte ASCII string (digit 0..9 only, no NULL termination).
- *                If key type is BLE_GAP_AUTH_KEY_TYPE_OOB, then a 16-byte OOB key value in Little Endian format.
- *
- * @details This function is only used to reply to a @ref BLE_GAP_EVT_AUTH_KEY_REQUEST, calling it at other times will result in an NRF_ERROR_INVALID_STATE.
- * @note    If the call returns an error code, the request is still pending, and the reply call may be repeated with corrected parameters.
- *
- * @return @ref NRF_SUCCESS Authentication key successfully set.
- * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
- * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied.
- * @return @ref NRF_ERROR_INVALID_STATE Invalid state to perform operation.
- * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid connection handle supplied.
- */
-SVCALL(SD_BLE_GAP_AUTH_KEY_REPLY, uint32_t, sd_ble_gap_auth_key_reply(uint16_t conn_handle, uint8_t key_type, uint8_t const * const key));
-
-
-/**@brief Reply with GAP security information.
- *
- * @param[in] conn_handle Connection handle.
- * @param[in] p_enc_info Pointer to a @ref ble_gap_enc_info_t encryption information structure. May be NULL to signal none is available.
- * @param[in] p_sign_info Pointer to a @ref ble_gap_sign_info_t signing information structure. May be NULL to signal none is available.
- *
- * @details This function is only used to reply to a @ref BLE_GAP_EVT_SEC_INFO_REQUEST, calling it at other times will result in NRF_ERROR_INVALID_STATE.
- * @note    If the call returns an error code, the request is still pending, and the reply call may be repeated with corrected parameters.
- * @note    Data signing is not implemented yet. p_sign_info must therefore be NULL.
- *
- * @return @ref NRF_SUCCESS Successfully accepted security information.
- * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied.
- * @return @ref NRF_ERROR_INVALID_STATE Invalid state to perform operation.
- * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid connection handle supplied.
- * @return @ref NRF_ERROR_BUSY The stack is busy, process pending events and retry.
- */
-SVCALL(SD_BLE_GAP_SEC_INFO_REPLY, uint32_t, sd_ble_gap_sec_info_reply(uint16_t conn_handle, ble_gap_enc_info_t const * const p_enc_info, ble_gap_sign_info_t const * const p_sign_info));
-
-
-/**@brief Get the current connection security.
- *
- * @param[in]  conn_handle Connection handle.
- * @param[out] p_conn_sec  Pointer to a @ref ble_gap_conn_sec_t structure to be filled in.
- *
- * @return @ref NRF_SUCCESS Current connection security successfully retrieved.
- * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
- * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid connection handle supplied.
- */
-SVCALL(SD_BLE_GAP_CONN_SEC_GET, uint32_t, sd_ble_gap_conn_sec_get(uint16_t conn_handle, ble_gap_conn_sec_t * const p_conn_sec));
-
-
-/**@brief Start reporting the received signal strength to the application. 
- *
- * A new event is reported whenever the RSSI value changes, until @ref sd_ble_gap_rssi_stop is called.
- *
- * @param[in] conn_handle Connection handle.
- *
- * @return @ref NRF_SUCCESS Successfully activated RSSI reporting.
- * @return @ref NRF_ERROR_INVALID_STATE Invalid state to perform operation.
- * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid connection handle supplied.
- */
-SVCALL(SD_BLE_GAP_RSSI_START, uint32_t, sd_ble_gap_rssi_start(uint16_t conn_handle));
-
-
-/**@brief Stop reporting the received singnal strength. 
- *
- * An RSSI change detected before the call but not yet received by the application 
- * may be reported after @ref sd_ble_gap_rssi_stop has been called.
- *
- * @param[in] conn_handle Connection handle.
- *
- * @return @ref NRF_SUCCESS Successfully deactivated RSSI reporting.
- * @return @ref NRF_ERROR_INVALID_STATE Invalid state to perform operation.
- * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid connection handle supplied.
- */
-SVCALL(SD_BLE_GAP_RSSI_STOP, uint32_t, sd_ble_gap_rssi_stop(uint16_t conn_handle));
-/**@} */
-
-#endif // BLE_GAP_H__
-
-/**
-  @}
-*/
--- a/TARGET_RBLAB_NRF51822/TARGET_NORDIC/TARGET_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/ble_gatt.h	Fri Jul 25 09:46:51 2014 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,171 +0,0 @@
-/* Copyright (c) 2012 Nordic Semiconductor. All Rights Reserved.
- *
- * The information contained herein is confidential property of Nordic Semiconductor. The use,
- * copying, transfer or disclosure of such information is prohibited except by express written
- * agreement with Nordic Semiconductor.
- *
- */
- /**
-  @addtogroup BLE_GATT Generic Attribute Profile (GATT) Common
-  @{
-  @brief  Common definitions and prototypes for the GATT interfaces.
- */
-
-#ifndef BLE_GATT_H__
-#define BLE_GATT_H__
-
-#include "ble_types.h"
-#include "ble_ranges.h"
-
-
-/** @addtogroup BLE_GATT_DEFINES Defines
- * @{ */
-
-/** @brief Default MTU size. */
-#define GATT_MTU_SIZE_DEFAULT 23
-
-/** @brief Only the default MTU size of 23 is currently supported. */
-#define GATT_RX_MTU 23
-
-
-/**@brief Invalid Attribute Handle. */
-#define BLE_GATT_HANDLE_INVALID            0x0000
-
-/** @defgroup BLE_GATT_TIMEOUT_SOURCES GATT Timeout sources
- * @{ */
-#define BLE_GATT_TIMEOUT_SRC_PROTOCOL                  0x00 /**< ATT Protocol timeout. */
-/** @} */
-
-/** @defgroup BLE_GATT_WRITE_OPS GATT Write operations
- * @{ */
-#define BLE_GATT_OP_INVALID                0x00  /**< Invalid Operation. */
-#define BLE_GATT_OP_WRITE_REQ              0x01  /**< Write Request. */
-#define BLE_GATT_OP_WRITE_CMD              0x02  /**< Write Command. */
-#define BLE_GATT_OP_SIGN_WRITE_CMD         0x03  /**< Signed Write Command. */
-#define BLE_GATT_OP_PREP_WRITE_REQ         0x04  /**< Prepare Write Request. */
-#define BLE_GATT_OP_EXEC_WRITE_REQ         0x05  /**< Execute Write Request. */
-/** @} */
-
-/** @defgroup BLE_GATT_EXEC_WRITE_FLAGS GATT Execute Write flags
- * @{ */
-#define BLE_GATT_EXEC_WRITE_FLAG_PREPARED_CANCEL 0x00
-#define BLE_GATT_EXEC_WRITE_FLAG_PREPARED_WRITE  0x01
-/** @} */
-
-/** @defgroup BLE_GATT_HVX_TYPES GATT Handle Value operations
- * @{ */
-#define BLE_GATT_HVX_INVALID               0x00  /**< Invalid Operation. */
-#define BLE_GATT_HVX_NOTIFICATION          0x01  /**< Handle Value Notification. */
-#define BLE_GATT_HVX_INDICATION            0x02  /**< Handle Value Indication. */
-/** @} */
-
-/** @defgroup BLE_GATT_STATUS_CODES GATT Status Codes
- * @{ */
-#define BLE_GATT_STATUS_SUCCESS                           0x0000  /**< Success. */
-#define BLE_GATT_STATUS_UNKNOWN                           0x0001  /**< Unknown or not applicable status. */
-#define BLE_GATT_STATUS_ATTERR_INVALID                    0x0100  /**< ATT Error: Invalid Error Code. */
-#define BLE_GATT_STATUS_ATTERR_INVALID_HANDLE             0x0101  /**< ATT Error: Invalid Attribute Handle. */
-#define BLE_GATT_STATUS_ATTERR_READ_NOT_PERMITTED         0x0102  /**< ATT Error: Read not permitted. */
-#define BLE_GATT_STATUS_ATTERR_WRITE_NOT_PERMITTED        0x0103  /**< ATT Error: Write not permitted. */
-#define BLE_GATT_STATUS_ATTERR_INVALID_PDU                0x0104  /**< ATT Error: Used in ATT as Invalid PDU. */
-#define BLE_GATT_STATUS_ATTERR_INSUF_AUTHENTICATION       0x0105  /**< ATT Error: Authenticated link required. */
-#define BLE_GATT_STATUS_ATTERR_REQUEST_NOT_SUPPORTED      0x0106  /**< ATT Error: Used in ATT as Request Not Supported. */
-#define BLE_GATT_STATUS_ATTERR_INVALID_OFFSET             0x0107  /**< ATT Error: Offset specified was past the end of the attribute. */
-#define BLE_GATT_STATUS_ATTERR_INSUF_AUTHORIZATION        0x0108  /**< ATT Error: Used in ATT as Insufficient Authorisation. */
-#define BLE_GATT_STATUS_ATTERR_PREPARE_QUEUE_FULL         0x0109  /**< ATT Error: Used in ATT as Prepare Queue Full. */
-#define BLE_GATT_STATUS_ATTERR_ATTRIBUTE_NOT_FOUND        0x010A  /**< ATT Error: Used in ATT as Attribute not found. */
-#define BLE_GATT_STATUS_ATTERR_ATTRIBUTE_NOT_LONG         0x010B  /**< ATT Error: Attribute cannot be read or written using read/write blob requests. */
-#define BLE_GATT_STATUS_ATTERR_INSUF_ENC_KEY_SIZE         0x010C  /**< ATT Error: Encryption key size used is insufficient. */
-#define BLE_GATT_STATUS_ATTERR_INVALID_ATT_VAL_LENGTH     0x010D  /**< ATT Error: Invalid value size. */
-#define BLE_GATT_STATUS_ATTERR_UNLIKELY_ERROR             0x010E  /**< ATT Error: Very unlikely error. */
-#define BLE_GATT_STATUS_ATTERR_INSUF_ENCRYPTION           0x010F  /**< ATT Error: Encrypted link required. */
-#define BLE_GATT_STATUS_ATTERR_UNSUPPORTED_GROUP_TYPE     0x0110  /**< ATT Error: Attribute type is not a supported grouping attribute. */
-#define BLE_GATT_STATUS_ATTERR_INSUF_RESOURCES            0x0111  /**< ATT Error: Encrypted link required. */
-#define BLE_GATT_STATUS_ATTERR_RFU_RANGE1_BEGIN           0x0112  /**< ATT Error: Reserved for Future Use range #1 begin. */
-#define BLE_GATT_STATUS_ATTERR_RFU_RANGE1_END             0x017F  /**< ATT Error: Reserved for Future Use range #1 end. */
-#define BLE_GATT_STATUS_ATTERR_APP_BEGIN                  0x0180  /**< ATT Error: Application range begin. */
-#define BLE_GATT_STATUS_ATTERR_APP_END                    0x019F  /**< ATT Error: Application range end. */
-#define BLE_GATT_STATUS_ATTERR_RFU_RANGE2_BEGIN           0x01A0  /**< ATT Error: Reserved for Future Use range #2 begin. */
-#define BLE_GATT_STATUS_ATTERR_RFU_RANGE2_END             0x01DF  /**< ATT Error: Reserved for Future Use range #2 end. */
-#define BLE_GATT_STATUS_ATTERR_RFU_RANGE3_BEGIN           0x01E0  /**< ATT Error: Reserved for Future Use range #3 begin. */
-#define BLE_GATT_STATUS_ATTERR_RFU_RANGE3_END             0x01FC  /**< ATT Error: Reserved for Future Use range #3 end. */
-#define BLE_GATT_STATUS_ATTERR_CPS_CCCD_CONFIG_ERROR      0x01FD  /**< ATT Common Profile and Service Error: Client Characteristic Configuration Descriptor improperly configured. */
-#define BLE_GATT_STATUS_ATTERR_CPS_PROC_ALR_IN_PROG       0x01FE  /**< ATT Common Profile and Service Error: Procedure Already in Progress. */
-#define BLE_GATT_STATUS_ATTERR_CPS_OUT_OF_RANGE           0x01FF  /**< ATT Common Profile and Service Error: Out Of Range. */
-/** @} */
-
-
-/** @defgroup BLE_GATT_CPF_FORMATS Characteristic Presentation Formats
- *  @note Found at http://developer.bluetooth.org/gatt/descriptors/Pages/DescriptorViewer.aspx?u=org.bluetooth.descriptor.gatt.characteristic_presentation_format.xml
- * @{ */
-#define BLE_GATT_CPF_FORMAT_RFU                 0x00 /**< Reserved For Future Use. */
-#define BLE_GATT_CPF_FORMAT_BOOLEAN             0x01 /**< Boolean. */
-#define BLE_GATT_CPF_FORMAT_2BIT                0x02 /**< Unsigned 2-bit integer. */
-#define BLE_GATT_CPF_FORMAT_NIBBLE              0x03 /**< Unsigned 4-bit integer. */
-#define BLE_GATT_CPF_FORMAT_UINT8               0x04 /**< Unsigned 8-bit integer. */
-#define BLE_GATT_CPF_FORMAT_UINT12              0x05 /**< Unsigned 12-bit integer. */
-#define BLE_GATT_CPF_FORMAT_UINT16              0x06 /**< Unsigned 16-bit integer. */
-#define BLE_GATT_CPF_FORMAT_UINT24              0x07 /**< Unsigned 24-bit integer. */
-#define BLE_GATT_CPF_FORMAT_UINT32              0x08 /**< Unsigned 32-bit integer. */
-#define BLE_GATT_CPF_FORMAT_UINT48              0x09 /**< Unsigned 48-bit integer. */
-#define BLE_GATT_CPF_FORMAT_UINT64              0x0A /**< Unsigned 64-bit integer. */
-#define BLE_GATT_CPF_FORMAT_UINT128             0x0B /**< Unsigned 128-bit integer. */
-#define BLE_GATT_CPF_FORMAT_SINT8               0x0C /**< Signed 2-bit integer. */
-#define BLE_GATT_CPF_FORMAT_SINT12              0x0D /**< Signed 12-bit integer. */
-#define BLE_GATT_CPF_FORMAT_SINT16              0x0E /**< Signed 16-bit integer. */
-#define BLE_GATT_CPF_FORMAT_SINT24              0x0F /**< Signed 24-bit integer. */
-#define BLE_GATT_CPF_FORMAT_SINT32              0x10 /**< Signed 32-bit integer. */
-#define BLE_GATT_CPF_FORMAT_SINT48              0x11 /**< Signed 48-bit integer. */
-#define BLE_GATT_CPF_FORMAT_SINT64              0x12 /**< Signed 64-bit integer. */
-#define BLE_GATT_CPF_FORMAT_SINT128             0x13 /**< Signed 128-bit integer. */
-#define BLE_GATT_CPF_FORMAT_FLOAT32             0x14 /**< IEEE-754 32-bit floating point. */
-#define BLE_GATT_CPF_FORMAT_FLOAT64             0x15 /**< IEEE-754 64-bit floating point. */
-#define BLE_GATT_CPF_FORMAT_SFLOAT              0x16 /**< IEEE-11073 16-bit SFLOAT. */
-#define BLE_GATT_CPF_FORMAT_FLOAT               0x17 /**< IEEE-11073 32-bit FLOAT. */
-#define BLE_GATT_CPF_FORMAT_DUINT16             0x18 /**< IEEE-20601 format. */
-#define BLE_GATT_CPF_FORMAT_UTF8S               0x19 /**< UTF-8 string. */
-#define BLE_GATT_CPF_FORMAT_UTF16S              0x1A /**< UTF-16 string. */
-#define BLE_GATT_CPF_FORMAT_STRUCT              0x1B /**< Opaque Structure. */
-/** @} */
-
-/** @defgroup BLE_GATT_CPF_NAMESPACES GATT Bluetooth Namespaces
- * @{
- */
-#define BLE_GATT_CPF_NAMESPACE_BTSIG            0x01
-#define BLE_GATT_CPF_NAMESPACE_DESCRIPTION_UNKNOWN 0x0000
-/** @} */
-
-/** @} */
-
-/** @addtogroup BLE_GATT_STRUCTURES Structures
- * @{ */
-
-/**@brief GATT Characteristic Properties. */
-typedef struct
-{
-  /* Standard properties */
-  uint8_t broadcast       :1; /**< Broadcasting of value permitted. */
-  uint8_t read            :1; /**< Reading value permitted. */
-  uint8_t write_wo_resp   :1; /**< Writing value with Write Command permitted. */
-  uint8_t write           :1; /**< Writing value with Write Request permitted. */
-  uint8_t notify          :1; /**< Notications of value permitted. */
-  uint8_t indicate        :1; /**< Indications of value permitted. */
-  uint8_t auth_signed_wr  :1; /**< Writing value with Signed Write Command permitted. */
-} ble_gatt_char_props_t;
-
-/**@brief GATT Characteristic Extended Properties. */
-typedef struct
-{
-  /* Extended properties */
-  uint8_t reliable_wr     :1; /**< Writing value with Queued Write Request permitted. */
-  uint8_t wr_aux          :1; /**< Writing the Characteristic User Description permitted. */
-} ble_gatt_char_ext_props_t;
-
-#endif // BLE_GATT_H__
-
-/** @} */
-
-/**
-  @}
-  @}
-*/
--- a/TARGET_RBLAB_NRF51822/TARGET_NORDIC/TARGET_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/ble_gattc.h	Fri Jul 25 09:46:51 2014 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,406 +0,0 @@
-/* Copyright (c) 2012 Nordic Semiconductor. All Rights Reserved.
- *
- * The information contained herein is confidential property of Nordic Semiconductor. The use,
- * copying, transfer or disclosure of such information is prohibited except by express written
- * agreement with Nordic Semiconductor.
- *
- */
-/**
-  @addtogroup BLE_GATTC Generic Attribute Profile (GATT) Client
-  @{
-  @brief  Definitions and prototypes for the GATT Client interface.
- */
-
-#ifndef BLE_GATTC_H__
-#define BLE_GATTC_H__
-
-#include "ble_gatt.h"
-#include "ble_types.h"
-#include "ble_ranges.h"
-#include "nrf_svc.h"
-
-/** @addtogroup BLE_GATTC_ENUMERATIONS Enumerations
- * @{ */
-
-/**@brief GATTC API SVC numbers. */
-enum BLE_GATTC_SVCS
-{
-  SD_BLE_GATTC_PRIMARY_SERVICES_DISCOVER = BLE_GATTC_SVC_BASE, /**< Primary Service Discovery. */
-  SD_BLE_GATTC_RELATIONSHIPS_DISCOVER,                         /**< Relationship Discovery. */
-  SD_BLE_GATTC_CHARACTERISTICS_DISCOVER,                       /**< Characteristic Discovery. */
-  SD_BLE_GATTC_DESCRIPTORS_DISCOVER,                           /**< Characteristic Descriptor Discovery. */
-  SD_BLE_GATTC_CHAR_VALUE_BY_UUID_READ,                        /**< Read Characteristic Value by UUID. */
-  SD_BLE_GATTC_READ,                                           /**< Generic read. */
-  SD_BLE_GATTC_CHAR_VALUES_READ,                               /**< Read multiple Characteristic Values. */
-  SD_BLE_GATTC_WRITE,                                          /**< Generic write. */
-  SD_BLE_GATTC_HV_CONFIRM                                      /**< Handle Value Confirmation. */
-};
-
-/** @} */
-
-/** @addtogroup BLE_GATTC_DEFINES Defines
- * @{ */
-
-/** @defgroup BLE_ERRORS_GATTC SVC return values specific to GATTC
- * @{ */
-#define BLE_ERROR_GATTC_PROC_NOT_PERMITTED    (NRF_GATTC_ERR_BASE + 0x000)
-/** @} */
-
-/**@brief Last Attribute Handle. */
-#define BLE_GATTC_HANDLE_END                0xFFFF
-
-/** @} */
-
-/** @addtogroup BLE_GATTC_STRUCTURES Structures
- * @{ */
-
-/**@brief Operation Handle Range. */
-typedef struct
-{
-  uint16_t          start_handle; /**< Start Handle. */
-  uint16_t          end_handle;   /**< End Handle. */
-} ble_gattc_handle_range_t;
-
-
-/**@brief GATT service. */
-typedef struct
-{
-  ble_uuid_t               uuid;          /**< Service UUID. */
-  ble_gattc_handle_range_t handle_range;  /**< Service Handle Range. */
-} ble_gattc_service_t;
-
-
-/**@brief  GATT include. */
-typedef struct
-{
-  uint16_t            handle;           /**< Include Handle. */
-  ble_gattc_service_t included_srvc;    /**< Handle of the included service. */
-} ble_gattc_include_t;
-
-
-/**@brief GATT characteristic. */
-typedef struct
-{
-  ble_uuid_t              uuid;                 /**< Characteristic UUID. */
-  ble_gatt_char_props_t   char_props;           /**< Characteristic Properties. */
-  uint8_t                 char_ext_props : 1;   /**< Extended properties present. */
-  uint16_t                handle_decl;          /**< Handle of the Characteristic Declaration. */
-  uint16_t                handle_value;         /**< Handle of the Characteristic Value. */
-} ble_gattc_char_t;
-
-
-/**@brief GATT descriptor. */
-typedef struct
-{
-  uint16_t          handle;         /**< Descriptor Handle. */
-  ble_uuid_t        uuid;           /**< Descriptor UUID. */
-} ble_gattc_desc_t;
-
-
-/**@brief Write Parameters. */
-typedef struct
-{
-  uint8_t    write_op;                 /**< Write Operation to be performed, see @ref BLE_GATT_WRITE_OPS. */
-  uint16_t   handle;                   /**< Handle to the attribute to be written. */
-  uint16_t   offset;                   /**< Offset in bytes. @note For WRITE_CMD and WRITE_REQ, offset must be 0. */
-  uint16_t   len;                      /**< Length of data in bytes. */
-  uint8_t*   p_value;                  /**< Pointer to the value data. */
-  uint8_t    flags;                    /**< Flags, see @ref BLE_GATT_EXEC_WRITE_FLAGS. */
-} ble_gattc_write_params_t;
-
-
-/**
- * @brief GATT Client Event IDs.
- */
-enum BLE_GATTC_EVTS
-{
-  BLE_GATTC_EVT_PRIM_SRVC_DISC_RSP = BLE_GATTC_EVT_BASE,  /**< Primary Service Discovery Response event.  */
-  BLE_GATTC_EVT_REL_DISC_RSP,                             /**< Relationship Discovery Response event. */
-  BLE_GATTC_EVT_CHAR_DISC_RSP,                            /**< Characteristic Discovery Response event. */
-  BLE_GATTC_EVT_DESC_DISC_RSP,                            /**< Descriptor Discovery Response event. */
-  BLE_GATTC_EVT_CHAR_VAL_BY_UUID_READ_RSP,                /**< Read By UUID Response event. */
-  BLE_GATTC_EVT_READ_RSP,                                 /**< Read Response event. */
-  BLE_GATTC_EVT_CHAR_VALS_READ_RSP,                       /**< Read multiple Response event. */
-  BLE_GATTC_EVT_WRITE_RSP,                                /**< Write Response event. */
-  BLE_GATTC_EVT_HVX,                                      /**< Handle Value Notification or Indication event. */
-  BLE_GATTC_EVT_TIMEOUT                                   /**< Timeout event. */
-};
-
-/**@brief Event structure for BLE_GATTC_EVT_PRIM_SRVC_DISC_RSP. */
-typedef struct
-{
-  uint16_t             count;           /**< Service count. */
-  ble_gattc_service_t services[1];      /**< Service data, variable length. */
-} ble_gattc_evt_prim_srvc_disc_rsp_t;
-
-/**@brief Event structure for BLE_GATTC_EVT_REL_DISC_RSP. */
-typedef struct
-{
-  uint16_t             count;           /**< Include count. */
-  ble_gattc_include_t includes[1];      /**< Include data, variable length. */
-} ble_gattc_evt_rel_disc_rsp_t;
-
-/**@brief Event structure for BLE_GATTC_EVT_CHAR_DISC_RSP. */
-typedef struct
-{
-  uint16_t            count;          /**< Characteristic count. */
-  ble_gattc_char_t    chars[1];       /**< Characteristic data, variable length. */
-} ble_gattc_evt_char_disc_rsp_t;
-
-/**@brief Event structure for BLE_GATTC_EVT_DESC_DISC_RSP. */
-typedef struct
-{
-  uint16_t            count;          /**< Descriptor count. */
-  ble_gattc_desc_t    descs[1];       /**< Descriptor data, variable length. */
-} ble_gattc_evt_desc_disc_rsp_t;
-
-/**@brief GATT read by UUID handle value pair. */
-typedef struct 
-{
-  uint16_t            handle;          /**< Attribute Handle. */
-  uint8_t             *p_value;        /**< Pointer to value, variable length (length available as value_len in ble_gattc_evt_read_by_uuid_rsp_t). 
-                                            Please note that this pointer is absolute to the memory provided by the user when retrieving the event,
-                                            so it will effectively point to a location inside the handle_value array. */
-} ble_gattc_handle_value_t;
-
-/**@brief Event structure for BLE_GATTC_EVT_CHAR_VAL_BY_UUID_READ_RSP. */
-typedef struct
-{
-  uint16_t                  count;            /**< Handle-Value Pair Count. */
-  uint16_t                  value_len;        /**< Length of the value in Handle-Value(s) list. */
-  ble_gattc_handle_value_t  handle_value[1];  /**< Handle-Value(s) list, variable length. */
-} ble_gattc_evt_char_val_by_uuid_read_rsp_t;
-
-/**@brief Event structure for BLE_GATTC_EVT_READ_RSP. */
-typedef struct
-{
-  uint16_t            handle;         /**< Attribute Handle. */
-  uint16_t            offset;         /**< Offset of the attribute data. */
-  uint16_t            len;            /**< Attribute data length. */
-  uint8_t             data[1];        /**< Attribute data, variable length. */
-} ble_gattc_evt_read_rsp_t;
-
-/**@brief Event structure for BLE_GATTC_EVT_CHAR_VALS_READ_RSP. */
-typedef struct
-{
-  uint16_t            len;            /**< Concatenated Attribute values length. */
-  uint8_t             values[1];      /**< Attribute values, variable length. */
-} ble_gattc_evt_char_vals_read_rsp_t;
-
-/**@brief Event structure for BLE_GATTC_EVT_WRITE_RSP. */
-typedef struct
-{
-  uint16_t            handle;           /**< Attribute Handle. */
-  uint8_t             write_op;         /**< Type of write operation, see @ref BLE_GATT_WRITE_OPS. */
-  uint16_t            offset;           /**< Data Offset. */
-  uint16_t            len;              /**< Data length. */
-  uint8_t             data[1];          /**< Data, variable length. */
-} ble_gattc_evt_write_rsp_t;
-
-/**@brief Event structure for BLE_GATTC_EVT_HVX. */
-typedef struct
-{
-  uint16_t            handle;         /**< Handle to which the HVx operation applies. */
-  uint8_t             type;           /**< Indication or Notification, see @ref BLE_GATT_HVX_TYPES. */
-  uint16_t            len;            /**< Attribute data length. */
-  uint8_t             data[1];        /**< Attribute data, variable length. */
-} ble_gattc_evt_hvx_t;
-
-/**@brief Event structure for BLE_GATTC_EVT_TIMEOUT. */
-typedef struct
-{
-  uint8_t          src;                       /**< Timeout source, see @ref BLE_GATT_TIMEOUT_SOURCES. */
-} ble_gattc_evt_timeout_t;
-
-/**@brief GATTC event type. */
-typedef struct
-{
-  uint16_t            conn_handle;                /**< Connection Handle on which event occured. */
-  uint16_t            gatt_status;                /**< GATT status code for the operation, see @ref BLE_GATT_STATUS_CODES. */
-  uint16_t            error_handle;               /**< In case of error: The handle causing the error. In all other cases BLE_GATT_HANDLE_INVALID. */
-  union
-  {
-    ble_gattc_evt_prim_srvc_disc_rsp_t          prim_srvc_disc_rsp;         /**< Primary Service Discovery Response Event Parameters. */
-    ble_gattc_evt_rel_disc_rsp_t                rel_disc_rsp;               /**< Relationship Discovery Response Event Parameters. */
-    ble_gattc_evt_char_disc_rsp_t               char_disc_rsp;              /**< Characteristic Discovery Response Event Parameters. */
-    ble_gattc_evt_desc_disc_rsp_t               desc_disc_rsp;              /**< Descriptor Discovery Response Event Parameters. */
-    ble_gattc_evt_char_val_by_uuid_read_rsp_t   char_val_by_uuid_read_rsp;  /**< Characteristic Value Read by UUID Response Event Parameters. */
-    ble_gattc_evt_read_rsp_t                    read_rsp;                   /**< Read Response Event Parameters. */
-    ble_gattc_evt_char_vals_read_rsp_t          char_vals_read_rsp;         /**< Characteristic Values Read Response Event Parameters. */
-    ble_gattc_evt_write_rsp_t                   write_rsp;                  /**< Write Response Event Parameters. */
-    ble_gattc_evt_hvx_t                         hvx;                        /**< Handle Value Notification/Indication Event Parameters. */
-    ble_gattc_evt_timeout_t                     timeout;                    /**< Timeout Event Parameters. */
-  } params;                                                                 /**< Event Parameters. @note Only valid if @ref gatt_status == BLE_GATT_STATUS_SUCCESS. */
-} ble_gattc_evt_t;
-/** @} */
-
-/** @addtogroup BLE_GATTC_FUNCTIONS Functions
- * @{ */
-
-/**@brief Initiate or continue a GATT Primary Service Discovery procedure.
- *
- * @details This function initiates a Primary Service discovery, starting from the supplied handle. 
- *          If the last service has not been reached, this must be called again with an updated start handle value to continue the search.
- *
- * @note If any of the discovered services have 128-bit UUIDs which are not present in the table provided to ble_vs_uuids_assign, a UUID structure with
- *       type BLE_UUID_TYPE_UNKNOWN will be received in the corresponding event.
- *
- * @param[in] conn_handle The connection handle identifying the connection to perform this procedure on.
- * @param[in] start_handle Handle to start searching from.
- * @param[in] p_srvc_uuid Pointer to the service UUID to be found. If it is NULL, all primary services will be returned.
- *
- * @return @ref NRF_SUCCESS Successfully started or resumed the Primary Service Discovery procedure.
- * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid Connection Handle.
- * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied.
- * @return @ref NRF_ERROR_BUSY Client procedure already in progress.
- */
-SVCALL(SD_BLE_GATTC_PRIMARY_SERVICES_DISCOVER, uint32_t, sd_ble_gattc_primary_services_discover(uint16_t conn_handle, uint16_t start_handle, ble_uuid_t const * const p_srvc_uuid));
-
-
-/**@brief Initiate or continue a GATT Relationship Discovery procedure.
- *
- * @details This function initiates the Find Included Services sub-procedure. If the last included service has not been reached,
- *          this must be called again with an updated handle range to continue the search.
- *
- * @param[in] conn_handle The connection handle identifying the connection to perform this procedure on.
- * @param[in] p_handle_range A pointer to the range of handles of the Service to perform this procedure on.
- *
- * @return @ref NRF_SUCCESS Successfully started or resumed the Relationship Discovery procedure.
- * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid Connection Handle.
- * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
- * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied.
- * @return @ref NRF_ERROR_BUSY Client procedure already in progress.
- */
-SVCALL(SD_BLE_GATTC_RELATIONSHIPS_DISCOVER, uint32_t, sd_ble_gattc_relationships_discover(uint16_t conn_handle, ble_gattc_handle_range_t const * const p_handle_range));
-
-
-/**@brief Initiate or continue a GATT Characteristic Discovery procedure.
- *
- * @details This function initiates a Characteristic discovery procedure. If the last Characteristic has not been reached,
- *          this must be called again with an updated handle range to continue the discovery.
- *
- * @note If any of the discovered characteristics have 128-bit UUIDs which are not present in the table provided to ble_vs_uuids_assign, a UUID structure with
- *       type BLE_UUID_TYPE_UNKNOWN will be received in the corresponding event.
- *
- * @param[in] conn_handle The connection handle identifying the connection to perform this procedure on.
- * @param[in] p_handle_range A pointer to the range of handles of the Service to perform this procedure on.
- *
- * @return @ref NRF_SUCCESS Successfully started or resumed the Characteristic Discovery procedure.
- * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid Connection Handle.
- * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
- * @return @ref NRF_ERROR_BUSY Client procedure already in progress.
- */
-SVCALL(SD_BLE_GATTC_CHARACTERISTICS_DISCOVER, uint32_t, sd_ble_gattc_characteristics_discover(uint16_t conn_handle, ble_gattc_handle_range_t const * const p_handle_range));
-
-
-/**@brief Initiate or continue a GATT Characteristic Descriptor Discovery procedure.
- *
- * @details This function initiates the Characteristic Descriptor discovery procedure. If the last Descriptor has not been reached,
- *          this must be called again with an updated handle range to continue the discovery.
- *
- * @param[in] conn_handle The connection handle identifying the connection to perform this procedure on.
- * @param[in] p_handle_range A pointer to the range of handles of the Characteristic to perform this procedure on.
- *
- * @return @ref NRF_SUCCESS Successfully started or resumed the Descriptor Discovery procedure.
- * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid Connection Handle.
- * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
- * @return @ref NRF_ERROR_BUSY Client procedure already in progress.
- */
-SVCALL(SD_BLE_GATTC_DESCRIPTORS_DISCOVER, uint32_t, sd_ble_gattc_descriptors_discover(uint16_t conn_handle, ble_gattc_handle_range_t const * const p_handle_range));
-
-
-/**@brief Initiate or continue a GATT Read using Characteristic UUID procedure.
- *
- * @details This function initiates the Read using Characteristic UUID procedure. If the last Characteristic has not been reached,
- *          this must be called again with an updated handle range to continue the discovery.
- *
- * @param[in] conn_handle The connection handle identifying the connection to perform this procedure on.
- * @param[in] p_uuid Pointer to a Characteristic value UUID to read.
- * @param[in] p_handle_range A pointer to the range of handles to perform this procedure on.
- *
- * @return @ref NRF_SUCCESS Successfully started or resumed the Read using Characteristic UUID procedure.
- * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid Connection Handle.
- * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
- * @return @ref NRF_ERROR_BUSY Client procedure already in progress.
- */
-SVCALL(SD_BLE_GATTC_CHAR_VALUE_BY_UUID_READ, uint32_t, sd_ble_gattc_char_value_by_uuid_read(uint16_t conn_handle, ble_uuid_t const * const p_uuid, ble_gattc_handle_range_t const * const p_handle_range));
-
-
-/**@brief Initiate or continue a GATT Read (Long) Characteristic or Descriptor procedure.
- *
- * @details This function initiates a GATT Read (Long) Characteristic or Descriptor procedure. If the Characteristic or Descriptor
- *          to be read is longer than GATT_MTU - 1, this function must be called multiple times with appropriate offset to read the 
- *          complete value.
- *
- * @param[in] conn_handle The connection handle identifying the connection to perform this procedure on.
- * @param[in] handle The handle of the attribute to be read.
- * @param[in] offset Offset into the attribute value to be read.
- *
- * @return @ref NRF_SUCCESS Successfully started or resumed the Read (Long) procedure.
- * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid Connection Handle.
- * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
- * @return @ref NRF_ERROR_BUSY Client procedure already in progress.
- */
-SVCALL(SD_BLE_GATTC_READ, uint32_t, sd_ble_gattc_read(uint16_t conn_handle, uint16_t handle, uint16_t offset));
-
-
-/**@brief Initiate a GATT Read Multiple Characteristic Values procedure.
- *
- * @details This function initiates a GATT Read Multiple Characteristic Values procedure. 
- *
- * @param[in] conn_handle The connection handle identifying the connection to perform this procedure on.
- * @param[in] p_handles A pointer to the handle(s) of the attribute(s) to be read.
- * @param[in] handle_count The number of handles in p_handles.
- *
- * @return @ref NRF_SUCCESS Successfully started the Read Multiple Characteristic Values procedure.
- * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid Connection Handle.
- * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
- * @return @ref NRF_ERROR_BUSY Client procedure already in progress.
- */
-SVCALL(SD_BLE_GATTC_CHAR_VALUES_READ, uint32_t, sd_ble_gattc_char_values_read(uint16_t conn_handle, uint16_t const * const p_handles, uint16_t handle_count));
-
-
-/**@brief Perform a Write (Characteristic Value or Descriptor, with or without response, signed or not, long or reliable) procedure.
- *
- * @details This function can perform all write procedures described in GATT. 
- *
- * @note    It is important to note that a write without response will <b>consume an application buffer</b>, and will therefore 
- *          generate a @ref BLE_EVT_TX_COMPLETE event when the packet has been transmitted. A write on the other hand will use the 
- *          standard client internal buffer and thus will only generate a @ref BLE_GATTC_EVT_WRITE_RSP event as soon as the write response 
- *          has been received from the peer. Please see the documentation of @ref sd_ble_tx_buffer_count_get for more details.
- *
- * @param[in] conn_handle The connection handle identifying the connection to perform this procedure on.
- * @param[in] p_write_params A pointer to a write parameters structure.
- *
- * @return @ref NRF_SUCCESS Successfully started the Write procedure.
- * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid Connection Handle.
- * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
- * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied.
- * @return @ref NRF_ERROR_DATA_SIZE Invalid data size(s) supplied.
- * @return @ref NRF_ERROR_BUSY Procedure already in progress.
- * @return @ref BLE_ERROR_NO_TX_BUFFERS There are no available buffers left.
- */
-SVCALL(SD_BLE_GATTC_WRITE, uint32_t, sd_ble_gattc_write(uint16_t conn_handle, ble_gattc_write_params_t const * const p_write_params));
-
-
-/**@brief Send a Handle Value Confirmation to the GATT Server.
- *
- * @param[in] conn_handle The connection handle identifying the connection to perform this procedure on.
- * @param[in] handle The handle of the attribute in the indication.
- *
- * @return @ref NRF_SUCCESS Successfully queued the Handle Value Confirmation for transmission.
- * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid Connection Handle.
- * @return @ref NRF_ERROR_INVALID_STATE No Indication pending to be confirmed.
- * @return @ref BLE_ERROR_INVALID_ATTR_HANDLE Invalid attribute handle.
- * @return @ref BLE_ERROR_NO_TX_BUFFERS There are no available buffers left.
- */
-SVCALL(SD_BLE_GATTC_HV_CONFIRM, uint32_t, sd_ble_gattc_hv_confirm(uint16_t conn_handle, uint16_t handle));
-
-/** @} */
-
-#endif /* BLE_GATTC_H__ */
-
-/**
-  @}
-  @}
-*/
--- a/TARGET_RBLAB_NRF51822/TARGET_NORDIC/TARGET_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/ble_gatts.h	Fri Jul 25 09:46:51 2014 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,566 +0,0 @@
-/* Copyright (c) 2011 Nordic Semiconductor. All Rights Reserved.
- *
- * The information contained herein is confidential property of Nordic Semiconductor. The use,
- * copying, transfer or disclosure of such information is prohibited except by express written
- * agreement with Nordic Semiconductor.
- *
- */
-/**
-  @addtogroup BLE_GATTS Generic Attribute Profile (GATT) Server
-  @{
-  @brief  Definitions and prototypes for the GATTS interface.
- */
-
-#ifndef BLE_GATTS_H__
-#define BLE_GATTS_H__
-
-#include "ble_types.h"
-#include "ble_ranges.h"
-#include "ble_l2cap.h"
-#include "ble_gap.h"
-#include "ble_gatt.h"
-#include "nrf_svc.h"
-
-/** @addtogroup BLE_GATTS_ENUMERATIONS Enumerations
- * @{ */
-
-/**
- * @brief GATTS API SVC numbers.
- */
-enum BLE_GATTS_SVCS
-{
-  SD_BLE_GATTS_SERVICE_ADD = BLE_GATTS_SVC_BASE, /**< Add a service. */
-  SD_BLE_GATTS_INCLUDE_ADD,                      /**< Add an included service. */
-  SD_BLE_GATTS_CHARACTERISTIC_ADD,               /**< Add a characteristic. */
-  SD_BLE_GATTS_DESCRIPTOR_ADD,                   /**< Add a generic attribute. */
-  SD_BLE_GATTS_VALUE_SET,                        /**< Set an attribute value. */
-  SD_BLE_GATTS_VALUE_GET,                        /**< Get an attribute value. */
-  SD_BLE_GATTS_HVX,                              /**< Handle Value Notification or Indication. */
-  SD_BLE_GATTS_SERVICE_CHANGED,                  /**< Perform a Service Changed Indication to one or more peers. */
-  SD_BLE_GATTS_RW_AUTHORIZE_REPLY,               /**< Reply to an authorization request for a read or write operation on one or more attributes. */ 
-  SD_BLE_GATTS_SYS_ATTR_SET,                     /**< Set the persistent system attributes for a connection. */  
-  SD_BLE_GATTS_SYS_ATTR_GET,                     /**< Get updated persistent system attributes after terminating a connection. */
-};
-
-/** @} */
-
-/** @addtogroup BLE_GATTS_DEFINES Defines
- * @{ */
-
-/** @brief Only the default MTU size of 23 is currently supported. */
-#define GATT_RX_MTU 23
-
-/** @defgroup BLE_ERRORS_GATTS SVC return values specific to GATTS
- * @{ */
-#define BLE_ERROR_GATTS_INVALID_ATTR_TYPE   (NRF_GATTS_ERR_BASE + 0x000) /**< Invalid attribute type. */
-#define BLE_ERROR_GATTS_SYS_ATTR_MISSING    (NRF_GATTS_ERR_BASE + 0x001) /**< System Attributes missing. */
-/** @} */
-
-/** @defgroup BLE_GATTS_ATTR_LENS_MAX Maximum attribute lengths
- * @{ */
-#define BLE_GATTS_FIX_ATTR_LEN_MAX (510)  /**< Maximum length for fixed length Attribute Values. */
-#define BLE_GATTS_VAR_ATTR_LEN_MAX (512)  /**< Maximum length for variable length Attribute Values. */ 
-/** @} */
-
-/** @defgroup BLE_GATTS_SRVC_TYPES GATT Server Service Types
- * @{ */
-#define BLE_GATTS_SRVC_TYPE_INVALID          0x00  /**< Invalid Service Type. */
-#define BLE_GATTS_SRVC_TYPE_PRIMARY          0x01  /**< Primary Service. */
-#define BLE_GATTS_SRVC_TYPE_SECONDARY        0x02  /**< Secondary Type. */
-/** @} */
-
-
-/** @defgroup BLE_GATTS_ATTR_TYPES GATT Server Attribute Types
- * @{ */
-#define BLE_GATTS_ATTR_TYPE_INVALID         0x00  /**< Invalid Attribute Type. */
-#define BLE_GATTS_ATTR_TYPE_PRIM_SRVC_DECL  0x01  /**< Primary Service Declaration. */
-#define BLE_GATTS_ATTR_TYPE_SEC_SRVC_DECL   0x02  /**< Secondary Service Declaration. */
-#define BLE_GATTS_ATTR_TYPE_INC_DECL        0x03  /**< Include Declaration. */
-#define BLE_GATTS_ATTR_TYPE_CHAR_DECL       0x04  /**< Characteristic Declaration. */
-#define BLE_GATTS_ATTR_TYPE_CHAR_VAL        0x05  /**< Characteristic Value. */
-#define BLE_GATTS_ATTR_TYPE_DESC            0x06  /**< Descriptor. */
-#define BLE_GATTS_ATTR_TYPE_OTHER           0x07  /**< Other, non-GATT specific type. */
-/** @} */
-
-
-/** @defgroup BLE_GATTS_OPS GATT Server Operations
- * @{ */
-#define BLE_GATTS_OP_INVALID                0x00  /**< Invalid Operation. */
-#define BLE_GATTS_OP_WRITE_REQ              0x01  /**< Write Request. */
-#define BLE_GATTS_OP_WRITE_CMD              0x02  /**< Write Command. */
-#define BLE_GATTS_OP_SIGN_WRITE_CMD         0x03  /**< Signed Write Command. */
-#define BLE_GATTS_OP_PREP_WRITE_REQ         0x04  /**< Prepare Write Request. */
-#define BLE_GATTS_OP_EXEC_WRITE_REQ_CANCEL  0x05  /**< Execute Write Request: Cancel all prepared writes. */
-#define BLE_GATTS_OP_EXEC_WRITE_REQ_NOW     0x06  /**< Execute Write Request: Immediately execute all prepared writes. */
-/** @} */
-
-/** @defgroup BLE_GATTS_VLOCS GATT Value Locations
- * @{ */
-#define BLE_GATTS_VLOC_INVALID       0x00  /**< Invalid Location. */
-#define BLE_GATTS_VLOC_STACK         0x01  /**< Attribute Value is located in stack memory, no user memory is required. */
-#define BLE_GATTS_VLOC_USER          0x02  /**< Attribute Value is located in user memory. This requires the user to maintain a valid buffer through the lifetime of the attribute, since the stack
-                                                will read and write directly to the memory using the pointer provided in the APIs. There are no alignment requirements for the buffer. */
-/** @} */
-
-/** @defgroup BLE_GATTS_AUTHORIZE_TYPES GATT Server Authorization Types
- * @{ */
-#define BLE_GATTS_AUTHORIZE_TYPE_INVALID    0x00  /**< Invalid Type. */
-#define BLE_GATTS_AUTHORIZE_TYPE_READ       0x01  /**< Authorize a Read Operation. */
-#define BLE_GATTS_AUTHORIZE_TYPE_WRITE      0x02  /**< Authorize a Write Request Operation. */
-/** @} */
-
-
-/** @} */
-
-/** @addtogroup BLE_GATTS_STRUCTURES Structures
- * @{ */
-
-/**
- * @brief BLE GATTS init options
- */
-typedef struct
-{
-  uint8_t   service_changed:1;             /**< Include the Service Changed characteristic in the local attributes. */
-} ble_gatts_enable_params_t;
-
-/**@brief Attribute metadata. */
-typedef struct
-{
-  ble_gap_conn_sec_mode_t read_perm;       /**< Read permissions. */
-  ble_gap_conn_sec_mode_t write_perm;      /**< Write permissions. */
-  uint8_t                 vlen       :1;   /**< Variable length attribute. */
-  uint8_t                 vloc       :2;   /**< Value location, see @ref BLE_GATTS_VLOCS.*/
-  uint8_t                 rd_auth    :1;   /**< Read Authorization and value will be requested from the application on every read operation. */ 
-  uint8_t                 wr_auth    :1;   /**< Write Authorization will be requested from the application on every Write Request operation (but not Write Command). */
-} ble_gatts_attr_md_t;
-
-
-/**@brief GATT Attribute. */
-typedef struct
-{
-  ble_uuid_t*          p_uuid;          /**< Pointer to the attribute UUID. */
-  ble_gatts_attr_md_t* p_attr_md;       /**< Pointer to the attribute metadata structure. */
-  uint16_t             init_len;        /**< Initial attribute value length in bytes. */
-  uint16_t             init_offs;       /**< Initial attribute value offset in bytes. If different from zero, the first init_offs bytes of the attribute value will be left uninitialized. */
-  uint16_t             max_len;         /**< Maximum attribute value length in bytes, see @ref BLE_GATTS_ATTR_LENS_MAX for maximum values. */
-  uint8_t*             p_value;         /**< Pointer to the attribute data. Please note that if the @ref BLE_GATTS_VLOC_USER value location is selected in the attribute metadata, this will have to point to a buffer
-                                             that remains valid through the lifetime of the attribute. This excludes usage of automatic variables that may go out of scope or any other temporary location. 
-                                             The stack may access that memory directly without the application's knowledge. */
-} ble_gatts_attr_t;
-
-
-/**@brief GATT Attribute Context. */
-typedef struct
-{
-  ble_uuid_t           srvc_uuid;       /**< Service UUID. */
-  ble_uuid_t           char_uuid;       /**< Characteristic UUID if applicable (BLE_UUID_TYPE_UNKNOWN if N/A). */
-  ble_uuid_t           desc_uuid;       /**< Descriptor UUID if applicable (BLE_UUID_TYPE_UNKNOWN if N/A). */
-  uint16_t             srvc_handle;     /**< Service Handle. */
-  uint16_t             value_handle;    /**< Characteristic Handle if applicable (BLE_GATT_HANDLE_INVALID if N/A). */
-  uint8_t              type;            /**< Attribute Type, see @ref BLE_GATTS_ATTR_TYPES. */
-} ble_gatts_attr_context_t;
-
-
-/**@brief GATT Characteristic Presentation Format. */
-typedef struct
-{
-  uint8_t          format;      /**< Format of the value, see @ref BLE_GATT_CPF_FORMATS. */
-  int8_t           exponent;    /**< Exponent for integer data types. */
-  uint16_t         unit;        /**< UUID from Bluetooth Assigned Numbers. */
-  uint8_t          name_space;  /**< Namespace from Bluetooth Assigned Numbers, see @ref BLE_GATT_CPF_NAMESPACES. */
-  uint16_t         desc;        /**< Namespace description from Bluetooth Assigned Numbers, see @ref BLE_GATT_CPF_NAMESPACES. */
-} ble_gatts_char_pf_t;
-
-
-/**@brief GATT Characteristic metadata. */
-typedef struct
-{
-  ble_gatt_char_props_t       char_props;               /**< Characteristic Properties. */
-  ble_gatt_char_ext_props_t   char_ext_props;           /**< Characteristic Extended Properties. */
-  uint8_t*                    p_char_user_desc;         /**< Pointer to a UTF-8, NULL if the descriptor is not required. */
-  uint16_t                    char_user_desc_max_size;  /**< The maximum size in bytes of the user description descriptor. */
-  uint16_t                    char_user_desc_size;      /**< The size of the user description, must be smaller or equal to char_user_desc_max_size. */ 
-  ble_gatts_char_pf_t*        p_char_pf;                /**< Pointer to a presentation format structure or NULL if the descriptor is not required. */
-  ble_gatts_attr_md_t*        p_user_desc_md;           /**< Attribute metadata for the User Description descriptor, or NULL for default values. */
-  ble_gatts_attr_md_t*        p_cccd_md;                /**< Attribute metadata for the Client Characteristic Configuration Descriptor, or NULL for default values. */
-  ble_gatts_attr_md_t*        p_sccd_md;                /**< Attribute metadata for the Server Characteristic Configuration Descriptor, or NULL for default values. */
-} ble_gatts_char_md_t;
-
-
-/**@brief GATT Characteristic Definition Handles. */
-typedef struct
-{
-  uint16_t          value_handle;       /**< Handle to the characteristic value. */
-  uint16_t          user_desc_handle;   /**< Handle to the User Description descriptor, or BLE_GATT_HANDLE_INVALID if not present. */
-  uint16_t          cccd_handle;        /**< Handle to the Client Characteristic Configuration Descriptor, or BLE_GATT_HANDLE_INVALID if not present. */
-  uint16_t          sccd_handle;        /**< Handle to the Server Characteristic Configuration Descriptor, or BLE_GATT_HANDLE_INVALID if not present. */
-} ble_gatts_char_handles_t;
-
-
-/**@brief GATT HVx parameters. */
-typedef struct
-{
-  uint16_t          handle;             /**< Characteristic Value Handle. */
-  uint8_t           type;               /**< Indication or Notification, see @ref BLE_GATT_HVX_TYPES. */
-  uint16_t          offset;             /**< Offset within the attribute value. */
-  uint16_t*         p_len;              /**< Length in bytes to be written, length in bytes written after successful return. */
-  uint8_t*          p_data;             /**< Actual data content, use NULL to use the current attribute value. */
-} ble_gatts_hvx_params_t;
-
-/**@brief GATT Read Authorization parameters. */
-typedef struct
-{
-  uint16_t          gatt_status;        /**< GATT status code for the operation, see @ref BLE_GATT_STATUS_CODES. */
-  uint8_t           update : 1;         /**< If set, data supplied in p_data will be used in the ATT response. */
-  uint16_t          offset;             /**< Offset of the attribute value being updated. */
-  uint16_t          len;                /**< Length in bytes of the value in p_data pointer, see @ref BLE_GATTS_ATTR_LENS_MAX. */
-  uint8_t*          p_data;             /**< Pointer to new value used to update the attribute value. */
-} ble_gatts_read_authorize_params_t;
-
-/**@brief GATT Write Authorisation parameters. */
-typedef struct
-{
-  uint16_t          gatt_status;        /**< GATT status code for the operation, see @ref BLE_GATT_STATUS_CODES. */
-} ble_gatts_write_authorize_params_t;
-
-/**@brief GATT Read or Write Authorize Reply parameters. */
-typedef struct
-{
-  uint8_t                               type;   /**< Type of authorize operation, see @ref BLE_GATTS_AUTHORIZE_TYPES. */
-  union {
-    ble_gatts_read_authorize_params_t   read;   /**< Read authorization parameters. */
-    ble_gatts_write_authorize_params_t  write;  /**< Write authorization parameters. */
-  } params;
-} ble_gatts_rw_authorize_reply_params_t;
-
-
-/**
- * @brief GATT Server Event IDs.
- */
-enum BLE_GATTS_EVTS
-{
-  BLE_GATTS_EVT_WRITE = BLE_GATTS_EVT_BASE,       /**< Write operation performed. */
-  BLE_GATTS_EVT_RW_AUTHORIZE_REQUEST,             /**< Read/Write Authorization request. */
-  BLE_GATTS_EVT_SYS_ATTR_MISSING,                 /**< A persistent system attribute access is pending, awaiting a sd_ble_gatts_sys_attr_set(). */
-  BLE_GATTS_EVT_HVC,                              /**< Handle Value Confirmation. */
-  BLE_GATTS_EVT_SC_CONFIRM,                       /**< Service Changed Confirmation. */
-  BLE_GATTS_EVT_TIMEOUT                           /**< Timeout. */
-};
-
-
-/**@brief Event structure for BLE_GATTS_EVT_WRITE. */
-typedef struct
-{
-  uint16_t                    handle;             /**< Attribute Handle. */
-  uint8_t                     op;                 /**< Type of write operation, see @ref BLE_GATTS_OPS. */
-  ble_gatts_attr_context_t    context;            /**< Attribute Context. */
-  uint16_t                    offset;             /**< Offset for the write operation. */
-  uint16_t                    len;                /**< Length of the incoming data. */
-  uint8_t                     data[1];            /**< Incoming data, variable length. */
-} ble_gatts_evt_write_t;
-
-/**@brief Event structure for authorize read request. */
-typedef struct
-{
-  uint16_t                    handle;             /**< Attribute Handle. */
-  ble_gatts_attr_context_t    context;            /**< Attribute Context. */
-  uint16_t                    offset;             /**< Offset for the read operation. */
-} ble_gatts_evt_read_t;
-
-/**@brief Event structure for BLE_GATTS_EVT_RW_AUTHORIZE_REQUEST. */
-typedef struct
-{
-  uint8_t                     type;             /**< Type of authorize operation, see @ref BLE_GATTS_AUTHORIZE_TYPES. */
-  union {
-    ble_gatts_evt_read_t      read;             /**< Attribute Read Parameters. */
-    ble_gatts_evt_write_t     write;            /**< Attribute Write Parameters. */
-  } request;
-} ble_gatts_evt_rw_authorize_request_t;
-
-/**@brief Event structure for BLE_GATTS_EVT_SYS_ATTR_MISSING. */
-typedef struct
-{
-  uint8_t hint;
-} ble_gatts_evt_sys_attr_missing_t;
-
-
-/**@brief Event structure for BLE_GATTS_EVT_HVC. */
-typedef struct
-{
-  uint16_t          handle;                       /**< Attribute Handle. */
-} ble_gatts_evt_hvc_t;
-
-/**@brief Event structure for BLE_GATTS_EVT_TIMEOUT. */
-typedef struct
-{
-  uint8_t          src;                       /**< Timeout source, see @ref BLE_GATT_TIMEOUT_SOURCES. */
-} ble_gatts_evt_timeout_t;
-
-
-/**@brief GATT Server event callback event structure. */
-typedef struct
-{
-  uint16_t conn_handle;                                       /**< Connection Handle on which event occurred. */
-  union
-  {
-    ble_gatts_evt_write_t                 write;              /**< Write Event Parameters. */
-    ble_gatts_evt_rw_authorize_request_t  authorize_request;  /**< Read or Write Authorize Request Parameters. */
-    ble_gatts_evt_sys_attr_missing_t      sys_attr_missing;   /**< System attributes missing. */
-    ble_gatts_evt_hvc_t                   hvc;                /**< Handle Value Confirmation Event Parameters. */
-    ble_gatts_evt_timeout_t               timeout;            /**< Timeout Event. */
-  } params;
-} ble_gatts_evt_t;
-
-/** @} */
-
-/** @addtogroup BLE_GATTS_FUNCTIONS Functions
- * @{ */
-
-/**@brief Add a service declaration to the local server ATT table.
- *
- * @param[in] type      Toggles between primary and secondary services, see @ref BLE_GATTS_SRVC_TYPES.
- * @param[in] p_uuid    Pointer to service UUID.
- * @param[out] p_handle Pointer to a 16-bit word where the assigned handle will be stored.
- *
- * @note Secondary Services are only relevant in the context of the entity that references them, it is therefore forbidden to
- *       add a secondary service declaration that is not referenced by another service later in the ATT table.
- *
- * @return @ref NRF_SUCCESS Successfully added a service declaration.
- * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
- * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied, Vendor Specific UUIDs need to be present in the table.
- * @return @ref NRF_ERROR_FORBIDDEN Forbidden value supplied, certain UUIDs are reserved for the stack.
- * @return @ref NRF_ERROR_NO_MEM Not enough memory to complete operation.
- */
-SVCALL(SD_BLE_GATTS_SERVICE_ADD, uint32_t, sd_ble_gatts_service_add(uint8_t type, ble_uuid_t const*const p_uuid, uint16_t *const p_handle));
-
-
-/**@brief Add an include declaration to the local server ATT table.
- *
- * @note It is currently only possible to add an include declaration to the last added service (i.e. only sequential addition is supported at this time). 
- *
- * @note The included service must already be present in the ATT table prior to this call.
- *
- * @param[in] service_handle    Handle of the service where the included service is to be placed, if BLE_GATT_HANDLE_INVALID is used, it will be placed sequentially.
- * @param[in] inc_srvc_handle   Handle of the included service.
- * @param[out] p_include_handle Pointer to a 16-bit word where the assigned handle will be stored.
- *
- * @return @ref NRF_SUCCESS Successfully added an include declaration.
- * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
- * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied, handle values need to match previously added services.
- * @return @ref NRF_ERROR_INVALID_STATE Invalid state to perform operation.
- * @return @ref NRF_ERROR_FORBIDDEN Forbidden value supplied, self inclusions are not allowed.
- * @return @ref NRF_ERROR_NO_MEM Not enough memory to complete operation.
- * @return @ref NRF_ERROR_NOT_FOUND Attribute not found.
- */
-SVCALL(SD_BLE_GATTS_INCLUDE_ADD, uint32_t, sd_ble_gatts_include_add(uint16_t service_handle, uint16_t inc_srvc_handle, uint16_t *const p_include_handle));
-
-
-/**@brief Add a characteristic declaration, a characteristic value declaration and optional characteristic descriptor declarations to the local server ATT table.
- *
- * @note It is currently only possible to add a characteristic to the last added service (i.e. only sequential addition is supported at this time). 
- *
- * @note Several restrictions apply to the parameters, such as matching permissions between the user description descriptor and the writeable auxiliaries bits,
- *       readable (no security) and writeable (selectable) CCCDs and SCCDs and valid presentation format values.
- *
- * @note If no metadata is provided for the optional descriptors, their permissions will be derived from the characteristic permissions.
- *
- * @param[in] service_handle    Handle of the service where the characteristic is to be placed, if BLE_GATT_HANDLE_INVALID is used, it will be placed sequentially.
- * @param[in] p_char_md         Characteristic metadata.
- * @param[in] p_attr_char_value Pointer to the attribute structure corresponding to the characteristic value.
- * @param[out] p_handles        Pointer to the structure where the assigned handles will be stored.
- *
- * @return @ref NRF_SUCCESS Successfully added a characteristic.
- * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
- * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied, service handle, Vendor Specific UUIDs, lengths, and permissions need to adhere to the constraints.
- * @return @ref NRF_ERROR_INVALID_STATE Invalid state to perform operation, a service context is required.
- * @return @ref NRF_ERROR_FORBIDDEN Forbidden value supplied, certain UUIDs are reserved for the stack.
- * @return @ref NRF_ERROR_NO_MEM Not enough memory to complete operation.
- * @return @ref NRF_ERROR_DATA_SIZE Invalid data size(s) supplied, attribute lengths are restricted by @ref BLE_GATTS_ATTR_LENS_MAX.
- */
-SVCALL(SD_BLE_GATTS_CHARACTERISTIC_ADD, uint32_t, sd_ble_gatts_characteristic_add(uint16_t service_handle, ble_gatts_char_md_t const*const p_char_md, ble_gatts_attr_t const*const p_attr_char_value, ble_gatts_char_handles_t *const p_handles));
-
-
-/**@brief Add a descriptor to the local server ATT table.
- *
- * @note It is currently only possible to add a descriptor to the last added characteristic (i.e. only sequential addition is supported at this time). 
- *
- * @param[in] char_handle   Handle of the characteristic where the descriptor is to be placed, if BLE_GATT_HANDLE_INVALID is used, it will be placed sequentially.
- * @param[in] p_attr        Pointer to the attribute structure.
- * @param[out] p_handle     Pointer to a 16-bit word where the assigned handle will be stored.
- *
- * @return @ref NRF_SUCCESS Successfully added a descriptor.
- * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
- * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied, characteristic handle, Vendor Specific UUIDs, lengths, and permissions need to adhere to the constraints.
- * @return @ref NRF_ERROR_INVALID_STATE Invalid state to perform operation, a characteristic context is required.
- * @return @ref NRF_ERROR_FORBIDDEN Forbidden value supplied, certain UUIDs are reserved for the stack.
- * @return @ref NRF_ERROR_NO_MEM Not enough memory to complete operation.
- * @return @ref NRF_ERROR_DATA_SIZE Invalid data size(s) supplied, attribute lengths are restricted by @ref BLE_GATTS_ATTR_LENS_MAX.
- */
-SVCALL(SD_BLE_GATTS_DESCRIPTOR_ADD, uint32_t, sd_ble_gatts_descriptor_add(uint16_t char_handle, ble_gatts_attr_t const * const p_attr, uint16_t* const p_handle));
-
-/**@brief Set the value of a given attribute.
- *
- * @param[in] handle    Attribute handle.
- * @param[in] offset    Offset in bytes to write from.
- * @param[in,out] p_len Length in bytes to be written, length in bytes written after successful return.
- * @param[in] p_value   Pointer to a buffer (at least len bytes long) containing the desired attribute value. If value is stored in user memory, only the attribute length is updated when p_value == NULL.
- *
- * @return @ref NRF_SUCCESS Successfully set the value of the attribute.
- * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
- * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied.
- * @return @ref NRF_ERROR_NOT_FOUND Attribute not found.
- * @return @ref NRF_ERROR_FORBIDDEN Forbidden handle supplied, certain attributes are not modifiable by the application.
- * @return @ref NRF_ERROR_DATA_SIZE Invalid data size(s) supplied, attribute lengths are restricted by @ref BLE_GATTS_ATTR_LENS_MAX.
- */
-SVCALL(SD_BLE_GATTS_VALUE_SET, uint32_t, sd_ble_gatts_value_set(uint16_t handle, uint16_t offset, uint16_t* const p_len, uint8_t const * const p_value));
-
-/**@brief Get the value of a given attribute.
- *
- * @param[in] handle     Attribute handle.
- * @param[in] offset     Offset in bytes to read from.
- * @param[in,out] p_len  Length in bytes to be read, total length of attribute value (in bytes, starting from offset) after successful return.
- * @param[in,out] p_data Pointer to a buffer (at least len bytes long) where to store the attribute value. Set to NULL to obtain the complete length of attribute value.
- *
- * @note                 If the attribute value is longer than the size of the supplied buffer,
- *                       p_len will return the total attribute value length (excluding offset),
- *                       and not the number of bytes actually returned in p_data.
- *                       The application may use this information to allocate a suitable buffer size.
- * 
- * @return @ref NRF_SUCCESS Successfully retrieved the value of the attribute.
- * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
- * @return @ref NRF_ERROR_NOT_FOUND Attribute not found.
- */
-SVCALL(SD_BLE_GATTS_VALUE_GET, uint32_t, sd_ble_gatts_value_get(uint16_t handle, uint16_t offset, uint16_t *const p_len, uint8_t* const p_data));
-
-/**@brief Notify or Indicate an attribute value.
- *
- * @details This function checks for the relevant Client Characteristic Configuration descriptor value to verify that the relevant operation
- *          (notification or indication) has been enabled by the client. It is also able to update the attribute value before issuing the PDU, so that
- *          the application can atomically perform a value update and a server initiated transaction with a single API call.
- *          If the application chooses to indicate an attribute value, a @ref BLE_GATTS_EVT_HVC will be sent up as soon as the confirmation arrives from
- *          the peer.
- *
- * @note    The local attribute value may be updated even if an outgoing packet is not sent to the peer due to an error during execution. 
- *          When receiveing the error codes @ref NRF_ERROR_INVALID_STATE, @ref NRF_ERROR_BUSY, @ref BLE_ERROR_GATTS_SYS_ATTR_MISSING and 
- *          @ref BLE_ERROR_NO_TX_BUFFERS the ATT table has been updated.
- *          The caller can check whether the value has been updated by looking at the contents of *(p_hvx_params->p_len).
- *
- * @note    It is important to note that a notification will <b>consume an application buffer</b>, and will therefore 
- *          generate a @ref BLE_EVT_TX_COMPLETE event when the packet has been transmitted. An indication on the other hand will use the 
- *          standard server internal buffer and thus will only generate a @ref BLE_GATTS_EVT_HVC event as soon as the confirmation 
- *          has been received from the peer. Please see the documentation of @ref sd_ble_tx_buffer_count_get for more details.
- *
- * @param[in] conn_handle  Connection handle.
- * @param[in] p_hvx_params Pointer to an HVx parameters structure. If the p_data member contains a non-NULL pointer the attribute value will be updated with
- *                         the contents pointed by it before sending the notification or indication.
- *
- * @return @ref NRF_SUCCESS Successfully queued a notification or indication for transmission, and optionally updated the attribute value.
- * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid Connection Handle.
- * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
- * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied.
- * @return @ref BLE_ERROR_INVALID_ATTR_HANDLE Invalid attribute handle(s) supplied. Only attributes added directly by the application are available to notify and indicate.
- * @return @ref BLE_ERROR_GATTS_INVALID_ATTR_TYPE Invalid attribute type(s) supplied, only characteristic values may be notified and indicated.
- * @return @ref NRF_ERROR_NOT_FOUND Attribute not found.
- * @return @ref NRF_ERROR_DATA_SIZE Invalid data size(s) supplied.
- * @return @ref NRF_ERROR_INVALID_STATE Invalid state to perform operation, notifications or indications must be enabled in the CCCD.
- * @return @ref NRF_ERROR_BUSY Procedure already in progress.
- * @return @ref BLE_ERROR_GATTS_SYS_ATTR_MISSING System attributes missing, use @ref sd_ble_gatts_sys_attr_set to set them to a known value.
- * @return @ref BLE_ERROR_NO_TX_BUFFERS There are no available buffers to send the data, applies only to notifications.
- */
-SVCALL(SD_BLE_GATTS_HVX, uint32_t, sd_ble_gatts_hvx(uint16_t conn_handle, ble_gatts_hvx_params_t const*const p_hvx_params));
-
-/**@brief Indicate the Service Changed attribute value.
- *
- * @details This call will send a Handle Value Indication to one or more peers connected to inform them that the attribute
- *          table layout has changed. As soon as the peer has confirmed the indication, a @ref BLE_GATTS_EVT_SC_CONFIRM event will
- *          be issued.
- *
- * @note    Some of the restrictions and limitations that apply to @ref sd_ble_gatts_hvx also apply here.
- *
- * @param[in] conn_handle  Connection handle.
- * @param[in] start_handle Start of affected attribute handle range.
- * @param[in] end_handle   End of affected attribute handle range.
- *
- * @return @ref NRF_SUCCESS Successfully queued the Service Changed indication for transmission.
- * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid Connection Handle.
- * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied.
- * @return @ref BLE_ERROR_INVALID_ATTR_HANDLE Invalid attribute handle(s) supplied, handles must be in the range populated by the application.
- * @return @ref NRF_ERROR_INVALID_STATE Invalid state to perform operation, notifications or indications must be enabled in the CCCD.
- * @return @ref NRF_ERROR_BUSY Procedure already in progress.
- * @return @ref BLE_ERROR_GATTS_SYS_ATTR_MISSING System attributes missing, use @ref sd_ble_gatts_sys_attr_set to set them to a known value.
- */
-SVCALL(SD_BLE_GATTS_SERVICE_CHANGED, uint32_t, sd_ble_gatts_service_changed(uint16_t conn_handle, uint16_t start_handle, uint16_t end_handle));
-
-/**@brief Respond to a Read/Write authorization request.
- *
- * @note This call should only be used as a response to a @ref BLE_GATTS_EVT_RW_AUTHORIZE_REQUEST event issued to the application.
- *
- * @param[in] conn_handle                 Connection handle.
- * @param[in] p_rw_authorize_reply_params Pointer to a structure with the attribute provided by the application.
- *
- * @return @ref NRF_SUCCESS               Successfully queued a response to the peer, and in the case of a write operation, ATT table updated.
- * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid Connection Handle.
- * @return @ref NRF_ERROR_INVALID_STATE   No authorization request pending.
- * @return @ref NRF_ERROR_INVALID_PARAM   Authorization op invalid,
- *                                         or for Read Authorization reply: requested handles not replied with,
- *                                         or for Write Authorization reply: handle supplied does not match requested handle.
- */
-SVCALL(SD_BLE_GATTS_RW_AUTHORIZE_REPLY, uint32_t, sd_ble_gatts_rw_authorize_reply(uint16_t conn_handle, ble_gatts_rw_authorize_reply_params_t const*const p_rw_authorize_reply_params));
-
-
-/**@brief Update persistent system attribute information.
- *
- * @details Supply to the stack information about persistent system attributes.
- *          This call is legal in the connected state only, and is usually 
- *          made immediately after a connection is established and the bond identified.
- *          usually as a response to a BLE_GATTS_EVT_SYS_ATTR_MISSING.
- *
- *          p_sysattrs may point directly to the application's stored copy of the struct.
- *          If the pointer is NULL, the system attribute info is initialized, assuming that
- *          the application does not have any previously saved data for this bond.
- *
- * @note The state of persistent system attributes is reset upon connection and then remembered for its duration. 
- *
- * @note If this call returns with an error code different from @ref NRF_SUCCESS, the storage of persistent system attributes may have been completed only partially.
- *       This means that the state of the attribute table is undefined, and the application should either provide a new set of attributes using this same call or
- *       reset the SoftDevice to return to a known state.
- *
- * @param[in]  conn_handle        Connection handle.
- * @param[in]  p_sys_attr_data    Pointer to a saved copy of system attributes supplied to the stack, or NULL.
- * @param[in]  len                Size of data pointed by p_sys_attr_data, in octets. 
- *
- * @return @ref NRF_SUCCESS Successfully set the system attribute information.
- * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid Connection Handle.
- * @return @ref NRF_ERROR_INVALID_DATA Invalid data supplied, the data should be exactly the same as retrieved with @ref sd_ble_gatts_sys_attr_get.
- * @return @ref NRF_ERROR_NO_MEM Not enough memory to complete operation.
- */ 
-SVCALL(SD_BLE_GATTS_SYS_ATTR_SET, uint32_t, sd_ble_gatts_sys_attr_set(uint16_t conn_handle, uint8_t const*const p_sys_attr_data, uint16_t len)); 
-
- 
-/**@brief Retrieve persistent system attribute information from the stack.
- *
- * @details This call is used to retrieve information about values to be stored perisistently by the application
- *          after a connection has been terminated. When a new connection is made to the same bond, the values
- *          should be restored using @ref sd_ble_gatts_sys_attr_set.
- *          The data should be read before any new advertising is started, or any new connection established. The connection handle for
- *          the previous now defunct connection will remain valid until a new one is created to allow this API call to refer to it.
- *
- * @param[in]     conn_handle       Connection handle of the recently terminated connection.
- * @param[in]     p_sys_attr_data   Pointer to a buffer where updated information about system attributes will be filled in. NULL can be provided to 
- *                                  obtain the length of the data
- * @param[in,out] p_len             Size of application buffer if p_sys_attr_data is not NULL. Unconditially updated to actual length of system attribute data.
- *
- * @return @ref NRF_SUCCESS Successfully retrieved the system attribute information.
- * @return @ref BLE_ERROR_INVALID_CONN_HANDLE Invalid Connection Handle.
- * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
- * @return @ref NRF_ERROR_DATA_SIZE The system attribute information did not fit into the provided buffer.
- */ 
-SVCALL(SD_BLE_GATTS_SYS_ATTR_GET, uint32_t, sd_ble_gatts_sys_attr_get(uint16_t conn_handle, uint8_t * const p_sys_attr_data, uint16_t* const p_len)); 
-
-/** @} */
-
-#endif // BLE_GATTS_H__
-
-/**
-  @}
-*/
--- a/TARGET_RBLAB_NRF51822/TARGET_NORDIC/TARGET_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/ble_hci.h	Fri Jul 25 09:46:51 2014 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,96 +0,0 @@
-/*
-  Copyright (c) 2012 Nordic Semiconductor. All Rights Reserved.
-
-  The information contained herein is confidential property of Nordic Semiconductor. The use,
-  copying, transfer or disclosure of such information is prohibited except by express written
-  agreement with Nordic Semiconductor.
- */
-/**
-  @addtogroup BLE_COMMON 
-  @{
-*/
-
-
-#ifndef BLE_HCI_H__
-#define BLE_HCI_H__ 
-
-/** @defgroup BLE_HCI_STATUS_CODES Bluetooth status codes
- * @{ */
-
-#define BLE_HCI_STATUS_CODE_SUCCESS                        0x00
-#define BLE_HCI_STATUS_CODE_UNKNOWN_BTLE_COMMAND           0x01
-#define BLE_HCI_STATUS_CODE_UNKNOWN_CONNECTION_IDENTIFIER  0x02 
-/*0x03 Hardware Failure
-0x04 Page Timeout
-*/
-#define BLE_HCI_AUTHENTICATION_FAILURE                     0x05
-#define BLE_HCI_STATUS_CODE_PIN_OR_KEY_MISSING             0x06
-#define BLE_HCI_MEMORY_CAPACITY_EXCEEDED                   0x07
-#define BLE_HCI_CONNECTION_TIMEOUT                         0x08
-/*0x09 Connection Limit Exceeded
-0x0A Synchronous Connection Limit To A Device Exceeded
-0x0B ACL Connection Already Exists*/
-#define BLE_HCI_STATUS_CODE_COMMAND_DISALLOWED             0x0C
-/*0x0D Connection Rejected due to Limited Resources
-0x0E Connection Rejected Due To Security Reasons
-0x0F Connection Rejected due to Unacceptable BD_ADDR
-0x10 Connection Accept Timeout Exceeded
-0x11 Unsupported Feature or Parameter Value*/
-#define BLE_HCI_STATUS_CODE_INVALID_BTLE_COMMAND_PARAMETERS 0x12
-#define BLE_HCI_REMOTE_USER_TERMINATED_CONNECTION           0x13
-#define BLE_HCI_REMOTE_DEV_TERMINATION_DUE_TO_LOW_RESOURCES 0x14
-#define BLE_HCI_REMOTE_DEV_TERMINATION_DUE_TO_POWER_OFF     0x15
-#define BLE_HCI_LOCAL_HOST_TERMINATED_CONNECTION            0x16
-/*
-0x17 Repeated Attempts
-0x18 Pairing Not Allowed
-0x19 Unknown LMP PDU
-*/
-#define BLE_HCI_UNSUPPORTED_REMOTE_FEATURE 0x1A
-/*
-0x1B SCO Offset Rejected
-0x1C SCO Interval Rejected
-0x1D SCO Air Mode Rejected*/
-#define BLE_HCI_STATUS_CODE_INVALID_LMP_PARAMETERS     0x1E
-#define BLE_HCI_STATUS_CODE_UNSPECIFIED_ERROR          0x1F
-/*0x20 Unsupported LMP Parameter Value
-0x21 Role Change Not Allowed
-*/
-#define BLE_HCI_STATUS_CODE_LMP_RESPONSE_TIMEOUT       0x22
-/*0x23 LMP Error Transaction Collision*/
-#define BLE_HCI_STATUS_CODE_LMP_PDU_NOT_ALLOWED        0x24
-/*0x25 Encryption Mode Not Acceptable
-0x26 Link Key Can Not be Changed
-0x27 Requested QoS Not Supported
-*/
-#define BLE_HCI_INSTANT_PASSED                         0x28
-#define BLE_HCI_PAIRING_WITH_UNIT_KEY_UNSUPPORTED      0x29
-#define BLE_HCI_DIFFERENT_TRANSACTION_COLLISION        0x2A
-/*
-0x2B Reserved
-0x2C QoS Unacceptable Parameter
-0x2D QoS Rejected
-0x2E Channel Classification Not Supported
-0x2F Insufficient Security
-0x30 Parameter Out Of Mandatory Range
-0x31 Reserved
-0x32 Role Switch Pending
-0x33 Reserved
-0x34 Reserved Slot Violation
-0x35 Role Switch Failed
-0x36 Extended Inquiry Response Too Large
-0x37 Secure Simple Pairing Not Supported By Host.
-0x38 Host Busy - Pairing
-0x39 Connection Rejected due to No Suitable Channel Found*/
-#define BLE_HCI_CONTROLLER_BUSY                        0x3A
-#define BLE_HCI_CONN_INTERVAL_UNACCEPTABLE             0x3B
-#define BLE_HCI_DIRECTED_ADVERTISER_TIMEOUT            0x3C
-#define BLE_HCI_CONN_TERMINATED_DUE_TO_MIC_FAILURE     0x3D
-#define BLE_HCI_CONN_FAILED_TO_BE_ESTABLISHED          0x3E
-
-/** @} */
-
-
-#endif // BLE_HCI_H__
-
-/** @} */
--- a/TARGET_RBLAB_NRF51822/TARGET_NORDIC/TARGET_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/ble_l2cap.h	Fri Jul 25 09:46:51 2014 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,144 +0,0 @@
-/* Copyright (c) 2011 Nordic Semiconductor. All Rights Reserved.
- *
- * The information contained herein is confidential property of Nordic Semiconductor. The use,
- * copying, transfer or disclosure of such information is prohibited except by express written
- * agreement with Nordic Semiconductor.
- *
- */
-/**
-  @addtogroup BLE_L2CAP Logical Link Control and Adaptation Protocol (L2CAP)
-  @{
-  @brief Definitions and prototypes for the L2CAP interface.
- */
-
-#ifndef BLE_L2CAP_H__
-#define BLE_L2CAP_H__ 
-
-#include "ble_types.h"
-#include "ble_ranges.h"
-#include "ble_err.h"
-#include "nrf_svc.h"
-
-/**@addtogroup BLE_L2CAP_ENUMERATIONS Enumerations
- * @{ */
-
-/**@brief L2CAP API SVC numbers. */
-enum BLE_L2CAP_SVCS 
-{
-  SD_BLE_L2CAP_CID_REGISTER = BLE_L2CAP_SVC_BASE,  /**< Register a CID. */
-  SD_BLE_L2CAP_CID_UNREGISTER,                     /**< Unregister a CID. */
-  SD_BLE_L2CAP_TX                                  /**< Transmit a packet. */
-};
-
-/** @} */
-
-/**@addtogroup BLE_L2CAP_DEFINES Defines
- * @{ */
-
-/**@defgroup BLE_ERRORS_L2CAP SVC return values specific to L2CAP
- * @{ */
-#define BLE_ERROR_L2CAP_CID_IN_USE            (NRF_L2CAP_ERR_BASE + 0x000)  /**< CID already in use. */
-/** @} */
-
-/**@brief Default L2CAP MTU. */
-#define BLE_L2CAP_MTU_DEF           (23)    
-
-/**@brief Invalid Channel Identifier. */
-#define BLE_L2CAP_CID_INVALID       (0x0000) 
-
-/**@brief Dynamic Channel Identifier base. */
-#define BLE_L2CAP_CID_DYN_BASE      (0x0040) 
-
-/**@brief Maximum amount of dynamic CIDs. */
-#define BLE_L2CAP_CID_DYN_MAX       (8) 
-
-/** @} */
-
-/**@addtogroup BLE_L2CAP_STRUCTURES Structures
- * @{ */
-
-/**@brief Packet header format for L2CAP transmission. */
-typedef struct
-{
-  uint16_t   len;                                 /**< Length of valid info in data member. */
-  uint16_t   cid;                                 /**< Channel ID on which packet is transmitted. */
-} ble_l2cap_header_t;
-
-/**@brief L2CAP Event IDs. */
-enum BLE_L2CAP_EVTS 
-{
-  BLE_L2CAP_EVT_RX  = BLE_L2CAP_EVT_BASE          /**< L2CAP packet received. */
-};
-
-
-/**@brief L2CAP Received packet event report. */
-typedef struct
-{
-  ble_l2cap_header_t header;                      /** L2CAP packet header. */
-  uint8_t    data[1];                             /**< Packet data, variable length. */
-} ble_l2cap_evt_rx_t;
-
-
-/**@brief L2CAP event callback event structure. */
-typedef struct
-{
-  uint16_t conn_handle;                           /**< Connection Handle on which event occured. */
-  union
-  {
-    ble_l2cap_evt_rx_t rx;                        /**< RX Event parameters. */
-  } params;
-} ble_l2cap_evt_t;
-
-
-/**@brief Register a CID with L2CAP.
- *
- * @details This registers a higher protocol layer with the L2CAP multiplexer, and is requried prior to all operations on the CID.
- *          
- * @param[in] cid L2CAP CID.
- *
- * @return @ref NRF_SUCCESS Successfully registered a CID with the L2CAP layer.
- * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied, CID must be above @ref BLE_L2CAP_CID_DYN_BASE.
- * @return @ref BLE_ERROR_L2CAP_CID_IN_USE L2CAP CID already in use.
- * @return @ref NRF_ERROR_NO_MEM Not enough memory to complete operation.
- */
-SVCALL(SD_BLE_L2CAP_CID_REGISTER, uint32_t, sd_ble_l2cap_cid_register(uint16_t cid));
-
-/**@brief Unregister a CID with L2CAP.
- *
- * @details This unregisters a previously registerd higher protocol layer with the L2CAP multiplexer.
- *          
- * @param[in] cid L2CAP CID.
- *
- * @return @ref NRF_SUCCESS Successfully unregistered the CID.
- * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied.
- * @return @ref NRF_ERROR_NOT_FOUND CID not previously registered.
- */
-SVCALL(SD_BLE_L2CAP_CID_UNREGISTER, uint32_t, sd_ble_l2cap_cid_unregister(uint16_t cid));
-
-/**@brief Transmit an L2CAP packet.
- *
- * @note    It is important to note that a call to this function will <b>consume an application buffer</b>, and will therefore 
- *          generate a @ref BLE_EVT_TX_COMPLETE event when the packet has been transmitted. 
- *          Please see the documentation of @ref sd_ble_tx_buffer_count_get for more details.
- *
- * @param[in] conn_handle Connection Handle.
- * @param[in] p_header    Pointer to a packet header containing length and CID.
- * @param[in] p_data      Pointer to the data to be transmitted.
- *
- * @return @ref NRF_SUCCESS Successfully queued an L2CAP packet for transmission.
- * @return @ref NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
- * @return @ref NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied, CIDs must be registered beforehand with @ref sd_ble_l2cap_cid_register.
- * @return @ref NRF_ERROR_NOT_FOUND CID not found.
- * @return @ref NRF_ERROR_NO_MEM Not enough memory to complete operation.
- * @return @ref BLE_ERROR_NO_TX_BUFFERS Not enough application buffers available.
- * @return @ref NRF_ERROR_DATA_SIZE Invalid data size(s) supplied, see @ref BLE_L2CAP_MTU_DEF.
- */
-SVCALL(SD_BLE_L2CAP_TX, uint32_t, sd_ble_l2cap_tx(uint16_t conn_handle, ble_l2cap_header_t const * const p_header, uint8_t const * const p_data));
-
-/** @} */
-
-#endif // BLE_L2CAP_H__
-
-/**
-  @}
-*/
--- a/TARGET_RBLAB_NRF51822/TARGET_NORDIC/TARGET_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/ble_ranges.h	Fri Jul 25 09:46:51 2014 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,89 +0,0 @@
-/*
-  Copyright (c) 2012 Nordic Semiconductor. All Rights Reserved.
-
-  The information contained herein is confidential property of Nordic Semiconductor. The use,
-  copying, transfer or disclosure of such information is prohibited except by express written
-  agreement with Nordic Semiconductor.
- */
-/**
-  @addtogroup BLE_COMMON
-  @{
-  @defgroup ble_ranges Module specific SVC and event number subranges
-  @{
-
-  @brief Definition of SVC and event number subranges for each API module.
-
-  @note
-  SVCs and event numbers are split into subranges for each API module.
-  Each module receives its entire allocated range of SVC calls, whether implemented or not,
-  but return BLE_ERROR_NOT_SUPPORTED for unimplemented or undefined calls in its range.
-
-  Note that the symbols BLE_<module>_SVC_LAST is the end of the allocated SVC range,
-  rather than the last SVC function call actually defined and implemented.
-
-  Specific SVC and event values are defined in each module's ble_<module>.h file,
-  which defines names of each individual SVC code based on the range start value.
-*/
-
-#ifndef BLE_RANGES_H__
-#define BLE_RANGES_H__
-
-#define BLE_SVC_BASE           0x60
-#define BLE_SVC_LAST           0x6B       /* Total: 12. */
-
-#define BLE_RESERVED_SVC_BASE  0x6C
-#define BLE_RESERVED_SVC_LAST  0x6F       /* Total: 4. */
-
-#define BLE_GAP_SVC_BASE       0x70
-#define BLE_GAP_SVC_LAST       0x8F       /* Total: 32. */
-
-#define BLE_GATTC_SVC_BASE     0x90
-#define BLE_GATTC_SVC_LAST     0x9F       /* Total: 16. */
-
-#define BLE_GATTS_SVC_BASE     0xA0
-#define BLE_GATTS_SVC_LAST     0xAF       /* Total: 16. */
-
-#define BLE_L2CAP_SVC_BASE     0xB0
-#define BLE_L2CAP_SVC_LAST     0xBF       /* Total: 16. */
-
-
-#define BLE_EVT_INVALID        0x00
-
-#define BLE_EVT_BASE           0x01
-#define BLE_EVT_LAST           0x0F       /* Total: 15. */
-
-#define BLE_GAP_EVT_BASE       0x10
-#define BLE_GAP_EVT_LAST       0x2F       /* Total: 32. */
-
-#define BLE_GATTC_EVT_BASE     0x30
-#define BLE_GATTC_EVT_LAST     0x4F       /* Total: 32. */
-
-#define BLE_GATTS_EVT_BASE     0x50
-#define BLE_GATTS_EVT_LAST     0x6F       /* Total: 32. */
-
-#define BLE_L2CAP_EVT_BASE     0x70
-#define BLE_L2CAP_EVT_LAST     0x8F       /* Total: 32.  */
-
-#define BLE_OPT_INVALID        0x00       /**< Invalid BLE Option. */
-
-#define BLE_OPT_BASE           0x01       /**< Common BLE Option base. */
-#define BLE_OPT_LAST           0x1F       /**< Total: 31. */
-
-#define BLE_GAP_OPT_BASE       0x20       /**< GAP BLE Option base. */
-#define BLE_GAP_OPT_LAST       0x3F       /**< Total: 32. */
-
-#define BLE_GATTC_OPT_BASE     0x40       /**< GATTC BLE Option base. */
-#define BLE_GATTC_OPT_LAST     0x5F       /**< Total: 32. */
-
-#define BLE_GATTS_OPT_BASE     0x60       /**< GATTS BLE Option base. */
-#define BLE_GATTS_OPT_LAST     0x7F       /**< Total: 32. */
-
-#define BLE_L2CAP_OPT_BASE     0x80       /**< L2CAP BLE Option base. */
-#define BLE_L2CAP_OPT_LAST     0x9F       /**< Total: 32.  */
-
-#endif /* BLE_RANGES_H__ */
-
-/**
-  @}
-  @}
-*/
--- a/TARGET_RBLAB_NRF51822/TARGET_NORDIC/TARGET_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/ble_types.h	Fri Jul 25 09:46:51 2014 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,169 +0,0 @@
-/* Copyright (c) 2011 Nordic Semiconductor. All Rights Reserved.
- *
- * The information contained herein is confidential property of Nordic Semiconductor. The use,
- * copying, transfer or disclosure of such information is prohibited except by express written
- * agreement with Nordic Semiconductor.
- *
- */
-/**
-  @addtogroup BLE_COMMON
-  @{
-  @defgroup ble_types Common types and macro definitions
-  @{
-
-  @brief Common types and macro definitions for the S110 SoftDevice.
- */
-
-#ifndef BLE_TYPES_H__
-#define BLE_TYPES_H__
-
-#include <stdint.h>
-
-/** @addtogroup BLE_COMMON_DEFINES Defines
- * @{ */
-
-/** @defgroup BLE_CONN_HANDLES BLE Connection Handles
- * @{ */
-#define BLE_CONN_HANDLE_INVALID 0xFFFF  /**< Invalid Connection Handle. */
-#define BLE_CONN_HANDLE_ALL     0xFFFE  /**< Applies to all Connection Handles. */
-/** @} */
-
-
-/** @defgroup BLE_UUID_VALUES Assigned Values for BLE UUIDs
- * @{ */
-/* Generic UUIDs, applicable to all services */
-#define BLE_UUID_UNKNOWN                              0x0000 /**< Reserved UUID. */
-#define BLE_UUID_SERVICE_PRIMARY                      0x2800 /**< Primary Service. */
-#define BLE_UUID_SERVICE_SECONDARY                    0x2801 /**< Secondary Service. */
-#define BLE_UUID_SERVICE_INCLUDE                      0x2802 /**< Include. */
-#define BLE_UUID_CHARACTERISTIC                       0x2803 /**< Characteristic. */
-#define BLE_UUID_DESCRIPTOR_CHAR_EXT_PROP             0x2900 /**< Characteristic Extended Properties Descriptor. */
-#define BLE_UUID_DESCRIPTOR_CHAR_USER_DESC            0x2901 /**< Characteristic User Description Descriptor. */
-#define BLE_UUID_DESCRIPTOR_CLIENT_CHAR_CONFIG        0x2902 /**< Client Characteristic Configuration Descriptor. */
-#define BLE_UUID_DESCRIPTOR_SERVER_CHAR_CONFIG        0x2903 /**< Server Characteristic Configuration Descriptor. */
-#define BLE_UUID_DESCRIPTOR_CHAR_PRESENTATION_FORMAT  0x2904 /**< Characteristic Presentation Format Descriptor. */
-#define BLE_UUID_DESCRIPTOR_CHAR_AGGREGATE_FORMAT     0x2905 /**< Characteristic Aggregate Format Descriptor. */
-/* GATT specific UUIDs */
-#define BLE_UUID_GATT                                 0x1801 /**< Generic Attribute Profile. */
-#define BLE_UUID_GATT_CHARACTERISTIC_SERVICE_CHANGED  0x2A05 /**< Service Changed Characteristic. */
-/* GAP specific UUIDs */
-#define BLE_UUID_GAP                                  0x1800 /**< Generic Access Profile. */
-#define BLE_UUID_GAP_CHARACTERISTIC_DEVICE_NAME       0x2A00 /**< Device Name Characteristic. */
-#define BLE_UUID_GAP_CHARACTERISTIC_APPEARANCE        0x2A01 /**< Appearance Characteristic. */
-#define BLE_UUID_GAP_CHARACTERISTIC_PPF               0x2A02 /**< Peripheral Privacy Flag Characteristic. */
-#define BLE_UUID_GAP_CHARACTERISTIC_RECONN_ADDR       0x2A03 /**< Reconnection Address Characteristic. */
-#define BLE_UUID_GAP_CHARACTERISTIC_PPCP              0x2A04 /**< Peripheral Preferred Connection Parameters Characteristic. */
-/** @} */
-
-
-/** @defgroup BLE_UUID_TYPES Types of UUID
- * @{ */
-#define BLE_UUID_TYPE_UNKNOWN       0x00 /**< Invalid UUID type. */
-#define BLE_UUID_TYPE_BLE           0x01 /**< Bluetooth SIG UUID (16-bit). */
-#define BLE_UUID_TYPE_VENDOR_BEGIN  0x02 /**< Vendor UUID types start at this index (128-bit). */
-/** @} */
-
-
-/** @defgroup BLE_APPEARANCES Bluetooth Appearance values
- *  @note Retrieved from http://developer.bluetooth.org/gatt/characteristics/Pages/CharacteristicViewer.aspx?u=org.bluetooth.characteristic.gap.appearance.xml
- * @{ */
-#define BLE_APPEARANCE_UNKNOWN                                0 /**< Unknown. */
-#define BLE_APPEARANCE_GENERIC_PHONE                         64 /**< Generic Phone. */
-#define BLE_APPEARANCE_GENERIC_COMPUTER                     128 /**< Generic Computer. */
-#define BLE_APPEARANCE_GENERIC_WATCH                        192 /**< Generic Watch. */
-#define BLE_APPEARANCE_WATCH_SPORTS_WATCH                   193 /**< Watch: Sports Watch. */
-#define BLE_APPEARANCE_GENERIC_CLOCK                        256 /**< Generic Clock. */
-#define BLE_APPEARANCE_GENERIC_DISPLAY                      320 /**< Generic Display. */
-#define BLE_APPEARANCE_GENERIC_REMOTE_CONTROL               384 /**< Generic Remote Control. */
-#define BLE_APPEARANCE_GENERIC_EYE_GLASSES                  448 /**< Generic Eye-glasses. */
-#define BLE_APPEARANCE_GENERIC_TAG                          512 /**< Generic Tag. */
-#define BLE_APPEARANCE_GENERIC_KEYRING                      576 /**< Generic Keyring. */
-#define BLE_APPEARANCE_GENERIC_MEDIA_PLAYER                 640 /**< Generic Media Player. */
-#define BLE_APPEARANCE_GENERIC_BARCODE_SCANNER              704 /**< Generic Barcode Scanner. */
-#define BLE_APPEARANCE_GENERIC_THERMOMETER                  768 /**< Generic Thermometer. */
-#define BLE_APPEARANCE_THERMOMETER_EAR                      769 /**< Thermometer: Ear. */
-#define BLE_APPEARANCE_GENERIC_HEART_RATE_SENSOR            832 /**< Generic Heart rate Sensor. */
-#define BLE_APPEARANCE_HEART_RATE_SENSOR_HEART_RATE_BELT    833 /**< Heart Rate Sensor: Heart Rate Belt. */
-#define BLE_APPEARANCE_GENERIC_BLOOD_PRESSURE               896 /**< Generic Blood Pressure. */
-#define BLE_APPEARANCE_BLOOD_PRESSURE_ARM                   897 /**< Blood Pressure: Arm. */
-#define BLE_APPEARANCE_BLOOD_PRESSURE_WRIST                 898 /**< Blood Pressure: Wrist. */
-#define BLE_APPEARANCE_GENERIC_HID                          960 /**< Human Interface Device (HID). */
-#define BLE_APPEARANCE_HID_KEYBOARD                         961 /**< Keyboard (HID Subtype). */
-#define BLE_APPEARANCE_HID_MOUSE                            962 /**< Mouse (HID Subtype). */
-#define BLE_APPEARANCE_HID_JOYSTICK                         963 /**< Joystiq (HID Subtype). */
-#define BLE_APPEARANCE_HID_GAMEPAD                          964 /**< Gamepad (HID Subtype). */
-#define BLE_APPEARANCE_HID_DIGITIZERSUBTYPE                 965 /**< Digitizer Tablet (HID Subtype). */
-#define BLE_APPEARANCE_HID_CARD_READER                      966 /**< Card Reader (HID Subtype). */
-#define BLE_APPEARANCE_HID_DIGITAL_PEN                      967 /**< Digital Pen (HID Subtype). */
-#define BLE_APPEARANCE_HID_BARCODE                          968 /**< Barcode Scanner (HID Subtype). */
-#define BLE_APPEARANCE_GENERIC_GLUCOSE_METER               1024 /**< Generic Glucose Meter. */
-#define BLE_APPEARANCE_GENERIC_RUNNING_WALKING_SENSOR      1088 /**< Generic Running Walking Sensor. */
-#define BLE_APPEARANCE_RUNNING_WALKING_SENSOR_IN_SHOE      1089 /**< Running Walking Sensor: In-Shoe. */
-#define BLE_APPEARANCE_RUNNING_WALKING_SENSOR_ON_SHOE      1090 /**< Running Walking Sensor: On-Shoe. */
-#define BLE_APPEARANCE_RUNNING_WALKING_SENSOR_ON_HIP       1091 /**< Running Walking Sensor: On-Hip. */
-#define BLE_APPEARANCE_GENERIC_CYCLING                     1152 /**< Generic Cycling. */
-#define BLE_APPEARANCE_CYCLING_CYCLING_COMPUTER            1153 /**< Cycling: Cycling Computer. */
-#define BLE_APPEARANCE_CYCLING_SPEED_SENSOR                1154 /**< Cycling: Speed Sensor. */
-#define BLE_APPEARANCE_CYCLING_CADENCE_SENSOR              1155 /**< Cycling: Cadence Sensor. */
-#define BLE_APPEARANCE_CYCLING_POWER_SENSOR                1156 /**< Cycling: Power Sensor. */
-#define BLE_APPEARANCE_CYCLING_SPEED_CADENCE_SENSOR        1157 /**< Cycling: Speed and Cadence Sensor. */
-#define BLE_APPEARANCE_GENERIC_PULSE_OXIMETER              3136 /**< Generic Pulse Oximeter. */
-#define BLE_APPEARANCE_PULSE_OXIMETER_FINGERTIP            3137 /**< Fingertip (Pulse Oximeter subtype). */
-#define BLE_APPEARANCE_PULSE_OXIMETER_WRIST_WORN           3138 /**< Wrist Worn(Pulse Oximeter subtype). */
-#define BLE_APPEARANCE_GENERIC_WEIGHT_SCALE                3200 /**< Generic Weight Scale. */
-#define BLE_APPEARANCE_GENERIC_OUTDOOR_SPORTS_ACT          5184 /**< Generic Outdoor Sports Activity. */
-#define BLE_APPEARANCE_OUTDOOR_SPORTS_ACT_LOC_DISP         5185 /**< Location Display Device (Outdoor Sports Activity subtype). */
-#define BLE_APPEARANCE_OUTDOOR_SPORTS_ACT_LOC_AND_NAV_DISP 5186 /**< Location and Navigation Display Device (Outdoor Sports Activity subtype). */
-#define BLE_APPEARANCE_OUTDOOR_SPORTS_ACT_LOC_POD          5187 /**< Location Pod (Outdoor Sports Activity subtype). */
-#define BLE_APPEARANCE_OUTDOOR_SPORTS_ACT_LOC_AND_NAV_POD  5188 /**< Location and Navigation Pod (Outdoor Sports Activity subtype). */
-/** @} */
-
-/** @brief Set .type and .uuid fields of ble_uuid_struct to specified uuid value. */
-#define BLE_UUID_BLE_ASSIGN(instance, value) do {\
-            instance.type = BLE_UUID_TYPE_BLE; \
-            instance.uuid = value;} while(0)
-
-/** @brief Copy type and uuid members from src to dst ble_uuid_t pointer. Both pointers must be valid/non-null. */
-#define BLE_UUID_COPY_PTR(dst, src) do {\
-            (dst)->type = (src)->type; \
-            (dst)->uuid = (src)->uuid;} while(0)
-
-/** @brief Copy type and uuid members from src to dst ble_uuid_t struct. */
-#define BLE_UUID_COPY_INST(dst, src) do {\
-            (dst).type = (src).type; \
-            (dst).uuid = (src).uuid;} while(0)
-
-/** @brief Compare for equality both type and uuid members of two (valid, non-null) ble_uuid_t pointers. */
-#define BLE_UUID_EQ(p_uuid1, p_uuid2) \
-            (((p_uuid1)->type == (p_uuid2)->type) && ((p_uuid1)->uuid == (p_uuid2)->uuid))
-
-/** @brief Compare for difference both type and uuid members of two (valid, non-null) ble_uuid_t pointers. */
-#define BLE_UUID_NEQ(p_uuid1, p_uuid2) \
-            (((p_uuid1)->type != (p_uuid2)->type) || ((p_uuid1)->uuid != (p_uuid2)->uuid))
-
-/** @} */
-
-/** @addtogroup BLE_TYPES_STRUCTURES Structures
- * @{ */
-
-/** @brief 128 bit UUID values. */
-typedef struct
-{ 
-    unsigned char uuid128[16];
-} ble_uuid128_t;
-
-/** @brief  Bluetooth Low Energy UUID type, encapsulates both 16-bit and 128-bit UUIDs. */
-typedef struct
-{
-    uint16_t    uuid; /**< 16-bit UUID value or octets 12-13 of 128-bit UUID. */
-    uint8_t     type; /**< UUID type, see @ref BLE_UUID_TYPES. If type is BLE_UUID_TYPE_UNKNOWN, the value of uuid is undefined. */
-} ble_uuid_t;
-
-/** @} */
-
-#endif /* BLE_TYPES_H__ */
-
-/**
-  @}
-  @}
-*/
--- a/TARGET_RBLAB_NRF51822/TARGET_NORDIC/TARGET_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/nrf_error.h	Fri Jul 25 09:46:51 2014 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,51 +0,0 @@
-/*
- * Copyright (c) 2012 Nordic Semiconductor. All Rights Reserved.
- *
- * The information contained herein is confidential property of Nordic Semiconductor. The use,
- * copying, transfer or disclosure of such information is prohibited except by express written
- * agreement with Nordic Semiconductor.
- *
- */
- /**
-  @defgroup nrf_error SoftDevice Global Error Codes
-  @{
-   
-  @brief Global Error definitions
-*/
-
-/* Header guard */
-#ifndef NRF_ERROR_H__
-#define NRF_ERROR_H__
-
-/** @defgroup NRF_ERRORS_BASE Error Codes Base number definitions
- * @{ */
-#define NRF_ERROR_BASE_NUM      (0x0)       ///< Global error base
-#define NRF_ERROR_SDM_BASE_NUM  (0x1000)    ///< SDM error base
-#define NRF_ERROR_SOC_BASE_NUM  (0x2000)    ///< SoC error base
-#define NRF_ERROR_STK_BASE_NUM  (0x3000)    ///< STK error base
-/** @} */
-
-#define NRF_SUCCESS                           (NRF_ERROR_BASE_NUM + 0)  ///< Successful command
-#define NRF_ERROR_SVC_HANDLER_MISSING         (NRF_ERROR_BASE_NUM + 1)  ///< SVC handler is missing
-#define NRF_ERROR_SOFTDEVICE_NOT_ENABLED      (NRF_ERROR_BASE_NUM + 2)  ///< SoftDevice has not been enabled
-#define NRF_ERROR_INTERNAL                    (NRF_ERROR_BASE_NUM + 3)  ///< Internal Error
-#define NRF_ERROR_NO_MEM                      (NRF_ERROR_BASE_NUM + 4)  ///< No Memory for operation
-#define NRF_ERROR_NOT_FOUND                   (NRF_ERROR_BASE_NUM + 5)  ///< Not found
-#define NRF_ERROR_NOT_SUPPORTED               (NRF_ERROR_BASE_NUM + 6)  ///< Not supported
-#define NRF_ERROR_INVALID_PARAM               (NRF_ERROR_BASE_NUM + 7)  ///< Invalid Parameter
-#define NRF_ERROR_INVALID_STATE               (NRF_ERROR_BASE_NUM + 8)  ///< Invalid state, operation disallowed in this state
-#define NRF_ERROR_INVALID_LENGTH              (NRF_ERROR_BASE_NUM + 9)  ///< Invalid Length
-#define NRF_ERROR_INVALID_FLAGS               (NRF_ERROR_BASE_NUM + 10) ///< Invalid Flags
-#define NRF_ERROR_INVALID_DATA                (NRF_ERROR_BASE_NUM + 11) ///< Invalid Data
-#define NRF_ERROR_DATA_SIZE                   (NRF_ERROR_BASE_NUM + 12) ///< Data size exceeds limit
-#define NRF_ERROR_TIMEOUT                     (NRF_ERROR_BASE_NUM + 13) ///< Operation timed out
-#define NRF_ERROR_NULL                        (NRF_ERROR_BASE_NUM + 14) ///< Null Pointer
-#define NRF_ERROR_FORBIDDEN                   (NRF_ERROR_BASE_NUM + 15) ///< Forbidden Operation
-#define NRF_ERROR_INVALID_ADDR                (NRF_ERROR_BASE_NUM + 16) ///< Bad Memory Address
-#define NRF_ERROR_BUSY                        (NRF_ERROR_BASE_NUM + 17) ///< Busy
-
-#endif // NRF_ERROR_H__
-
-/**
-  @}
-*/
--- a/TARGET_RBLAB_NRF51822/TARGET_NORDIC/TARGET_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/nrf_error_sdm.h	Fri Jul 25 09:46:51 2014 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,33 +0,0 @@
-/*
- * Copyright (c) 2012 Nordic Semiconductor. All Rights Reserved.
- *
- * The information contained herein is confidential property of Nordic Semiconductor. The use,
- * copying, transfer or disclosure of such information is prohibited except by express written
- * agreement with Nordic Semiconductor.
- *
- */
- /**
-  @addtogroup nrf_sdm_api
-  @{
-  @defgroup nrf_sdm_error SoftDevice Manager Error Codes
-  @{
-     
-  @brief Error definitions for the SDM API
-*/
-
-/* Header guard */
-#ifndef NRF_ERROR_SDM_H__
-#define NRF_ERROR_SDM_H__
-
-#include "nrf_error.h"
-
-#define NRF_ERROR_SDM_LFCLK_SOURCE_UNKNOWN              (NRF_ERROR_SDM_BASE_NUM + 0)  ///< Unknown lfclk source
-#define NRF_ERROR_SDM_INCORRECT_INTERRUPT_CONFIGURATION (NRF_ERROR_SDM_BASE_NUM + 1)  ///< Incorrect interrupt configuration (can be caused by using illegal priority levels, or having enabled SoftDevice interrupts)
-#define NRF_ERROR_SDM_INCORRECT_CLENR0                  (NRF_ERROR_SDM_BASE_NUM + 2)  ///< Incorrect CLENR0 (can be caused by erronous SoftDevice flashing)
-
-#endif // NRF_ERROR_SDM_H__
-
-/**
-  @}
-  @}
-*/
--- a/TARGET_RBLAB_NRF51822/TARGET_NORDIC/TARGET_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/nrf_error_soc.h	Fri Jul 25 09:46:51 2014 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,49 +0,0 @@
-/*
- * Copyright (c) 2012 Nordic Semiconductor. All Rights Reserved.
- *
- * The information contained herein is confidential property of Nordic Semiconductor. The use,
- * copying, transfer or disclosure of such information is prohibited except by express written
- * agreement with Nordic Semiconductor.
- *
- */
- /**
-  @addtogroup nrf_soc_api
-  @{
-  @defgroup nrf_soc_error SoC Library Error Codes
-  @{
-     
-  @brief Error definitions for the SoC library
-
-*/
-
-/* Header guard */
-#ifndef NRF_ERROR_SOC_H__
-#define NRF_ERROR_SOC_H__
-
-#include "nrf_error.h"
-
-/* Mutex Errors */
-#define NRF_ERROR_SOC_MUTEX_ALREADY_TAKEN                 (NRF_ERROR_SOC_BASE_NUM + 0)  ///< Mutex already taken
-
-/* NVIC errors */
-#define NRF_ERROR_SOC_NVIC_INTERRUPT_NOT_AVAILABLE        (NRF_ERROR_SOC_BASE_NUM + 1)  ///< NVIC interrupt not available
-#define NRF_ERROR_SOC_NVIC_INTERRUPT_PRIORITY_NOT_ALLOWED (NRF_ERROR_SOC_BASE_NUM + 2)  ///< NVIC interrupt priority not allowed
-#define NRF_ERROR_SOC_NVIC_SHOULD_NOT_RETURN              (NRF_ERROR_SOC_BASE_NUM + 3)  ///< NVIC should not return
-
-/* Power errors */
-#define NRF_ERROR_SOC_POWER_MODE_UNKNOWN                  (NRF_ERROR_SOC_BASE_NUM + 4)  ///< Power mode unknown
-#define NRF_ERROR_SOC_POWER_POF_THRESHOLD_UNKNOWN         (NRF_ERROR_SOC_BASE_NUM + 5)  ///< Power POF threshold unknown
-#define NRF_ERROR_SOC_POWER_OFF_SHOULD_NOT_RETURN         (NRF_ERROR_SOC_BASE_NUM + 6)  ///< Power off should not return
-
-/* Rand errors */
-#define NRF_ERROR_SOC_RAND_NOT_ENOUGH_VALUES              (NRF_ERROR_SOC_BASE_NUM + 7)  ///< RAND not enough values
-
-/* PPI errors */
-#define NRF_ERROR_SOC_PPI_INVALID_CHANNEL                 (NRF_ERROR_SOC_BASE_NUM + 8)  ///< Invalid PPI Channel
-#define NRF_ERROR_SOC_PPI_INVALID_GROUP                   (NRF_ERROR_SOC_BASE_NUM + 9)  ///< Invalid PPI Group
-
-#endif // NRF_ERROR_SOC_H__
-/**
-  @}
-  @}
-*/
--- a/TARGET_RBLAB_NRF51822/TARGET_NORDIC/TARGET_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/nrf_mbr.h	Fri Jul 25 09:46:51 2014 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,155 +0,0 @@
-/*
- * Copyright (c) 2014 Nordic Semiconductor. All Rights Reserved.
- *
- * The information contained herein is confidential property of Nordic Semiconductor. The use,
- * copying, transfer or disclosure of such information is prohibited except by express written
- * agreement with Nordic Semiconductor.
- *
- */
-/**
-  @defgroup nrf_mbr_api Master Boot Record API
-  @{
-     
-  @brief APIs for updating SoftDevice and BootLoader
- 
-*/
-
-/* Header guard */
-#ifndef NRF_MBR_H__
-#define NRF_MBR_H__
-
-#include "nrf_svc.h"
-#include <stdint.h>
-
-
-/** @addtogroup NRF_MBR_DEFINES Defines
- * @{ */
-
-/**@brief MBR SVC Base number. */
-#define MBR_SVC_BASE 0x18   
-/** @} */
-
-/** @addtogroup NRF_MBR_ENUMS Enumerations
- * @{ */
-
-/**@brief nRF Master Boot Record API SVC numbers. */
-enum NRF_MBR_SVCS
-{
-  SD_MBR_COMMAND = MBR_SVC_BASE, /**< ::sd_mbr_command */
-};
-
-/**@brief Possible values for ::sd_mbr_command_t.command */
-enum NRF_MBR_COMMANDS
-{
-  SD_MBR_COMMAND_COPY_BL,               /**< Copy a new a new BootLoader. @see sd_mbr_command_copy_bl_t */
-  SD_MBR_COMMAND_COPY_SD,               /**< Copy a new SoftDevice. @see ::sd_mbr_command_copy_sd_t*/
-  SD_MBR_COMMAND_INIT_SD,               /**< Init forwarding interrupts to SD, and run reset function in SD*/
-  SD_MBR_COMMAND_COMPARE,               /**< This command works like memcmp. @see ::sd_mbr_command_compare_t*/
-  SD_MBR_COMMAND_VECTOR_TABLE_BASE_SET, /**< Start forwarding all exception to this address @see ::sd_mbr_command_vector_table_base_set_t*/
-};
-
-/** @} */
-
-/** @addtogroup NRF_MBR_TYPES Types
- * @{ */
-
-/**@brief This command copies part of a new SoftDevice
- * The destination area is erased before copying. 
- * If dst is in the middle of a flash page, that whole flash page will be erased.
- * If (dst+len) is in the middle of a flash page, that whole flash page will be erased.
- * 
- * The user of this function is responsible for setting the PROTENSET registers.
- * 
- * @retval ::NRF_SUCCESS indicates that the contents of the memory blocks where copied correctly.
- * @retval ::NRF_ERROR_INTERNAL indicates that the contents of the memory blocks where not verified correctly after copying.
- */
-typedef struct
-{
-  uint32_t *src;  /**< Pointer to the source of data to be copied.*/
-  uint32_t *dst;  /**< Pointer to the destination where the content is to be copied.*/
-  uint32_t len;   /**< Number of 32 bit words to copy. Must be a multiple of 256 words*/
-}sd_mbr_command_copy_sd_t;
-
-
-/**@brief This command works like memcmp, but takes the length in words.
- *
- * @retval ::NRF_SUCCESS indicates that the contents of both memory blocks are equal.
- * @retval ::NRF_ERROR_NULL indicates that the contents of the memory blocks are not equal.
- */
-typedef struct
-{
-  uint32_t *ptr1; /**< Pointer to block of memory */
-  uint32_t *ptr2; /**< Pointer to block of memory */
-  uint32_t len;   /**< Number of 32 bit words to compare*/
-}sd_mbr_command_compare_t;
-
-
-/**@brief This command copies a new BootLoader.
- *  With this command, destination of BootLoader is always the address written in NRF_UICR->BOOTADDR.
- *
- *  Destination is erased by this function.
- *  If (destination+bl_len) is in the middle of a flash page, that whole flash page will be erased.
- *
- *  This function will use PROTENSET to protect the flash that is not intended to be written.
- * 
- *  On Success, this function will not return. It will start the new BootLoader from reset-vector as normal.
- *
- * @retval ::NRF_ERROR_INVALID_STATE indicates that something was wrong.
- * @retval ::NRF_ERROR_INTERNAL indicates an internal error that should not happen.
- * @retval ::NRF_ERROR_FORBIDDEN if NRF_UICR->BOOTADDR is not set
- * @retval ::NRF_ERROR_INVALID_LENGTH is invalid.
- */
-typedef struct
-{
-  uint32_t *bl_src;  /**< Pointer to the source of the Bootloader to be be copied.*/
-  uint32_t bl_len;   /**< Number of 32 bit words to copy for BootLoader */
-}sd_mbr_command_copy_bl_t;
-
-/**@brief Sets the base address of the interrupt vector table for interrupts forwarded from the MBR
- * 
- * Once this function has been called, this address is where the MBR will start to forward interrupts to after a reset.
- *
- * To restore default forwarding thiss function should be called with @param address set to 0.
- * The MBR will then start forwarding to interrupts to the adress in NFR_UICR->BOOTADDR or to the SoftDevice if the BOOTADDR is not set.
- *
- * @retval ::NRF_SUCCESS
- */
-typedef struct
-{ 
-  uint32_t address; /**< The base address of the interrupt vector table for forwarded interrupts.*/
-}sd_mbr_command_vector_table_base_set_t;
-
-typedef struct
-{
-  uint32_t command;  /**< type of command to be issued see @ref NRF_MBR_COMMANDS. */
-  union 
-  {
-    sd_mbr_command_copy_sd_t copy_sd;  /**< Parameters for copy*/
-    sd_mbr_command_copy_bl_t copy_bl;  /**< Parameters for copy SoftDevice and BootLoader*/
-    sd_mbr_command_compare_t compare;  /**< Parameters for verify*/
-    sd_mbr_command_vector_table_base_set_t base_set; /**< Parameters for vector table base set.*/
-  } params;
-}sd_mbr_command_t;
-
-/** @} */
-
-/** @addtogroup NRF_MBR_FUNCTIONS Functions
- * @{ */
-
-/**@brief Issue Master Boot Record commands
- *
- * Commands used when updating a SoftDevice and bootloader
- *
- * @param[in]  param Pointer to a struct describing the command
- *
- *@note for retvals see ::sd_mbr_command_copy_sd_t ::sd_mbr_command_copy_bl_t ::sd_mbr_command_compare_t
-
-*/
-SVCALL(SD_MBR_COMMAND, uint32_t, sd_mbr_command(sd_mbr_command_t* param));
-
-/** @} */
-#endif // NRF_MBR_H__
-
-/**
-  @}
-*/
--- a/TARGET_RBLAB_NRF51822/TARGET_NORDIC/TARGET_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/nrf_sdm.h	Fri Jul 25 09:46:51 2014 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,167 +0,0 @@
-/*
- * Copyright (c) 2011 Nordic Semiconductor. All Rights Reserved.
- *
- * The information contained herein is confidential property of Nordic Semiconductor. The use,
- * copying, transfer or disclosure of such information is prohibited except by express written
- * agreement with Nordic Semiconductor.
- *
- */
-/**
-  @defgroup nrf_sdm_api SoftDevice Manager API
-  @{
-     
-  @brief APIs for SoftDevice management.
- 
-*/
-
-/* Header guard */
-#ifndef NRF_SDM_H__
-#define NRF_SDM_H__
-
-#include "nrf_svc.h"
-#include "nrf51.h"
-#include "nrf_soc.h"
-#include "nrf_error_sdm.h"
-
-/** @addtogroup NRF_SDM_DEFINES Defines
- * @{ */
-
-/**@brief SoftDevice Manager SVC Base number. */
-#define SDM_SVC_BASE  (0x10)
-
-/** @} */
-
-/** @addtogroup NRF_SDM_ENUMS Enumerations
- * @{ */
-
-/**@brief nRF SoftDevice Manager API SVC numbers. */
-enum NRF_SD_SVCS
-{
-  SD_SOFTDEVICE_ENABLE = SDM_SVC_BASE, /**< ::sd_softdevice_enable */
-  SD_SOFTDEVICE_DISABLE,               /**< ::sd_softdevice_disable */
-  SD_SOFTDEVICE_IS_ENABLED,            /**< ::sd_softdevice_is_enabled */
-  SD_SOFTDEVICE_VECTOR_TABLE_BASE_SET, /**< ::sd_softdevice_vector_table_base_set */
-  SVC_SDM_LAST                         /**< Placeholder for last SDM SVC */
-};
-
-/**@brief Possible lfclk oscillator sources. */
-enum NRF_CLOCK_LFCLKSRCS
-{
-  NRF_CLOCK_LFCLKSRC_SYNTH_250_PPM,                       /**< LFCLK Synthesized from HFCLK.                    */
-  NRF_CLOCK_LFCLKSRC_XTAL_500_PPM,                        /**< LFCLK crystal oscillator 500 PPM accuracy.       */
-  NRF_CLOCK_LFCLKSRC_XTAL_250_PPM,                        /**< LFCLK crystal oscillator 250 PPM accuracy.       */
-  NRF_CLOCK_LFCLKSRC_XTAL_150_PPM,                        /**< LFCLK crystal oscillator 150 PPM accuracy.       */
-  NRF_CLOCK_LFCLKSRC_XTAL_100_PPM,                        /**< LFCLK crystal oscillator 100 PPM accuracy.       */
-  NRF_CLOCK_LFCLKSRC_XTAL_75_PPM,                         /**< LFCLK crystal oscillator 75 PPM accuracy.        */
-  NRF_CLOCK_LFCLKSRC_XTAL_50_PPM,                         /**< LFCLK crystal oscillator 50 PPM accuracy.        */
-  NRF_CLOCK_LFCLKSRC_XTAL_30_PPM,                         /**< LFCLK crystal oscillator 30 PPM accuracy.        */
-  NRF_CLOCK_LFCLKSRC_XTAL_20_PPM,                         /**< LFCLK crystal oscillator 20 PPM accuracy.        */
-  NRF_CLOCK_LFCLKSRC_RC_250_PPM_250MS_CALIBRATION,        /**< LFCLK RC oscillator, 250ms  calibration interval.*/
-  NRF_CLOCK_LFCLKSRC_RC_250_PPM_500MS_CALIBRATION,        /**< LFCLK RC oscillator, 500ms  calibration interval.*/
-  NRF_CLOCK_LFCLKSRC_RC_250_PPM_1000MS_CALIBRATION,       /**< LFCLK RC oscillator, 1000ms calibration interval.*/
-  NRF_CLOCK_LFCLKSRC_RC_250_PPM_2000MS_CALIBRATION,       /**< LFCLK RC oscillator, 2000ms calibration interval.*/
-  NRF_CLOCK_LFCLKSRC_RC_250_PPM_4000MS_CALIBRATION,       /**< LFCLK RC oscillator, 4000ms calibration interval.*/
-  NRF_CLOCK_LFCLKSRC_RC_250_PPM_8000MS_CALIBRATION,       /**< LFCLK RC oscillator, 8000ms calibration interval.*/
-  NRF_CLOCK_LFCLKSRC_RC_250_PPM_TEMP_1000MS_CALIBRATION,  /**< LFCLK RC oscillator. Temperature checked every 1000ms, if changed above a threshold, a calibration is done.*/
-  NRF_CLOCK_LFCLKSRC_RC_250_PPM_TEMP_2000MS_CALIBRATION,  /**< LFCLK RC oscillator. Temperature checked every 2000ms, if changed above a threshold, a calibration is done.*/
-  NRF_CLOCK_LFCLKSRC_RC_250_PPM_TEMP_4000MS_CALIBRATION,  /**< LFCLK RC oscillator. Temperature checked every 4000ms, if changed above a threshold, a calibration is done.*/
-  NRF_CLOCK_LFCLKSRC_RC_250_PPM_TEMP_8000MS_CALIBRATION,  /**< LFCLK RC oscillator. Temperature checked every 8000ms, if changed above a threshold, a calibration is done.*/
-  NRF_CLOCK_LFCLKSRC_RC_250_PPM_TEMP_16000MS_CALIBRATION, /**< LFCLK RC oscillator. Temperature checked every 16000ms, if changed above a threshold, a calibration is done.*/
-};
-
-/** @} */
-
-/** @addtogroup NRF_SDM_TYPES Types
- * @{ */
-
-/**@brief Type representing lfclk oscillator source. */
-typedef uint32_t nrf_clock_lfclksrc_t;
-
-
-/**@brief SoftDevice Assertion Handler type.
- *
- * When an unexpected error occurs within the SoftDevice it will call the SoftDevice assertion handler callback.
- * The protocol stack will be in an undefined state when this happens and the only way to recover will be to
- * perform a reset, using e.g. CMSIS NVIC_SystemReset().
- *
- * @note This callback is executed in HardFault context, thus SVC functions cannot be called from the SoftDevice assert callback.
- *       
- * @param[in] pc The program counter of the failed assert.
- * @param[in] line_number Line number where the assert failed.
- * @param[in] file_name File name where the assert failed.
- */
-typedef void (*softdevice_assertion_handler_t)(uint32_t pc, uint16_t line_number, const uint8_t * p_file_name);
-
-/** @} */
-
-/** @addtogroup NRF_SDM_FUNCTIONS Functions
- * @{ */
-
-/**@brief Enables the SoftDevice and by extension the protocol stack.
- *
- * Idempotent function to enable the SoftDevice.
- *
- * @note Some care must be taken if a low frequency clock source is already running when calling this function:
- *       If the LF clock has a different source then the one currently running, it will be stopped. Then, the new
- *       clock source will be started.
- *
- * @note This function has no effect when returning with an error.
- *
- * @post If return code is ::NRF_SUCCESS 
- *       - SoC library and protocol stack APIs are made available
- *       - A portion of RAM will be unavailable (see relevant SDS documentation)
- *       - Some peripherals will be unavailable or available only through the SoC API (see relevant SDS documentation)
- *       - Interrupts will not arrive from protected peripherals or interrupts
- *       - nrf_nvic_ functions must be used instead of CMSIS NVIC_ functions for reliable usage of the softdevice.
- *       - Interrupt latency may be affected by the SoftDevice  (see relevant SDS documentation)
- *       - Chosen low frequency clock source will be running
- *
- * @param clock_source Low frequency clock source and accuracy. (Note: In the case of XTAL source, the PPM accuracy of the chosen clock source must be greater than or equal to the actual characteristics of your XTAL clock).
- * @param assertion_handler Callback for SoftDevice assertions.
- *
- * @retval ::NRF_SUCCESS
- * @retval ::NRF_ERROR_SDM_INCORRECT_INTERRUPT_CONFIGURATION SoftDeviceinterrupt is already enabled, or an enabled interrupt has an illegal priority level
- * @retval ::NRF_ERROR_SDM_LFCLK_SOURCE_UNKNOWN Unknown low frequency clock source selected
- */
-SVCALL(SD_SOFTDEVICE_ENABLE, uint32_t, sd_softdevice_enable(nrf_clock_lfclksrc_t clock_source, softdevice_assertion_handler_t assertion_handler));
-
-/**@brief Disables the SoftDevice and by extension the protocol stack.
- * 
- * Idempotent function to disable the SoftDevice.
- *
- * @post SoC library and protocol stack APIs are made unavailable.
- * @post All interrupts that was protected by the SoftDevice will be disabled and initialized to priority 0 (highest).
- * @post All peripherals used by the SoftDevice will be reset to default values.
- * @post All of RAM become available.
- * @post All interrupts are forwarded to the application.
- * @post LFCLK source chosen in ::sd_softdevice_enable will be left running.
- *
- * @retval ::NRF_SUCCESS
- */
-SVCALL(SD_SOFTDEVICE_DISABLE, uint32_t, sd_softdevice_disable(void));
-
-/**@brief Check if the SoftDevice is enabled.
- *
- * @param[out]  p_softdevice_enabled If the SoftDevice is enabled: 1 else 0.
- *
- * @retval ::NRF_SUCCESS
- */
-SVCALL(SD_SOFTDEVICE_IS_ENABLED, uint32_t, sd_softdevice_is_enabled(uint8_t * p_softdevice_enabled));
-
-/**@brief Sets the base address of the interrupt vector table for interrupts forwarded from the SoftDevice
- * 
- * This function is only intended to be called when a bootloader is enabled.
- *
- * @param[in] address The base address of the interrupt vector table for forwarded interrupts.
- 
- * @retval ::NRF_SUCCESS
- */
-SVCALL(SD_SOFTDEVICE_VECTOR_TABLE_BASE_SET, uint32_t, sd_softdevice_vector_table_base_set(uint32_t address)); 
-
-/** @} */
-
-#endif // NRF_SDM_H__
-
-/**
-  @}
-*/
--- a/TARGET_RBLAB_NRF51822/TARGET_NORDIC/TARGET_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/nrf_soc.h	Fri Jul 25 09:46:51 2014 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,958 +0,0 @@
-/* Copyright (c) 2011 Nordic Semiconductor. All Rights Reserved.
- *
- * The information contained herein is confidential property of Nordic Semiconductor. The use,
- * copying, transfer or disclosure of such information is prohibited except by express written
- * agreement with Nordic Semiconductor.
- *
- */
- 
-/**
- * @defgroup nrf_soc_api SoC Library API
- * @{
- * 
- * @brief APIs for the SoC library.
- * 
-*/
-
-#ifndef NRF_SOC_H__
-#define NRF_SOC_H__
-
-#include <stdint.h>
-#include <stdbool.h>
-#include "nrf_svc.h"
-#include "nrf51.h"
-#include "nrf51_bitfields.h"
-#include "nrf_error_soc.h"
-
-/** @addtogroup NRF_SOC_DEFINES Defines
- * @{ */
-
-/**@brief The number of the lowest SVC number reserved for the SoC library. */
-#define SOC_SVC_BASE               (0x20)
-#define SOC_SVC_BASE_NOT_AVAILABLE (0x23)
-
-/**@brief Guranteed time for application to process radio inactive notification. */
-#define NRF_RADIO_NOTIFICATION_INACTIVE_GUARANTEED_TIME_US  (62)
-
-/**@brief The minimum allowed timeslot extension time. */
-#define NRF_RADIO_MINIMUM_TIMESLOT_LENGTH_EXTENSION_TIME_US (200)
-
-#define SOC_ECB_KEY_LENGTH            (16)                       /**< ECB key length. */
-#define SOC_ECB_CLEARTEXT_LENGTH      (16)                       /**< ECB cleartext length. */
-#define SOC_ECB_CIPHERTEXT_LENGTH     (SOC_ECB_CLEARTEXT_LENGTH) /**< ECB ciphertext length. */
-
-#define SD_EVT_IRQn                   (SWI2_IRQn)        /**< SoftDevice Event IRQ number. Used for both protocol events and SoC events. */
-#define SD_EVT_IRQHandler             (SWI2_IRQHandler)  /**< SoftDevice Event IRQ handler. Used for both protocol events and SoC events. */
-#define RADIO_NOTIFICATION_IRQn       (SWI1_IRQn)        /**< The radio notification IRQ number. */
-#define RADIO_NOTIFICATION_IRQHandler (SWI1_IRQHandler)  /**< The radio notification IRQ handler. */
-
-#define NRF_RADIO_LENGTH_MIN_US       (100)               /**< The shortest allowed radio timeslot, in microseconds. */
-#define NRF_RADIO_LENGTH_MAX_US       (100000)            /**< The longest allowed radio timeslot, in microseconds. */
-
-#define NRF_RADIO_DISTANCE_MAX_US         (128000000UL - 1UL) /**< The longest timeslot distance, in microseconds, allowed for the distance parameter (see @ref nrf_radio_request_normal_t) in the request. */
-
-#define NRF_RADIO_EARLIEST_TIMEOUT_MAX_US (128000000UL - 1UL) /**< The longest timeout, in microseconds, allowed when requesting the earliest possible timeslot. */
-
-#define NRF_RADIO_START_JITTER_US     (2)                 /**< The maximum jitter in NRF_RADIO_CALLBACK_SIGNAL_TYPE_START relative to the requested start time. */
-
-/** @} */
-
-/** @addtogroup NRF_SOC_TYPES Types
- * @{ */
-
-/**@brief The SVC numbers used by the SVC functions in the SoC library. */
-enum NRF_SOC_SVCS
-{
-  SD_FLASH_PAGE_ERASE = SOC_SVC_BASE,
-  SD_FLASH_WRITE,
-  SD_FLASH_PROTECT,
-  SD_MUTEX_NEW = SOC_SVC_BASE_NOT_AVAILABLE,
-  SD_MUTEX_ACQUIRE,
-  SD_MUTEX_RELEASE,
-  SD_NVIC_ENABLEIRQ,
-  SD_NVIC_DISABLEIRQ,
-  SD_NVIC_GETPENDINGIRQ,
-  SD_NVIC_SETPENDINGIRQ,
-  SD_NVIC_CLEARPENDINGIRQ,
-  SD_NVIC_SETPRIORITY,
-  SD_NVIC_GETPRIORITY,
-  SD_NVIC_SYSTEMRESET,
-  SD_NVIC_CRITICAL_REGION_ENTER,
-  SD_NVIC_CRITICAL_REGION_EXIT,
-  SD_RAND_APPLICATION_POOL_CAPACITY,
-  SD_RAND_APPLICATION_BYTES_AVAILABLE,
-  SD_RAND_APPLICATION_GET_VECTOR,
-  SD_POWER_MODE_SET,
-  SD_POWER_SYSTEM_OFF,
-  SD_POWER_RESET_REASON_GET,
-  SD_POWER_RESET_REASON_CLR,
-  SD_POWER_POF_ENABLE,
-  SD_POWER_POF_THRESHOLD_SET,
-  SD_POWER_RAMON_SET,
-  SD_POWER_RAMON_CLR,
-  SD_POWER_RAMON_GET,
-  SD_POWER_GPREGRET_SET,
-  SD_POWER_GPREGRET_CLR,
-  SD_POWER_GPREGRET_GET,
-  SD_POWER_DCDC_MODE_SET,
-  SD_APP_EVT_WAIT,
-  SD_CLOCK_HFCLK_REQUEST,
-  SD_CLOCK_HFCLK_RELEASE,
-  SD_CLOCK_HFCLK_IS_RUNNING,
-  SD_PPI_CHANNEL_ENABLE_GET,
-  SD_PPI_CHANNEL_ENABLE_SET,
-  SD_PPI_CHANNEL_ENABLE_CLR,
-  SD_PPI_CHANNEL_ASSIGN,
-  SD_PPI_GROUP_TASK_ENABLE,
-  SD_PPI_GROUP_TASK_DISABLE,
-  SD_PPI_GROUP_ASSIGN,
-  SD_PPI_GROUP_GET,
-  SD_RADIO_NOTIFICATION_CFG_SET,
-  SD_ECB_BLOCK_ENCRYPT,
-  SD_RADIO_SESSION_OPEN,
-  SD_RADIO_SESSION_CLOSE,
-  SD_RADIO_REQUEST,
-  SD_EVT_GET,
-  SD_TEMP_GET,
-  SVC_SOC_LAST
-};
-
-/**@brief Possible values of a ::nrf_mutex_t. */
-enum NRF_MUTEX_VALUES
-{
-  NRF_MUTEX_FREE,
-  NRF_MUTEX_TAKEN
-};
-
-/**@brief Possible values of ::nrf_app_irq_priority_t. */
-enum NRF_APP_PRIORITIES
-{
-  NRF_APP_PRIORITY_HIGH = 1,
-  NRF_APP_PRIORITY_LOW = 3
-};
-
-/**@brief Possible values of ::nrf_power_mode_t. */
-enum NRF_POWER_MODES
-{
-  NRF_POWER_MODE_CONSTLAT,  /**< Constant latency mode. See power management in the reference manual. */
-  NRF_POWER_MODE_LOWPWR     /**< Low power mode. See power management in the reference manual. */
-};
-
-
-/**@brief Possible values of ::nrf_power_failure_threshold_t */
-enum NRF_POWER_THRESHOLDS
-{
-  NRF_POWER_THRESHOLD_V21,  /**< 2.1 Volts power failure threshold. */
-  NRF_POWER_THRESHOLD_V23,  /**< 2.3 Volts power failure threshold. */
-  NRF_POWER_THRESHOLD_V25,  /**< 2.5 Volts power failure threshold. */ 
-  NRF_POWER_THRESHOLD_V27   /**< 2.7 Volts power failure threshold. */
-};
-
-
-/**@brief Possible values of ::nrf_power_dcdc_mode_t. */
-enum NRF_POWER_DCDC_MODES
-{
-  NRF_POWER_DCDC_MODE_OFF,          /**< The DCDC is always off. */
-  NRF_POWER_DCDC_MODE_ON,           /**< The DCDC is always on. */
-  NRF_POWER_DCDC_MODE_AUTOMATIC     /**< The DCDC is automatically managed. */
-};
-
-/**@brief Possible values of ::nrf_radio_notification_distance_t. */
-enum NRF_RADIO_NOTIFICATION_DISTANCES
-{
-  NRF_RADIO_NOTIFICATION_DISTANCE_NONE = 0, /**< The event does not have a notification. */
-  NRF_RADIO_NOTIFICATION_DISTANCE_800US,    /**< The distance from the active notification to start of radio activity. */
-  NRF_RADIO_NOTIFICATION_DISTANCE_1740US,   /**< The distance from the active notification to start of radio activity. */
-  NRF_RADIO_NOTIFICATION_DISTANCE_2680US,   /**< The distance from the active notification to start of radio activity. */
-  NRF_RADIO_NOTIFICATION_DISTANCE_3620US,   /**< The distance from the active notification to start of radio activity. */
-  NRF_RADIO_NOTIFICATION_DISTANCE_4560US,   /**< The distance from the active notification to start of radio activity. */
-  NRF_RADIO_NOTIFICATION_DISTANCE_5500US    /**< The distance from the active notification to start of radio activity. */
-};
-
-
-/**@brief Possible values of ::nrf_radio_notification_type_t. */
-enum NRF_RADIO_NOTIFICATION_TYPES
-{
-  NRF_RADIO_NOTIFICATION_TYPE_NONE = 0,        /**< The event does not have a radio notification signal. */
-  NRF_RADIO_NOTIFICATION_TYPE_INT_ON_ACTIVE,   /**< Using interrupt for notification when the radio will be enabled. */
-  NRF_RADIO_NOTIFICATION_TYPE_INT_ON_INACTIVE, /**< Using interrupt for notification when the radio has been disabled. */
-  NRF_RADIO_NOTIFICATION_TYPE_INT_ON_BOTH,     /**< Using interrupt for notification both when the radio will be enabled and disabled. */
-};
-
-/**@brief SoC Events. */
-enum NRF_SOC_EVTS
-{
-  NRF_EVT_HFCLKSTARTED,                         /**< Event indicating that the HFCLK has started. */
-  NRF_EVT_POWER_FAILURE_WARNING,                /**< Event indicating that a power failure warning has occurred. */
-  NRF_EVT_FLASH_OPERATION_SUCCESS,              /**< Event indicating that the ongoing flash operation has completed successfully. */
-  NRF_EVT_FLASH_OPERATION_ERROR,                /**< Event indicating that the ongoing flash operation has timed out with an error. */
-  NRF_EVT_RADIO_BLOCKED,                        /**< Event indicating that a radio timeslot was blocked. */
-  NRF_EVT_RADIO_CANCELED,                       /**< Event indicating that a radio timeslot was canceled by SoftDevice. */
-  NRF_EVT_RADIO_SIGNAL_CALLBACK_INVALID_RETURN, /**< Event indicating that a radio signal callback handler return was invalid. */
-  NRF_EVT_RADIO_SESSION_IDLE,                   /**< Event indicating that a radio session is idle. */
-  NRF_EVT_RADIO_SESSION_CLOSED,                 /**< Event indicating that a radio session is closed. */
-  NRF_EVT_NUMBER_OF_EVTS
-};
-
-/** @} */
-
-/** @addtogroup NRF_SOC_TYPES Types
- * @{ */
-
-/**@brief Represents a mutex for use with the nrf_mutex functions.
- * @note Accessing the value directly is not safe, use the mutex functions!
- */
-typedef volatile uint8_t nrf_mutex_t;
-
-/**@brief The interrupt priorities available to the application while the softdevice is active. */
-typedef uint8_t nrf_app_irq_priority_t;
-
-/**@brief Represents a power mode, used in power mode functions */
-typedef uint8_t nrf_power_mode_t;
-
-/**@brief Represents a power failure threshold value. */
-typedef uint8_t nrf_power_failure_threshold_t;
-
-/**@brief Represents a DCDC mode value. */
-typedef uint32_t nrf_power_dcdc_mode_t;
-
-/**@brief Radio notification distances. */
-typedef uint8_t nrf_radio_notification_distance_t;
-
-/**@brief Radio notification types. */
-typedef uint8_t nrf_radio_notification_type_t;
-
-/** @brief The Radio signal callback types. */
-enum NRF_RADIO_CALLBACK_SIGNAL_TYPE
-{
-  NRF_RADIO_CALLBACK_SIGNAL_TYPE_START,            /**< This signal indicates the start of the radio timeslot. */
-  NRF_RADIO_CALLBACK_SIGNAL_TYPE_TIMER0,            /**< This signal indicates the NRF_TIMER0 interrupt. */
-  NRF_RADIO_CALLBACK_SIGNAL_TYPE_RADIO,             /**< This signal indicates the NRF_RADIO interrupt. */
-  NRF_RADIO_CALLBACK_SIGNAL_TYPE_EXTEND_FAILED,     /**< This signal indicates extend action failed. */
-  NRF_RADIO_CALLBACK_SIGNAL_TYPE_EXTEND_SUCCEEDED   /**< This signal indicates extend action succeeded. */
-};
-
-/** @brief The actions requested by the signal callback.
- *
- *  This code gives the SOC instructions about what action to take when the signal callback has
- *  returned.
- */
-enum NRF_RADIO_SIGNAL_CALLBACK_ACTION
-{
-  NRF_RADIO_SIGNAL_CALLBACK_ACTION_NONE,            /**< Return without action. */
-  NRF_RADIO_SIGNAL_CALLBACK_ACTION_EXTEND,          /**< Request an extension of the current timeslot (maximum execution time for this action is when the extension succeeded). */
-  NRF_RADIO_SIGNAL_CALLBACK_ACTION_END,             /**< End the current radio timeslot. */
-  NRF_RADIO_SIGNAL_CALLBACK_ACTION_REQUEST_AND_END  /**< Request a new radio timeslot and end the current timeslot. */
-};
-
-/**@brief Radio timeslot high frequency clock source configuration. */
-enum NRF_RADIO_HFCLK_CFG
-{
-  NRF_RADIO_HFCLK_CFG_DEFAULT,                      /**< Use the currently selected oscillator as HF clock source during the timeslot (i.e. the source is not specified). */
-  NRF_RADIO_HFCLK_CFG_FORCE_XTAL,                   /**< Force external crystal to be used as HF clock source during whole the timeslot. */
-};
-
-/** @brief Radio timeslot priorities. */
-enum NRF_RADIO_PRIORITY
-{
-  NRF_RADIO_PRIORITY_HIGH,                          /**< High (equal priority as the normal connection priority of the SoftDevice stack(s)). */
-  NRF_RADIO_PRIORITY_NORMAL,                        /**< Normal (equal priority as the priority of secondary activites of the SoftDevice stack(s)). */
-};
-
-/** @brief Radio timeslot request type. */
-enum NRF_RADIO_REQUEST_TYPE
-{
-  NRF_RADIO_REQ_TYPE_EARLIEST,                      /**< Request timeslot as early as possible. This should always be used for the first request in a session. */
-  NRF_RADIO_REQ_TYPE_NORMAL                         /**< Normal timeslot request. */
-};
-
-/** @brief Parameters for a request for a timeslot as early as possible. */
-typedef struct
-{
-  uint8_t       hfclk;                              /**< High frequency clock source, see @ref NRF_RADIO_HFCLK_CFG. */
-  uint8_t       priority;                           /**< The radio timeslot priority, see @ref NRF_RADIO_PRIORITY. */
-  uint32_t      length_us;                          /**< The radio timeslot length (in the range 100 to 100,000] microseconds). */
-  uint32_t      timeout_us;                         /**< Longest acceptable delay until the start of the requested timeslot (up to @ref NRF_RADIO_EARLIEST_TIMEOUT_MAX_US microseconds). */
-} nrf_radio_request_earliest_t;
-
-/** @brief Parameters for a normal radio request. */
-typedef struct
-{
-  uint8_t       hfclk;                              /**< High frequency clock source, see @ref NRF_RADIO_HFCLK_CFG. */
-  uint8_t       priority;                           /**< The radio timeslot priority, see @ref NRF_RADIO_PRIORITY. */
-  uint32_t      distance_us;                        /**< Distance from the start of the previous radio timeslot (up to @ref NRF_RADIO_DISTANCE_MAX_US microseconds). */
-  uint32_t      length_us;                          /**< The radio timeslot length (in the range [100..100,000] microseconds). */
-} nrf_radio_request_normal_t;
-
-/** @brief Radio request parameters. */
-typedef struct
-{
-  uint8_t                         request_type;     /**< Type of request, see @ref NRF_RADIO_REQUEST_TYPE. */
-  union
-  {
-    nrf_radio_request_earliest_t  earliest;         /**< Parameters for a request for a timeslot as early as possible. */
-    nrf_radio_request_normal_t    normal;           /**< Parameters for a normal radio request. */
-  } params;
-} nrf_radio_request_t;
-
-/**@brief Return parameters of the radio timeslot signal callback. */
-typedef struct
-{
-  uint8_t               callback_action;            /**< The action requested by the application when returning from the signal callback, see @ref NRF_RADIO_SIGNAL_CALLBACK_ACTION. */
-  union
-  {
-    struct
-    {
-      nrf_radio_request_t * p_next;                 /**< The request parameters for the next radio timeslot. */
-    } request;                                      /**< Additional parameters for return_code @ref NRF_RADIO_SIGNAL_CALLBACK_ACTION_REQUEST_AND_END. */
-    struct
-    {
-      uint32_t              length_us;              /**< Requested extension of the timeslot duration (microseconds) (for minimum time see @ref NRF_RADIO_MINIMUM_TIMESLOT_LENGTH_EXTENSION_TIME_US). */
-    } extend;                                       /**< Additional parameters for return_code @ref NRF_RADIO_SIGNAL_CALLBACK_ACTION_EXTEND. */
-  } params;
-} nrf_radio_signal_callback_return_param_t;
-
-/**@brief The radio signal callback type.
- *
- * @note In case of invalid return parameters, the radio timeslot will automatically end
- *       immediately after returning from the signal callback and the
- *       @ref NRF_EVT_RADIO_SIGNAL_CALLBACK_INVALID_RETURN event will be sent.
- * @note The returned struct pointer must remain valid after the signal callback
- *       function returns. For instance, this means that it must not point to a stack variable.
- *
- * @param[in] signal_type Type of signal, see @ref NRF_RADIO_CALLBACK_SIGNAL_TYPE.
- *
- * @return Pointer to structure containing action requested by the application.
- */
-typedef nrf_radio_signal_callback_return_param_t * (*nrf_radio_signal_callback_t) (uint8_t signal_type);
-
-/**@brief AES ECB data structure */
-typedef struct
-{
-  uint8_t key[SOC_ECB_KEY_LENGTH];                  /**< Encryption key. */
-  uint8_t cleartext[SOC_ECB_CLEARTEXT_LENGTH];      /**< Clear Text data. */
-  uint8_t ciphertext[SOC_ECB_CIPHERTEXT_LENGTH];    /**< Cipher Text data. */
-} nrf_ecb_hal_data_t;
-
-/** @} */
-
-/** @addtogroup NRF_SOC_FUNCTIONS Functions
- * @{ */
-
-/**@brief Initialize a mutex.
- *
- * @param[in] p_mutex Pointer to the mutex to initialize.
- *
- * @retval ::NRF_SUCCESS
- */
-SVCALL(SD_MUTEX_NEW, uint32_t, sd_mutex_new(nrf_mutex_t * p_mutex));
-
-/**@brief Attempt to acquire a mutex.
- *
- * @param[in] p_mutex Pointer to the mutex to acquire.
- *
- * @retval ::NRF_SUCCESS The mutex was successfully acquired.
- * @retval ::NRF_ERROR_SOC_MUTEX_ALREADY_TAKEN The mutex could not be acquired.
- */
-SVCALL(SD_MUTEX_ACQUIRE, uint32_t, sd_mutex_acquire(nrf_mutex_t * p_mutex));
-
-/**@brief Release a mutex.
- *
- * @param[in] p_mutex Pointer to the mutex to release.
- *
- * @retval ::NRF_SUCCESS
- */
-SVCALL(SD_MUTEX_RELEASE, uint32_t, sd_mutex_release(nrf_mutex_t * p_mutex));
-
-/**@brief Enable External Interrupt.
- * @note Corresponds to NVIC_EnableIRQ in CMSIS.
- *
- * @pre{IRQn is valid and not reserved by the stack}
- *
- * @param[in] IRQn See the NVIC_EnableIRQ documentation in CMSIS.
- *
- * @retval ::NRF_SUCCESS The interrupt was enabled.
- * @retval ::NRF_ERROR_SOC_NVIC_INTERRUPT_NOT_AVAILABLE The interrupt is not available for the application.
- * @retval ::NRF_ERROR_SOC_NVIC_INTERRUPT_PRIORITY_NOT_ALLOWED The interrupt has a priority not available for the application.
- */
-SVCALL(SD_NVIC_ENABLEIRQ, uint32_t, sd_nvic_EnableIRQ(IRQn_Type IRQn));
-
-/**@brief  Disable External Interrupt.
- * @note Corresponds to NVIC_DisableIRQ in CMSIS.
- *
- * @pre{IRQn is valid and not reserved by the stack}
- *
- * @param[in] IRQn See the NVIC_DisableIRQ documentation in CMSIS
- *
- * @retval ::NRF_SUCCESS The interrupt was disabled.
- * @retval ::NRF_ERROR_SOC_NVIC_INTERRUPT_NOT_AVAILABLE The interrupt is not available for the application.
- */
-SVCALL(SD_NVIC_DISABLEIRQ, uint32_t, sd_nvic_DisableIRQ(IRQn_Type IRQn));
-
-/**@brief  Get Pending Interrupt.
- * @note Corresponds to NVIC_GetPendingIRQ in CMSIS.
- *
- * @pre{IRQn is valid and not reserved by the stack}
- *
- * @param[in]   IRQn          See the NVIC_GetPendingIRQ documentation in CMSIS.
- * @param[out]  p_pending_irq Return value from NVIC_GetPendingIRQ.
- *
- * @retval ::NRF_SUCCESS The interrupt is available for the application.
- * @retval ::NRF_ERROR_SOC_NVIC_INTERRUPT_NOT_AVAILABLE IRQn is not available for the application.
- */
-SVCALL(SD_NVIC_GETPENDINGIRQ, uint32_t, sd_nvic_GetPendingIRQ(IRQn_Type IRQn, uint32_t * p_pending_irq));
-
-/**@brief  Set Pending Interrupt.
- * @note Corresponds to NVIC_SetPendingIRQ in CMSIS.
- *
- * @pre{IRQn is valid and not reserved by the stack}
- *
- * @param[in] IRQn See the NVIC_SetPendingIRQ documentation in CMSIS.
- *
- * @retval ::NRF_SUCCESS The interrupt is set pending.
- * @retval ::NRF_ERROR_SOC_NVIC_INTERRUPT_NOT_AVAILABLE IRQn is not available for the application.
- */
-SVCALL(SD_NVIC_SETPENDINGIRQ, uint32_t, sd_nvic_SetPendingIRQ(IRQn_Type IRQn));
-
-/**@brief  Clear Pending Interrupt.
- * @note Corresponds to NVIC_ClearPendingIRQ in CMSIS.
- *
- * @pre{IRQn is valid and not reserved by the stack}
- *
- * @param[in] IRQn See the NVIC_ClearPendingIRQ documentation in CMSIS.
- *
- * @retval ::NRF_SUCCESS The interrupt pending flag is cleared.
- * @retval ::NRF_ERROR_SOC_NVIC_INTERRUPT_NOT_AVAILABLE IRQn is not available for the application.
- */
-SVCALL(SD_NVIC_CLEARPENDINGIRQ, uint32_t, sd_nvic_ClearPendingIRQ(IRQn_Type IRQn));
-
-/**@brief Set Interrupt Priority.
- * @note Corresponds to NVIC_SetPriority in CMSIS.
- *
- * @pre{IRQn is valid and not reserved by the stack}
- * @pre{priority is valid and not reserved by the stack}
- *
- * @param[in] IRQn      See the NVIC_SetPriority documentation in CMSIS.
- * @param[in] priority  A valid IRQ priority for use by the application.
- *
- * @retval ::NRF_SUCCESS The interrupt and priority level is available for the application.
- * @retval ::NRF_ERROR_SOC_NVIC_INTERRUPT_NOT_AVAILABLE IRQn is not available for the application.
- * @retval ::NRF_ERROR_SOC_NVIC_INTERRUPT_PRIORITY_NOT_ALLOWED The interrupt priority is not available for the application.
- */
-SVCALL(SD_NVIC_SETPRIORITY, uint32_t, sd_nvic_SetPriority(IRQn_Type IRQn, nrf_app_irq_priority_t priority));
-
-/**@brief Get Interrupt Priority.
- * @note Corresponds to NVIC_GetPriority in CMSIS.
- *
- * @pre{IRQn is valid and not reserved by the stack}
- *
- * @param[in]  IRQn         See the NVIC_GetPriority documentation in CMSIS.
- * @param[out] p_priority   Return value from NVIC_GetPriority.
- *
- * @retval ::NRF_SUCCESS The interrupt priority is returned in p_priority.
- * @retval ::NRF_ERROR_SOC_NVIC_INTERRUPT_NOT_AVAILABLE - IRQn is not available for the application.
- */
-SVCALL(SD_NVIC_GETPRIORITY, uint32_t, sd_nvic_GetPriority(IRQn_Type IRQn, nrf_app_irq_priority_t * p_priority));
-
-/**@brief System Reset.
- * @note Corresponds to NVIC_SystemReset in CMSIS.
- *
- * @retval ::NRF_ERROR_SOC_NVIC_SHOULD_NOT_RETURN
- */
-SVCALL(SD_NVIC_SYSTEMRESET, uint32_t, sd_nvic_SystemReset(void));
-
-/**@brief Enters critical region.
- *
- * @post Application interrupts will be disabled.
- * @sa sd_nvic_critical_region_exit
- *
- * @param[out]  p_is_nested_critical_region  1: If in a nested critical region.
- *                                           0: Otherwise.
- *
- * @retval ::NRF_SUCCESS
- */
-SVCALL(SD_NVIC_CRITICAL_REGION_ENTER, uint32_t, sd_nvic_critical_region_enter(uint8_t * p_is_nested_critical_region));
-
-/**@brief Exit critical region.
- *
- * @pre Application has entered a critical region using ::sd_nvic_critical_region_enter.
- * @post If not in a nested critical region, the application interrupts will restored to the state before ::sd_nvic_critical_region_enter was called. 
- *
- * @param[in] is_nested_critical_region If this is set to 1, the critical region won't be exited. @sa sd_nvic_critical_region_enter.
- *
- * @retval ::NRF_SUCCESS
- */
-SVCALL(SD_NVIC_CRITICAL_REGION_EXIT, uint32_t, sd_nvic_critical_region_exit(uint8_t is_nested_critical_region));
-
-/**@brief Query the capacity of the application random pool.
- *
- * @param[out] p_pool_capacity The capacity of the pool.
- *
- * @retval ::NRF_SUCCESS
- */
-SVCALL(SD_RAND_APPLICATION_POOL_CAPACITY, uint32_t, sd_rand_application_pool_capacity_get(uint8_t * p_pool_capacity));
-
-/**@brief Get number of random bytes available to the application.
- *
- * @param[out] p_bytes_available The number of bytes currently available in the pool.
- *
- * @retval ::NRF_SUCCESS
- */
-SVCALL(SD_RAND_APPLICATION_BYTES_AVAILABLE, uint32_t, sd_rand_application_bytes_available_get(uint8_t * p_bytes_available));
-
-/**@brief Get random bytes from the application pool.
- *
- * @param[out]  p_buff  Pointer to unit8_t buffer for storing the bytes.
- * @param[in]   length  Number of bytes to take from pool and place in p_buff.
- *
- * @retval ::NRF_SUCCESS The requested bytes were written to p_buff.
- * @retval ::NRF_ERROR_SOC_RAND_NOT_ENOUGH_VALUES No bytes were written to the buffer, because there were not enough bytes available.
-*/
-SVCALL(SD_RAND_APPLICATION_GET_VECTOR, uint32_t, sd_rand_application_vector_get(uint8_t * p_buff, uint8_t length));
-
-/**@brief Gets the reset reason register. 
- *
- * @param[out]  p_reset_reason  Contents of the NRF_POWER->RESETREAS register.
- *
- * @retval ::NRF_SUCCESS
- */
-SVCALL(SD_POWER_RESET_REASON_GET, uint32_t, sd_power_reset_reason_get(uint32_t * p_reset_reason));
-
-/**@brief Clears the bits of the reset reason register. 
- *
- * @param[in] reset_reason_clr_msk Contains the bits to clear from the reset reason register.
- *
- * @retval ::NRF_SUCCESS
- */
-SVCALL(SD_POWER_RESET_REASON_CLR, uint32_t, sd_power_reset_reason_clr(uint32_t reset_reason_clr_msk));
-
-/**@brief Sets the power mode when in CPU sleep.
- *
- * @param[in] power_mode The power mode to use when in CPU sleep. @sa sd_app_evt_wait
- *
- * @retval ::NRF_SUCCESS The power mode was set.
- * @retval ::NRF_ERROR_SOC_POWER_MODE_UNKNOWN The power mode was unknown.
- */
-SVCALL(SD_POWER_MODE_SET, uint32_t, sd_power_mode_set(nrf_power_mode_t power_mode));
-
-/**@brief Puts the chip in System OFF mode. 
- *
- * @retval ::NRF_ERROR_SOC_POWER_OFF_SHOULD_NOT_RETURN
- */
-SVCALL(SD_POWER_SYSTEM_OFF, uint32_t, sd_power_system_off(void));
-
-/**@brief Enables or disables the power-fail comparator.
- *
- * Enabling this will give a softdevice event (NRF_EVT_POWER_FAILURE_WARNING) when the power failure warning occurs.
- * The event can be retrieved with sd_evt_get();
- *
- * @param[in] pof_enable    True if the power-fail comparator should be enabled, false if it should be disabled.
- *
- * @retval ::NRF_SUCCESS
- */
-SVCALL(SD_POWER_POF_ENABLE, uint32_t, sd_power_pof_enable(uint8_t pof_enable));
-
-/**@brief Sets the power-fail threshold value.
- *
- * @param[in] threshold The power-fail threshold value to use.
- *
- * @retval ::NRF_SUCCESS The power failure threshold was set.
- * @retval ::NRF_ERROR_SOC_POWER_POF_THRESHOLD_UNKNOWN The power failure threshold is unknown.
- */
-SVCALL(SD_POWER_POF_THRESHOLD_SET, uint32_t, sd_power_pof_threshold_set(nrf_power_failure_threshold_t threshold));
-
-/**@brief Sets bits in the NRF_POWER->RAMON register.
- *
- * @param[in] ramon Contains the bits needed to be set in the NRF_POWER->RAMON register.
- *
- * @retval ::NRF_SUCCESS
- */
-SVCALL(SD_POWER_RAMON_SET, uint32_t, sd_power_ramon_set(uint32_t ramon));
-
-/** @brief Clears bits in the NRF_POWER->RAMON register.
- *
- * @param ramon Contains the bits needed to be cleared in the NRF_POWER->RAMON register.
- *
- * @retval ::NRF_SUCCESS
- */
-SVCALL(SD_POWER_RAMON_CLR, uint32_t, sd_power_ramon_clr(uint32_t ramon));
-
-/**@brief Get contents of NRF_POWER->RAMON register, indicates power status of ram blocks.
- *
- * @param[out] p_ramon Content of NRF_POWER->RAMON register.
- *
- * @retval ::NRF_SUCCESS
- */
-SVCALL(SD_POWER_RAMON_GET, uint32_t, sd_power_ramon_get(uint32_t * p_ramon));
-
-/**@brief Set bits in the NRF_POWER->GPREGRET register.
- *
- * @param[in] gpregret_msk Bits to be set in the GPREGRET register.
- *
- * @retval ::NRF_SUCCESS
- */
-SVCALL(SD_POWER_GPREGRET_SET, uint32_t, sd_power_gpregret_set(uint32_t gpregret_msk));
-
-/**@brief Clear bits in the NRF_POWER->GPREGRET register.
- *
- * @param[in] gpregret_msk Bits to be clear in the GPREGRET register.
- *
- * @retval ::NRF_SUCCESS
- */
-SVCALL(SD_POWER_GPREGRET_CLR, uint32_t, sd_power_gpregret_clr(uint32_t gpregret_msk));
-
-/**@brief Get contents of the NRF_POWER->GPREGRET register.
- *
- * @param[out] p_gpregret Contents of the GPREGRET register.
- *
- * @retval ::NRF_SUCCESS
- */
-SVCALL(SD_POWER_GPREGRET_GET, uint32_t, sd_power_gpregret_get(uint32_t *p_gpregret));
-
-/**@brief Sets the DCDC mode.
- *
- * Depending on the internal state of the SoftDevice, the mode change may not happen immediately.
- * The DCDC mode switch will be blocked when occurring in close proximity to radio transmissions. When
- * the radio transmission is done, the last mode will be used.
- *
- * @param[in] dcdc_mode The mode of the DCDC.
- *
- * @retval ::NRF_SUCCESS
- * @retval ::NRF_ERROR_INVALID_PARAM The DCDC mode is invalid.
- */
-SVCALL(SD_POWER_DCDC_MODE_SET, uint32_t, sd_power_dcdc_mode_set(nrf_power_dcdc_mode_t dcdc_mode));
-
-/**@brief Request the high frequency crystal oscillator.
- *
- * Will start the high frequency crystal oscillator, the startup time of the crystal varies
- * and the ::sd_clock_hfclk_is_running function can be polled to check if it has started.
- *
- * @see sd_clock_hfclk_is_running
- * @see sd_clock_hfclk_release
- *
- * @retval ::NRF_SUCCESS
- */
-SVCALL(SD_CLOCK_HFCLK_REQUEST, uint32_t, sd_clock_hfclk_request(void));
-
-/**@brief Releases the high frequency crystal oscillator.
- *
- * Will stop the high frequency crystal oscillator, this happens immediately.
- *
- * @see sd_clock_hfclk_is_running
- * @see sd_clock_hfclk_request
- *
- * @retval ::NRF_SUCCESS
- */
-SVCALL(SD_CLOCK_HFCLK_RELEASE, uint32_t, sd_clock_hfclk_release(void));
-
-/**@brief Checks if the high frequency crystal oscillator is running.
- *
- * @see sd_clock_hfclk_request
- * @see sd_clock_hfclk_release
- *
- * @param[out] p_is_running 1 if the external crystal oscillator is running, 0 if not.
- *
- * @retval ::NRF_SUCCESS
- */
-SVCALL(SD_CLOCK_HFCLK_IS_RUNNING, uint32_t, sd_clock_hfclk_is_running(uint32_t * p_is_running));
-
-/**@brief Waits for an application event.
- * 
- * An application event is either an application interrupt or a pended interrupt when the
- * interrupt is disabled. When the interrupt is enabled it will be taken immediately since
- * this function will wait in thread mode, then the execution will return in the application's
- * main thread. When an interrupt is disabled and gets pended it will return to the application's 
- * thread main. The application must ensure that the pended flag is cleared using 
- * ::sd_nvic_ClearPendingIRQ in order to sleep using this function. This is only necessary for
- * disabled interrupts, as the interrupt handler will clear the pending flag automatically for
- * enabled interrupts.
- *
- * In order to wake up from disabled interrupts, the SEVONPEND flag has to be set in the Cortex-M0
- * System Control Register (SCR). @sa CMSIS_SCB
- *
- * @note If an application interrupt has happened since the last time sd_app_evt_wait was
- *       called this function will return immediately and not go to sleep. This is to avoid race
- *       conditions that can occur when a flag is updated in the interrupt handler and processed
- *       in the main loop.
- *
- * @post An application interrupt has happened or a interrupt pending flag is set.
- *
- * @retval ::NRF_SUCCESS
- */
-SVCALL(SD_APP_EVT_WAIT, uint32_t, sd_app_evt_wait(void));
-
-/**@brief Get PPI channel enable register contents.
- *
- * @param[out] p_channel_enable The contents of the PPI CHEN register.
- *
- * @retval ::NRF_SUCCESS
- */
-SVCALL(SD_PPI_CHANNEL_ENABLE_GET, uint32_t, sd_ppi_channel_enable_get(uint32_t * p_channel_enable));
-
-/**@brief Set PPI channel enable register.
- *
- * @param[in] channel_enable_set_msk Mask containing the bits to set in the PPI CHEN register.
- *
- * @retval ::NRF_SUCCESS
- */
-SVCALL(SD_PPI_CHANNEL_ENABLE_SET, uint32_t, sd_ppi_channel_enable_set(uint32_t channel_enable_set_msk));
-
-/**@brief Clear PPI channel enable register.
- *
- * @param[in] channel_enable_clr_msk Mask containing the bits to clear in the PPI CHEN register.
- *
- * @retval ::NRF_SUCCESS
- */
-SVCALL(SD_PPI_CHANNEL_ENABLE_CLR, uint32_t, sd_ppi_channel_enable_clr(uint32_t channel_enable_clr_msk));
-
-/**@brief Assign endpoints to a PPI channel.
- *
- * @param[in] channel_num Number of the PPI channel to assign.
- * @param[in] evt_endpoint Event endpoint of the PPI channel.
- * @param[in] task_endpoint Task endpoint of the PPI channel.
- *
- * @retval ::NRF_ERROR_SOC_PPI_INVALID_CHANNEL The channel number is invalid.
- * @retval ::NRF_SUCCESS
- */
-SVCALL(SD_PPI_CHANNEL_ASSIGN, uint32_t, sd_ppi_channel_assign(uint8_t channel_num, const volatile void * evt_endpoint, const volatile void * task_endpoint));
-
-/**@brief Task to enable a channel group.
- *
- * @param[in] group_num Number of the channel group.
- *
- * @retval ::NRF_ERROR_SOC_PPI_INVALID_GROUP The group number is invalid
- * @retval ::NRF_SUCCESS
- */
-SVCALL(SD_PPI_GROUP_TASK_ENABLE, uint32_t, sd_ppi_group_task_enable(uint8_t group_num));
-
-/**@brief Task to disable a channel group.
- *
- * @param[in] group_num Number of the PPI group.
- *
- * @retval ::NRF_ERROR_SOC_PPI_INVALID_GROUP The group number is invalid.
- * @retval ::NRF_SUCCESS
- */
-SVCALL(SD_PPI_GROUP_TASK_DISABLE, uint32_t, sd_ppi_group_task_disable(uint8_t group_num));
-
-/**@brief Assign PPI channels to a channel group.
- *
- * @param[in] group_num Number of the channel group.
- * @param[in] channel_msk Mask of the channels to assign to the group.
- *
- * @retval ::NRF_ERROR_SOC_PPI_INVALID_GROUP The group number is invalid.
- * @retval ::NRF_SUCCESS
- */
-SVCALL(SD_PPI_GROUP_ASSIGN, uint32_t, sd_ppi_group_assign(uint8_t group_num, uint32_t channel_msk));
-
-/**@brief Gets the PPI channels of a channel group.
- *
- * @param[in]   group_num Number of the channel group.
- * @param[out]  p_channel_msk Mask of the channels assigned to the group.
- *
- * @retval ::NRF_ERROR_SOC_PPI_INVALID_GROUP The group number is invalid.
- * @retval ::NRF_SUCCESS
- */
-SVCALL(SD_PPI_GROUP_GET, uint32_t, sd_ppi_group_get(uint8_t group_num, uint32_t * p_channel_msk));
-
-/**@brief Configures the Radio Notification signal.
- *
- * @note
- *      - The notification signal latency depends on the interrupt priority settings of SWI used
- *        for notification signal.
- *      - In the period between the ACTIVE signal and the start of the Radio Event, the SoftDevice
- *        will interrupt the application to do Radio Event preparation.
- *      - Using the Radio Notification feature may limit the bandwidth, as the SoftDevice may have
- *        to shorten the connection events to have time for the Radio Notification signals.
- *
- * @param[in]  type      Type of notification signal.
- *                       @ref NRF_RADIO_NOTIFICATION_TYPE_NONE shall be used to turn off radio
- *                       notification. Using @ref NRF_RADIO_NOTIFICATION_DISTANCE_NONE is
- *                       recommended (but not required) to be used with
- *                       @ref NRF_RADIO_NOTIFICATION_TYPE_NONE.
- *
- * @param[in]  distance  Distance between the notification signal and start of radio activity.
- *                       This parameter is ignored when @ref NRF_RADIO_NOTIFICATION_TYPE_NONE or 
- *                       @ref NRF_RADIO_NOTIFICATION_TYPE_INT_ON_INACTIVE is used.
- *
- * @retval ::NRF_ERROR_INVALID_PARAM The group number is invalid.
- * @retval ::NRF_SUCCESS
- */
-SVCALL(SD_RADIO_NOTIFICATION_CFG_SET, uint32_t, sd_radio_notification_cfg_set(nrf_radio_notification_type_t type, nrf_radio_notification_distance_t distance));
-
-/**@brief Encrypts a block according to the specified parameters.
- *
- * 128-bit AES encryption.
- *
- * @param[in, out] p_ecb_data Pointer to the ECB parameters' struct (two input
- *                            parameters and one output parameter).
- *
- * @retval ::NRF_SUCCESS
- */
-SVCALL(SD_ECB_BLOCK_ENCRYPT, uint32_t, sd_ecb_block_encrypt(nrf_ecb_hal_data_t * p_ecb_data));
-
-/**@brief Gets any pending events generated by the SoC API.
- *
- * The application should keep calling this function to get events, until ::NRF_ERROR_NOT_FOUND is returned.
- *
- * @param[out] p_evt_id Set to one of the values in @ref NRF_SOC_EVTS, if any events are pending.
- *
- * @retval ::NRF_SUCCESS An event was pending. The event id is written in the p_evt_id parameter.
- * @retval ::NRF_ERROR_NOT_FOUND No pending events. 
- */
-SVCALL(SD_EVT_GET, uint32_t, sd_evt_get(uint32_t * p_evt_id));
-
-/**@brief Get the temperature measured on the chip
- * 
- * This function will block until the temperature measurement is done.
- * It takes around 50us from call to return.
- *
- * @note Pan #28 in PAN-028 v 1.6 "Negative measured values are not represented correctly" is corrected by this function.
- *
- * @param[out] p_temp Result of temperature measurement. Die temperature in 0.25 degrees celsius.
- *
- * @retval ::NRF_SUCCESS A temperature measurement was done, and the temperature was written to temp
- */
-SVCALL(SD_TEMP_GET, uint32_t, sd_temp_get(int32_t * p_temp));
-
-/**@brief Flash Write
- *
- * Commands to write a buffer to flash
- *
- * This call initiates the flash access command, and its completion will be communicated to the
- * application with exactly one of the following events:
- *      - NRF_EVT_FLASH_OPERATION_SUCCESS - The command was successfully completed.
- *      - NRF_EVT_FLASH_OPERATION_ERROR   - The command could not be started.
- *
- * @note
- *      - This call takes control over the radio and the CPU during flash erase and write to make sure that
- *        they will not interfere with the flash access. This means that all interrupts will be blocked
- *        for a predictable time (depending on the NVMC specification in nRF51 Series Reference Manual
- *        and the command parameters).
- *
- *
- * @param[in]  p_dst Pointer to start of flash location to be written.
- * @param[in]  p_src Pointer to buffer with data to be written
- * @param[in]  size  Number of 32-bit words to write. Maximum size is 256 32bit words.
- *
- * @retval ::NRF_ERROR_INVALID_ADDR   Tried to write to a non existing flash address, or p_dst or p_src was unaligned.
- * @retval ::NRF_ERROR_BUSY           The previous command has not yet completed.
- * @retval ::NRF_ERROR_INVALID_LENGTH Size was 0, or more than 256 words.
- * @retval ::NRF_ERROR_FORBIDDEN      Tried to write to or read from protected location.
- * @retval ::NRF_SUCCESS              The command was accepted.
- */
-SVCALL(SD_FLASH_WRITE, uint32_t, sd_flash_write(uint32_t * const p_dst, uint32_t const * const p_src, uint32_t size));
-
-
-/**@brief Flash Erase page
- *
- * Commands to erase a flash page
- *
- * This call initiates the flash access command, and its completion will be communicated to the
- * application with exactly one of the following events:
- *      - NRF_EVT_FLASH_OPERATION_SUCCESS - The command was successfully completed.
- *      - NRF_EVT_FLASH_OPERATION_ERROR   - The command could not be started.
- *
- * @note
- *      - This call takes control over the radio and the CPU during flash erase and write to make sure that
- *        they will not interfere with the flash access. This means that all interrupts will be blocked
- *        for a predictable time (depending on the NVMC specification in nRF51 Series Reference Manual
- *        and the command parameters).
- *
- *
- * @param[in]  page_number Pagenumber of the page to erase
- * @retval ::NRF_ERROR_INTERNAL      If a new session could not be opened due to an internal error.
- * @retval ::NRF_ERROR_INVALID_ADDR  Tried to erase to a non existing flash page.
- * @retval ::NRF_ERROR_BUSY          The previous command has not yet completed.
- * @retval ::NRF_ERROR_FORBIDDEN     Tried to erase a protected page.
- * @retval ::NRF_SUCCESS             The command was accepted.
- */
-SVCALL(SD_FLASH_PAGE_ERASE, uint32_t, sd_flash_page_erase(uint32_t page_number));
-
-
-/**@brief Flash Protection set
- *
- * Commands to set the flash protection registers PROTENSETx
- *
- * @note To read the values in PROTENSETx you can read them directly. They are only write-protected.
- *
- * @param[in]  protenset0 Value to be written to PROTENSET0
- * @param[in]  protenset1 Value to be written to PROTENSET1
- *
- * @retval ::NRF_ERROR_FORBIDDEN Tried to protect the SoftDevice
- * @retval ::NRF_SUCCESS Values successfully written to PROTENSETx
- */
-SVCALL(SD_FLASH_PROTECT, uint32_t, sd_flash_protect(uint32_t protenset0, uint32_t protenset1));
-
-/**@brief Opens a session for radio requests.
- *
- * @note Only one session can be open at a time.
- * @note p_radio_signal_callback(NRF_RADIO_CALLBACK_SIGNAL_TYPE_START) will be called when the radio timeslot
- *       starts. From this point the NRF_RADIO and NRF_TIMER0 peripherals can be freely accessed
- *       by the application.
- * @note p_radio_signal_callback(NRF_RADIO_CALLBACK_SIGNAL_TYPE_TIMER0) is called whenever the NRF_TIMER0
- *       interrupt occurs.
- * @note p_radio_signal_callback(NRF_RADIO_CALLBACK_SIGNAL_TYPE_RADIO) is called whenever the NRF_RADIO
- *       interrupt occurs.
- * @note p_radio_signal_callback() will be called at ARM interrupt priority level 0. This
- *       implies that none of the sd_* API calls can be used from p_radio_signal_callback().
- *
- * @param[in] p_radio_signal_callback The signal callback.
- *
- * @retval ::NRF_ERROR_INVALID_ADDR p_radio_signal_callback is an invalid function pointer.
- * @retval ::NRF_ERROR_BUSY If session cannot be opened.
- * @retval ::NRF_ERROR_INTERNAL If a new session could not be opened due to an internal error.
- * @retval ::NRF_SUCCESS Otherwise.
- */
- SVCALL(SD_RADIO_SESSION_OPEN, uint32_t, sd_radio_session_open(nrf_radio_signal_callback_t p_radio_signal_callback));
-
-/**@brief Closes a session for radio requests.
- *
- * @note Any current radio timeslot will be finished before the session is closed.
- * @note If a radio timeslot is scheduled when the session is closed, it will be canceled.
- * @note The application cannot consider the session closed until the NRF_EVT_RADIO_SESSION_CLOSED
- *       event is received.
- *
- * @retval ::NRF_ERROR_FORBIDDEN If session not opened.
- * @retval ::NRF_ERROR_BUSY If session is currently being closed.
- * @retval ::NRF_SUCCESS Otherwise.
- */
- SVCALL(SD_RADIO_SESSION_CLOSE, uint32_t, sd_radio_session_close(void));
-
- /**@brief Requests a radio timeslot.
- *
- * @note The timing of the radio timeslot is specified by p_request->distance_us. For the first
- *       request in a session, p_request->distance_us is required to be 0 by convention, and
- *       the timeslot is scheduled at the first possible opportunity. All following radio timeslots are
- *       requested with a distance of p_request->distance_us measured from the start of the
- *       previous radio timeslot.
- * @note A too small p_request->distance_us will lead to a NRF_EVT_RADIO_BLOCKED event.
- * @note Timeslots scheduled too close will lead to a NRF_EVT_RADIO_BLOCKED event.
- * @note See the SoftDevice Specification for more on radio timeslot scheduling, distances and lengths.
- * @note If an opportunity for the first radio timeslot is not found before 100ms after the call to this
- *       function, it is not scheduled, and instead a NRF_EVT_RADIO_BLOCKED event is sent.
- *       The application may then try to schedule the first radio timeslot again.
- * @note Successful requests will result in nrf_radio_signal_callback_t(NRF_RADIO_CALLBACK_SIGNAL_TYPE_START).
- *       Unsuccessful requests will result in a NRF_EVT_RADIO_BLOCKED event, see @ref NRF_SOC_EVTS.
- * @note The jitter in the start time of the radio timeslots is +/- NRF_RADIO_START_JITTER_US us.
- * @note The nrf_radio_signal_callback_t(NRF_RADIO_CALLBACK_SIGNAL_TYPE_START) call has a latency relative to the
- *       specified radio timeslot start, but this does not affect the actual start time of the timeslot.
- * @note NRF_TIMER0 is reset at the start of the radio timeslot, and is clocked at 1MHz from the high frequency
- *       (16 MHz) clock source. If p_request->hfclk_force_xtal is true, the high frequency clock is 
- *       guaranteed to be clocked from the external crystal.
- * @note The SoftDevice will neither access the NRF_RADIO peripheral nor the NRF_TIMER0 peripheral
- *       during the radio timeslot.
- *
- * @param[in] p_request Pointer to the request parameters.
- *
- * @retval ::NRF_ERROR_FORBIDDEN If session not opened or the session is not IDLE.
- * @retval ::NRF_ERROR_INVALID_ADDR If the p_request pointer is invalid.
- * @retval ::NRF_ERROR_INVALID_PARAM If the parameters of p_request are not valid.
- * @retval ::NRF_SUCCESS Otherwise.
- */
- SVCALL(SD_RADIO_REQUEST, uint32_t, sd_radio_request(nrf_radio_request_t * p_request ));
-
-/** @} */
-
-#endif // NRF_SOC_H__
-
-/**@} */
--- a/TARGET_RBLAB_NRF51822/TARGET_NORDIC/TARGET_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/nrf_svc.h	Fri Jul 25 09:46:51 2014 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,33 +0,0 @@
-#ifndef NRF_SVC__
-#define NRF_SVC__
-
-#ifdef SVCALL_AS_NORMAL_FUNCTION
-#define SVCALL(number, return_type, signature) return_type signature
-#else
-
-#ifndef SVCALL
-#if defined (__CC_ARM)
-#define SVCALL(number, return_type, signature) return_type __svc(number) signature
-#elif defined (__GNUC__)
-#define SVCALL(number, return_type, signature) \
-  _Pragma("GCC diagnostic ignored \"-Wreturn-type\"") \
-  _Pragma("GCC diagnostic ignored \"-Wunused-function\"") \
-  __attribute__((naked)) static return_type signature \
-  { \
-    __asm( \
-        "svc %0\n" \
-        "bx r14" : : "I" (number) : "r0" \
-    ); \
-  }
-#elif defined (__ICCARM__)
-#define PRAGMA(x) _Pragma(#x)
-#define SVCALL(number, return_type, signature) \
-PRAGMA(swi_number = number) \
- __swi return_type signature;
-#else
-#define SVCALL(number, return_type, signature) return_type signature  
-#endif
-#endif  // SVCALL
-
-#endif  // SVCALL_AS_NORMAL_FUNCTION
-#endif  // NRF_SVC__
--- a/TARGET_RBLAB_NRF51822/TARGET_NORDIC/TARGET_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_API/include/softdevice_assert.h	Fri Jul 25 09:46:51 2014 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,46 +0,0 @@
-/*
- * Copyright (c) 2012 Nordic Semiconductor. All Rights Reserved.
- *
- * The information contained herein is confidential property of Nordic Semiconductor. The use,
- * copying, transfer or disclosure of such information is prohibited except by express written
- * agreement with Nordic Semiconductor.
- *
- */
-
-/** @brief Utilities for verifying program logic
- */
-
-#ifndef SOFTDEVICE_ASSERT_H_
-#define SOFTDEVICE_ASSERT_H_
-
-#include <stdint.h>
-
-/** @brief This function handles assertions.
- *
- *
- * @note
- * This function is called when an assertion has triggered.
- * 
- *
- * @param line_num The line number where the assertion is called
- * @param file_name Pointer to the file name
- */
-void assert_softdevice_callback(uint16_t line_num, const uint8_t *file_name);
-
-
-/*lint -emacro(506, ASSERT) */ /* Suppress "Constant value Boolean */ 
-/*lint -emacro(774, ASSERT) */ /* Suppress "Boolean within 'if' always evaluates to True" */ \
-/** @brief Check intended for production code
- *
- * Check passes if "expr" evaluates to true. */
-#define ASSERT(expr) \
-if (expr)                                                                     \
-{                                                                             \
-}                                                                             \
-else                                                                          \
-{                                                                             \
-  assert_softdevice_callback((uint16_t)__LINE__, (uint8_t *)__FILE__);        \
-  /*lint -unreachable */                                                      \
-}
-
-#endif /* SOFTDEVICE_ASSERT_H_ */
--- a/TARGET_RBLAB_NRF51822/TARGET_NORDIC/TARGET_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_softdevice.hex	Fri Jul 25 09:46:51 2014 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,5290 +0,0 @@
-:020000040000FA
-:10000000C0070000D1060000D1000000B1060000CA
-:1000100000000000000000000000000000000000E0
-:100020000000000000000000000000005107000078
-:100030000000000000000000DB000000E500000000
-:10004000EF000000F9000000030100000D010000B6
-:1000500017010000210100002B0100003501000004
-:100060003F01000049010000530100005D01000054
-:1000700067010000710100007B01000085010000A4
-:100080008F01000099010000A3010000AD010000F4
-:10009000B7010000C1010000CB010000D501000044
-:1000A000DF010000E9010000F3010000FD01000094
-:1000B00007020000110200001B02000025020000E0
-:1000C0001FB5C046C04600F0EFFA04B00FB41FBD24
-:1000D00008205A49096809580847382057490968CB
-:1000E000095808473C2055490968095808474020E5
-:1000F0005249096809580847442050490968095875
-:10010000084748204D490968095808474C204B4981
-:10011000096809580847502048490968095808479C
-:100120005420464909680958084758204349096836
-:10013000095808475C204149096809580847602068
-:100140003E4909680958084764203C49096809582C
-:100150000847682039490968095808476C20374919
-:100160000968095808477020344909680958084740
-:100170007420324909680958084778202F490968CE
-:10018000095808477C202D490968095808478020EC
-:100190002A490968095808478420284909680958E4
-:1001A0000847882025490968095808478C202349B1
-:1001B00009680958084790202049096809580847E4
-:1001C00094201E4909680958084798201B49096866
-:1001D000095808479C201949096809580847A02070
-:1001E0001649096809580847A4201449096809589C
-:1001F0000847A8201149096809580847AC200F4949
-:10020000096809580847B0200C4909680958084787
-:10021000B4200A49096809580847B82007490968FD
-:1002200009580847BC2005490968095808470000D3
-:1002300003480449024A034B7047000000000020B5
-:10024000C0070000C00700000122D84B5A6000BF61
-:10025000D74A1268002AFBD0016000BFD44A126856
-:10026000002AFBD00022D14B5A6000BFD04A12684E
-:10027000002AFBD07047F0B505460E46174600240D
-:1002800006E0A200B158A2005019FFF7DDFF641C80
-:10029000BC42F6D30020F0BD0120C043C549086030
-:1002A000401048607047014601229204086890425D
-:1002B00001D9102070470020FCE7F0B505460C4638
-:1002C0001646002706E028462168FFF7BDFF2D1DD2
-:1002D000241D7F1CB742F6D3F0BD70B505460C4611
-:1002E0002E460BE0304600F075F9FF2C01D80024B3
-:1002F00001E0FF3C013C012080023618002CF1D1C6
-:1003000070BD0146012292044868904201D909203B
-:100310007047A9484069401C01D10F20F8E7002030
-:10032000F6E7FEB504462068030000F037FA05043E
-:100330002B4249598B00201DFFF7E3FF0546002D96
-:1003400001D02846FEBDFFF7A7FF0120C00200F044
-:1003500041F9042221469948FFF78DFF002801D07A
-:100360000320EFE708222146944800F06DF90028A9
-:1003700006D1002192480068FFF766FF00F00CF9F3
-:100380000320DFE7A768E6686068019031463846D9
-:10039000FFF7A3FF324638460199FFF78EFFB20000
-:1003A0003846019900F050F9002800D1CAE703202F
-:1003B000C8E700F0E3F9834800688349086041E03A
-:1003C00060680190E668A0680090B200009901980A
-:1003D00000F03AF90746002F00D1B3E70E20B1E74D
-:1003E000201DFFF760FF0546002D01D02846A9E734
-:1003F0006068002807D1FFF74FFF0320800200F05C
-:10040000E9F800F0C9F8FFF747FF0120C00200F04B
-:10041000E1F8042221466948FFF72DFF002801D0AA
-:1004200003208FE708222146644800F00DF90028D8
-:1004300006D1002162480068FFF706FF00F0ACF823
-:1004400003207FE700BF00207CE770B505460C461F
-:10045000182D04D12068FFF764FF206002E001201E
-:10046000206000BF00BF70BDF0B589B05248406940
-:1004700003905248806881000398081802900398FE
-:10048000000B01900121090302984018401E000B47
-:1004900000900124002520462946019A00F0C4F866
-:1004A0000022401E91410791069001260027304608
-:1004B0003946009A00F0B8F80022401E914105919B
-:1004C0000490049BDB43059AD2430698184307998E
-:1004D00011430791069037490698086007984860CD
-:1004E00009B0F0BD70B53448446934488568466841
-:1004F000AA003146204600F0A7F8002801D00020CD
-:1005000070BD0120FCE72D484068002801D0012083
-:1005100000E000200546FFF7E5FF002807D0FFF7C1
-:10052000BBFE0320800200F055F800F035F8FFF71D
-:100530009BFF002D0ED020484669204884684768FC
-:1005400021463046FFF7C9FE224639463046FFF7BE
-:10055000B4FE00BF00F020F810B5184844681A48EF
-:100560000460204600F0DCF810BD15480068006803
-:10057000401C01D100BFFEE710480068002802D0EF
-:10058000042806D101E0FFF7BEFFFFF7E5FF00BF3B
-:10059000FEE700BF00BFFEE7BFF34F8F0B480C49DB
-:1005A000C860BFF34F8F00BFFEE7000000E50140C9
-:1005B00000E40140000600400010001000080000A8
-:1005C000B8070000BC070000000000200400FA0586
-:1005D00000ED00E010B50146104B1A6808460223F2
-:1005E0000F4C636000BF0F4B1B68002BFBD0531CEC
-:1005F00004D0904202D20A4B186101E0084B986087
-:1006000000BF084B1B68002BFBD00023044C636029
-:1006100000BF044B1B68002BFBD010BD0010001066
-:1006200000E5014000E4014010B5202A04DB01464A
-:10063000203A9140002010BD914020239C1A03468F
-:10064000E3401943904010BD034610B50B439B0790
-:100650000FD1042A0DD308C810C9121FA342F8D025
-:1006600018BA21BA884201D9012010BD0020C04328
-:1006700010BD002A03D0D30703D0521C07E000208E
-:1006800010BD03780C78401C491C1B1B07D1037854
-:100690000C78401C491C1B1B01D1921EF1D118463D
-:1006A00010BD70477047704710B500F007F810BDD7
-:1006B000014B1B68DB6818470000002019481A49E5
-:1006C0007047FFF7FBFFFFF7FBFC00BD20BFFDE716
-:1006D0001649174C24688C420BD1164B1B68994263
-:1006E0000CD1154B154A1360186810498842EDD09B
-:1006F0000AE0134880F30888124B18470F4A13602A
-:1007000018680A498842E1D080F308880E49884277
-:1007100004DD0E48026802210A4302605B68184744
-:100720000346DFE7C0070000C0070000FFFFFFFF30
-:10073000000C000014100010001000000000002049
-:10074000000400206B05000000200020240500406C
-:100750000D48704502D1EFF3098101E0EFF3088104
-:10076000886902380078182802D1C046074A104725
-:10077000074A12682C3212681047000000B5054B7A
-:10078000054A9B58984700BDFDFFFFFF4B04000042
-:1007900000000020001000000400000030B4744687
-:1007A000641E2578641CAB4204D3635D5B00E318D0
-:1007B00030BC18471D46F8E7000C00000010000090
-:10100000901D002079500100ED3D0000DF4F0100F0
-:1010100000000000000000000000000000000000D0
-:10102000000000000000000000000000E950010086
-:101030000000000000000000ED3D0000ED3D00005C
-:10104000555101005B510100ED3D0000ED3D0000F8
-:10105000ED3D0000ED3D0000ED3D0000ED3D0000E8
-:1010600061510100ED3D0000ED3D000067510100C0
-:10107000ED3D00006D5101007351010079510100F7
-:10108000ED3D0000ED3D0000ED3D0000ED3D0000B8
-:10109000ED3D0000ED3D0000ED3D0000ED3D0000A8
-:1010A0007F51010085510100ED3D0000ED3D000044
-:1010B000ED3D0000ED3D0000ED3D0000ED3D000088
-:1010C00000F002F813F0B9FF0CA030C8083824185B
-:1010D0002D18A246671EAB4654465D46AC4201D170
-:1010E00013F0ABFF7E460F3E0FCCB64601263342CF
-:1010F00000D0FB1AA246AB463343184744410100D7
-:1011000074410100103A02D378C878C1FAD8520766
-:1011100001D330C830C101D504680C6070470000AD
-:101120000023002400250026103A01D378C1FBD803
-:10113000520700D330C100D50B6070471FB5C046C1
-:10114000C04613F01BFF04B00FB41FBD82690249F3
-:1011500081610248104470476111000001000000E5
-:1011600001B41EB400B510F02FFC01B401988646FE
-:1011700001BC01B01EBD0000F0B4404649465246D5
-:101180005B460FB402A0013001B50648004700BF1E
-:1011900001BC86460FBC8046894692469B46F0BC01
-:1011A00070470000C1100000401E00BF00BF00BF1C
-:1011B00000BF00BF00BF00BF00BF00BF00BF00BF37
-:1011C00000BFF1D17047000070B505460C461646C9
-:1011D00002E00FCC0FC5103E102EFAD2082E02D31B
-:1011E00003CC03C5083E042E07D301CC01C5361F2E
-:1011F00003E021782970641C6D1C761EF9D270BD45
-:101200008307FF22DB0E9A408907090E99400028C8
-:101210000BDA0007000F0838830828489B001B18CA
-:10122000D86990430843D8617047830824489B00DD
-:101230001B181868904308431860704710B504469F
-:1012400000210120FFF7DCFF00211820FFF7D8FF65
-:1012500000210B20FFF7D4FF02211920FFF7D0FF58
-:1012600002210D20FFF7CCFF02210E20FFF7C8FF5F
-:1012700002210F20FFF7C4FF0221C81FFFF7C0FFA4
-:1012800003211620FFF7BCFF03211520FFF7B8FF4D
-:10129000204600F019F8002010BD4F210180704752
-:1012A00010B500F03AF810BD0648704710B500F0D0
-:1012B00035F810BD704770477047000000ED00E042
-:1012C00000E400E003F900C330B50446374D95B0A3
-:1012D00007202870A81CFFF7E0FF5920A880344899
-:1012E00001F020FC0546072000F0DCF929462F48D4
-:1012F00000F08CFA641E072C0AD830216846017071
-:10130000847001F0DDFA002802D009A800F0DDFCAD
-:10131000284601F083FE15B030BD7047F8B5234E66
-:101320000446B61E307801270D46002807D0204617
-:1013300060380B2808D8204601F096FB2BE0602C83
-:10134000F9D01C480860F8BD20466C38032803D843
-:10135000204601F0CBFB1EE0204670381F2803D842
-:10136000204600F037F816E0204690380F2803D8C2
-:10137000204600F0BBF80EE02046A0380F2803D826
-:10138000204600F023F906E02046B0380F2804D8A4
-:10139000204600F000F9286000E02F60602CD2D1D8
-:1013A00028680028CFD13770F8BD00001A0000204F
-:1013B000C33300000130000070477047704770472A
-:1013C000704770477047704710B5012801D100F091
-:1013D00042FA10BD10B57038030013F0EBFE150C87
-:1013E00012161E22252C33383D41454950555C6468
-:1013F0006C747B8085004A680878114603F081FF91
-:1014000010BD086803F0F9FF10BD0C790B7B8A68EA
-:101410000868214604F005F810BD086804F07EF85D
-:1014200010BD03F05BFC10BD08884A6880B211460D
-:1014300004F043FA10BD0A790888114680B204F01E
-:1014400091FA10BD087840B204F09CFA10BD0888EB
-:1014500080B204F0B8FA10BD086804F0C7FA10BDF5
-:10146000086804F0DFFA10BD086804F00AFB10BD3C
-:10147000088982B209C9194604F034FB10BD05C9B8
-:10148000114604F082FB10BD08884A6880B21146FC
-:1014900004F0A0FB10BD0B7908888A6880B2194659
-:1014A00004F0FDFB10BD0B7908888A6880B21946EC
-:1014B00004F0B3FC10BD08884B688A6880B21946F6
-:1014C00004F0F3FC10BD08884A6880B2114604F0AD
-:1014D0003EFD10BD088880B204F056FD10BD08889E
-:1014E00080B204F076FD10BD012010BD10B590381B
-:1014F000030013F05FFE09060F161D242C363F462D
-:101500004E0088888A6883B20888194680B205F040
-:1015100093F910BD08884A6880B2114605F0E9F9D0
-:1015200010BD08884A6880B2114605F02DFA10BD3A
-:1015300008884A6880B2114605F063FA10BD088831
-:101540004B688A6880B2194605F094FA10BD088984
-:1015500082B2888883B20888194680B205F0C9FA39
-:1015600010BD08894B6882B20888194680B205F020
-:10157000FEFA10BD08884A6880B2114605F02EFBBD
-:1015800010BD888882B20888114680B205F0C2FB7F
-:1015900010BD012010BD10B5B02805D0B12808D06D
-:1015A000B2280BD0012010BD088880B205F0A6FE3D
-:1015B00010BD088880B205F0D1FE10BD08884B68C8
-:1015C0008A6880B2194605F0DAFE10BD10B5A03861
-:1015D000030013F0EFFD0B070E172028323C434D9C
-:1015E000545D65004B6808788A68194607F017FA59
-:1015F00010BD88888A6883B20888194680B207F0CF
-:1016000023FA10BD08884C68CB688A6880B22146EE
-:1016100007F02AFA10BD08884B688A6880B219461C
-:1016200007F044FA10BD8888CB6884B208888A68BD
-:1016300080B2214607F064FA10BD8888CB6884B276
-:1016400008888A6880B2214607F089FA10BD0888A8
-:101650004A6880B2114607F0BDFA10BD088982B20F
-:10166000888883B20888194680B207F0BDFA10BD99
-:1016700008884A6880B2114607F0DAFA10BD088976
-:101680004B6882B20888194680B207F057FB10BD3C
-:1016900008884B688A6880B2194607F014FC10BDB0
-:1016A000012010BD10B507F0FAFC0FF0A7FF00F005
-:1016B00007F810F0F5F808F0F5F908F081F910BD19
-:1016C00001202B49C00308602A490020087003202C
-:1016D0002949800288607047F8B5264D044628786D
-:1016E000A04207D0002C05D0002803D023A14D2014
-:1016F00013F06FFC2878A04213D02C700325002330
-:101700002349AD021C48002C27D01B4A214E4032F1
-:10171000214F012C06D0022C13D018A16E2013F0FB
-:1017200058FCF8BD0B6002230B604E6185601B49BD
-:1017300011625762091D91621749091DD162456006
-:10174000F8BD0B6003230B604E610121C90281606B
-:10175000134B9362D7624160F8BD0B600B608560EC
-:10176000F8BD10B505A1772013F033FC10BD0000C3
-:1017700080E100E02000002000F501407372635C0E
-:1017800068616C5F63636D5F6161722E630000006E
-:1017900000F500407C01002000F0004000110040F6
-:1017A000488100401CB50446002069460870204668
-:1017B00009F0F6F86946204608F0B4FF002803D186
-:1017C000FBA1B62013F005FC01A9204608F009FF93
-:1017D000002803D1F6A1BB2013F0FBFB684600787C
-:1017E0001CBD70B5F74D002428462C76203084713E
-:1017F000C47113F0EDFC2846403804702030847327
-:10180000847484762C74AC7070BDEAE710B50C4615
-:10181000ED4982888A8042884A80007808700846AC
-:101820000A38847008F0B3FEFFF7DBFF20460AF0A9
-:101830002FFAE44AE0321146383908461446813816
-:1018400009F020F92146E0480BF0C2FC09F09FF8AE
-:1018500013F0BEFC10BD10B50120FFF7ADFD10BDAB
-:10186000F8B509F083FDD84DD64C0A3D022802D0C8
-:10187000207C00287CD0207E0026102819D1A0785A
-:10188000002803D0CAA1D14813F0A3FBCD48E83803
-:10189000817A89070DD50146267160398989E180F1
-:1018A000C17A217281896181C089A0810120A070E3
-:1018B0002676C44F203FB87C002859D1C4486946D9
-:1018C000808908F02FFF002805D0694668780978DC
-:1018D0004018687004E0BD48B5A11D3013F079FBD5
-:1018E000207C002838D0BA488189FF300930406D0B
-:1018F0008089814204D0B548ADA1223013F069FB44
-:10190000B348808908F0B4FF002804D1AF48A8A1EB
-:10191000283013F05EFB09F022F800281CD0AC48F8
-:101920008089FFF73FFF697840186870A548403804
-:10193000416D20318A7C012A0DD1A54A3E779289DA
-:10194000C287C87C20700120B876207E102801D084
-:10195000282800D1267626746978002908D09C486A
-:101960008289FF300930C28601870120B8746E7009
-:1019700009F0CCFC002805D1207C002802D0A878F2
-:1019800001F0F4F8F8BDF8B50F460446FFF768FF1C
-:101990008C4D403D28788B4E002813D0002F10D15D
-:1019A000307E002804D0FF2081A1C63013F011FB47
-:1019B0002C22A91C204613F06FF90E202070002065
-:1019C00028708FE07F4D203DA87B002818D0002F85
-:1019D000F7D1307E102808D0282806D0002804D05F
-:1019E000FF2073A1D23013F0F4FA0120E070E87BFD
-:1019F000A070287C60700F2020700020A87371E018
-:101A00000121204608F0E4FF002807D0307C0028A0
-:101A100051D13946204608F0DBFFF8BDA97C694862
-:101A20000C38009068480A38002913D0017805293D
-:101A300010D2002F56D1491C0170002666700D206F
-:101A40002070012028750622A01C009913F024F9AB
-:101A5000AE7447E05C4800210A380170B078002875
-:101A600014D0002F3ED1307E002803D050A1594819
-:101A700013F0AFFA002565700120524920700A2248
-:101A8000091DA01C13F008F9B5702BE0394620465B
-:101A90000BF008FB002825D1A87C002805D0002FDA
-:101AA00020D149480A380178C5E7A87E002802D02D
-:101AB000307C002801D00020F8BD002F12D1307EEC
-:101AC000002804D08F203AA1800013F082FA00266B
-:101AD00066700A203B4920700622091FA01C13F0E3
-:101AE000DBF8AE760120F8BD10B53648017E00293E
-:101AF00008D1007C012805D001210020FFF743FF19
-:101B0000002801D0072010BD012010BD10B5012410
-:101B10000AF006F90443FFF7E7FF044308F038FF33
-:101B200001462143084610BDF8B51D4614460E4631
-:101B300008F077FD002807D0684608F07DFD0028F2
-:101B400003D0002C07D101E00120F8BD9B2018A193
-:101B5000800013F03EFA08F01BFDA04204D21D489D
-:101B600013A1583013F035FA009808F089F931467E
-:101B7000009808F097F9E2B22946009808F04EFB69
-:101B800008F06CFD002804D19F2009A1800013F00B
-:101B900020FA08F0FFFE0E4800244030417C002966
-:101BA00002D044740AF0A7F90948C480CCE70000C9
-:101BB0007372635C6C6C5F6374726C2E73302E6333
-:101BC00000000000200300202C00002082060000FE
-:101BD000D80100201502000010B50179002908D0B5
-:101BE00001290BD0FF20FE49043013F0F2F9002048
-:101BF00010BD831D42880488022103E042880488C6
-:101C0000831D01212046FFF78FFF10BDF8B51F4649
-:101C100015460E46044609F0A9FB022803D0F148F8
-:101C2000007C00281FD0F0488089208008F020FE2A
-:101C3000002803D1EA49ED4813F0CBF905246846A2
-:101C400008F021FE00280ED0009808F063F93070EB
-:101C5000022809D0012807D008F055FE641E24068A
-:101C6000240EECD10020F8BD3946009808F0EEFAB9
-:101C70002880002804D1AF20D949800013F0A9F9A9
-:101C800008F041FE002804D1D848D549193013F096
-:101C9000A0F90120F8BD38B50446831D821C6946B1
-:101CA000FFF7B4FF00280DD000206071684600786F
-:101CB000012808D0022806D0FF20C949253013F09A
-:101CC00088F9012038BD2071FBE700215BE670B583
-:101CD000C44C0546403C2078002803D1C148007E12
-:101CE000002804D0C120BE49C00013F072F9287842
-:101CF00008F085FF28780BF0C1FB0020207101203F
-:101D000060713921E170207070BD70B5B54D044629
-:101D1000403D2878002803D1B248007E002804D036
-:101D20005F20AF49000113F054F9AF4E2188B0890C
-:101D3000884203D109F01AFB022807D0022028713B
-:101D4000012068713821E970287070BD7F2070769D
-:101D5000A548E17820304174A17801740020EEE7B5
-:101D600010B5A04C403C207800280BD19D48007E47
-:101D7000002807D109F0FAFA032803D009F0FAFA8B
-:101D8000032804D199489649653013F022F9954902
-:101D900000202031C8712071012060713A21E1706A
-:101DA000207010BD70B58F4C0646403C207800284E
-:101DB0000BD18C48007E002807D109F0D7FA032800
-:101DC00003D009F0D7FA032804D1884884497B302E
-:101DD00013F0FFF8834D2035E87908280CD2E87914
-:101DE0001022000100196830314600F025FEE87924
-:101DF000401CE871002000E0072020710120607184
-:101E00003B21E170207070BDF8B5764D0446403D31
-:101E10002878002803D17348007E002803D0704939
-:101E2000734813F0D6F8704F2188B889884203D1DF
-:101E300009F09CFA022801D0022022E03E8C64883E
-:101E40007200788CF98B521C944217D3694A514323
-:101E50009200504312F09AFF401EFF2180B2F531EC
-:101E6000884200D90846844200D22046711C401C9A
-:101E700012F08CFF761C7043401E86B2FE85EE8009
-:101E800000202871012068713C21E9702870F8BD9C
-:101E9000F8B5544C0546403C2078002803D1514801
-:101EA000007E002804D052484D492C3813F091F898
-:101EB000A878002801D0012804D1A888FF21F53195
-:101EC000884204D959204649000113F082F8464E51
-:101ED0002988B089884203D109F048FA022807D03E
-:101EE00002202071012060713621E1702070F8BD60
-:101EF0003D48002720308772A988B18501213176BD
-:101F0000A978012900D00021817237484030407CF7
-:101F1000002801D009F0EFFF2771E3E770B5314CDD
-:101F20000546403C2078002807D12E48007E002836
-:101F300003D109F01BFA002804D02D482849533852
-:101F400013F047F8287809F0EEFE002020710120F8
-:101F500060713021E170207070BD70B5214C054674
-:101F6000403C2078002803D11E48007E002804D081
-:101F70001F481B495F3013F02CF8287800280BD03D
-:101F8000012809D0022807D06878402804D31848CF
-:101F90001349663013F01DF8284609F0DEF90028D1
-:101FA00001D0002000E00C2020710120607134215C
-:101FB000E170207070BD70B50A4C0546403C207839
-:101FC000002807D10748007E002803D109F0CEF988
-:101FD000002804D057200249000112F0FAFF0BE05C
-:101FE000B01B000020030020D8010020AA0200003E
-:101FF000B6050000C40900002978002913D00A2979
-:1020000011D014290FD01E290DD028290BD0322928
-:1020100009D04B2907D0642905D0FF2903D0FE49F8
-:10202000FE4812F0D6FF284609F0FCFE0020207181
-:10203000012060713321E170207070BD70B5F84CE3
-:1020400006462078251D002804D120464030007E19
-:10205000002804D05520F049000112F0BAFF3146A3
-:10206000002008F0A1FD2870002804D10622314686
-:10207000EC4812F011FE012060713221E1702070F5
-:1020800070BD70B5E64C05462078002804D1204686
-:102090004030007E002804D0A720DF49C00012F0A5
-:1020A00098FF00216956042914D0002912D0081D78
-:1020B00010D0001D0ED0001D0CD0001D0AD0001D38
-:1020C00008D00A3006D0283104D0D448D249443848
-:1020D00012F07FFFD448297801700120607131210E
-:1020E000E170207070BD10B5CD4C2078002804D16F
-:1020F00020464030007E002803D0C749CB4812F06C
-:1021000068FF08F045FAE08008F00AFB2072002022
-:102110002071012060710521E170207010BDF8B5BB
-:10212000BF4C07462034A07B25462035002805D12A
-:10213000287E002802D1A878002804D0B748B649E4
-:10214000703812F046FF09F011F91026022822D14A
-:10215000B7483988808988421DD1B1494839084635
-:102160000A7F6038807A002A03D080070CD40C20C4
-:102170000CE0800708D406200877AD484030407C4A
-:10218000002801D009F0B7FE2E760020E0732674F7
-:102190000120A073F8BD0220F8E710B5A04C20780C
-:1021A000002804D120464030007E002804D09B48FF
-:1021B0009949823812F00DFF002020710E20A07086
-:1021C0000F20E070FF20A0710020C04320819548BF
-:1021D000C01D0178A1728188A1814088E081012021
-:1021E0006071207010BD10B58D4C2078002804D18E
-:1021F00020464030007E002803D087498D4812F0E9
-:10220000E8FE0821A01D0FF095FA002020710120A2
-:1022100060712B21E170207010BD70B5804D0446B7
-:102220002878002804D128464030007E002804D0B9
-:102230007A487949B13012F0CCFE7D48102221460F
-:10224000303800F0F9FB7A481022A118203800F04D
-:10225000F3FB774830380FF074FB754910221039C2
-:102260002C46A81D00F0E8FB002020710E20A07075
-:102270002A20E07001206071207070BDF8B5684CB4
-:1022800005462034A07B26462036002802D1307E29
-:10229000002804D067486049E53012F09AFEA9781A
-:1022A000052912D0132910D014290ED015290CD0CD
-:1022B0001A290AD0292908D03D2906D03B2904D063
-:1022C0005C485549ED3012F084FE28885A4988420E
-:1022D00004D958485049F63012F07BFE09F046F810
-:1022E0000C212827022809D151482A888089904248
-:1022F00015D14B484838027E002A01D0E17310E026
-:10230000A97841760121017637760020E0734848AC
-:102310004030407C002804D009F0EDFD01E00220AF
-:10232000E07327740120A073F8BDF8B53C4F064652
-:1023300038783D1D002804D138464030007E002802
-:1023400004D089203449C00012F043FE31460120F8
-:1023500008F02AFC01242870002807D13048062202
-:1023600060303146054612F097FCAC717C71172045
-:10237000F8703C70F8BDF0B52B4F85B0403F3D7A0A
-:10238000064627480078002804D13846A038007E49
-:10239000002804D0D3202049800012F01AFE3078A3
-:1023A000002806D0012804D022481B492C3812F0FE
-:1023B00010FE082D4CD21C4820380190C46930789A
-:1023C00000283FD0012804D01A4813491E3812F0C3
-:1023D00000FE294608310120884004430120A8401E
-:1023E00020430090B1790E4C0802727969000919F6
-:1023F0001043FF3101318881B01C12F0AEFC7178BE
-:1024000000020843A9000919C031C862387A401C8B
-:1024100038720199009811E0B01B00007E050000A1
-:10242000E00200202500002000040020E706000054
-:10243000D801002079030000FF0E0000C8610020D1
-:10244000207108E029460831012088408443C5E70F
-:10245000FE48072101710121FC480B224171C27025
-:10246000017005B0F0BD10B5F84C2078002804D1FB
-:1024700020464030007E002803D0F549F54812F090
-:10248000A8FD12F0A5FE00202071012060710A2134
-:10249000E170207010BD10B509F0DDFB002804D0FC
-:1024A000EC48EB49583812F094FD08F06FFA08F048
-:1024B00052F80AF07EFE002804D0BD20E4498000D6
-:1024C00012F087FD08F0B3FA002804D05F20E0493D
-:1024D000C00012F07EFD12F07BFEDF480024047085
-:1024E000FFF77FF9D9480121047141710222C270BE
-:1024F000017010BD70B5D54D04462878002804D170
-:1025000028464030007E002804D0F320D0498000C7
-:1025100012F05FFD20781F2801D8601C04D1CD483F
-:10252000CB498F3012F055FD002028712078611CB6
-:1025300008F054FB012068712021E970287070BDFB
-:10254000F8B5C24C0646207825464035002802D111
-:10255000287E002804D0BF48BD499C3012F039FDC8
-:102560003078012806D0002804D0BA48B8499D30F8
-:1025700012F02FFD012060710C20207130780027AF
-:10258000B64E012808D008F0F1FE032867D008F005
-:10259000F1FE032871D076E008F0E8FE002803D1B0
-:1025A00008F0E8FE002804D008F0E0FE02283DD044
-:1025B00069E008F07EFA002865D0287C002862D106
-:1025C000A64802210C300FF03EF8002806D00F215B
-:1025D000B089090212F0DAFBB18100E0B781012273
-:1025E00003219E4807F05AFE9C4808F006FCB0897B
-:1025F00007F0D0FF002804D196489549B83012F072
-:10260000E8FCB089002108F0C9F9002804D09148FD
-:102610008F49BC3012F0DDFC297F688B09F087FB05
-:1026200000282FD08B488A49C03015E008F0A2FE60
-:10263000002828D1287F002825D0012823D008F0A1
-:1026400038FA00281FD0297F688B09F070FB00281A
-:1026500018D080487E49D33012F0BBFC12E0002035
-:1026600009F098FA00280ED12771287C00280AD199
-:10267000B089FFF797F806E0FFE7002009F08AFA33
-:10268000002800D127711B20E07001202070F8BDC8
-:1026900070B56E4D04462878002804D12846403095
-:1026A000007E002804D06B486949803012F091FC0C
-:1026B00020781F2801D8601C04D166486449813005
-:1026C00012F087FC002028712078611C08F09AFA2B
-:1026D000012068711A21E970287070BDF8B55B4D52
-:1026E000044628780C272E46403600280AD1307E32
-:1026F000002807D108F03AFE032803D008F03AFE7C
-:10270000032804D153485249473012F062FC6079E3
-:10271000002801D001282FD1A079002801D001285C
-:102720002AD1A07B002805D0012803D0022801D09F
-:10273000032821D1607B40071ED0618801208003DF
-:10274000814202D82288824201D920790CE0207986
-:10275000002804D0022805D0032803D004E0202953
-:1027600004D209E0A02A01D2012805D1208888429C
-:1027700007D92079012804D0364835495C3012F059
-:1027800028FC20887083207930776079002802D077
-:10279000012803D00CE0324A002105E02B4A6032C8
-:1027A0009079002804D00121204608F086F90746D8
-:1027B00001202F7168711821E9702870F8BD70B57B
-:1027C000224C05462078002804D120464030007E67
-:1027D000002803D01E49234812F0FBFB08F0C6FD79
-:1027E0000C2102280ED11D482A8883899A4219D1CA
-:1027F0000246C032137F002B04D1807E0E2803D006
-:102800000F2801D0217103E00520107700202071EE
-:102810000E20A0702E20E0702888E08001206071DA
-:10282000207070BD0220F2E770B5084C0546207894
-:10283000002804D120464030007E002804D00948FA
-:1028400003492C3812F0C5FB0EE00000E002002026
-:10285000B01B00003E03000000040020D80100204F
-:1028600025000020D104000008F080FD0C21022882
-:102870000ED178482A8883899A421FD10646C036ED
-:10288000327F002A04D1807E0E2803D00F2801D089
-:10289000217109E06F481022A91CEA3012F0FCF9FE
-:1028A00004203077002020710E20A0702D20E070D1
-:1028B0002888E08001206071207070BD0220F2E75E
-:1028C00010B501780B0012F075FC3D8787388787BB
-:1028D00058878787873B3E878787515487878787B5
-:1028E00087874228872C3087878787348787878721
-:1028F00087878746874A4E872024876B5B5F63679D
-:10290000876F877E827B77738700801CFFF78CFF41
-:1029100060E0801CFFF753FF5CE0801CFFF7DEFEE9
-:1029200058E0801CFFF7B4FE54E0801CFFF708FE5F
-:1029300050E0801CFFF7DEFD4CE0FFF7ACFD49E006
-:10294000FFF791FD46E0801CFFF715FD42E0801C7B
-:10295000FFF7EBFC3EE0801CFFF790FC3AE0801CA8
-:10296000FFF75BFC36E0FFF73EFC33E0FFF715FCBA
-:1029700030E0801CFFF7D3FB2CE0FFF7B4FB29E02D
-:10298000801CFFF77EFB25E0801CFFF757FB21E052
-:10299000801CFFF710FB1DE0801CFFF7DEFA19E03A
-:1029A000801CFFF7BBFA15E0801CFFF771FA11E0FD
-:1029B000801CFFF729FA0DE0801CFFF7F3F909E00E
-:1029C000FFF7CEF906E0801CFFF79FF902E0801CBC
-:1029D000FFF77DF9012010BD002010BD10B51E4984
-:1029E0001E4812F0F6FA10BD70B51D4A01241146BA
-:1029F000184D4031030012F0DDFB05191C1C0419B1
-:102A00001C0001220021134807F048FC1448002153
-:102A1000483801774177C03809F005FA002804D01A
-:102A20000E480D49D33012F0D4FA70BD0C745565C0
-:102A300070BD09490B48F6E730B5134606E0CC18DF
-:102A4000203CE47FD51A44555B1EDBB2002BF6D147
-:102A500030BD0000D8010020B01B0000410600007E
-:102A6000E00200204707000010B56038030012F0B4
-:102A7000A1FB0A060A0F13181F262A31363B0868E5
-:102A800000F093FD10BD05C9114600F0ADFD10BD6D
-:102A9000086800F04CFE10BD05C9114600F054FE58
-:102AA00010BD4B6808788A68194600F065FE10BDB5
-:102AB0004B688A680868194600F07FFE10BD0868F8
-:102AC00000F09AFE10BD08884A6880B2114600F0F6
-:102AD000EAFE10BD05C9114600F00AFF10BD05C988
-:102AE000114600F01DFF10BD012010BD10B56C286F
-:102AF00001D0012010BD087800F0B8FE10BD000024
-:102B000001203F49400608603E4908603E490A6886
-:102B1000FF231B029A4383121A430A603849803903
-:102B20000860704710B502460420384904E0C3002D
-:102B30005B181B79002B0AD00346401EC0B2002B45
-:102B4000F5D133A1432012F044FAFF2010BDC30099
-:102B5000CA50002259184A718A7101220A7110BDA7
-:102B60002A4A0021C00080180171704710B5044640
-:102B7000042803D326A1522012F02BFA2348E100A7
-:102B80000C182079012803D021A1532012F021FA3A
-:102B90006079A179401CC0B2814200D060710120EF
-:102BA000174940068031086010BD70B516480068AE
-:102BB0000004800F022803D015A1692012F009FA41
-:102BC000124E194C03252078C10088190279012A78
-:102BD00007D1427983799A4203D042798271705841
-:102BE00080472078401CC0B22070042801D3002008
-:102BF000207028466D1EEDB20028E4D170BD0000A3
-:102C000080E100E080E200E018E400E02C12002007
-:102C10007372635C736F635F7369676E616C6C6919
-:102C20006E672E63000000003C00002010B5EFF33B
-:102C30001080C407E40F72B6D6484178491C417031
-:102C40004078012801D10FF065F9002C00D162B65F
-:102C500010BD70B5CF4CE07800280AD10125E57091
-:102C6000FFF7E4FF0FF05EF9002804D000200FF01A
-:102C700031F9002070BDC84865714560F9E770B54D
-:102C8000EFF31080C507ED0F72B6C24C60780028D4
-:102C900003D1C2A18F2012F09CF96078401E6070B1
-:102CA0006078002801D10FF039F9002D00D162B60B
-:102CB00070BD10B5B748C178002904D0002141711A
-:102CC000C170FFF7DCFF002010BD10B504460FF007
-:102CD00029F9B049C978084000D0012020600020BF
-:102CE00010BDF8B50246AB4C0026A67108200421A1
-:102CF00001251027130012F05DFA0D080A0C0E10C2
-:102D00001214161E262123252800257122E00220F8
-:102D100001E021711EE020711CE027711AE02020E3
-:102D2000F9E7012616E0FFF781FF0FF0FBF8002816
-:102D3000FBD002260EE02171A5710BE02771FBE7A5
-:102D4000202000E040202071F6E7FF2093A17E3094
-:102D500012F03FF90FF0F2F8002809D00FF0F4F864
-:102D6000B04205D130460FF0F2F80028FAD024E046
-:102D700001208007C5608D4A002151608C4A966110
-:102D8000854B02225A6085608A4803690569DB43E6
-:102D9000DB06DB175B1C10273D430561834D00E01C
-:102DA00020BF6F68002FFBD0002B03D107691023D1
-:102DB0009F430761784882606960A07900280CD041
-:102DC0000FF0B0F805460FF00DF87B4A002D02D049
-:102DD000A260E06001E0E260A060002E01D100F09E
-:102DE000B1F8F8BD10B504460FF0A2F8002805D0E0
-:102DF00068490120C8704A78521C4A702046FFF783
-:102E000070FF10BDF8B5694FB8680025012802D1E0
-:102E1000BD600FF05FF87868012800D17D603868E8
-:102E200001265C4C012814D13D606079002803D054
-:102E300000200FF04FF865712078002809D00FF0BE
-:102E400071F8002805D05948C0388663000606612D
-:102E5000A670386901282CD13D6100F068F8012086
-:102E600080074661A079002815D00FF05BF800902C
-:102E70000EF0B8FF0099002901D0E16800E0A168D8
-:102E8000411A022901DA8A1C13DC0099002901D0B9
-:102E9000E06000E0A060FFF7C9FE0FF043F80028F3
-:102EA00006D04248C038866300060661A67000E07E
-:102EB0002670F868012819D100F039F800F037F8C9
-:102EC00000F035F8A078002804D1FF2033A10530A8
-:102ED00012F07FF8FD60A5702570FFF7D0FE0EF0B0
-:102EE000F8FA002802D03148C038C663F8BD10B5E2
-:102EF000284CE078002801D10FF010F8012081075C
-:102F0000886100F014F8A07800280BD0274CE06806
-:102F1000002803D10FF01BF80028F8D10020E06052
-:102F200000F005F800201C49C043886010BD08B5BA
-:102F30005020694608806A461088411E118000288A
-:102F4000F9D108BDF8B51448192787601749002042
-:102F50000860C8600EF0E6FFBD0701240D4E002892
-:102F600005D01248C03884632C61B47000E034701E
-:102F7000FFF75CFE084847600D4930798863FFF72A
-:102F8000D6FFAC61FFF7D3FF0849002008616C61F0
-:102F9000F8BD000040000020000300407372635C35
-:102FA000736F635F636C6F636B2E6300000100409F
-:102FB0000005004000ED00E0FFFFFF7F10B510F0BE
-:102FC00064F810BD00200449C8630120012181403C
-:102FD000024A116000BF7047C01F004080E200E05D
-:102FE00010B504460BF095F820460CF0AAF810BD79
-:102FF0007047704770477047704770477047704719
-:1030000010FFFFFFDBE5B151006001004F00FFFF43
-:1030100003B40148019001BD09000020FE49487039
-:10302000704710B5030012F0C5F8080E050E080829
-:103030000B0B0E1104F07DF810BDFFF7D1FF10BD92
-:103040000DF0E8FF10BD01F095FE10BDFF20F3A1CB
-:10305000713011F0BEFF10BD7FB5F44905464868D8
-:103060008968082301910090F14A1946F1480EF051
-:103070008BFD0024F0480EF0A5FD641CE4B2082C82
-:10308000F8D3EB490320803140020CF02FF90028DF
-:1030900003D0E2A1962011F09CFF1E220221E748F6
-:1030A0000AF0E7FCE5481E22032110300BF05BFA22
-:1030B000E2480722342174300AF034FCDF484C2106
-:1030C000283011F048FEDD496A46743108464C3814
-:1030D0000164FF317B31416401211172039002F0E0
-:1030E000B4F802A80CF050FC002803D0CBA1AA2011
-:1030F00011F06FFFCF4802222421A8380AF012FCF9
-:10310000CC4802222C215C380AF00CFCCC490B2064
-:103110000EF082F8002803D0C0A1B72011F059FFAB
-:1031200003F0F4FF03F0F8F904F05AFE6B460022B6
-:103130000821C4A001F070FF002803D0B7A1BE2071
-:1031400011F047FF284605F071F9002803D0B3A11C
-:10315000C02011F03EFF8521C900BD4811F0FBFDE4
-:10316000BB49B24A0020135C0C18401CC0B2E3708B
-:103170000428F8D3A849002048608870C8707FBD33
-:1031800070B5B44E0546706A94B00C46401C04D12C
-:10319000B06AC0430004000C0BD0306AC007C00FF7
-:1031A0002870706A11F0EAFDB06A2071000A60713F
-:1031B00013E02B206946087009A968460AF0F8FB5D
-:1031C000002803D095A1E42011F003FF012028700E
-:1031D00006220AA9204611F05FFD2878002803D0B6
-:1031E0006079C0210843607114B070BDF0B5994C8E
-:1031F0000646206895B00D463746401C0837002823
-:1032000008D16068401C05D1A068401C02D1E0686C
-:10321000401C11D02068314611F0B0FD6068311DAE
-:1032200011F0ACFDA068394611F0A8FDE068314608
-:103230000C3111F0A3FD25E02B206946087009A987
-:1032400068460AF0B5FB002804D0FF2073A10E30B9
-:1032500011F0BFFE08220AA9304611F01DFD2B20F7
-:103260006946087009A968460AF0A2FB002804D044
-:10327000FF206AA1153011F0ACFE08220AA93846D9
-:1032800011F00AFD20692E46401C0836002808D19E
-:103290006069401C05D1A069401C02D1E069401C56
-:1032A00012D02069294611F069FD6069291D11F0CD
-:1032B00065FDA069314611F061FDE06929460C31D8
-:1032C00011F05CFD15B0F0BD2B246846047009A90F
-:1032D0000AF06EFB002804D0FF2050A1333011F01B
-:1032E00078FE082209AF0AA9284611F0D5FC6846E5
-:1032F000047009A90AF05CFB002804D0FF2047A154
-:103300003A3011F066FE0822391D304611F0C4FC37
-:10331000D8E710B5002108460EF00CFD0021012071
-:103320000EF008FD002102200EF004FD0021032014
-:103330000EF000FD002104200EF0FCFC0021052011
-:103340000EF0F8FC10BD10B5414CA0780B2804D34A
-:10335000FF2032A18A3011F03CFE207860214843E2
-:1033600000190830002101704178E722C908C9001E
-:10337000C91C11404170284A0121917010BD70B5DF
-:10338000254CA07800280ED0314800250178491C32
-:10339000C9B201700B2900D105708178491C817078
-:1033A0000EF093FDA57070BD70B51B4C05466068AE
-:1033B000002804D0FF2019A1B33011F00AFE656087
-:1033C00070BD70B5144E224DFFF7BDFF7168044605
-:1033D000002907D06022FDF7F7FEFFF7D0FF00209D
-:1033E0007060F1E72879002876D012485C380AF03E
-:1033F000A9FA6060002804D1FF2008A1D13011F0A3
-:10340000E8FD60680AF0FCFA002831D0204600F0A0
-:103410006FFF607801071FE0340000207372635C67
-:10342000686F73745F636F72652E6300E051010013
-:10343000040400200C12002023300000840A002025
-:10344000B41000206E524635313832320000000090
-:103450008C0C00208000001007D5C008C000401C64
-:1034600060702879401E287127E0F74861682AE0DB
-:10347000F54861680AF06FFA687900282CD0F248A4
-:103480004C380AF05FFA6060002804D1FF20EF4951
-:10349000F43011F09EFD60680AF0B6FA002816D0EC
-:1034A000204603F085FE6078010709D5C008C000FA
-:1034B000801C60706879401E6871FFF760FF83E7C9
-:1034C000E14861684C380AF046FA7DE704E0DE48DE
-:1034D00061684C380AF03FFA70BDF7B505460078D0
-:1034E000002700090C463E46062803D0D749D84895
-:1034F00011F06FFD287A00280ED0012814D0D4488E
-:10350000D249213011F065FD0298002C068001D0CF
-:10351000278066800020FEBD02270926002C0ED0E1
-:10352000A889A080A87B08E003271426002C06D0D9
-:103530002869E060A88A2082287B2072E4E702984C
-:103540000680E7E770B50E4600211C461980154637
-:10355000030011F02FFE0723050B1711231D230075
-:1035600022462946304603F0EFFD70BD224629462B
-:10357000304601F078F970BD22462946304604F005
-:103580002AFB70BD22462946304602F0F9FF70BD85
-:10359000224629463046FFF7A0FF70BD9720AB4971
-:1035A000800011F016FD032070BD10B5A94C2178E4
-:1035B000002901D0082010BDFFF74EFD012020702A
-:1035C000002010BD0146A04810B54C380AF0C3F9E0
-:1035D000A1494879401CC0B24871012803D19D48D7
-:1035E0004078FFF7C3FA10BDF8B50546072040073D
-:1035F0000F460A18012189038A4209D2002D02D000
-:103600002818884204D2E81C80088000A84201D013
-:103610001020F8BD90488178002911D03988009198
-:103620004178602251430C18083420783B4600074B
-:10363000000F00222146FFF785FF060004D015E0A9
-:10364000002038800520F8BD002D13D0398800985F
-:10365000814201D90C260DE020783B460007000F7F
-:103660002A462146FFF76EFF060005D00C2E01D03A
-:10367000002038803046F8BD774D6878401CC0B2D5
-:1036800068700B2801D100206870A878401EA870CF
-:1036900061784807400F022810D00128EAD16A4813
-:1036A00061680AF058F92879401CC0B228710128D5
-:1036B000E0D168484078FFF759FADBE7C806D9D46B
-:1036C0006068FFF77FFFD5E770B50446634816468C
-:1036D0000D46814204D15E485C49C53011F079FC49
-:1036E000012E05D05A485949D53011F072FC70BDF1
-:1036F00058480121C1706620207000202072A581E9
-:10370000A17370BD70B516460D46040001D1FFF7D8
-:103710001AFE662101700121017229680161A988E0
-:1037200081820673002C01D1FFF729FE70BD0721AD
-:103730004907012241189203914201D3102070479A
-:103740000721017000207047454A10B590420ED302
-:1037500001239B04C21A434B9A4208D3424B98421E
-:1037600005D2072252078A18DB139A4201D3102090
-:1037700010BD0DF08AFD10BD394B10B599420ED326
-:1037800001239B04374CCB1AA34208D3364B9942F2
-:1037900005D2E3020124D318A403A34201D31020CD
-:1037A00010BD022803D0102801D0092010BD0DF053
-:1037B00092FD0028FAD0052010BD70B5284B984224
-:1037C00012D301239B04274CC31AA3420CD3264BCC
-:1037D000984209D2E4020D19DB139D4204D2002A5B
-:1037E00004D014199C4201D3102070BD0DF099FD36
-:1037F0000028FAD0072070BD10B504460720400706
-:1038000001212018890394B0884202D3102014B0FB
-:1038100010BD01F06AFD002801D01120F7E70F204C
-:1038200008A9087369460BA80AF0C2F80028EED16F
-:103830006846007A207068464089608068468089C2
-:10384000A0800020E3E70000B01100201C3400003D
-:1038500015020000340000208C0C0020FFFF000047
-:10386000006001000000FC1F0040002010B594B073
-:10387000044601F03AFD002801D01120C7E7002CD2
-:1038800001D00720C3E7392168460170002181700B
-:1038900009A90AF08DF8002803D02B492B4811F014
-:1038A00098FB0020B3E770B5294C0846E178002961
-:1038B00013D000280FD007225207012385189B033D
-:1038C0009D4203D20568AA189A4201D3102070BD08
-:1038D0008288002A03D0012903D0082070BD092066
-:1038E00070BD04F0E1FA0028FAD10021E17070BD4A
-:1038F000184A10B5914208D301229204164B8A1A35
-:103900009A4202D3154A914201D3102010BD0246BB
-:10391000203A1F2A02D801F01FFC10BD072010BD5D
-:1039200007225207012310B58A189B039A4201D33C
-:10393000102010BD0246203A1F2A02D801F068FC70
-:1039400010BD072010BD00001C34000079030000EA
-:1039500034000020006001000000FC1F0040002037
-:103960008107C90E002808DA0007000F0838800810
-:103970002C4A80008018C06904E080082A4A800030
-:1039800080180068C8400006800F704710B50D20F1
-:10399000FFF7E6FFC4B20420C043FFF7E1FFC0B267
-:1039A000844203D021A11A2011F013FB10BD012184
-:1039B000234A48031060234B00221A60224A5160B8
-:1039C000224A1060224A11601D4980390860704700
-:1039D00001211B4A480310601D4A5160194A002109
-:1039E00011601A490860704710B516490868012827
-:1039F00004D00EA1562011F0ECFA10BD15488068D5
-:103A00000022C0B20A600DF0BBFE10BD10B50D481B
-:103A100001680029FCD0FFF7E7FF01200B494003B4
-:103A2000086010BD00ED00E000E400E07372635C2C
-:103A3000736F635F68616C5F726E672E6300000076
-:103A400080E100E000D1004000D3004080E200E0CF
-:103A500000D0004000D5004030B40121BC48C9026C
-:103A60000160CD1005604A030260BA4803681B027A
-:103A70001B0A036004680023240A24020460B64879
-:103A80000468240A24020460B44801244460846069
-:103A9000B34C23606360A360B24B19601D601A6071
-:103AA000B14B19601A600121016030BC704710B43D
-:103AB0000121A748CC0204600A0202600B060360E1
-:103AC000A64841608160A64900200860486088607F
-:103AD000A44804600260036010BC70470121A14843
-:103AE000C9020160C91001607047002805D0012893
-:103AF00005D0022805D19D4870479D4870479D48D4
-:103B0000704710B59CA18B2011F063FA002010BD06
-:103B100070B500219F4CA04DA04A914B002808D0C1
-:103B200001281DD0022822D093A1B32011F051FA10
-:103B300070BD01200004A060A86011601960984B5E
-:103B400042109A60974A9060814A0012106096482D
-:103B5000016087480160954801609548017070BD1B
-:103B600001204004A060A8605160596070BD012030
-:103B70008004A060A8609160996070BDF8B594461B
-:103B8000844A854D00240127754E002808D001285D
-:103B900036D0022844D078A1E82011F01AFAF8BDF6
-:103BA000891E0902090A01200004906034606860DF
-:103BB0007A4A1160012B21D000217D4A7D4B517042
-:103BC00061463D31DC63DF637B4B5C6002249C60BB
-:103BD00004241C61744B196074490F60614B891592
-:103BE0001960704B58606048016075487349C16046
-:103BF00086606B49600348601770F8BD0121DCE7FF
-:103C000001205C4E40046F4F012B04D134605060A2
-:103C100068603960F8BD9060346068603960F8BDF4
-:103C20000120524E8004684F012BF4D1EEE7674823
-:103C30004068704770B54A4D28680026554C0128E9
-:103C400006D1A068C00303D501200004A0602E6047
-:103C50006868012809D1A068800306D501204004C6
-:103C6000A0606E6001200FF04CF9A868012809D10E
-:103C7000A068400306D501208004A060AE60022049
-:103C80000FF03FF970BD10B549490878002818D0E9
-:103C90000120434AC0039060424A400090602C4A91
-:103CA00000121060404A00201060314A10603F4A04
-:103CB000106008704A78002A02D048700FF021F98D
-:103CC00010BD0320FAE70120414900060860704753
-:103CD0000120244900060860704701203C49400546
-:103CE0000860704701201F4940050860704731494E
-:103CF0000020C86388151B4908607047410A354A8F
-:103D0000C005C00D5043801C5143400A081870473D
-:103D100010B4314C430B63431B0C5C020C602D4C04
-:103D20006343C31A2D485C0258432A4B400D43435A
-:103D3000E31A0124DB0324041B191B1613700A6801
-:103D40001018086010BC704710B50FF0B2F910BD24
-:103D500080E100E008E400E018E400E000B000408A
-:103D600040B1004080E200E000E100E048B10040E6
-:103D70004081004044B100407372635C72656D5FC6
-:103D800068616C5F6576656E745F74696D65722ECF
-:103D90006300000000B3004040B3004040B5004065
-:103DA00000F5014000830040408500400082004053
-:103DB00050000020C08F004000850040008000407F
-:103DC00080F5014044B5004048B5004000B50040D2
-:103DD00000E200E0093D0000378600006F0C0100A2
-:103DE0000E4A12680C498A420AD118470B4A1268D7
-:103DF000094B9A4204D101B50DF0DDFD03BC8E469E
-:103E0000074909680958084706480749054A064B03
-:103E10007047000000000000BEBAFECA1C0100206E
-:103E200004000020901D0020901D002010B5FA4CC9
-:103E300094B02168087A002836D017206A4610709E
-:103E400000A806220931023010F026FF09A96846B1
-:103E500009F0AEFD112825D02168C03189790629E5
-:103E600020D007291ED008291CD004291AD00929DE
-:103E700018D00A2916D00B2914D0052912D00028F1
-:103E800003D0E6A1F32011F0A4F82168B82040582F
-:103E900006221C30093110F0FFFE2068017A8030C4
-:103EA000806BC17614B010BD3220C7E770B5DA4D13
-:103EB000044629680300C03111F07CF90C077C0B23
-:103EC0001A212E3B48515C677080FF20D3A1093036
-:103ED0006EE0887901286DD009286BD0052869D05B
-:103EE0000A2867D00B2865D0FF20CCA10E305FE0F8
-:103EF000887901285ED0FF20C8A1153058E0887964
-:103F0000062857D0072855D0082853D0052851D067
-:103F1000FF20C2A118304BE0887909284AD00A282E
-:103F200048D00B2846D0042844D0FF20BBA11E3027
-:103F30003EE0887903283DD007283BD0082839D0B7
-:103F4000092837D0FF20B5A1243031E08879062830
-:103F500030D00A282ED0FF20B0A12A3028E088795E
-:103F6000062827D0072825D00B2823D0FF20ABA177
-:103F70002E301DE0887906281CD00A281AD00B287C
-:103F800018D0FF20A5A1333012E08879092811D07C
-:103F90000A280FD0FF20A1A1383009E0887909282C
-:103FA00008D00A2806D0082804D0FF209BA13C3066
-:103FB00011F00FF82868C030847170BDFF2097A100
-:103FC0004130F5E79449C9220968525CD206920F44
-:103FD00005D1A0318A8B824201D1887F70470020B1
-:103FE000704770B504461120207000218A4D617021
-:103FF0002968C031897A002908D003290ED0042904
-:1040000010D0FF2085A16A3010F0E3FF207800096E
-:10401000012802D92868807D607070BD0007000FFC
-:10402000203002E00007000F30302070EEE730B59E
-:1040300003887E497E4C8B4202D09A1FA2421ED238
-:1040400042888A4202D0951FA54218D2934216D8C0
-:1040500083887D24E400A34211D8C088884205D01B
-:10406000734D04460A3C2D1FAC4208D2884208D04A
-:104070008A4206D05B1C5A43C000824201DD072001
-:1040800030BD002030BDFFB50022099B002802D0C2
-:10409000994205DC5CE0002902D1002004B0F0BDAB
-:1040A0000920FBE7845C002C12D085186F780D2F57
-:1040B0004CD010DC3B0011F07DF80A421B2A2A305C
-:1040C0003032323A3A42835C002B3FD1521CD2B29A
-:1040D0008A42F8DBE1E7122F31D004DC0E2F35D015
-:1040E0000F2F2CD132E0142F11D0152F27D116E02D
-:1040F000022CD5D1AB78039C072B237001D25B0730
-:1041000001D40A20CAE7029B01241B7814E0E34390
-:10411000DB0708E0012C08D011E00620BEE70F25E0
-:1041200023072D075B19002BF4D03046B6E7029B1E
-:104130001B789C070AD402242343029C2370835CCF
-:10414000521C9A18D2B28A4204DDA9E70B20A5E7D7
-:10415000192676028A42A5DB9FE705E00278401C1B
-:10416000002A01D0002070470A46491E89B2002A61
-:10417000F4D10120704730B5274D0021286887B061
-:10418000C943A030818300248477214606200DF0A6
-:10419000D1FD002105200DF0CDFD002102200DF004
-:1041A000C9FD0120FFF782FE28686946C030C4714E
-:1041B00004720120087068460BF007FC07B030BDA0
-:1041C00030B5154C95B02268C0329279042A0CD0D3
-:1041D000052A0AD028236A4613705080132906D076
-:1041E0003B2904D0072015B030BD0820FBE7117132
-:1041F000104609A909F0DCFB05000BD12068C0308E
-:104200008179062916D0082914D0072912D0052053
-:10421000FFF74CFE2846E6E7540000207372635C0B
-:104220006761705F636F72652E630000FFFF0000BF
-:104230007B0C00000420EBE730B587B0040003D00E
-:10424000002107200DF076FDFE4D012128686A4609
-:1042500001720421117003210C300DF06BFA2968F2
-:104260004022887B8006800E1043887368460BF0DE
-:10427000ACFB00280DD12968098A00299ED0002CAA
-:104280009CD08B000122002107200DF0AEFC0728F6
-:1042900001D0032092E7002090E770B50025064684
-:1042A000002803D0002107200DF044FDE54C01213A
-:1042B00020680172062109300DF03CFA2068817BEC
-:1042C0008906890E8173FFF7B1FD2068008A0028F6
-:1042D0000AD0002E08D083000122002107200DF013
-:1042E00084FC072802D00325284670BD0025FBE783
-:1042F000F0B59BB0040004D11920D349400110F05F
-:1043000068FE72202070616800260A780825521F16
-:104310000127CC48130010F04DFF0F0976D9FD7628
-:1043200078FCFBB576767676FAF97600C5480068B3
-:10433000C0308079032803D0C349C44810F049FE37
-:10434000002108460DF0F6FC002107200DF0F2FCDC
-:104350006078BC4A28436070106810250146C0315F
-:104360004B7A2B434B7263689D783C2D48D00246B4
-:104370009D88A032977763688030DB890B80636803
-:104380001B8A4B8063685B8A8B8095836168826B34
-:10439000C97911756168806B08311530062210F0FB
-:1043A0007BFC0620FFF782FDA648CA210068FB229D
-:1043B0000E54017E11400176B82109588A7A92087C
-:1043C00092008A724682284602F0ACFE002804D091
-:1043D0009E489D491A3010F0FCFD284602F0BCF8BA
-:1043E000002804D0994898491D3010F0F2FD284665
-:1043F00003F008FD002806D069209349C0003EE183
-:104400000120FFF753FD1BB0F0BD064600688F8802
-:10441000C0308079062812D0072810D008280ED086
-:1044200004280CD009280AD00A2808D00B2806D066
-:10443000052804D0D5208449800010F0CAFD60789A
-:10444000284360703068C030417A294341728079D6
-:10445000092811D00A280FD00B280DD005280BD021
-:10446000FFF789FE384602F062FE384602F07AF81D
-:10447000384603F0FDFCC6E7FFF77DFE0220FFF79C
-:1044800015FDEFE70068C0308079062812D00728B4
-:1044900010D008280ED004280CD009280AD00A28E9
-:1044A00008D00B2806D0052804D06F206649C0002C
-:1044B00010F08FFD6068807902F0F1FE0028A2D034
-:1044C0006178294361706168C8809CE7074600688D
-:1044D000C0308079062812D0072810D008280ED0C6
-:1044E00004280CD009280AD00A2808D00B2806D0A6
-:1044F000052804D055485449623010F06AFD6078B0
-:10450000284360706068C188386804E032E197E150
-:1045100084E084E00FE0C030018061680989418057
-:10452000616849898180002102200DF003FC386810
-:10453000C030C67167E706460068C030807906283B
-:1045400019D0072817D0082815D0042893D0092897
-:1045500011D00A280FD00B280DD005288BD03B484E
-:104560003949793010F035FD3068C0308079042841
-:10457000ABD00528A9D03068807C40063AD5606869
-:1045800002210C30FFF7E9FD002833D060680821D4
-:10459000001DFFF7E2FD00282CD03168B8204058FC
-:1045A000807A800708D1CA20405C002808D1488A58
-:1045B000C20505D5C00703D14A8A402082434A82FA
-:1045C0004A8A802082434A822D2268460270BC209B
-:1045D000425A684642801022973101A810F05CFBD5
-:1045E00009A9684609F0E4F90028A3D0174816493C
-:1045F000A03044E062683068AC2192890A52616858
-:104600000822091DAE3010F047FB10A80574306871
-:10461000AE30159014A80BF0D8F9F4E68F71064669
-:104620000068C030807906281FD007281DD00828D0
-:104630001BD00428F1D0092817D00A2815D00B2840
-:1046400013D005E0540000201C42000029030000A4
-:104650000528E2D0F949FA4810F0BBFC3068C030B8
-:1046600080790428D9D00528D7D0606881790029BD
-:1046700002D08078002805D0F148F0496C3010F065
-:10468000A8FCC0E66078B8212843607030680958FB
-:10469000897A8907890F012952D1817C09064FD473
-:1046A000017E490701D5042100E00321C030817259
-:1046B0002B206946087009A9684609F079F9002895
-:1046C00004D0DF48DD49213010F083FC69463068B2
-:1046D000098D81820E2210A90A74DA49B822159137
-:1046E000125808324A61024660324A6092790A7072
-:1046F000024614320A61521D8A601032CA60133AAF
-:104700008A619632CA61921C0A62473A4A62103242
-:104710008A621032CA62473ACA63521E0A64921F02
-:1047200050304A64886414A80CF038FB022815D075
-:10473000002813D0C248C1494A3010F04AFC0DE0AD
-:10474000817C4906017E490701D5042100E003214F
-:10475000C0308172002106200DF0ECFA3068418AE9
-:104760000A0602D440229143418289B280229143B9
-:10477000418248E6B4480068C0308079032804D0FC
-:10478000AF48AE49783010F024FC002108460DF007
-:10479000D1FA002107200DF0CDFA6078AA4A28430B
-:1047A0006070106810250146C0314B7A2B434B7264
-:1047B00063689D783C2D00D122E602469D88A03298
-:1047C000977763688030DB890B8063681B8A4B8036
-:1047D00063685B8A8B8095836168826BC979117588
-:1047E0006168806B08311530062210F055FA0620FA
-:1047F000FFF75CFB9448CA210068FB220E54017E3F
-:10480000114001764682284602F08CFC002804D034
-:104810008B488A49923010F0DCFB284601F09CFE60
-:10482000002804D086488549953010F0D2FB2846F0
-:1048300003F0E8FA00289CD08148804997301EE7B1
-:10484000607828436070DEE500290BD088807E48C0
-:104850000068C0300288CA8002880A8142884A8182
-:10486000808888817047F7B5064600780C46002797
-:10487000010982B03D46012974D073480068009058
-:10488000C03002296FD0072904D00A296CD06B49A7
-:104890006E48E3E171680A78521F130010F08AFC39
-:1048A0000F09A551A5A52F585847A5A5A5A5656F22
-:1048B000A5008A783C2A1BD010271625002C7DD015
-:1048C0008888A0807068A21DC08920827068C08915
-:1048D000E0817068008A60827068408AA082716896
-:1048E00008460831C07901F09FFB0020607375E035
-:1048F00019270725002CE2D00021A17171E01127B2
-:104900000725002CDBD089880091A1807168F722EF
-:104910008979A171417A11404172009802F008FC36
-:10492000009801F023FE009803F0B0FAC1E10127DE
-:104930000925002CC3D08888A080706880792072F7
-:10494000B7E1888812270E252146FFF77DFFB0E1E9
-:1049500018270825002CB2D08888A080A01DFFF75A
-:1049600040FBA6E145E0A1E15DE01A270725002C08
-:10497000A5D04888A08070680079A07199E18A78F4
-:104980003C2AB5D010271625002C98D08888A08006
-:104990007068C08920827068C089E0817068008A70
-:1049A00060827068408AA0827168607B497D40089F
-:1049B0004000C907C90F0843607300E036E1716821
-:1049C000C007497DC00F49084900084360737168FA
-:1049D000A21D08460831C07901F026FB1A4800687C
-:1049E000C030417AEF22114046E1532013490001C3
-:1049F00034E1307A012803D014481049C5382DE13C
-:104A000012270E2570892146FFF71EFF002C91D03A
-:104A100070784007400F032888D10B480068C030E9
-:104A2000417AFB22DFE708490968A031002C01D058
-:104A30008A8BA280327A921E0AE000001C4200009B
-:104A4000ED030000AC120020540000200C06000012
-:104A5000130010F0AFFB073D4853EDEE6F05ED007E
-:104A600013270C25002C90D0009900224A82F1686F
-:104A700089788907890F0129217A26D049084900B8
-:104A80002172FD231940F3689B785B07DB0F5B0005
-:104A900019432172E323E2801940F3681B785B0716
-:104AA000DB0E19432172DF231940F3685B78DB07C3
-:104AB0009B0E194321726272F1680122C978A172BA
-:104AC000017A1143F7221140ADE001231943D7E7E2
-:104AD00015270C25002C9AD0F06806220068A11D2D
-:104AE0000EF07CFFE5E016270725002C8FD0317BE8
-:104AF000A171017A08221BE00172DAE01427122565
-:104B0000002C84D00098A21D8030806B01461531A6
-:104B1000007D01F089FAB089E081207C0121084301
-:104B2000F92108402074FE480068C030017A022252
-:104B30001143E1E717273825002C77D03221A01D3B
-:104B400010F007F90020A071207A03210843207299
-:104B5000FB210840F24909680A7E5207D20F9200F1
-:104B600010432072B8204058807A800757D0A07A2E
-:104B70008A7C4008D2074000D20F1043FD2210402B
-:104B8000A0728B7CFB229B07DB0F10409B0018431D
-:104B9000A0728B7CF7269B07DB0F3040DB001843AD
-:104BA000EF231840A072E07A10408A7CD206D20F20
-:104BB00092001043E0728A7C3040D206D20FD200BD
-:104BC0001043E072888AA0812046102267310E309F
-:104BD00010F062F8D249A07F0968C0078A7DC00F33
-:104BE00052001043A0770A7E400852074000D20FBF
-:104BF0001043A077084640304DC820344DC4303CA7
-:104C00003F20405C22463032393101F00DFAC44871
-:104C100000688030806B817A890889008172C04881
-:104C20000068C030017AFB22114065E737E000E000
-:104C300038E0327B022A14D017273825002C2ED0DA
-:104C4000017AFB2319400172012A17D0032A17D0D9
-:104C5000042A18D0052A16D0B249B34810F0B9F981
-:104C600027E019270725002C19D0898BA180012165
-:104C7000A171417A4908490041721AE0012000E01F
-:104C80000220A07106E0707B0007000F8030A07149
-:104C9000052A02D00020E0710BE00120FBE7049818
-:104CA00005800CE0A0489F490A30D7E7317A0029F7
-:104CB00008D00498002C058001D027806580002052
-:104CC00005B0F0BD19270725002CE8D00021C94305
-:104CD000A1800021A171417AFD2284E610B5904C9B
-:104CE00094B02068C0308079022809D0032807D00A
-:104CF000052805D0092803D00A2801D00B2837D170
-:104D00001B2108A801730021817369460BA808F0D4
-:104D10004FFE002804D1684640781B2802D00320AB
-:104D200014B010BD002108460DF004F80021072042
-:104D30000DF000F868468078002819D12068C0304E
-:104D40008079801E030010F035FA0A060613081356
-:104D500013130D0F1113012000E00420FFF7A6F834
-:104D60000020DDE70620F9E70720F7E70820F5E750
-:104D70000820D5E770B50025694C002807D0022827
-:104D800017D0072828D033206649400146E0FFF7B6
-:104D9000A5FF00280CD1FEF7D6FA2221017005727A
-:104DA000FEF7EDFA2068C030417A022211434172C9
-:104DB00070BDFEF7C8FA122101700121017221684D
-:104DC000BC22525A4281C031CD71FEF7D8FA206818
-:104DD000C030417A0422E9E72168C620405C0228FD
-:104DE00009D0032807D0092805D00A2803D00B28AA
-:104DF00001D00528DCD1887B8109012911D08009E7
-:104E000004D0494847496E3010F0E3F80020FFF71E
-:104E100044FA0028CCD044484249723010F0D9F806
-:104E200070BD0020FFF708FAF3E770B50D460400E7
-:104E300004D1CD203B49C00010F0CBF820780128E8
-:104E400005D0394837499D3010F0C3F870BDA188AE
-:104E50003648334E814209D1E288824206D1306819
-:104E60001321A030808BFFF7ABF970BD814202D1D6
-:104E7000E08800280AD012202870687808210843AA
-:104E8000687007CC083507C5002106E000227823AA
-:104E9000114602200CF0A9FE02213068C030C17119
-:104EA00070BD1F480068C030807A704738B51C4C10
-:104EB00005460278206813000146C03110F07AF9E7
-:104EC00009A8060909A21945728AA800FEF7AEFFD3
-:104ED00038BD8879062806D0092804D0124811491F
-:104EE000B53010F076F820680422017E1143017677
-:104EF00088E0A9880029EBD0A030808B0B4988423C
-:104F0000E6D0A868002804D107480649C53010F04B
-:104F100060F8A8680A38A8600090AB88206807E0AD
-:104F2000540000201C420000E9050000FFFF0000C3
-:104F3000A030808B0622042102F028F80028C7D078
-:104F4000F849F94810F045F838BD287902288879E1
-:104F50000DD00428F8D00528F6D0284601F075F8C1
-:104F600020681321A030808BFFF72AF938BD07286D
-:104F700006D00A2804D0EC48EA490A3010F029F893
-:104F8000284601F062F820680122C030417A1143BE
-:104F900041728079072803D00920FEF787FF38BDCA
-:104FA0000620FAE7887906280AD0042808D00928BC
-:104FB00006D0052804D0DC48DA49313010F009F871
-:104FC0000ECDDA480361C2608160A2210170FEF754
-:104FD000EBF938BD8879062818D0072816D009289B
-:104FE0000DD00A280BD0D048CE4944300FF0F1FF45
-:104FF0002068C0308079062808D0072806D00B200A
-:10500000FEF754FF284601F020F838BD0820F7E7E6
-:10501000C548C449583095E7FFB593B001246846A8
-:1050200003218470C9021D4601800AF0A6F90022FE
-:105030006946012003F0ABF906460AF0A2F9002EFA
-:105040005CD16846152184704902018000271C212B
-:1050500001A808970FF07FFE01200146103108A833
-:1050600001700020014608A841708178F9200140B4
-:10507000891C214308A881706846017902263143C2
-:10508000017114998185C7851F21018608A80A909E
-:1050900013980D90684609900AF06FF90EAA09A9B5
-:1050A00001A802F036FF07460AF06BF9002F02D084
-:1050B000384617B0F0BD9E4F68463968008F48806B
-:1050C000684684709B49018008A88078F9210840CF
-:1050D000801C4108490008A88170684686850686BC
-:1050E00015A80D900AF049F90EAA09A901A802F025
-:1050F00010FF06460AF045F9002E01D03046D8E7E9
-:1051000068463968008F88808A4968468470C91C5F
-:105110000180298810A8018069884180A988818040
-:10512000E988C180082168468185018610A80D9014
-:105130000AF023F90EAA09A901A802F0EAFE044622
-:105140000AF01FF9002C01D02046B2E76846396802
-:10515000008FC8800020ACE7F0B5774D95B00C46C5
-:10516000A9423FD30126B604744FA11BB94239D3DB
-:1051700073498C4236D2202806D0212827D02228F5
-:1051800042D0072015B0F0BD3C216846017021884F
-:1051900041806188818009A908F00AFC0028F1D1CA
-:1051A00008A98979002903D002290ED00320E9E754
-:1051B0006168A942E6D38A1BBA42E3D3604A9142AE
-:1051C000E0D26A46128D0A80DCE75E48DAE72068A2
-:1051D000574C002813D00721490701224118920398
-:1051E000914201D31020CDE706210EF0E1FB2168AA
-:1051F000A82250500120A03188750020C2E7206805
-:105200000021A0308175F8E7204600F02AFFB9E7B9
-:10521000494A10B5914208D301229204474B8A1A99
-:105220009A4202D3464A914201D3102010BD202851
-:1052300005D0212803D0222803D0072010BD062046
-:1052400010BD084600F051FF10BD70B50446374848
-:10525000CC21AC300FF07FFD3448354EAC3000210E
-:105260003060C943A0308183002585770120FEF797
-:105270001DFE3068C7210D54E121C57389000182EC
-:10528000B6210D54014609310830FDF779FF316828
-:10529000084629311930FDF7A9FF002C24D03068C9
-:1052A00080308463FEF7C2FD1E20E081607A8F218A
-:1052B0000840303060723068014614312161983105
-:1052C0006162933921601031616025721339A162E6
-:1052D000091FE1628531E163303921631031616377
-:1052E00010310930A163A06470BD11480068C0305E
-:1052F0008079042803D0052801D0002070470120C0
-:10530000704770B506460C480C46814208D3012010
-:1053100080040A49201A884202D30948844213D3E0
-:10532000102070BD1C420000B30600004C1200208B
-:1053300054000020012A0000006001000000FC1F52
-:105340000040002002300000FFF7CFFF002801D00E
-:105350001120E6E7FD48FE4D002E02D0012E46D179
-:105360002FE02278002A0AD00121012A09D0022A3E
-:1053700014D0032AD5D1A2799209D2D112E000210A
-:1053800003E0A2799209032ACBD128680622017290
-:1053900060308171611C0FF07FFC05E0A2799209F9
-:1053A000012ABED128680172002107200CF0C2FC3E
-:1053B00028680622611C09300FF06EFCFEF736FDEE
-:1053C00011E02178002912D0012910D0022910D033
-:1053D0000329A6D10120FEF760FF002803D0DD4994
-:1053E000DD480FF0F6FD2868C673002099E7072016
-:1053F00097E70120FEF720FFEFE707214907012289
-:1054000010B541189203914201D3102010BDD0492C
-:10541000024609680B7A0931184600F005FE0020A3
-:1054200010BDFFB599B005460020694608710872A5
-:1054300008A9087408751E4614460121C748890446
-:10544000C74AC84B002D06D085420DD36F1A97422C
-:105450000AD39D4208D2002C09D0844204D3601A9A
-:10546000904201D39C4202D310201DB0F0BD2846CB
-:10547000204318D01F270CAB01AA009728461A9981
-:10548000FEF701FE0028F0D10DAB02AA31462046FE
-:105490000097FEF7F8FD0028E7D16846007AC107BB
-:1054A00003D00A20E1E70720DFE7800705D568463B
-:1054B0000079800701D50B20D7E7FFF716FF0028FA
-:1054C00001D01120D1E703AF002D0FD01A2069467B
-:1054D00008731A9888732946F81C1A9A0FF0DCFB97
-:1054E0000EA903A808F064FA0028BED1002C0ED043
-:1054F000202168460173867332462146F81C0FF05E
-:10550000CBFB0EA903A808F053FA0028ADD19049AF
-:1055100008A80968007C08700020A6E7F0B50446DA
-:105520008E48002795B084426FD301208004211A51
-:105530008B488142F8D38B48844266D22378012B72
-:105540000BD1864960688842EED39904421A844997
-:105550008A42E9D383498842EFD27D490A681546D9
-:10556000C035A879022814D0032812D0052810D0FD
-:1055700009280ED00A280CD00B280AD0012803D005
-:10558000002B06D0012B04D0687AC506AD0F06D1DA
-:1055900001E00820F6E5850701D4400701D5112078
-:1055A000F0E5012B15D0208A6F4E0546203DB5420F
-:1055B0007ED2022B01D0032B01D1A02878D3012B5E
-:1055C00007D01078C00704D0608A002870D0B428B3
-:1055D0006ED8002B06D0012B08D0022B04D0032B51
-:1055E00066D110E0002512E0022510E06068012578
-:1055F000007800280BD0012808D0022806D0032804
-:1056000004D05248BEE5032501E066E00127D07BC7
-:1056100001281CD1108A002819D0907B810901290A
-:1056200011D0800904D04C484A49E4300FF0D1FC35
-:105630000120FEF732FE00280BD047484549E830EC
-:105640000FF0C7FC05E00120FEF7F6FDF3E7FEF7DB
-:10565000EDFB207A002806D0012806D0022806D0CB
-:10566000032825D105E0002604E0012602E00226F9
-:1056700000E00326002D01D0022D42D1002E40D0A3
-:10568000E068002814D00179002928D008290FD813
-:10569000027B9446082A0BD800290ED02F4A0168B5
-:1056A00091421AD3012292048B1A2D4A934200E0B0
-:1056B00084E012D32B4A91420FD26146002912D0C6
-:1056C00080682649884208D301218904421A244966
-:1056D0008A4202D32349884205D3102052E5027B37
-:1056E000002A6BD0D4E71A4800680078800702D0FF
-:1056F0001648401E46E5022D03D1022E5ED0032E31
-:105700005CD0182168460170218A4180218A8180FD
-:1057100085710F480068007A002801D0012870D1F7
-:105720006946C8716846077221780930012932D06C
-:1057300006210FF00EFB07216846C173067409A904
-:1057400008F036F90028C9D10A210FE00232000022
-:10575000540000201C4200005F08000000600100AF
-:105760000000FC1F00400020E13F0000684601707F
-:1057700009A908F01DF90028B0D13A20694608703F
-:1057800009A9684608F014F90028A7D1002D08D00F
-:10579000022D06D04CE061680622491C0FF07CFA0D
-:1057A000C9E7002E44D00026374623E00168B00048
-:1057B00009580978002903D0012904D00720E1E421
-:1057C00069468F7002E001216A469170E168062205
-:1057D0000968095800A8491C03300FF05DFA0B2036
-:1057E0006946087009A9684608F0E2F80028E6D181
-:1057F000761CF6B2E0680179B142D7D800266F4630
-:1058000012E050E08068B10041581022B81C0FF03F
-:1058100043FA3B206946087009A9684608F0C8F8B1
-:105820000028CCD1761CF6B2E068017BB142E9D801
-:105830001B20694608700120887009A9684608F095
-:10584000B7F80028BBD108A840791B282BD1002D20
-:105850000AD0012D04D0022D08D0032D18D105E067
-:105860000320FEF723FB26E003200FE0FE4800683C
-:10587000C030807903000FF09DFC0916061616183B
-:1058800016081A1C1600022000E00920FEF70EFB85
-:10589000608A00280FD000228300114610460CF0C9
-:1058A000A4F9002807D003206CE40520EEE70A20C5
-:1058B000ECE70B20EAE7002064E470B586B00C004A
-:1058C00006460BD0E94884424AD301208004E849C7
-:1058D000201A884244D3E748844241D2E24D2868E6
-:1058E000C030C179022902D0407A400702D5112088
-:1058F00006B016E5002C04D02046FEF798FB0028E1
-:10590000F6D13046FEF75EFB012803D0022823D0F3
-:10591000D948EDE721001BD1082069468882286814
-:1059200001ABC08805AA002103F019F90028DFD1D6
-:105930006846808A082801D00320D9E76846818814
-:105940008181C188C181018901824189418203A984
-:10595000304601F074FCCBE7002C01D00620C7E7ED
-:105960001020C5E770B50C460546FEF72BFB012855
-:1059700003D0022801D0C048D3E421462846FEF7D0
-:105980001FFCCEE400B50146143095B0192801D2B1
-:10599000880707D008461E3004D00A3002D00720FE
-:1059A00015B000BDFFF7A1FC002801D01120F7E7DA
-:1059B000AD4831220068417068460270817009A9C3
-:1059C00007F0F6FFECE701B582B0022069460880D7
-:1059D000A54802AB00686A468088002102F02AFFD1
-:1059E00069460988022900D003200EBD38B502217E
-:1059F0006A4611800721490701224118920391420A
-:105A000001D3102038BD9849034609686A468C883E
-:105A10000021204603F0A3F8694609880229F1D045
-:105A2000032038BD3EB504460820694608808F48EB
-:105A3000844208D3012080048D49201A884202D371
-:105A40008C48844201D310203EBD2046FEF7EFFA79
-:105A50000028F9D12088694688806088C880A0889D
-:105A60000881E0884881804801AB00686A46C088A8
-:105A7000002102F0DFFE694609880829E4D00320EE
-:105A80003EBD1FB504460820694688817748844298
-:105A900008D3012080047649201A884202D3754831
-:105AA000844202D3102004B010BD6F486B460068DA
-:105AB00003AAC088002103F052F80028F3D16946F8
-:105AC0008989082901D00320EDE7694609882180EA
-:105AD00069464988618069468988A1806946C98884
-:105AE000E180E0E7FEB50546604817460E46814274
-:105AF00008D3012189045E4A731A934202D35D4B95
-:105B00009E4201D31020FEBD1F2F01D90C20FEBDE7
-:105B1000554C85422AD3681A904227D39D4225D2FC
-:105B2000206801A9408802F037FE0028EFD12878CC
-:105B300069464871206801A9408802F010FE0028DB
-:105B4000E5D169460090087802210843694608704B
-:105B50004979090703D0082108436946087020687D
-:105B60006946408802F0A5FD0028D0D169460F8122
-:105B700020683346408802AA002102F05BFE694695
-:105B80000989B942C3D00320FEBD38B50C460721B0
-:105B9000012249079203002802D04318934202D2FF
-:105BA0006118914201D3102038BD21886A461180C6
-:105BB000002801D000290BD02B49034609684D88E5
-:105BC0000021284602F0CBFF69460988218038BDB4
-:105BD0000C2038BD30B50C46244987B08C4208D320
-:105BE00001218904224A611A914202D321498C423F
-:105BF00002D3102007B030BD1B4D2968C0310A7A8E
-:105C0000520708D48979491F0B000FF0D3FA050415
-:105C10000604040604000820ECE7FEF7D3F9012887
-:105C200003D0022839D01448E4E720881E2801D286
-:105C30000720DFE72868C030807906282BD00A20AB
-:105C4000FEF734F90520694608700879A1788008C4
-:105C5000C9078000C90F084369460871FB21084045
-:105C6000A1788907C90F09E05400002000600100F5
-:105C70000000FC1F004000200230000089000843A3
-:105C8000694608712088C880684609F09EFE002891
-:105C9000B0D00320AEE70720D2E70620AAE7F0B590
-:105CA00087B014460D46FEF78DF9012804D002286E
-:105CB00002D0FE4807B0F0BDFD4B18680146C03168
-:105CC0000A7AD20707D08A79042A04D0052A02D09A
-:105CD000002D02D052E00820ECE7F64A944208D3A7
-:105CE00001229204F44BA21A9A4202D3F34A94423C
-:105CF00001D31020DEE7A278D206520F042A0CD876
-:105D0000E378072B09D3102B07D822799A4204D3C2
-:105D1000102A02D822881E2A01D00720CAE702468C
-:105D20008032966BF727F372966B23793373966BF9
-:105D3000737A3B40A778BF06FF0FFF003B437372A7
-:105D4000966B2388F381966BA778B37AFF079B083D
-:105D50009B00FF0F3B43B372FB273B40A778966B3A
-:105D6000BF07FF0FBF003B43B372926BA478537A17
-:105D7000E406DB08DB00640F234353720B226B46FF
-:105D80001A70852D22D008DC002D17D0812D17D058
-:105D9000822D17D0832D08D116E0862D18D0882D9E
-:105DA00018D0892D18D08A2D18D00B221A71B6223E
-:105DB000125CBF4C002A13D0A83012E00022F5E795
-:105DC0000122F3E70222F1E70322EFE70522EDE7E4
-:105DD0000622EBE70822E9E70922E7E70A22E5E7DE
-:105DE00000200290887907280BD0082809D00920C4
-:105DF000FEF75CF8684609F0E8FD002803D00320B0
-:105E000058E70620F4E720680422C030017A4908E8
-:105E100049001143017200204CE770B5A44E0D46B5
-:105E2000316886B0C031097A1446090701D40820C8
-:105E30005EE5FEF7C7F8012803D0022801D09B4891
-:105E400056E5002D12D09B48844208D301208004DF
-:105E50009949201A884202D39848844201D31020DD
-:105E600046E5012D0BD0022D02D106E0002C01D019
-:105E700007203DE50020029005E0022000E001201F
-:105E8000694608710294032069460870684609F063
-:105E90009CFD002801D003202AE53068F722C0309D
-:105EA000017A11400172002022E570B594B01446C9
-:105EB0000E46FEF787F8012804D0022802D07B485E
-:105EC00014B059E57A4D2868C030007A800701D4B3
-:105ED0000820F5E7002C01D00720F1E7FFF705FACD
-:105EE000002801D01120EBE7002E1DD02D2168469F
-:105EF00001702C68BC20015B684641801022B11CF7
-:105F000001A80EF0C9FE207EFB210840B17CC90724
-:105F1000490F08432076B07CFF214008A075608AB5
-:105F200082310843608207E02E21684601702868AC
-:105F3000A030818B6846418009A9684607F038FD8A
-:105F40002968FD23C0310A7A1A400A72B8E710B5F1
-:105F50000C46FEF737F8012803D0022801D0534839
-:105F600010BD5448844208D3012080045249201AAD
-:105F7000884202D35148844201D3102010BD2046EC
-:105F8000FEF72FF8002010BD10B594B00446FEF7C0
-:105F900019F8012804D0022802D0444814B010BDDA
-:105FA00043480068C0308179042910D005290ED0FB
-:105FB0003820694608704C8001200871487109A991
-:105FC000684607F0F5FC0028E8D00B20E6E7002043
-:105FD000E4E710B594B00446FDF7F4FF012803D0C0
-:105FE000022801D03148D9E731480068C0308179B2
-:105FF00004290DD005290BD03820694608704C8043
-:1060000000200871487109A9684607F0D1FCC5E76E
-:106010000020C3E726480068C0308079062801D3F5
-:10602000012070470020704708B51346002806D0AD
-:1060300023A00068009048796A468009105C1870B7
-:106040000622581C0EF028FE08BD10B50446FDF7C8
-:106050007AF9A22101700ECC08300EC0FDF78FF93D
-:1060600010BD70B5124C054601682068002913D098
-:10607000104A914208D3012292040F4B8A1A9A4285
-:1060800002D30E4A914201D3102075E410227730DA
-:106090000EF002FE206801218030806B01722068C2
-:1060A000A9880182C17B012919D10BE002300000CF
-:1060B00054000020006001000000FC1F0040002090
-:1060C0000302FF01807B800901280AD00120FEF72E
-:1060D000E4F8002803D01A491A480EF07AFF00208D
-:1060E0004AE40120FEF7A8F8F3E770B5054600681A
-:1060F000154C00281ED007214907401801218903AB
-:10610000884201D3102037E42068B8210958097A61
-:10611000012909D00146773129300AF08EFF206825
-:1061200001218030806B017221681022286877314C
-:106130000EF0B2FD2068008AA88000201CE4000058
-:106140001C420000FD02000054000020FFB581B099
-:1061500001980E46C078174610360E37022809D02F
-:10616000032840D005287DD0F2A1F7480EF031FF7A
-:1061700005B0F0BDCC890A2060430E301880312371
-:106180000A98002A0380F3D0486800889080002095
-:10619000D0801081097B9481891FCDB21AE03088AC
-:1061A0007168388048780A7800021043F880C8780F
-:1061B0008A78000210433881BA1C091D28460BF06A
-:1061C0008AF8002D01D0002802D000203871788094
-:1061D00008360A372046641EA4B20028DFD1019990
-:1061E0000020C870C4E7CC890A2060430E301880B4
-:1061F00032230A98002A0380BAD048680025008814
-:106200009080D5801581087B401FC0B2009094819A
-:1062100042E0716832880878FA803A79C3075208F8
-:106220005200DB0F1A43FD231A408307DB0F5B008C
-:106230001A43FB231A404307DB0F9B001A43F72343
-:106240001A400307DB0FDB001A43EF231A40C30693
-:10625000DB0F1B011A43DF231A408306DB0F5B01B0
-:106260001A4300E020E0BF231A404306DB0F9B01E6
-:106270001A433A71C00978718A784B781002184332
-:1062800038813A46C91C00980BF025F8002801D047
-:10629000BD703D8008360A372046641EA4B200282F
-:1062A000B7D10198C57063E7087BCC89801E85B2A1
-:1062B0002846083060431030188034230A98002A9A
-:1062C00003808FD048681746008890800020D080D7
-:1062D000108194811037E000D581C0190CE030881E
-:1062E0003880009878602A46716800980EF0D4FCD7
-:1062F000009808360837401900902046641EA4B262
-:106300000028ECD16BE7FFB50546C07881B00C469C
-:106310000A9E03000EF04EFF0BA3071733414F6D8B
-:106320008F9D9D9DA300207B1746082806D003283B
-:1063300004D085487FA154300EF04BFE04990E2006
-:10634000088030200CE0207B1746042804D07E48CB
-:1063500078A171300EF03DFE04990E2008803120A6
-:106360003080002F44D060680088B880607AFF30A9
-:106370000130F880E08938810020B88137E0207B47
-:106380001746042804D070486AA18D300EF021FE13
-:1063900004990E2008803220E2E7207B174602286D
-:1063A00004D0694863A1A9300EF013FE04990E20B1
-:1063B00008803320D4E7207B1746042804D06248A5
-:1063C0005CA1C4300EF005FE049810210180342039
-:1063D0003080002F0CD060680088B880607AFF3071
-:1063E0000130F880E08938810020B881F881E870B8
-:1063F000BEE6207B1746052806D0062804D0524862
-:106400004CA1E1300EF0E5FD049812210180352009
-:106410003080002FECD060680088B880607AFF3050
-:106420000130F880E0893881E089B8810020388225
-:10643000A988F981DBE7207B1746072804D042486A
-:106440003CA1F8300EF0C5FD04990E2008803620DE
-:1064500086E700962846049B00F02DFD88E635A1CE
-:106460003A480EF0B6FD83E670B5054600780C4656
-:10647000082603000EF09EFE124C3434241C380A09
-:106480000A0A0A0A0A0A0A0A0A0A0A4C687800284A
-:1064900004D02E4827A12C300EF09BFD002C03D1F8
-:1064A0001F2024A1400108E060783043607020E0A4
-:1064B000002CF9D17D201FA1C0000EF08AFDF3E76A
-:1064C000002904D03F201BA100010EF082FDFCF743
-:1064D0003AFF0446407830436070FCF750FF08E014
-:1064E0001A4814A1473002E0184812A14C300EF0AF
-:1064F00070FD002C0AD06078000707D5932020702B
-:106500002046582229460830FAF75EFE002070BD6A
-:106510000E4808A15030EAE710B500200C4C0D4998
-:106520000346C2008C525218401C0006D370000E65
-:10653000F7D010BD7372635C67617474635F636FDF
-:1065400072652E63000000005A020000B3030000D1
-:10655000FFFF000058000020FE49088001208870DD
-:1065600000207047FB4900208870704710B500215B
-:10657000F848C94301800021C17007F053FAD8E7F9
-:10658000F7B584B0054600276846078187806868AC
-:106590000C46008800F0ECFB0646287A032805D05C
-:1065A000002E03D1EC49ED480EF013FD297A204668
-:1065B000C91E123000900B000EF0FCFD0FF2F1F03E
-:1065C0003D09AA465C6D34B3CDF38B8BF000F078B7
-:1065D000012803D0E049AD200EF0FBFCA8896946F4
-:1065E000C0000E30888030200881002C22D06868DE
-:1065F0000188A180E7802781A989A18100200DE081
-:10660000C100B27909190A74B288CA81820052198C
-:10661000D3894B82128A401C8A8280B2A18981422E
-:10662000EED8D7E002A8009001AB224629463046BA
-:1066300000F0CCFBF1E002A8009001AB2246294615
-:10664000304600F005FCE8E0F07806281AD0FF207C
-:10665000C149223014E068680188A180E780278161
-:10666000A989A181B188E181E9892182EA89296921
-:1066700000982BE0F078062804D0FF20B6493C3083
-:106680000EF0A7FCE8896946123088803520088121
-:10669000002CE0D1C1E0F078072804D0FF20AE49FB
-:1066A00056300EF096FCA88969460E308880362058
-:1066B0000881002CBED068680188A180E78027810E
-:1066C000A989A1812046AA890E3029690EF0E4FA31
-:1066D00080E0E8896946123080B2382288800A81D9
-:1066E000002C79D068680188A180E7802781A9897A
-:1066F000A181287A102809D00221A173E989218279
-:10670000EA89296900980EF0C7FA86E00121F4E7CA
-:1067100002A8009001AB224629463046FFF716FD3D
-:106720007BE0F078082803D08B498D480EF051FCAF
-:1067300014206946888037200881002C6DD0686855
-:106740000188A180E7802781A989A18167822782AA
-:106750000120A0733EE0F078092804D080487E49EB
-:1067600018300EF036FC288A6946143088803720AD
-:106770000881002C51D068680188A180E78004213D
-:106780002781A173A989A181E9892182298A61824E
-:1067900020462A8A1430696998E702E038E01CE054
-:1067A00024E0F0780A2804D06D486B4933300EF0AD
-:1067B00010FC14206946888037200881002C2CD0DA
-:1067C00068680188A180E78027810521A173A781DE
-:1067D00027826782F77020E017E002A8009001ABE3
-:1067E000224629463046FFF78EFD16E00D20694609
-:1067F000392288800A81002C07D00120E08055488A
-:106800000188A1802781277307E00699088010E09E
-:106810008F205149C0000EF0DCFB68460699808845
-:106820000880002C05D06846008920806846808852
-:106830006080002007B0F0BDF7B594B015460F4654
-:10684000149800F0A0FA04000AD0032000F088FB9E
-:10685000022802D2E078002804D0112017B0F0BD41
-:106860004048FBE71720694601260883002D0FD01A
-:106870000321684601711021018210A8024605908B
-:1068800004A928460AF04DFD00280DD00720E5E7B1
-:1068900008216846017100210781C9434181052112
-:1068A0008673C90281810CE0A878A0712888A08035
-:1068B000684605218673C902818100210781C94389
-:1068C000418109AA023206A901A807F0E4F80028CC
-:1068D00002D000F06BFAC1E707A800906846038B6E
-:1068E00004220321149800F051FB0028B6D1E67071
-:1068F000B4E770B592B00D0006460ED000F043FA32
-:1069000004000CD0032000F02BFB022802D2E07818
-:10691000002806D0112012B070BD1020FBE71148EE
-:10692000F9E7172168468180042101722988818155
-:106930006988C181012181740B4901820AAA02324E
-:1069400001A902A807F0A7F800280FD000F02EFA3E
-:10695000E1E7000058000020346500003C0400001E
-:1069600063020000023000000228000008A8009026
-:106970006846838804220321304600F007FB002884
-:10698000C9D10221E170C6E770B592B00D0006468C
-:106990000DD000F0F8F904000BD0032000F0E0FA6D
-:1069A000022802D2E078002805D01120B3E7102099
-:1069B000B1E7FA48AFE717216846818004210172E8
-:1069C000298881816988C18101218174F44901820A
-:1069D0000AAA023201A902A807F05DF8002802D035
-:1069E00000F0E4F997E708A800906846838804223D
-:1069F0000321304600F0CAFA00288CD10321E1704F
-:106A000089E770B592B00D0006460DD000F0BBF9D5
-:106A100004000BD0032000F0A3FA022802D2E07891
-:106A2000002805D0112076E7102074E7DB4872E7D4
-:106A3000022168460172298881816988C1811721F4
-:106A400081800AAA023201A902A807F024F80028CE
-:106A500002D000F0ABF95EE708A800906846838892
-:106A600004220321304600F091FA0028DBD10421F2
-:106A7000E17050E7F0B591B015000E4607460ED014
-:106A800000F081F904000CD0032000F069FA02281C
-:106A900002D2E078002806D0112011B0F0BD1020FD
-:106AA000FBE7BE48F9E7172168468180042101729F
-:106AB000298881816988C181B17881743188018296
-:106AC0000AAA023201A902A806F0E5FF002802D0B6
-:106AD00000F06CF9E1E708A800906846838804227A
-:106AE0000321384600F052FA0028D6D10521E17082
-:106AF000D3E7F7B592B015460E46129800F043F969
-:106B000004000AD0032000F02BFA022802D2E07819
-:106B1000002804D0112015B0F0BDA048FBE70627DF
-:106B2000002D12D0684607728681C581A580172086
-:106B3000694688800AAA023201A902A806F0ABFFC2
-:106B4000002807D000F032F9E5E705216846017218
-:106B50008681EBE708A80090684683880422032119
-:106B6000129800F013FA0028D5D1E770D3E7F7B5F3
-:106B700092B016460D000ED0129800F004F90400F1
-:106B80000BD0032000F0ECF9022802D2E0780028B4
-:106B900005D01120BFE71020BDE78048BBE70727DD
-:106BA0006846077286811721049581800AAA0232FD
-:106BB00001A902A806F06FFF002802D000F0F6F845
-:106BC000A9E708A800906846838804220321129848
-:106BD00000F0DCF900289ED1E7709CE7F3B51720A0
-:106BE00091B00C46002915D021780B000EF0E2FA86
-:106BF000062B05051A041C2B1520C01EE28880B246
-:106C0000002A02D0A368002B04D0824204D90C20B1
-:106C100013B0F0BD1020FBE7042905D0A0880028A0
-:106C200011D101E00620F3E7119800F0ACF805005F
-:106C30000BD02078092701281AD0022807D0042871
-:106C400024D0052835D00720E2E75448E0E768461D
-:106C5000077161880181E1884181A068082603905D
-:106C6000304600F07DF9072829D34C48801CCFE737
-:106C70000C216846017161880181E1884181A06829
-:106C800003900EE0E878002811D118E00D21684645
-:106C9000017161880181A1884181E1888181A068B9
-:106CA00004900326304600F05BF90228EAD3112055
-:106CB000AEE70E2168460171217B0172F1E71721D1
-:106CC0006846018309AA023206A901A806F0E3FE7C
-:106CD000002802D000F06AF89AE707A800906846FA
-:106CE000038B04223146119800F050F900288FD10F
-:106CF0002178012907D002298AD0042905D0052945
-:106D000005D0032084E7082102E0EF7080E70A2124
-:106D1000E9707DE730B591B00C46054600F033F8D8
-:106D2000002808D0032000F01BF9022805D31B48D7
-:106D3000801C11B030BD1948FBE70F216846017176
-:106D400004811721018309AA023206A901A806F0CD
-:106D5000A2FE002802D000F029F8EAE707A8009078
-:106D60006846038B04220321284600F00FF9E0E770
-:106D70000C49884205D00C490988814201D10A4852
-:106D800070470020704710B5FFF7F2FF002802D0CF
-:106D90008178C90700D1002010BD0000023000003A
-:106DA00003280000FFFF000058000020002806D044
-:106DB000012805D0052805D0062805D003207047F6
-:106DC00011207047082070475C487047FFB583B0BA
-:106DD00003980C9EC0781D4614460F46012803D028
-:106DE0005749D2200EF0F5F8F889C0000E302880FF
-:106DF00030203080387B001FC0B20190002C26D09C
-:106E000078680088A0800020E0802081F889A08137
-:106E1000002616E0F0000519C01900902A464169C5
-:106E20000E3201980AF057FA002802D00020287488
-:106E3000E8810098761C008A68820098B6B2408A81
-:106E4000A882A089B042E5D803990020C870F1E477
-:106E5000F8B50646C0781F4614460D46042804D0EF
-:106E6000FF20374903300EF0B4F8A88906214843C3
-:106E70000E30388033210698002C01801AD06868C3
-:106E80000088A0800020E0802081A989A18103469C
-:106E90000CE01946062251434A190919D789CF81B6
-:106EA000977C8F74128A5B1C0A829BB2A1899942DB
-:106EB000EFD8F070F8BD70B514460546142204985A
-:106EC0001A8037220280002C18D0486800260088DB
-:106ED000A080487AFF300130E080C8892081C889CD
-:106EE000A0816682E878082809D0092811D00A28EC
-:106EF00019D0134913480EF06CF8EE7070BD087B82
-:106F00000C2804D00F480E490C380EF062F801200E
-:106F100012E0087B0D2804D00A48094908380EF011
-:106F200058F8042008E0087B0E2804D005480449DE
-:106F3000001F0EF04EF80520A073DEE703300000BE
-:106F4000346500008203000001460020FA4A02E096
-:106F5000401C082803D24300D35A8B42F8D1704713
-:106F600030B50446F44A0020163A117953790AE004
-:106F70005518AD79A54201D1401CC0B2491CC9B217
-:106F8000102900D100218B42F2D130BDFFB5EA4873
-:106F900081B0163841790A9C491CCDB21E46102D8D
-:106FA00000D10025E44816380079A84202D1042017
-:106FB00005B0F0BD0820FFF7D3FF0746072804D926
-:106FC000FF20DEA1A5300EF004F80298082801D1B8
-:106FD000072F17D001982080301D6080002060713D
-:106FE0002071E68003982081204606F005FD0028E8
-:106FF0000AD0D148029916384379821D99544571B7
-:107000000020D5E7D248D3E7FF20CCA1B7300DF060
-:10701000E0FF0320CCE7F0B58DB0044600256846BC
-:10702000057116468C460620FFF79AFF00281CD1F2
-:1070300021780127C807002801D0132917D96846ED
-:1070400087766178C17602218183C58304A8009088
-:1070500070680C23008805220621FFF797FF00289F
-:1070600003D0B6A185200DF0B4FF0DB0F0BDB2483D
-:1070700016380278002AF8D0427863789A42F4D120
-:10708000012918D0132919D16146062916D1057096
-:10709000002101200AF04EFE6846077170680188E1
-:1070A0006846C1800021C9430181607922790102CB
-:1070B000114368461AE06146062908D068460079FF
-:1070C0000028D2D0314601A8FDF7AFFECDE705700C
-:1070D000002101200AF02EFE6846077160792279AE
-:1070E00001021143684601810021C9434181E9E75A
-:1070F000914810B50021163801704A1E4280417037
-:107100000171417101200AF015FE10BD10B5FFF7A5
-:10711000EFFF0020884902464300401CCA5208285D
-:10712000FAD310BD84491639488000207047DFE744
-:1071300070470EB501216846017086498180C18083
-:107140000021FDF772FE0EBDF7B505460078002759
-:1071500000090C463E46012804D0FF2077A1683084
-:107160000DF037FF287A02280CD0FF2073A17E3063
-:107170000DF02FFF0298002C068001D0278066803A
-:107180000020FEBDEA89702710460A3086B2002C26
-:107190000BD068680088A080A8892081E280204602
-:1071A0000A3029690DF078FDE4E702980680E7E7E8
-:1071B000F0B543680246D9799C79090221435C7A8B
-:1071C0001E7A25025C88981D3543241F87B0A14292
-:1071D0001DD11B79022B1AD1042D1AD0052D2AD0CE
-:1071E000062D1AD0402D12D3061D0F4614462846F0
-:1071F000FFF7AAFE08280AD0112020700220207272
-:10720000A581E7812661607808210843607007B096
-:10721000F0BD001D00F0E1F8F9E7041D0D46FEF792
-:10722000F9FE0028F3D0062168460170019405722A
-:1072300008F0CBFBEBE7001DFFF7EDFEE7E710B52D
-:107240003D4C8AB0163C2278012A26D012236A4689
-:10725000937363789B1CD373082313820B88538228
-:107260004B8893828B88D382C988118301A90091AE
-:107270000C2305220721FFF789FE00280BD10022ED
-:10728000F023114601200AF0B0FC01202070607844
-:10729000801C607000200AB010BD1120FBE7F0B523
-:1072A000254C0027163C87B00646A51D1FE06079D7
-:1072B0002179884204D1112020A140010DF089FEDE
-:1072C0002079405D042804D0082808D17F1CFFB233
-:1072D00005E0072069460870684608F076FB2079CB
-:1072E000401CC0B22071102801D10020207130460E
-:1072F000761EF6B20028DAD1384688E710B5044683
-:10730000402801D2072010BDFFF71EFE082802D03A
-:107310003120000210BD0021074802E0491C082965
-:1073200003D24A00825A002AF8D1082914D0490011
-:107330004452002010BD0000DA1300207372635C19
-:107340006C326361705F636F72652E6300000000D2
-:1073500004300000FFFF00000420EBE700B54028E8
-:1073600001D2072000BDFFF7EFFD082805D000215E
-:107370003B4A40001152084600BD052000BDF0B553
-:107380008BB016460C00074607D0002E05D061884A
-:10739000402904D207200BB0F0BD1020FBE7208865
-:1073A000002801D0172801D90C20F4E70846FFF780
-:1073B000CBFD08280FD0258803A82A463146023085
-:1073C0000DF06AFC01A8009062882B46082138461F
-:1073D000FFF7DCFDDFE70520DDE7F0B50E460746E9
-:1073E00001468BB014460125304606F0D1FC082832
-:1073F0001DD10020694608850120FFF7B1FD002856
-:1074000002D117206946088503AB02330AAA394620
-:107410003046009407F0CFF800280AD0022819D08F
-:10742000032804D0FF200F4902300DF0D2FD28467A
-:10743000B1E76846038D002BF9D001A80090606881
-:10744000042200880121FFF7A1FD0028EFD00549A3
-:10745000EC20EAE760780025102108436070E6E739
-:10746000DA1300203C730000002803D08178012942
-:1074700039D101E0102070470188FA4A881A9142F8
-:1074800033D01BDCF84A881A91422ED00BDC00293D
-:107490002BD00320C002081A27D0012825D00121B3
-:1074A0000903401A07E001281FD002281DD0FF2839
-:1074B0001BD0FF380138002815D116E0FF22013219
-:1074C000811A904211D008DC01280ED002280CD07D
-:1074D000FE280AD0FF2806D107E0012905D002299D
-:1074E00003D0032901D0002070470F20704700B55A
-:1074F0000A2821D008DC03000DF05CFE0A1C2024C1
-:10750000241A24282224261A102819D008DC0B2833
-:1075100016D00C2814D00D281AD00F2808D111E04D
-:1075200011280FD0822807D084280DD085280DD0AF
-:10753000032000BD002000BD052000BDCB4800BDDC
-:10754000072000BD0F2000BD042000BD062000BDA7
-:107550000C2000BD70B500290BD0CB1FFA3B812455
-:107560001E46CDB2112B1BD2012805D0022806D011
-:1075700009E0002010701DE0FF20043001E0FF2032
-:107580000330814218D033000DF014FE111613138E
-:1075900016131616131616161313131316131600B6
-:1075A0000846FF3881381F2803D9FF39FE390229E0
-:1075B00002D81570002070BD1470072070BD00B592
-:1075C00003000DF0F7FD060406040C080A0C002069
-:1075D00000BD112000BD072000BD082000BD032014
-:1075E00000BD00780207120F04D0012A05D0022A3C
-:1075F0000AD10EE0000907D108E00009012805D0F2
-:10760000022803D0032801D007207047087000200B
-:10761000704706207047002807D0012807D00228AD
-:1076200007D0032807D007207047002004E011206E
-:1076300002E0212000E0312008700020704738B5BA
-:107640000C4605004FD06946FFF7CBFF002822D13A
-:107650002088032189028843694609788907090D32
-:10766000084320806946681CFFF7BBFF002812D141
-:107670002188032000038143684600788007800C3E
-:1076800001432180A8784007820F2020012A03D0DF
-:10769000022A03D0072038BD814300E00143218046
-:1076A00088B20105890F08D0012189038843A97890
-:1076B0000907C90F89030843208080B28104890F1C
-:1076C0000AD0A9784004C906C90F400CC903084371
-:1076D00020808004800F02D12088400403D52088B8
-:1076E000402108432080002038BD70B504460020AA
-:1076F000088015466068FFF7A2FF002815D1218990
-:10770000A089814210D86168594E8978C90707D08D
-:10771000711E884208D831460DF038FB298009E0F7
-:10772000FF21FF31884201D90C2070BDFF30FF30AE
-:107730000330288060688078C007A08903D0314674
-:107740000DF024FB03E0FF30FF30033081B22980CD
-:1077500020688178474801732068464900882039AD
-:107760004885002070BD10B5137804785B08E407E5
-:107770005B00E40F23431370FD2423400478A40727
-:10778000E40F640023431370FB2423400478640750
-:10779000E40FA40023431370F72423400478240744
-:1077A000E40FE40023431370EF2423400478E4063D
-:1077B000E40F240123431370DF2423400478A4063C
-:1077C000E40F6401234313700078BF244006C00F08
-:1077D0002340800103431370002906D00878C107B5
-:1077E00001D1800701D5012000E00020C001590629
-:1077F000490E0843107010BD30B50A8803239B0260
-:1078000004889A4323059D0F02D1A3049C0F01D045
-:107810009B0F00E001239B021A4303230A801B03F2
-:107820009A4303889804840F02D11805830F01D06E
-:10783000800F00E00120000302430A8030BDF3B551
-:1078400091B00D0018D01198002818D012212846A8
-:107850000DF07FFA01A9012007F0A9FE00242646B9
-:10786000374677E0022900000128000003300000BD
-:10787000010200000C140020102013B0F0BD0720FE
-:10788000FBE76846007C01280BD16846C1890520CA
-:10789000C002081A0AD001280AD002280CD00328F6
-:1078A0000CD0042C0ED0052C0FD10DE0012400E0EB
-:1078B00002246846868908E0032406E0684604241A
-:1078C000878902E0052400E0062468468189119832
-:1078D00081423FD12C74002E3AD00BA800900CAB03
-:1078E00010220021304607F0F4FE002820D168461F
-:1078F000808D2A46C0B20CA909F0EDFC002817D1F2
-:10790000AE81002F24D00BA8009006AB13220021DB
-:10791000384607F0DEFE00280AD16846808D06A9A9
-:10792000C01E0331C0B22A1D09F0D5FC002801D0C9
-:107930000320A2E76846817E427E08021043E88168
-:10794000062C05D16846007CA8726846C08928814B
-:10795000002092E701A807F032FE002891D0FFF73F
-:10796000C6FD8AE7002804D0012903D0022904D0EB
-:1079700003207047F949C98D02E0F8494031C988B0
-:10798000814201D1002070470720704730B5F34C89
-:107990000025608B91B0C00B2ED1216900292BD01E
-:1079A000207B800728D401226846027102720022DF
-:1079B0004272228B8281A28A8282049117210183E2
-:1079C00009AA0023023206A901A807F0A7F9002896
-:1079D00003D0FFF7F4FD11B030BD207B0221084336
-:1079E000207307A8009069460B8B20880422012190
-:1079F000FFF7CCFA05460BE0FBF7A5FC84210170EC
-:107A00000921017218341ECC0C301EC0FBF7B7FCE4
-:107A10002846E0E710B5D14C034621690020002933
-:107A200009D02146012210311846FBF76BFE0020D9
-:107A30002061A0820120217BF9221140217310BD19
-:107A400070B50C4605461C2120460DF082F9002039
-:107A50002080002D08D0012D04D0C1A1C5480DF013
-:107A6000B8FA70BD062000E00520A07070BD10B50A
-:107A700007F07CFB10BDFEB50546007800260C46DD
-:107A8000374603000DF096FB0C91070C1D962F4610
-:107A90002F46486C899168680A38FBF793FD89E0A6
-:107AA000002904D0B348AEA11B300DF092FAFBF7C9
-:107AB0004AFC04464078082108436070FBF75FFCED
-:107AC00078E0002C04D1BB20A5A180000DF081FA44
-:107AD000284601F0B1FA00286CD0607808210843EC
-:107AE0006070022666E0E888694608800190002CF4
-:107AF00004D1A0489AA12F300DF06BFA28780728FE
-:107B00001CD10198C00B19D0944800218171A9881B
-:107B1000818012E003264DE0002C04D1C52090A105
-:107B200080000DF056FA8D48017B89070BD500695E
-:107B3000002802D0E888C00B3CD0022660780821DB
-:107B40000843607036E0291D8EC918308EC0283871
-:107B50000188022601222046FBF7B6FD0127EDE74A
-:107B6000002C04D183487EA164300DF032FA7B48AA
-:107B70000821007B4007C00F460060780843607012
-:107B8000002E17D12879012802D16879002811D058
-:107B90002046FFF73FFF07460CE0002CCED10D201A
-:107BA0006FA180010DF015FAC8E772486CA17A3018
-:107BB0000DF00FFA002C0CD06078000709D5002FCB
-:107BC00007D1842020702046582229460830F9F732
-:107BD000FBFA3046FEBDF7B5027A88B00C46054682
-:107BE00020460C300490069216300027921E029018
-:107BF0003E460A31594813000DF0DCFA0ADF06E66A
-:107C00002AE62AE66A98C6E64288002A02D0522767
-:107C10000726DDE051271E26002C7DD06A684F48DC
-:107C20001288A2800122A2718079C0004019C08907
-:107C3000FFF705FE002877D148488179C900491926
-:107C4000C98921818079C0004019408AA083BFE0A2
-:107C5000688A00900698072817D1E889C00B14D0CD
-:107C600000985127223086B2002C55D0A88904995B
-:107C7000FFF7E5FD002857D168680088A080022042
-:107C8000A071A8892081012041E000985027203070
-:107C900086B2002C40D0A889FFF7D1FD002843D13F
-:107CA00068680088A080A889E080287A07280AD020
-:107CB00002202072288AA0830098E0832046696908
-:107CC0002030009A01E00120F3E70CF0E5FF7FE0AF
-:107CD000698A00910169002902D0E989C90B22D083
-:107CE0000099512722318EB200218171A9898180AA
-:107CF000002C5FD00088A080A8890499FFF79FFD21
-:107D0000002811D10220A071A88920810420A0722E
-:107D1000288AE083009801E04CE005E0208469694E
-:107D2000009A0298D1E703200BB0F0BD007B40071A
-:107D300002D55127222601E050272026002C39D0D9
-:107D40006868502F0088A08016D00220A0712146BC
-:107D5000287B0831FFF774FE3AE00000EC130020A6
-:107D60007372635C67617474735F636F72652E63B3
-:107D700000000000CB020000287BA11DFFF760FE81
-:107D80000020FFF747FE23E0A9890089884207D138
-:107D900054270626002C0DD068680088A08017E0C4
-:107DA00053270826002C05D068680088A080A88981
-:107DB000E0800DE00A98068010E055270726002C89
-:107DC000F8D00020A07103E0FD49FE480DF001F954
-:107DD0000A98002C068001D0278066800020A3E747
-:107DE000F94800210172203801814181418081716F
-:107DF0008180027BF923520852001A40027301610C
-:107E00008182704770B5F04C86B0203C2080002005
-:107E10006080A071A0806946012007F0C8FB102691
-:107E200008E00199088802461207D20FB0431201F8
-:107E300010430880684607F0C2FB0500F1D02069B6
-:107E4000002804D0DF48DE4933300DF0C2F8207B33
-:107E5000800704D5DB48DA4934300DF0BAF8822DBA
-:107E600004D02846FFF743FB06B070BD0020FBE7B7
-:107E7000D54810B52038017B012211430173002140
-:107E800041808171818006F045FB10BD10B5CE4C5C
-:107E90000020C043203C20800020FFF7BBFD207B5A
-:107EA00040084000207310BD70B5C74D0446203D0A
-:107EB000287B800704D5C348C1494B300DF089F8B1
-:107EC000287BC00706D12888C049884202D028698B
-:107ED000002801D0082070BD002C08D0A0881628EA
-:107EE00001D2092070BD20682861A088A882FFF710
-:107EF0004DFD70BD10B50C4607F02DFB002804D0D9
-:107F0000C520AF49C0000DF064F82046FFF7EFFA36
-:107F100010BDF0B5AC4D0446203591B0002008905E
-:107F200068820E462882E8812946E8804039088622
-:107F3000694608830885088688838882A2480E904F
-:107F4000007A1746012808D0022806D0032804D05A
-:107F5000042802D0082011B0F0BD9D48844269D3A6
-:107F600001239B049B49E21A8A4263D39A4A9442B2
-:107F700060D286425ED31001331A0846834259D339
-:107F80001046864256D26068002815D09049884233
-:107F900050D31101421A8F498A424BD38E498842ED
-:107FA00048D260892189884203D801225202914235
-:107FB00001D90C20CFE7089010AA0CA93046FFF792
-:107FC00094FB0028C7D106A92069FFF738FB0028D9
-:107FD000C1D1206900280CD060788007002868464D
-:107FE000008B03DA8004800F75D002E08004800FDC
-:107FF00071D16846008B81061ED58004800F6068B1
-:1080000009D0002818D00721490740180121890309
-:1080100088420FD201E000280ED06D496068884286
-:1080200008D301218904421A6A498A4202D36A4963
-:10803000884201D310208EE705A96069FFF7FFFA97
-:10804000002888D16069002808D06846808A010528
-:10805000890F01293FD18004800F3CD007A9A06976
-:10806000FFF7EDFA0028A5D16846808A800632D451
-:108070006846808B81062ED4A169002906D00105AF
-:10808000890F012927D18004800F24D0E0680028BF
-:1080900004D0007800281ED01C281CD24A4A611C3B
-:1080A000123220460992FFF75EFB0321002089026D
-:1080B000884301218902411868460D9101850121FB
-:1080C000817446490182404A0FA91532306809F08F
-:1080D00028F9002801D007203DE708A8007F3A4989
-:1080E000C01CC2B26A7100201031FF3200900190B2
-:1080F000FF3203460291039003320AA904A807F055
-:10810000C5F9002827D130482038008E0B902E4822
-:108110003389383032690146123902910093019255
-:10812000039010A90A8873890CA9306807F0AEF98A
-:1081300001007CD12448E98811308170090AC1709E
-:108140000026009631386A79008E3146099B07F087
-:108150001CF9002802D0FFF7CAF9FCE60E98807CD3
-:10816000C00928D068460D99018501218174292113
-:1081700009020182AE81287B61784008C90740006E
-:10818000C90F08432873FD2108406178022289073E
-:10819000C90F4900084328730B4900922A31881CF3
-:1081A00002910190002303960D4A0AA904A807F042
-:1081B0006DF901003BD1606800283DD0206911E0D5
-:1081C000607D0000220400000C140020FFFF00006E
-:1081D000006001000000FC1F004000200328000098
-:1081E0000302000000280DD106A90CA8FFF704FB2C
-:1081F0006078800706D46946088B03210903884309
-:1082000069460883012069468874FD4808822089F0
-:10821000FC490CF0BBFD6268089BFB48019200938F
-:1082200002900A460396002306A904A800E081E014
-:1082300007F02CF901007DD12078C10601D4800619
-:108240002ED568460684606900280DD105A90CA8C2
-:10825000FFF7D2FA6846818A032080028143012019
-:1082600080020918684681826946888A4821084345
-:108270006946888201208874E14808AA401C088267
-:10828000E1490192891C0220DE4A029100900023FC
-:108290000396921C05A904A807F0F8F8010063D121
-:1082A0002078C0072ED068460684A06900280DD12A
-:1082B00007A90CA8FFF7A0FA6846818B032080026B
-:1082C0008143012080020918684681836846818BBA
-:1082D000402001436846818301218174C84908AA6E
-:1082E000891C0182C8480192001D0221C54A0091E3
-:1082F000029000230396921C07A904A807F0C6F871
-:10830000010031D1E068002832D068460D9901851E
-:1083100001218174BA49C91C0182E16808A80A7860
-:10832000027049784170E068418868464184E0689D
-:10833000017900E018E008A80171E0680722C1880F
-:1083400008A84171090A8171AF4808A9801D0092EF
-:1083500001910290412200230396D2000AA904A8A9
-:1083600007F094F8010003D00B98FFF7C3FDF2E586
-:1083700003210E98002F017207D0E8883880E88921
-:108380007880288AB880688AF8800020E3E5F0B514
-:1083900001248BB016460F46012802D002281BD1BB
-:1083A00004E0684605218474C90202E068469749E2
-:1083B00084740182002F11D0032100208902884398
-:1083C0000121890241186846018506AA05A9384697
-:1083D00008F0A7FF002803D00720A5E41020A3E49D
-:1083E000894DB8782E3D287338882F46203F7885F0
-:1083F0006A46127D0020294606AB00920E31019399
-:10840000FF32029103900346FF3203320AA904A807
-:1084100007F03CF8002802D0FFF769F884E4002E4A
-:1084200001D0F88D30802C7200207DE470B592B0C0
-:108430000446012508A8857075496846018406F040
-:108440009CFF002208A90120FFF7A1FF064606F0C5
-:1084500098FF30003AD120780024C00700283FD090
-:108460001C2168460CF077FC684601782020014307
-:108470006846017008A885706649684601841194B1
-:108480000794817FF9200140891C6846817700208C
-:10849000014668460177002001466846417704217D
-:1084A0008185C485018607A80A9011A80D9008A8A7
-:1084B000099006F062FF0EAA09A96846FFF729FD98
-:1084C000054606F05EFF002D02D0284612B070BDB2
-:1084D0004D486946098F4E3801816946898F41812F
-:1084E00049482E3804720020F0E7F7B5464E9CB09C
-:1084F00000212E3E0091317A012904D0022902D0B8
-:1085000008201FB0F0BD40494E39CA8D824201D0CB
-:108510000620F6E71D98824201D10720F1E73B488B
-:10852000012110AA9176401C1083002003239B0296
-:1085300002469A438B02D31810AA93846A46918408
-:108540003549D18410AA9077908317AA0A926A4677
-:1085500091850C9009A807F051F80024254627467C
-:1085600004A909A807F04DF8002810D082287BD173
-:10857000002C7CD0002D7AD010A8048145810024E5
-:10858000047518A8807812AD012872D07AE0684688
-:10859000807D002F1FD0012862D16846818A1B4848
-:1085A000401C814219D114A800906846408A0EAB45
-:1085B0001022002107F08DF8002877D110A8008A3A
-:1085C000042801D006285BD16846018F1D9881429E
-:1085D00046D10F2095E7012842D16846808A0521BF
-:1085E000C902884202D0491C884239D106484E3817
-:1085F000C18D6846408A814210D101270FE00000FA
-:1086000001290000010200003A14002001280000A6
-:1086100001180000052A0000FFFF00000027002CC1
-:1086200001D0002D0DD01D99884219D114A90091B7
-:1086300004460EAB1022002107F04BF8002835D17C
-:1086400001E0009D0CE010A8008A022801D010284B
-:1086500016D1C0B218AA0EA908F03DFE00280FD10D
-:108660006846408A00907BE720E000E001E00520BA
-:1086700047E72A1D15A918A808F053FE002801D0C5
-:1086800003203EE710A8007D0023001DC2B210A801
-:1086900002751E98029019A901950394009216A8DC
-:1086A00006F0F4FE002801D102213172FEF71FFF0F
-:1086B00027E73EB50B46401E84B201AA00211846AA
-:1086C000FFF751F806F059FE02A8009001AB012215
-:1086D0000021204606F059FE044606F052FE684688
-:1086E0000089012803D0FE49FE480CF072FC2046A8
-:1086F000FEF7FDFE3EBDF0B5FB4E0446307A89B074
-:108700000F46032804D0042802D0082009B0F0BD89
-:1087100004AA06A92046FEF7E8FF0500F6D1F248B4
-:108720002389383022690146103902910093019261
-:10873000039069460A8A638906A9206806F0A6FEA6
-:10874000002802D0FEF7D3FEE0E7002F03D0E64872
-:10875000203000893880042030722846D6E738B5AA
-:108760000C00054608D00022694607F00CF80028E6
-:1087700004D0FEF7BCFE38BD102038BD6946204647
-:10878000FEF75DFF0028F8D1A0786946C207D20F36
-:10879000284607F013F8ECE73EB50C0008D002AA13
-:1087A000694606F0F0FF002804D0FEF7A0FE3EBDAB
-:1087B00010203EBD032120460CF0CBFA684600880D
-:1087C00001A90005800FFEF726FF00280BD168469F
-:1087D000007920706846008801A98004800FFEF7A8
-:1087E0001AFF002801D003203EBD68460079607062
-:1087F000A278EF20024068460088C10B09010A43B5
-:10880000F7210A404104C90FC9000A43A270F921A7
-:108810000A40800601D5012000E0022040006946A0
-:108820000243097A50084000C907C90F0843A070E5
-:1088300000203EBDFEB51D4614460E46074606F016
-:108840009CFD01A8009022882B463146384606F050
-:108850009CFD054668468088208006F092FD2846EB
-:10886000FEF745FEFEBDF0B50C46002199B0074667
-:10887000684681850D46002C11D0E068002806D09E
-:10888000A06800280BD002886B469A850180A078EA
-:10889000012806D0022804D0072019B0F0BD10200E
-:1088A000FBE72088002807D0401E80B201A906F00F
-:1088B0007EFE002842D136E08C48EEE769468A8980
-:1088C00021888A420BD26846007C002501282CD1E1
-:1088D0006846C0898649884227D1012525E08A4219
-:1088E00003D1002D2FD06D1C01E0022D02D0032DED
-:1088F0001BD31FE06946097C012916D169467C4BD0
-:10890000CA895B1ED11A9A421DD005DC7948101A1B
-:1089100019D0012809D116E0012914D0FF390139F5
-:1089200003D1032506E00D26B60201A806F047FE96
-:108930000028C3D0822804D0002806D0FEF7D7FD37
-:10894000ABE7022DFAD13046A7E7E068002813D044
-:1089500006F013FD0BA800906A46A1882088928D2E
-:10896000E36806F012FD054606F00BFD002D19D157
-:108970006846A168808D088002980078C00601D5FD
-:108980005D488AE706F0F9FC0EA8009068468089E9
-:108990000CAB0222002106F09CFE054606F0F1FC1D
-:1089A000002D01D02846C9E76846008F022801D073
-:1089B000032072E7A078012808A8007C03D0800774
-:1089C0000ED4082069E7C007FBD00820FEF7C8FADC
-:1089D000072802D34548401C5FE70825022001E034
-:1089E000022503206946087621886846818317217D
-:1089F000818611AA002302320DA906A806F08EF97D
-:108A0000002802D0FEF7DBFD47E70FA8009068467C
-:108A1000838E042229463846FEF7B8FA3DE770B542
-:108A2000064615460C460846FEF71EFD00280AD1EC
-:108A300006F0A3FC2A4621463046FFF7A8FC044670
-:108A400006F09FFC204670BD70B514460D460646E4
-:108A500006F093FC224629463046FFF746FD0446C1
-:108A600006F08FFC204670BD70B51E4614460D0002
-:108A70001AD0002C18D06168002915D00121FEF70A
-:108A800071FF00280FD12068FEF7EEFC00280AD104
-:108A900006F073FC324621462846FFF73AFA0446B0
-:108AA00006F06FFC204670BD102070BD70B51546F5
-:108AB0000C0023D00221FEF755FF00280ED12068BC
-:108AC000FEF7D2FC002809D106F057FC29462046C3
-:108AD000FFF711FE044606F054FC204670BD00006E
-:108AE000607D00003E0600000C14002003300000F2
-:108AF0000328000000280000013400001020EDE7EA
-:108B0000FEB507460E4607201546400701211218FC
-:108B100089031C468A4219D2002C02D020188842B0
-:108B200014D2384600F045FA00280AD1002C0FD1A3
-:108B300001AA6946384606F026FE002802D0FEF754
-:108B4000D6FCFEBD68460088800601D41020FEBD1C
-:108B500023462A4631463846FFF76CFEFEBDFFB578
-:108B600085B01E4614000F4609D003AA02A9059835
-:108B700006F009FE002804D0FEF7B9FCC6E5102077
-:108B8000C4E568460089C00601D5FB48BEE506F08D
-:108B9000F4FB01A800900023F84A3946059806F036
-:108BA00098FD054606F0EDFB002D11D1002E0CD0EE
-:108BB00006F0E3FB002000902288334639460598F2
-:108BC00006F087FD054606F0DCFB684680882080BD
-:108BD0002846D1E7002906D0E94B0A885B899A42EA
-:108BE00001D8E84870473EE610B586B004236C46CD
-:108BF000A382E34B1C89002C07D05B898B4201D2F6
-:108C0000914204D9DF4806B010BD0620FBE76B4651
-:108C100019825A820021009101911C8002219970D1
-:108C200005A9029104A903916946FFF71CFEEAE732
-:108C3000F0B591B00D4681206946087105F09CFCA5
-:108C40000646002D08D02878CD4C012806D00228F1
-:108C500028D0072011B0F0BD1020FBE7A98801AA99
-:108C6000FEF778FC0028F5D1B00734D568460079C6
-:108C7000002820D1A879C0071DD006F07EFB002077
-:108C800000906A892989A088EB6806F07EFB694616
-:108C9000087106F076FB6946087900280BD0FEF7CC
-:108CA00026FCD7E7A98801AAFEF754FC0028D1D1F9
-:108CB000342006420FD00121684601720173017908
-:108CC0004173F00609D5A18868460182A18A018313
-:108CD0002069059004E00820BCE7A0886946088266
-:108CE000FAF731FB05461720694688830AAA2B4606
-:108CF000023207A902A806F011F8074668780007B3
-:108D000001D5FAF73CFB002F03D03846FEF757FC9D
-:108D1000A0E7F00603D5207B062108432073B006A8
-:108D200002D50020FEF776FE08A8009069468B8BDE
-:108D3000208804220121FEF729F98BE7F0B50026EF
-:108D400095B014460D4600290FD0022C4FD3A71E14
-:108D5000BAB28A480AF052FE29191039CA7B8B7BB5
-:108D600011021943884242D1BCB201A9012006F088
-:108D70001EFC7AE0029F3888010776D5002D41D08D
-:108D8000A9190691CA788B78361D1102B6B219431B
-:108D90008919A1422BD869468A8906994B780978A6
-:108DA0001B020B439A4222D1C00623D506F0E5FAF6
-:108DB00007A800900698AB19C17880780A02069936
-:108DC00002434878097800020843002106F0DDFAE2
-:108DD000009006F0D6FA009800283ED10698C17897
-:108DE000827808026946898B1043884202D00B20A2
-:108DF00015B0F0BD0698C17882780802104380193A
-:108E000086B22EE0C0062CD5002007AA01461154D8
-:108E1000401C80B21028FAD306F0AFFA06A80090E2
-:108E20006846002380891022194606F052FC009003
-:108E3000002803D006F0A5FA00980EE00BA86946BA
-:108E4000009088890A8B07AB002106F09EFA0090FB
-:108E500006F097FA0098002803D0FEF748FBC7E712
-:108E600003E0388810218843388001A806F0A7FB6A
-:108E7000002800D17EE7424D6988002921D00122D7
-:108E800068460276027700244477018417218185A1
-:108E90000EAA234602320BA906A805F03FFF0028C0
-:108EA00002D0FEF78CFBA3E70CA8009069468B8DDF
-:108EB000288804220121FEF769F8002898D16C80E7
-:108EC00096E7002094E7F0B5002487B015460E46DB
-:108ED000002A04D002A9012006F069FB41E010201D
-:108EE00007B0F0BD0398007800073AD506F045FAC0
-:108EF00001A8009068460023008A204A194606F01F
-:108F0000E8FB074606F03DFA002F23D1002E23D0C0
-:108F100068468088298820183719001D814239D376
-:108F20006946098A3970090A797069468988B97071
-:108F3000090AF97006F021FA01A869460090088A2A
-:108F40008A883B1D002106F0C4FB074606F019FA8B
-:108F5000002F01D00320C3E7684680882018001D39
-:108F600084B202A806F02BFB0028BBD082280BD0CD
-:108F7000FEF7BDFAB4E7000001340000FFFF000077
-:108F8000EC13002003300000002E0ED02988A01C16
-:108F9000814201D20C20A3E72246314639480AF02B
-:108FA0002DFD31190870000A4870A41C2C80002087
-:108FB00096E700B585B06946FEF741FC00280AD166
-:108FC0006846007C03000CF0F5F808052F2F2F2FC2
-:108FD00008080531032005B000BD684680780128E7
-:108FE00007D1684600880321C902401A1CD0012815
-:108FF0001AD068468079012806D1684680881521F4
-:109000004902401A05280FD96846807A012811D1F3
-:109010006846018929200002081A05D0022803D0D9
-:10902000032801D0042805D10F20D4E7164917489A
-:109030000BF0CFFF0020CEE738B5154A0021518054
-:1090400003791AE0CC002418A46800946C462488A4
-:10905000250707D5E50605D5D90008182038C08BA7
-:10906000508006E0640406D59171C9000818C088D4
-:109070009080012038BD491CC9B28B42E2D8002043
-:1090800038BD0000FFFF0000607D000033020000DB
-:10909000EC1300200120F8494006C861704770B504
-:1090A000F54D0024AC7028466C7020304470047478
-:1090B0006C61AC72AC6209F01AFFA86128463430CA
-:1090C0000AF0B4FD002804D0FF20ECA13A300BF0E8
-:1090D00080FFEE48C46301204006E86170BD70B5B2
-:1090E0000125EB4902260E60E849CD63E949C96ACA
-:1090F00009070ED4E7494031CB6AE74A53620B6B4C
-:1091000093624B6BD3628B6B1363C96BD3051943AB
-:109110005163D949E14CC96900282BD001282DD0D1
-:10912000FF20D6A169300BF054FFDD48A063FF207B
-:10913000043060632563DB49032008602061D74960
-:10914000962040314860D948D7494163D549FC3918
-:109150000163D549091FC163D249F03981630320F6
-:10916000D249000340394860D14910204860D148B5
-:10917000066070BDD0486061D04804E0CF48E03060
-:109180006061CE48801F0143A161CEE7BA4901204A
-:1091900008707047B84900200870704770477047E2
-:1091A000BE4940310028086802D00122104301E086
-:1091B000400840000860704770B50C46AE4D01464F
-:1091C0000622E81C0BF068FD6C7270BDAA482030C6
-:1091D00040787047A84A91705070704770B50D463E
-:1091E0000446082904D9FF20A4A1C6300BF0F1FEE3
-:1091F0000022B34809E09100635809180B6053003E
-:109200001B191B8C0B62521CD2B2AA42F3D3206BE7
-:10921000AB494031086070BD0B23DB4310B5C21A67
-:109220009E4998421FD008DC1C3222D00A2A20D046
-:10923000142A1CD0182A08D117E0083011D00428AD
-:109240000DD0082809D00C2805D0FF208BA1F230C2
-:109250000BF0BFFE10BD04200CE000200AE0FC2053
-:1092600008E0F82006E0F42004E0F02002E0EC2022
-:1092700000E0D820C86010BD7F482030007B7047D8
-:1092800010B5864CC17861620BF067FD0002E061A9
-:1092900010BD252808D0262808D0272808D041004E
-:1092A0000A2807D8091D06E0022105E01A2103E07B
-:1092B000502101E0891DC9B2784A91607749403157
-:1092C000486170476C494861704770B56A4CA0723C
-:1092D00000F01FFBA07AC00740D0724D28688007BD
-:1092E00003D466A177480BF074FEA07A01061DD561
-:1092F000800707D5734861A1801C0BF06AFEA07A35
-:10930000000613D52078694E012816D0002804D015
-:109310006C485AA111300BF05CFE6B487061A0697B
-:109320003061FF206149013040394860A07A8007F0
-:1093300014D52868C00708D102E06348001FEDE794
-:1093400060484EA11A300BF044FEA07A400728680E
-:1093500001D5042100E008210843286070BD70B5E4
-:109360000124454D002807D0012818D002281AD022
-:10937000232042A100010BE000F0CBFA52482978EB
-:10938000001F012907D0002907D04E483BA15738BC
-:109390000BF01FFE70BD046070BD446070BD812085
-:1093A000FFF793FF70BD00F0B4FA6869002804D19C
-:1093B000444832A14F380BF00CFE6969A86A401886
-:1093C0004249C86039484249403001603E490C3149
-:1093D00041600814354940394860274820300474FA
-:1093E00070BDF8B50C2069460870314C6068C00645
-:1093F000C50F1026A66034480021FC300161324BB5
-:1094000001221B1F1A610BE000BF00BF00BF00BF9D
-:1094100000BF00BF00BF00BF6B461A78521E1A7013
-:109420006A461278002A02D00269002AECD0016153
-:1094300068460078002804D1912010A180000BF02C
-:10944000C8FD002D00D06660F8BD0B490020C86142
-:10945000704710B50BF081FC00021049000AC86388
-:1094600010BD0B49022008607047094902200860BE
-:109470001049086070470000481400207372635C54
-:1094800068616C5F7263732E63000000C01F004050
-:1094900080E100E08000001000170040001500404F
-:1094A0005B060000001200404480004040F501408F
-:1094B0000013004080E200E00601020025000300E6
-:1094C0000016004075020000041000404085004076
-:1094D0004C810040F74902200860CBE7F64908704C
-:1094E000C8E710B5F5480AF0A9FB002803D0F449F5
-:1094F000F4480BF06EFD10BD10B5F0480AF0B6FB55
-:1095000010BDF1494860B5E7EC4910B53439EF4B6F
-:109510000022C8605A60896A0818ED49486000F066
-:10952000FFF910BDE54810B5C2213438C160E74AE3
-:1095300000215160806AE649C230486000F0F0F9CD
-:1095400010BD0120E34940028860DC490020343925
-:10955000C860DF4948608DE7D84900203439886207
-:1095600088E7D648DA493438806AFE30886081E777
-:10957000D749002088607DE7D748016810229143D1
-:109580000160D6490120886174E7D5490020C8618F
-:10959000D14801681022114301606BE700B5FFF765
-:1095A000EBFFC64900203439087400BD00B5FFF751
-:1095B000ECFFC24901203439087400BDC849CA69AA
-:1095C000012A01D0002055E7BF4A40329268520676
-:1095D000520E524202700020C86101204AE7F8B5DD
-:1095E000BF4C2069012806D00021B44834380078E7
-:1095F000012802D004E04021F7E7E268012A04D004
-:1096000000220A43012802D004E02022F9E7616821
-:10961000012905D000211143B24A002802D007E0F9
-:109620001021F8E71368012B02D1E368012B04D065
-:1096300000230B43002802D007E00823F9E7116854
-:10964000002902D1E168012905D000221A439F4E6A
-:10965000002802D004E00422F8E77168012904D050
-:1096600000211143002802D004E00221F9E76068DC
-:10967000012829D000259C480D4301680906090EE0
-:1096800002D06169012900D000218C4F143F397349
-:1096900000680006000E02D0A069012800D000205A
-:1096A00078738B488068002803D000F03DFA0128C9
-:1096B00000D00020B8730021E16021616160616128
-:1096C000A16171602846F8BD0125D4E77B480121DE
-:1096D0001438C173CEE6F8B5784E0127143E307CBD
-:1096E0000025002825D07C4C206800902560FFF7DD
-:1096F00078FE009820607A48C56005614560456144
-:1097000085617449001488603046203801787348B8
-:1097100001290AD000290AD0D920694980000BF01C
-:1097200058FCF9F775FC3574F8BD0760F9E7476038
-:10973000F7E7FFF754FF04460020F07364484268DF
-:109740005E4D343D6A620068A8622978002909D11B
-:10975000A978002906D05C4B5B681B780B406978C0
-:10976000994309D000213170E10707D0104602F07B
-:1097700029FD0121A86A08E03770F5E7A10601D5A7
-:10978000022102E0A10702D5002102F02AFD4E4F7E
-:10979000796806220931E81C0BF051FA002807D13C
-:1097A000687A79680978C909884201D1012000E006
-:1097B00000207070204600F0BDF83F48C2270078B6
-:1097C000002815D0012828D002283BD003285AD0E1
-:1097D0003B4946480BF0FDFB287C002804D0287844
-:1097E000002865D0FFF7C8FE2878002861D089E0FE
-:1097F000A00701D501F0CCFB200703D50120EF60C5
-:1098000001F0FEFB600703D50020EF6001F0F8FBDC
-:10981000A006E1D501F068FBDEE7A00701D503F063
-:1098200026FF200703D50120EF6003F09FFE6007AD
-:1098300003D50020EF6003F099FEA006CCD503F01D
-:1098400020FEC9E7A00703D5BF200440F9F7D2FBEB
-:10985000200705D5BF2004400120EF60F9F7C9FBC0
-:10986000600705D5BF2004400020EF60F9F7C1FB79
-:10987000A00603D5BF200440F9F7BAFB6006ABD5BC
-:10988000F9F7B9FBA8E7A00701D5F9F7B7FB20075F
-:1098900003D50120EF60F9F7B0FB600703D5002086
-:1098A000EF60F9F7AAFBA00696D5F9F7A5FB93E7B9
-:1098B0001EE020E000E100E0600000207C140020B9
-:1098C0007C940000AB020000001500404081004085
-:1098D0004085004000F501400012004000100040AB
-:1098E00000110040001400404016004094040000A5
-:1098F000FFF74BFE78E7E868002803D0A96A09184B
-:1099000028484160F07B002800D10DE7F9F780FB83
-:10991000F8BD254903200860881524498860A9E519
-:10992000224823494030C161224981611F494015C5
-:1099300048609FE570B50546FFF7EBFF1E4CA17A26
-:10994000080701D568071CD41C4AC80605D5507BFA
-:10995000002802D0907B002813D0880602D510780A
-:1099600000280ED1480602D55078002809D00020E2
-:109970008A070026002A07DA4A0704D50122227046
-:1099800002E00120F4E72670CA0709D0AA0705D42F
-:10999000890705D5002803D0A80601D4FFF721FDCB
-:1099A000A67270BD408500400012004000F50140E5
-:1099B000101000404481004048140020681400202A
-:1099C0002E48002101704170704770B5064614465C
-:1099D0000D460120F7F780FE28490120284B08702A
-:1099E0009E60DC601D6170BDF8B504460120F7F78C
-:1099F00073FE22490120087021494C60214900264C
-:109A00004E600321204D8902A960204F002C0AD00E
-:109A1000012C03D01EA140200BF0DBFA3E60032096
-:109A200080026860F8BD386001208002F9E710B557
-:109A30001248017800290ED00321134A890291604F
-:109A400010494A680021002A03D0154A1268427062
-:109A500000E0417001700020F7F73EFE10BD07489E
-:109A60000178002907D007484068002802D00C4838
-:109A70000068C0B270474078704700006100002065
-:109A800000F5004000F1004000F5014000F2004008
-:109A90007372635C68616C5F63636D2E63000000CA
-:109AA00000F400403648002101704170102181709F
-:109AB000704770B5064614460D460220F7F70CFEB7
-:109AC00001202F492F4A0870E41E146196605560EA
-:109AD00070BD10B50220F7F7FFFD2949012008707D
-:109AE000294800210160416081602849C014486014
-:109AF00010BD10B5224C2078002811D00120234938
-:109B0000C002886000F02EF80021002804D0012057
-:109B100060701F48006801E061701020A070217023
-:109B20000020F7F7D9FD10BD10B5154801780029C0
-:109B300005D000F017F8002800D0012010BD4078B3
-:109B400010BD10B50E480178002909D000F00AF8C0
-:109B5000002803D00E480068C0B210BD102010BD10
-:109B6000807810BD08480168002905D041680029A7
-:109B700002D08068002801D0002070470120704783
-:109B80006300002000F5004000F1004000F50140B6
-:109B900000F4004010B528210BF0DBF810BD407830
-:109BA0008006800E704740788006800EC01C70478B
-:109BB0002820704770B5054600780A0700090001A3
-:109BC000120F104328700B000BF0F4FA070507057D
-:109BD000070509050B00062408E00C2406E02224F2
-:109BE00004E00024FEA158200BF0F3F96878800906
-:109BF00080012043687070BD00780007000F704737
-:109C000010B50622C01C0BF047F810BD0B4610B56E
-:109C1000C11C062218460BF03FF810BD10B50622F5
-:109C200009300BF039F810BD0B46014610B506227D
-:109C3000093118460BF030F810BD0278BF23C90770
-:109C40001A40490E0A430270704700784006C00F60
-:109C5000704702785206520EC9010A4302707047DB
-:109C60000078C009704770B50C460546C11C2046F7
-:109C7000062209300BF010F820784006400E2070C4
-:109C800029784906C90FC9010843207070BD70B515
-:109C900015460E4604461F2A03D9D1A1A9200BF070
-:109CA00098F920462A46314609300AF0F5FF6078D7
-:109CB000AD1D80098001A906890E0843607070BD42
-:109CC00070B5054640780E468406A40E062C03D2D5
-:109CD000C3A1B9200BF07DF9A41FE4B21F2C00D959
-:109CE0001F2429462246093130460AF0D5FF204676
-:109CF00070BD70B515460E4604461F2A03D9B8A19B
-:109D0000CD200BF066F920462A46314609300AF08C
-:109D1000C3FF6078AD1D80098001A906890E084344
-:109D2000607070BD70B5044640780E468506AD0E75
-:109D3000062D03D2AAA1DE200BF04BF9AD1FEDB228
-:109D40001F2D03D9A6A1E2200BF043F921462A4694
-:109D5000093130460AF0A0FF284670BD10B5042234
-:109D60000F300AF099FF10BD0B46014610B50422D2
-:109D70000F3118460AF090FF10BD10B503221330C2
-:109D80000AF08AFF10BD0B46014610B503221331BD
-:109D900018460AF081FF10BD4176090A81767047A6
-:109DA000817E427E080210437047C176090A01771E
-:109DB0007047017FC27E0802104370474177090A4D
-:109DC00081777047817F427F080210437047C175D9
-:109DD000090A01767047017EC27D08021043704770
-:109DE00081757047807D704720300279C90652091D
-:109DF0005201C90E0A430271704720300079C00633
-:109E0000C00E704720300279D206D20E49010A43B3
-:109E100002717047203000794009704710B5052263
-:109E20001F300AF039FF10BD0B46014610B5052260
-:109E30001F3118460AF030FF10BD30B5411C837E3B
-:109E40000A461902D37D447E927D1B0221431343AF
-:109E5000674D827D8C1FAC4210D8002A0ED0082A94
-:109E60000CD88A420AD28B4208D8817F427F0802EE
-:109E70001043A91D884201D8012030BD002030BD0B
-:109E800000210A464254491C2229FBDB70474078D6
-:109E9000C006C00E70474078C006C00EC01C704798
-:109EA0002220704710B502788B07920892009B0F12
-:109EB0001A4302704278520952014270012908D0B7
-:109EC000022906D0032905D0FF2045A1A3300BF0BD
-:109ED00080F810BD01210A43427010BD10B5027810
-:109EE0008B07920892009B0F1A4302704278520926
-:109EF00052014270012908D0022906D0032905D059
-:109F0000FF2037A1BD300BF064F810BD01210A43DA
-:109F1000427010BD00788007800F70470278FB23E5
-:109F2000C9071A40490F0A4302707047007840077A
-:109F3000C00F70470278F723C9071A40090F0A4378
-:109F40000270704700780007C00F70470278EF2357
-:109F5000C9071A40C90E0A43027070470078C0064C
-:109F6000C00F704770B50546C1700B000BF022F9A9
-:109F70000E080A0C0E1012120C14141212160C18E1
-:109F80000C2413E0082411E002240FE017240DE054
-:109F90000D240BE0012409E0092407E0062405E074
-:109FA000452000240EA1C0000BF013F8687840098A
-:109FB00040012043687070BDC078704770B504469A
-:109FC00040780E46C506ED0E1B2D03D904A10948A5
-:109FD0000AF0FFFF6019C01C042231460CE00000AB
-:109FE0007372635C756C5F7064752E6300000000B3
-:109FF0007A0C00003A0200000AF04EFE70BD70B507
-:10A00000044640780E46C506ED0E1B2D03D9A04927
-:10A01000A0480AF0DEFF6119C91C042230460AF08C
-:10A020003BFE70BDC171090A01727047017AC279A5
-:10A030000802104370474172090A81727047817AA1
-:10A04000427A080210437047C172090A01737047CF
-:10A05000017BC27A0802104370474171090A81717D
-:10A060007047817942790802104370470171704747
-:10A07000007970474173090A81737047817B427B85
-:10A0800008021043704730B5411C037A0A46C47970
-:10A0900019022143537914791B0223437E4D007921
-:10A0A0008C1FAC4210D800280ED008280CD888424B
-:10A0B0000AD28B4208D8D07A917A00020843A91DAF
-:10A0C000884201D8012030BD002030BD10B50522E6
-:10A0D000001D0AF0E1FD10BD0B4610B5011D052263
-:10A0E00018460AF0D9FD10BD4172090A8172704705
-:10A0F000817A427A080210437047017170470079F3
-:10A10000704710B50822001D0AF0C6FD10BD0B46B1
-:10A1100010B5011D082218460AF0BEFD10BD0A78D0
-:10A120000273497841737047027B0A70407B487024
-:10A13000704710B508220E300AF0AEFD10BD0B4678
-:10A14000014610B508220E3118460AF0A5FD10BDD3
-:10A1500010B5042216300AF09FFD10BD0B460146D3
-:10A1600010B50422163118460AF096FD10BD10B540
-:10A170000822001D0AF090FD10BD0B4610B5011D10
-:10A18000082218460AF088FD10BD10B504220C30D4
-:10A190000AF082FD10BD0B46014610B504220C31B9
-:10A1A00018460AF079FD10BD017170474171090A26
-:10A1B00081717047C171090A017270470079704757
-:10A1C00081794279080210437047017AC279080206
-:10A1D00010437047017170470079704701717047F3
-:10A1E0000079704710B50822001D0AF055FD10BD1A
-:10A1F0000B4610B5011D082218460AF04DFD10BD92
-:10A2000010B50822001D0AF047FD10BD0B4610B521
-:10A21000011D082218460AF03FFD10BD70B5154615
-:10A220000E4604461B2A04D93720194900010AF0BA
-:10A23000D0FE2A463146E01C0AF02EFD6078E90681
-:10A2400040094001C90E0843607070BD70B50546F5
-:10A2500040780E46C406E40E1B2C04D9DF200C49BE
-:10A2600080000AF0B6FE2246E91C30460AF014FDD2
-:10A27000204670BD4078C006C00E1B2801D80120C2
-:10A2800070470020704710B522220AF005FD10BD6E
-:10A29000E09F0000430200007A0C0000FEB50F466C
-:10A2A00004460146064620302546C031603640351A
-:10A2B0000190032F04D0002F2DD0012F2BD04BE085
-:10A2C00000206080A080E08020816081A082E08505
-:10A2D000E0826874A074E074A076E076A073E07306
-:10A2E00020746074019B987401232B74A8822883C6
-:10A2F0000876E883B0706883A873E8732077607786
-:10A30000019988720199087430727072B072327457
-:10A31000B074A883FEBD0020A8822883012F52D0EC
-:10A32000E08B0090608C0290C00000990AF02EFD36
-:10A33000401C80B2E8820099192241439202914266
-:10A3400001DD401EE8827D20000200990AF01EFD1A
-:10A35000401C3080002F01D0022FDBD10198007A01
-:10A36000C1060198C90E01720020687322182421C9
-:10A370008B5C4032D9075B08DE07C90FF60F7118F6
-:10A380005B08DE07F60F71185B08DE07F60F711821
-:10A390005B08DE07F60F71185B08DE07F60F711811
-:10A3A0005B08DE07F60F76185908891911726A7B67
-:10A3B000401C5118C0B269730528D7D3002FA9D10A
-:10A3C0000020A874FEBD4A7F2046E030022A12D049
-:10A3D000097F022913D050A173200AF0FAFD012051
-:10A3E00000900290E08BA98B484300990AF0DCFCB6
-:10A3F000A883029898E7818800910089F1E7018A93
-:10A400000091808AEDE770B504464034667B0546CE
-:10A41000002E68D0252E66D8002964D03E20405DED
-:10A42000A27B4843101825210AF0B0FC0846A1730E
-:10A430004207C908520F3C4B691820319A5C0979D0
-:10A440008A4367D031460AF0A1FC491CCAB20020F9
-:10A4500006E0002804D029184031C979511ACAB23F
-:10A46000291848235B5C93423AD320310979C943C8
-:10A47000CB07DB17D21A521E1206120E34D08B07EE
-:10A48000DB17D21A521E1206120E2FD04B07DB1703
-:10A49000D21A521E1206120E2BD00B07DB17D21A3D
-:10A4A000521E1206120E27D0CB06DB17D21A521EEE
-:10A4B0001206120E23D08B06DB17D21A521E12067A
-:10A4C000120E1FD04B06DB17D21A521E1206120EA6
-:10A4D0001BD00906C917511A491E0A06120E17D0B9
-:10A4E000401C0528B5DB70BDC00013E0C000401C57
-:10A4F00010E0C000801C0DE0C000C01C0AE0C000DD
-:10A50000001D07E0C000401D04E0C000801D01E008
-:10A51000C000C01DE07370BD7372635C6C6C5F75CE
-:10A5200074696C2E63000000EC51010010B5FF4807
-:10A530000021017041708170C17041718171C171E0
-:10A54000083009F073FB002804D0FF20F8A1843004
-:10A550000AF03FFD10BD10B5F44900204872081DF7
-:10A5600009F064FB002804D0FF20F1A1C3300AF0F9
-:10A5700030FDFFF7DBFFF148FFF782FC0021EF48D9
-:10A58000FFF7E4FC0121ED48FFF78CFC10BDE2E78A
-:10A590001B207047E5494A7A002A01D00020704705
-:10A5A000488101204872704710B5E0494A7A002A74
-:10A5B00002D04989814201D0002010BDDB48001D36
-:10A5C00009F03CFB002804D0FF20D9A1B4300AF0E8
-:10A5D00000FDD648001D09F049FBFFF7A7FF012049
-:10A5E00010BD70B5D14C0025627A002A02D0628974
-:10A5F000824201D00D700DE0227863789A4203D335
-:10A6000022786378D21A04E062782378D21A102371
-:10A610009A1A0A70FFF7C8FF002801D0657201205E
-:10A6200070BDC2494A7A002A04D04989814201D1C9
-:10A630000120704700207047BC490A784B78521CB3
-:10A640001207120F9A4207D0097822225143BC4ABE
-:10A65000891801600120704700207047B3480178D5
-:10A660004278491C0907090F914206D00178491C1C
-:10A670000907090F01700120704700207047AB499E
-:10A680004A7A002A04D04989814201D101207047C9
-:10A6900000207047A5490A784B789A4207D049783C
-:10A6A00022225143A64A89180160012070470020E8
-:10A6B000704710B59D4C20786178884216D060783C
-:10A6C000401C0007000F6070201D09F0B7FA002839
-:10A6D00004D0E078401CE070012010BDA078401C40
-:10A6E000A0709248001D09F0C1FAF5E7002010BDE6
-:10A6F0008E4801784078814201D1012070470020C6
-:10A7000070478A4801784278914202D301784078B4
-:10A7100003E041780078081A1021081AC0B2704787
-:10A720000F20704770B5814C0D46617A002916D014
-:10A730006189814213D100262E70201D09F07EFA16
-:10A74000002805D1A0782870A670201D09F08EFA87
-:10A750002878E17840182870E670012070BD00204C
-:10A7600070BD76490160704770494A7A002A04D06A
-:10A770004989814201D101207047002070476B490F
-:10A780004979002901D0002070476E4901600120FD
-:10A79000704766484179002901D0002070470121A7
-:10A7A00041710846704761494A7A002A04D04989B4
-:10A7B000814201D101207047002070475B494979EF
-:10A7C000012901D0002070475E49016001207047D7
-:10A7D00056484179012901D000207047002141717C
-:10A7E0000120704751484079012801D0012070476D
-:10A7F000002070474D494A7A002A04D04989814295
-:10A8000001D1012070470020704770B5474C0546C4
-:10A81000A0790721401C0AF0B9FAE079814208D0FA
-:10A82000A07922214843474922314018286001205D
-:10A8300070BD002070BD10B53C4C0721A079401CB4
-:10A840000AF0A4FAE079814207D0A0790721401CE0
-:10A850000AF09CFAA171012010BD002010BD334800
-:10A860008179C079814201D1012070470020704771
-:10A870002E494A7A002A04D04989814201D1012017
-:10A8800070470020704710B504462848083009F08A
-:10A89000D5F9002815D125498879CA7990420CD07C
-:10A8A000C8792221484327492231401820601F4897
-:10A8B000083009F0DBF9012010BD1C48083009F010
-:10A8C000D5F9002010BD10B504461848083009F02D
-:10A8D000B5F9002815D115498879CA7990420CD06C
-:10A8E000C8792221484317492231401820600F4877
-:10A8F000083009F0BBF9012010BD0C48083009F000
-:10A90000B5F9002010BD094810B5083009F096F9D6
-:10A91000002822D1054CA079E17988421AD0E0794B
-:10A920000721401C0AF032FAE1710DE066000020B8
-:10A930007372635C646D5F712E630000B01700205A
-:10A9400080140020A01600202046083009F08EF95F
-:10A95000012010BD0C4809F089F9002010BD0A48FB
-:10A9600008388179C079814201D1012070470020E7
-:10A970007047054808388179C079814201D10120AA
-:10A9800070470020704700006E000020704770473D
-:10A99000FF207047704770470020704700207047C5
-:10A9A000002070470020704700207047002070474B
-:10A9B000002070470020704700207047012070473A
-:10A9C000002070470020704700207047002070472B
-:10A9D000F8B5FF4D0446A87F002600280CD00029BA
-:10A9E00023D1667010202070E87FA07028462030A8
-:10A9F0000078E070AE7718E0287A012801D00020B6
-:10AA0000F8BD002911D16670F149687A01270A3131
-:10AA1000002801D0132000E0052020701422A01C83
-:10AA20000AF03AF9A7716E722E720120F8BDF8B5DE
-:10AA3000E8480078002802D00C273846F8BD0027E7
-:10AA4000E34D3C46203DAF74EF746F75AF752F75C5
-:10AA500028466F732038DE4E47737771E87D0028F3
-:10AA600004D0FEF785FDFFF744F8EC75347274727C
-:10AA7000B477D7482430FFF78DF8D5484C30FFF72E
-:10AA800089F8DAE710B5D34C00232370D04C203C72
-:10AA9000E375CF4B01241C71603B583307C3FFF7AC
-:10AAA000C6FF002804D0FF20CBA102300AF091FAA3
-:10AAB00010BDC7482038807C7047F8B5C44D0646A5
-:10AAC000407B203DE873C24837791346AF73B27BB1
-:10AAD00082710446603C217006221946601C0AF00F
-:10AAE000DBF8B07960730622F11DE01D0AF0D4F89E
-:10AAF000687B0126002800D0EE74B5484038407BC2
-:10AB0000002800D02E75002F09D0012F09D0022F68
-:10AB100024D0032F46D0FF20AFA14D3013E00021F9
-:10AB20001DE0AB4801212430FFF744F8A848E11D9F
-:10AB30002430FFF773F8607B002807D0012807D086
-:10AB4000FF20A5A143300AF044FA0CE0002100E008
-:10AB500001219F482430FFF77CF804E006219C483F
-:10AB60002430FFF727F800206875A8759848611C05
-:10AB70002430FFF745F8964821782430FFF75DF838
-:10AB8000934804214C30FFF715F89148611C4C3074
-:10AB9000FFF736F88E4821784C30FFF74EF8AE7448
-:10ABA0000020F8BD0221DAE770B5894C0125203C70
-:10ABB0000246A5758648007A002801D03A2070BD6B
-:10ABC000834860380378934206D1002262750622DA
-:10ABD000401C0AF061F86575002070BD70B5044630
-:10ABE0007B4D0020203D28752846224632380AF049
-:10ABF00053F82846203844730120287570BD7449E5
-:10AC00000871704710B5724C0022203CE2746073EA
-:10AC10000246204612380AF03FF80120E07410BDC9
-:10AC2000F8B500F04CFB6A4C0025203CE07D002884
-:10AC300004D0FEF79DFCFEF75CFFE575654E3570B0
-:10AC4000FEF75AFCA07B012804D00021084601F041
-:10AC500082FAF8BD0021022001F07DFA5C4C207AD6
-:10AC60000127002809D0A07F0028F2D10520E07735
-:10AC7000204620300570A777F8BD70780028FBD0FB
-:10AC8000534906226039487BE073C91D0846693084
-:10AC90000AF002F83C20A07227727570F8BD10B55A
-:10ACA0004B4C203CE17B207CCA0701D0C2070BD073
-:10ACB0008A070FD582070DD42620FEF7EAFA207CFA
-:10ACC00002210843207410BD2520FEF7E2FA207C03
-:10ACD0000121F6E74907F6D54007F4D42720FEF70F
-:10ACE000D8FA207C0421ECE770B53A4D287800288A
-:10ACF0007CD1374C203CA07C00287CD0FEF7F1FBB7
-:10AD00000026267466746E703046FEF7E7FB00205E
-:10AD1000FEF7E5F93448FEF7B3FA2546403D296EC3
-:10AD20008857FEF779FA3048C01EFEF792FBFEF70F
-:10AD300008FCFFF7B4FFFEF729FAFEF7CBFB012072
-:10AD4000FEF70DFB0F210520FEF744FA2978681C59
-:10AD5000FEF732FAA07B01280AD0E07C002807D059
-:10AD6000214612390846627B5630FEF790FFE674A2
-:10AD7000207D002808D0164840380146427B123911
-:10AD80008C30FEF7B6FF2675607D00280BD010488A
-:10AD9000691C2430FEF734FF0D48691C4C30FEF767
-:10ADA0002FFF6675A675E86D0178002903D001783C
-:10ADB000001DFEF713FAA86D0178002907D001786D
-:10ADC000034A401C7732FEF774FE0120E0750EE066
-:10ADD00034180020740000207372635C6C6C5F6137
-:10ADE00064762E6300000000F751010003E0FEF7D7
-:10ADF00083FB002070BD0C2070BDFB49486070478C
-:10AE000070B50546FEF79DFB002D06D00020FEF72D
-:10AE10005CFAFEF7BBF9FFF742FFF44C607C0028B8
-:10AE200009D0A07B012803D1F149F2480AF0D1F8FA
-:10AE3000FFF7F6FE70BD0126002D05D00220FEF7BB
-:10AE40008EFAEA4820304671E8484430FEF759FB54
-:10AE5000012008F0A8FDFEF7A1F9A07B00280FD083
-:10AE600001280DD002280BD003280BD0E148E0497F
-:10AE70001E300AF0AEF8E07B217C884306D009E062
-:10AE8000032000E00120FEF720FAF4E7A07B012870
-:10AE900003D06674D448067070BD00202074F9E7B2
-:10AEA00010B5FEF71EFBD048007800280ED1CF4821
-:10AEB000807C00280AD00020FFF7A2FFF6F781FA75
-:10AEC000CA4820300079012806D007E000F0F7F9E1
-:10AED000FEF712FB0C2010BDF8F79AF8002010BD09
-:10AEE000C14901204870704770B500F0DAFF0028B2
-:10AEF0001BD0FF202D30FEF7E5F9BB4E3078BB4C60
-:10AF00002034012814D0022801D003282ED0A520F7
-:10AF1000B74980000AF05DF83078002807D0F6F7CE
-:10AF200050FA207901282BD02FE0FFF779FE70BD71
-:10AF3000AE4DA87B032819D0FEF7F4FAE87D00286F
-:10AF400003D0FEF7C6FDFEF70CFBA8489430FEF7D1
-:10AF5000D8FA012008F028FDA87B01280BD0A179A0
-:10AF60006F20012906D0032904D004E00120FFF757
-:10AF700047FFD1E77F20FEF7A8F902203070CBE72A
-:10AF80006079002801D1FEF7A1FB0020607170BD3F
-:10AF900070B5964CE07D002803D0FEF7E9FAFEF785
-:10AFA000A8FD00F07EFF00281CD08F4D28780228D5
-:10AFB00003D08F4990480AF00CF8A07B012814D0E8
-:10AFC000FF202D30FEF77EF90120FFF719FF2878CA
-:10AFD000002809D0F6F7F5F9844C203420790128AF
-:10AFE00006D00AE0FFF71CFE70BD99208000E9E75B
-:10AFF0006079002801D1FEF769FB0020607170BD07
-:10B00000F8B50446FEF738F90746FEF78DFD01282E
-:10B0100027D0002674480078022804D07648744966
-:10B020003C3009F0D6FF714DE87D002803D0FEF7D3
-:10B030009FFAFEF75EFDFEF784FA6C489430FEF747
-:10B04000DBFD21006D4C009064D0FEF7BFF80028B6
-:10B0500060D0009803000AF0ADF8065D5D5D065D06
-:10B060001E5D0126D6E7A87B012853D0374304D1C3
-:10B07000A079002801D002284CD160484C30FEF75E
-:10B0800040FA012008F08FFC0120FEF71EF9564817
-:10B090000321017045E059487430C178D438C27931
-:10B0A00091421DD10146D4310A79037A9A4217D1CF
-:10B0B0004A79437A9A4213D18A79837A9A420FD194
-:10B0C000CA79C37A9A420BD10A7A037B9A4207D192
-:10B0D0000978407B4906C90F814201D1012100E076
-:10B0E0000021A87B012802D0002803D012E000290B
-:10B0F00007D10FE0374304D1A079002801D00128FF
-:10B1000008D13E487430FEF798FE002802D0A87D92
-:10B11000002810D0FF202D30FEF7D4F80120FFF7D3
-:10B120006FFE3148007800286AD0F6F74AF9207996
-:10B1300001286ED0C0E02C4F30497868042283315A
-:10B14000343009F0A9FD2D484021743000784006C4
-:10B15000C20F78680A54294906227731413009F034
-:10B160009BFD2649786803228731383009F094FD29
-:10B1700022483B217430827D78680A541F4974311B
-:10B180000A7ECB7D12021A4382878A7E4B7E120290
-:10B190001A43C2830A7FCB7E1102194301841749E7
-:10B1A00074318A7F4B7F1102194341841349052270
-:10B1B0009331243009F070FD10497F68943108798B
-:10B1C000C20638462030D20E0090827709794909AC
-:10B1D000C177207A00281DD0A07F00285BD1607A3B
-:10B1E00000280ED013200DE0740000201418002059
-:10B1F000D8AD0000F9030000BF02000034180020A1
-:10B200005CE00520E0773449002008700120A07739
-:10B2100041E04CE03048E97D1038002924D000217D
-:10B22000A172B989A1814021C95DE1733946062225
-:10B23000413109F031FDF88BE082388C2083788C25
-:10B2400060830098C07F2077607F400840003043D3
-:10B250006077FEF776FC617F4000C907C90F0143A4
-:10B2600061770120607215E00021A172B989A18186
-:10B270004021C95DE17339460622413109F00CFDD8
-:10B28000F88BE082388C2083788C60830098C07FB4
-:10B29000207701202072114D0020287000F00FF857
-:10B2A000FEF72AF90120696800F055FF39E7607957
-:10B2B000002801D1FEF70AFA00206071F8BD10B530
-:10B2C000FEF74AF9FEF73DF9FEF78BF80020FDF78F
-:10B2D000FCFFFEF7CAF810BD5418002074000020CF
-:10B2E0008107C90E002808DA0007000F0838800817
-:10B2F000FD4A80008018C06904E08008FB4A800095
-:10B3000080180068C8400006800F704710B500F034
-:10B310007BFF10BD70B5F64C0546A26800290DD024
-:10B32000002A04D0FF20F3A14C3009F052FEA560A2
-:10B33000F6F748F80220F6F73FF870BD002A04D16E
-:10B34000FF20ECA1543009F044FE0020A060F6F785
-:10B350003AF80120F6F738F870BDE5481030C07EA5
-:10B36000002801D00020704701207047E0481030CD
-:10B37000C07E7047DE483430C07E70470021C17601
-:10B38000817601600162DA481030C07E002807D162
-:10B39000D7483430C07E002802D1D549012008703A
-:10B3A000704710B50B46C17E847EA14204D0114681
-:10B3B000184607F0B4FB10BDFFF7E0FF10BD38B52D
-:10B3C000CB4C606801684978012924D00121684686
-:10B3D00006F05EF968460078CA49000209F0D6FC1A
-:10B3E00060680268C0685268511807F0B5F9616872
-:10B3F000C860BF49606834310022884215D0018B93
-:10B40000002912D04272032101720271021D017FD4
-:10B41000FFF7C7FF38BD7D21C068C90007F09CF960
-:10B420006168C860B8480861E3E7018B491C018383
-:10B4300002214172E7E7FFB5AD4F02461037386A87
-:10B440003C68056889B060680790A948C1680291A6
-:10B450006B880B98C01A80B208900C98002804D012
-:10B46000264638362046483002E03E1D28466430E5
-:10B47000059003203071002A15D0012A7ED0022ABF
-:10B4800052D0032A7BD09BA1A04809F0A2FD0C98C2
-:10B490000028307974D0032804D09C4895A1093045
-:10B4A00009F097FD40E1002904D1984891A169383D
-:10B4B00009F08FFD9549A88FA839484340180A998B
-:10B4C00000F0A8FEA0619149E88BA83948430A9989
-:10B4D00000F0A0FEE06186488C4AC068A98FA83AB7
-:10B4E000514384464118A069894A091A8A183B21A8
-:10B4F000A262864B495DA83B594341180818FF30AA
-:10B500001630206260626046101AFF38ED2135382F
-:10B51000C9008842BBD27F49884204D27B4875A1CA
-:10B520005C3809F056FDBAE0784AA88FA83AE1687D
-:10B53000504308180A9900F06DFEA0617349E88B2A
-:10B54000A83948430A9900F065FEE0616848C06880
-:10B55000002804D16D4867A1543809F03AFD5820FD
-:10B56000405B6D4A0028A88FE16822D0504308183C
-:10B57000A169401AA0622169A06802E022E051E0BE
-:10B58000CDE04843A169644A40183B21495D5143DD
-:10B5900041180818FF3014302062E88BE1695043ED
-:10B5A000411A0F208001081A60625148A16AC068E0
-:10B5B0006DE050430818A169401A3968D3384968CA
-:10B5C0004018D7E7284640300290008B002801D071
-:10B5D000002904D14D4847A13C3809F0FAFCE88B1A
-:10B5E0004D494843E169401AA062029A138B2269CF
-:10B5F0009B1A9C46A3685343A2699A186346594311
-:10B6000051183B22525D444B5A438A185118FF315E
-:10B61000143121620F218901411A61623449C968DC
-:10B62000401A35E00C98002803D03420005D002833
-:10B6300074D1E88B38494843E169401A0899484376
-:10B64000A062284640300690008B0028079829D039
-:10B65000002804D02D4827A1163809F0BAFC069816
-:10B660002D4A018B08980818E16948434000FF30D3
-:10B6700014302062E88B5043411A0F208001081AD1
-:10B68000606200F0C1FD00281CD0A16A0298081A6F
-:10B69000FF38ED212338C900884200D3F7E60220A5
-:10B6A0003071F4E6002802D00298002804D117482F
-:10B6B00010A11D3809F08DFC0798A16AD33808182D
-:10B6C000A062CCE706F0B1FD7A690146104607F0AA
-:10B6D000D5FFA16A081AFF38ED211E38C90088423B
-:10B6E000DCD201200DB0F0BD00ED00E000E400E090
-:10B6F000D01800207372635C6C6C5F6C6D2E7330BD
-:10B700002E63000010270000B78913008A0500008F
-:10B7100036040000A3020000E20400002AE003282F
-:10B7200002D1FD4807210170A16A786907F014F879
-:10B73000B060616A206A884202D90598016001E020
-:10B74000059908600598F54900680818F060A9880F
-:10B750000B98081A00B2002801DD022000E000204A
-:10B7600070710C9830700C98002805D03420005D62
-:10B77000002801D00220B5E70C9801214840203470
-:10B780006075397F32463846FFF70BFE0020A9E787
-:10B7900010B5E14900284A68116A096807D01268A3
-:10B7A000C98BDF4BD2695943891A09F0EFFA10BDF2
-:10B7B000F8B5D94F35227868016A0C680168525C87
-:10B7C000002A0AD0498E6288914206D1407A002828
-:10B7D00003D1D449D44809F0FCFB06F026FD01460C
-:10B7E0007868406907F04AFFFFF7D2FF79686588FB
-:10B7F0000B682E185A8EB24202DB521C5A8602E0A7
-:10B80000401C2818588608683622125C002A05D188
-:10B81000428E23899A4201D1521C4286088B03280A
-:10B8200002D2401C088302E00868408EA0802046B7
-:10B830004030C18A808A081A6188401E401885B24B
-:10B84000203416E0096AE67F097976004B00B74993
-:10B85000007DCB5A895BC91889B20023FFF7EBFD45
-:10B86000002811D0012810D0AF48AE493A3009F075
-:10B87000B0FB79680868428EAB1A1BB2002BE1DA84
-:10B880000820E07400F00BFEF8BD78680068418E77
-:10B89000491C4186EDE770B51F209F4D002128709F
-:10B8A000E960A868C27E130009F084FC04545403C4
-:10B8B0004654026A14680268117002685160006898
-:10B8C0002030407D002808D106F0AFFCA968096847
-:10B8D000096C07F0D3FE002815DCA86801684A8EC1
-:10B8E00061888A4204D12289511A6181628004E010
-:10B8F000511A61810168498E61800268C1681164D2
-:10B90000C16841610FE0A8680168098E6288891AE0
-:10B9100061810168098E618001680A6CC2600A6CED
-:10B920004261886C6066204601F06DFC00280ED0F4
-:10B930007B487C49BD3808E0C1684161FFF7D4F914
-:10B94000002804D076487749B73809F042FBF5F76C
-:10B9500038FD70BD72487349B038F6E710B56E4ACD
-:10B960000B00526809F026FC0906090F1E0C2D2D4C
-:10B97000082A2D00FFF78FFF10BD00F059FC10BD05
-:10B98000FDF7A9FE10BDD07E022805D0D07E032889
-:10B9900005D0644966480EE0FFF70AFF10BDFFF7C7
-:10B9A0000EFD10BDD07E0228F6D0D07E0328F6D042
-:10B9B0005F485C490B3009F00CFBF0E706F01BFC1C
-:10B9C00010BD23205749000109F003FB10BDF3B55A
-:10B9D00081B0514C029825460026012710350300FE
-:10B9E00009F0E8FB0906313C3C3143433C3C430051
-:10B9F000494801211030FFF78DFC02990198FFF7AB
-:10BA0000ADFFE87E022828D1A0680468006A0668B5
-:10BA100006F0EAFBF18B424A5143E269891AD339B5
-:10BA2000FF223232E162904202D24248081802E01C
-:10BA3000081A41494018E0624048E16A814200D852
-:10BA40000846E06206E001460198FFF787FFE87EBE
-:10BA5000022802D1286820300775FEBD01466560C6
-:10BA60000198FFF77BFF6660FEBDFF202D49C130C6
-:10BA700009F0AFFAFEBDF8B5064627480D4600248A
-:10BA80003430254F0B0009F095FB09060C10100C03
-:10BA9000161610101600204801213430FFF73AFC2A
-:10BAA00029463046FFF75AFFF8BD78603046FFF769
-:10BAB00055FF7C60F8BDFF201A49F53009F089FA7E
-:10BAC000F8BDF0B5144C0020616885B003268E7671
-:10BAD000CA7E0746032A03D0C97E00293FD03FE033
-:10BAE000087F002804D112480E49D93009F071FAB4
-:10BAF0006068057F684606710221417106F095FB7A
-:10BB00000290FF20F53003900121684601706946DC
-:10BB1000284607F004F814E0D0180020EF160000C3
-:10BB2000E2040000F4B6000074060000FC510100BD
-:10BB30001602000084F8FFFFB5F9FFFF161200009F
-:10BB400020BF6068007F07F025FE0028F8D06068FD
-:10BB5000007F06F050FB60680777FFF70FFC0120BD
-:10BB600061688F7605B0BEE5FD494A68907600E0D1
-:10BB700020BF4A68D07E002803D0D07E937E9842B2
-:10BB8000F6D0D07E002803D00020002191767047A7
-:10BB90000120FAE770B5F24900241031CA7EF04D59
-:10BBA000032A03D02431CA7E032A17D169600028F2
-:10BBB00010D001280AD0EB49EB4809F00AFA00201E
-:10BBC0006968002C0860686008D070BD0320FFF72A
-:10BBD000CBFF01E0FFF775FF0446F0E70C2070BDD6
-:10BBE000F8B5DF4F04461F25E67E330009F0E2FA80
-:10BBF000042A20031B20DA481030844203D0D9499C
-:10BC0000DA4809F0E6F902207C60FFF7ADFF002872
-:10BC100005D07968002008600862786012E00C2581
-:10BC2000002078600BE00120FFF7B4FF054604E038
-:10BC3000CE48CC490C3009F0CCF9002D02D0E07E82
-:10BC4000B042D1D1E07E002804D0C848C5491230A6
-:10BC500009F0BFF9F8BDC24810B51030FFF7C0FFBA
-:10BC6000BF483430FFF7BCFFBD490020583108758C
-:10BC7000BF494870BA49103148610A4624325061C0
-:10BC800088769076012210390A708860486010BD6D
-:10BC900070B504460120FFF723FBC5B20B20FFF768
-:10BCA0001FFBC0B2854204D0B048AE49343809F019
-:10BCB00090F90120FFF714FBC5B21820FFF710FB25
-:10BCC000C0B2854204D0A948A649333809F081F9A9
-:10BCD0000420C043FFF704FBC5B21920FFF700FBA7
-:10BCE000C0B2854204D0A1489E49323809F071F9AA
-:10BCF0009F489B490C38047000201031C876887624
-:10BD00000A462432D0769076994B0124083B1C7168
-:10BD100018600862106208601060FFF79CFF70BD39
-:10BD20008F48007870479249083908717047F3B519
-:10BD30000D468B4983B01031CA7E08462430884CAA
-:10BD4000002A02D1C27E002A03D0C97E022903D074
-:10BD500005E08848616006E0C17E002901D00C2022
-:10BD600000E76060844806F0F2F96168087760686F
-:10BD70007F490160007F002804D17B4879496238FF
-:10BD800009F027F906F030FA7C49884200D20846CB
-:10BD9000FF30C83086B260680321C1760027012DCC
-:10BDA0002FD0724A0399121D5143026851600068F6
-:10BDB00001210170684605F06BFC68460078704907
-:10BDC000000208F0E3FF019106F02FFA01997118C3
-:10BDD00006F0C2FC6168032DC86021D06948086183
-:10BDE000606803210172022141720771021D017F07
-:10BDF000FFF7D7FA6068078307202070002067608C
-:10BE0000B0E606F012FA314606F0A6FC6168C8609A
-:10BE10005D48086108680770096801204870DFE71D
-:10BE20005A48DCE77047F8B54D4E1036F17E0029D0
-:10BE300004D131462431C97E002901D00C20F8BD3F
-:10BE40000221F176464C4A4F5834083F376234603D
-:10BE5000002538602575397920304A004C49C07F6B
-:10BE60008A5A4000085A2B46101881B22A462846A2
-:10BE7000FFF7E1FA002804D03B483A49323009F094
-:10BE8000A8F825610120A5602075658625863448BF
-:10BE90007830857539684888401E48803583002091
-:10BEA000F8BD10B52E4901248868827E032A0CD083
-:10BEB00000684078002806D0C8683649884202D910
-:10BEC0000024FFF70DF8204610BD0024FBE72448AE
-:10BED000826813681978491C1970C1681068C26AB1
-:10BEE000914204D8007D012801D001207047002034
-:10BEF000704700207047F8B51948194C1030606041
-:10BF0000016A00260D68006834212F460E54403720
-:10BF1000B97C002963D1007D032860D106F085F942
-:10BF200001466068406907F0A9FB002857DDFFF76C
-:10BF30002FFC6988401C41186068026811860068FF
-:10BF40002989028E91424AD9012120308175F88ACF
-:10BF5000B98A401A6988401E401887B238E000004C
-:10BF6000D0180020F4B600008D0300006D02000020
-:10BF700088000020CFB9000077BA0000F605000065
-:10BF800010270000CB120000B7891300B70800008B
-:10BF9000FC5101002E841300096A09794A00CD4939
-:10BFA0008B5A028E007D94463F22525D5200895A80
-:10BFB000C91889B201236246FFF73DFA00280ED066
-:10BFC00001280ED002280AD0C349C44809F001F85C
-:10BFD00061680868028EBA1A12B2002ADCDA66605A
-:10BFE000F8BD60680068018E491C0186F0E7F8B56D
-:10BFF000BB4D0026AA680128116A0C6810D00720E2
-:10C00000287006F05DF8B7480078F6F7AFFDA8682D
-:10C010000683026861885186006820308675F8BD05
-:10C02000087913684100AB481F7D415A032F18D08F
-:10C030001A7D022A22D01A7D012AE2D13F231B5DFC
-:10C0400022895B00C05A0023401881B20120FFF70B
-:10C05000F2F90028D5D0A1489F49B53008F0B9FFC2
-:10C06000CFE71E6112683F2396601B5D22895B004B
-:10C07000C05A0023401881B20320E8E75822125B1F
-:10C080001A613F231B5D22895B00C05A00234018C0
-:10C0900081B20220FFF7CFF9AA6801211268117559
-:10C0A000D7E738B58E4C0021A0680D46006842786D
-:10C0B000002A01D045701FE00078002809D0012136
-:10C0C000684605F0E5FA684600788749000208F0FE
-:10C0D0005DFEA0680268C0685268511806F03CFB1B
-:10C0E0000146A068C160057102214172021D017FF5
-:10C0F000FFF757F9A068058305F0E2FF794800785B
-:10C10000F6F734FD38BD10B50146754A0B0090684E
-:10C1100009F050F8060D150408190C1C012100F057
-:10C12000A6F807E00021506800F0A1F810BD01203A
-:10C13000FFF75DFF00210846FFF7ECF810BD00682F
-:10C140000321017510BD00F0A5F810BD62496748D4
-:10C1500008F03FFF10BD70B5614C002809D00128E0
-:10C1600016D0022821D061485B49243008F031FF05
-:10C1700070BDFFF796FF00210846FFF7CBF8A068D7
-:10C18000807E002801D01F2000E00720207070BDB5
-:10C19000A068002501684D70FFF7F0F80320F6F75E
-:10C1A00023FC05F08DFFA56070BDFFF77AFFA06846
-:10C1B000FFF7E4F800210846FFF7ACF80420F6F793
-:10C1C00013FC70BD46498968CA7E022A08D10A68F4
-:10C1D0001378002B04D150600968CA6A1018C8622D
-:10C1E000704710B53E4A00290CD0012907D002291A
-:10C1F00007D03E483849443008F0EBFE10BD401EE1
-:10C2000000E0401FD06010BD35488068002800D095
-:10C210000120704710B504460020002907D034489B
-:10C2200008F0B4FD0146204608F0B0FD401C10BDEA
-:10C2300010B52B488068C07E030008F0BBFF0414D3
-:10C2400014030A1401F0F2F800280BD022492948FF
-:10C2500006E0FEF725FE002804D026481E49001DF2
-:10C2600008F0B7FE10BD23481B490B30F8E710B5A6
-:10C270000446002903D00020FFF7B9FE03E0194867
-:10C280000078F6F773FC2046FFF778F80020F6F701
-:10C29000ABFB10BD10B512488268106A11680068C7
-:10C2A000CB698B60134BC18B9B3359431368D960A7
-:10C2B0000146E0314B8883870C783B231C548B88E4
-:10C2C000C383CB88038409894184116802200875DF
-:10C2D00010BD0000FC510100F4B600005A06000039
-:10C2E000D01800207C00002010270000B2070000BA
-:10C2F00040420F0047040000F8B5FEF702FA064678
-:10C30000FEF770FAF94D07466879F94C002809D014
-:10C31000012823D0022826D003282ED0FF20F5A103
-:10C32000C63033E0F2481830FEF748FA002801D052
-:10C3300003200FE0EE481830FEF7ACF9002804D0D7
-:10C3400060696030007A002806D0E9481830FEF7AE
-:10C3500008FA012068711BE00220FBE7E44818306E
-:10C36000FEF7FFF914E0E2481830FEF793F90028D1
-:10C370000ED1FF20DFA1B83008E0DD481830FEF70D
-:10C380001DFA002804D1FF20DAA1C03008F021FEF8
-:10C39000A169F722087810400870AA79D207120F15
-:10C3A0001043FB2210400870EA79D207520F104365
-:10C3B00008706B79EF22022B04D0012B07D0032BDE
-:10C3C00007D00CE0012E06D8002F04D007E07F1E16
-:10C3D0003E43002E03D010401022104300E01040D6
-:10C3E0000870287C002811D0687901280ED0BF4839
-:10C3F0005438FDF786F8BD49606954397830A26930
-:10C40000FDF7E3FA0020FDF7EFFA04E00846FDF738
-:10C4100078F8FDF70CFBA0690078C00606D4E06947
-:10C420000078C00602D4E079002802D0A079002864
-:10C4300001D0012000E00320FCF747FF032020701B
-:10C4400001202071F8BDAA4810B51C30FEF7DDF9B7
-:10C45000A74C002802D00020607004E0012060702A
-:10C46000A2485438E061A148407C002802D060789E
-:10C47000002805D0E069FDF744F8FDF7D8FA10BDB3
-:10C480009A485438FDF73DF8984A6069543AA0300C
-:10C49000E169FDF79AFA0120FDF7A6FA10BD10B583
-:10C4A00093490022486932238276C27601221A54C7
-:10C4B0004030807C002803D00A700021022001E077
-:10C4C00000210320FFF71FFE10BD70B5884C607976
-:10C4D000C2062046416908464030002A01DA00229F
-:10C4E00002E0028B4B89D2180B460283C0331A7EBE
-:10C4F000002A03D0828B4D8952198283627A002AE6
-:10C5000003D03D2001F0C9F852E08A7E032A4FD0C3
-:10C51000227A002A13D0500701D4D00601D51E205C
-:10C5200036E0100701D53D2032E0D00705D1900755
-:10C5300003D470A1734808F04CFD2A2028E0603134
-:10C540008A78002A05D0C28B551CC5830D88AA4263
-:10C550000FD25A7F062A02D01A7F062A05D1428BB3
-:10C56000531C438309888A4203D2828BC18A8A4240
-:10C5700001D322200CE0027C808A002A0FD00628FA
-:10C580000FD35A48C07B012801D03E2000E008208C
-:10C5900001F083F86069807E032809D001E08842B9
-:10C5A000F5D20120207000210846FFF7ACFD70BDD8
-:10C5B000FFF775FF70BD10B54C494D48CA7B002A86
-:10C5C0002BD0012A29D0022A27D0032A04D049A13E
-:10C5D0004D4808F0FEFC10BD897B02290FD00729C9
-:10C5E0001BD0406901464031CA8A898A511A891E86
-:10C5F00089B2032900D30321028951180BE0406955
-:10C60000014640318A8A032A01D2018903E0428827
-:10C61000C98A5118491C818010BD4069F5E700B5F1
-:10C62000030008F0C7FD0604070B0F1212170029BC
-:10C630000ED00FE0491E02290AD90BE0491F01293B
-:10C6400006D907E0072903D004E00A390C2901D8EC
-:10C65000012000BD002000BDFEB50546244818306D
-:10C66000FEF78DF8002804D1274822A1CF3808F022
-:10C67000B0FC1F4CA069FDF703FC0321A069FDF786
-:10C680002DFCA069EF220178114001702946FDF7C9
-:10C6900069FC002601272B0008F08CFD0E5D5D086B
-:10C6A0005D1D6161155D4D5D613D385D60697121A4
-:10C6B000095C002901D0062101E0C030417EA0695B
-:10C6C000FDF71BFD4BE0E069FDF776FC0146A06934
-:10C6D000FDF784FD43E06169A069D031FDF747FDB6
-:10C6E0006169A0699531FDF750FD38E0C819002057
-:10C6F000900000207372635C6C6C5F736C61766594
-:10C700002E6300006B020000780800000621A0697B
-:10C71000FDF760FD23E020690178A069FDF744FD85
-:10C7200020698188A069FDF741FD20694188A069E1
-:10C73000FDF740FD13E00096019660696030007CD3
-:10C74000002803D069460878384308706946A06914
-:10C75000FDF756FD03E0FE49FE4808F03AFCFEF7FF
-:10C7600018F8002804D1FB48F949801D08F031FC75
-:10C770000C2D07D0072D04D060695E210E52603069
-:10C780008770FEBD606940304683FEBDF0B5F24C57
-:10C79000DC2061698DB0405C042809D0052834D1C3
-:10C7A0006031487A002829D001204874022026E010
-:10C7B0001022EA31684600F0A8FF61691022C831F2
-:10C7C00004A800F0A2FF684605F0BBF8616908AA5A
-:10C7D0006CCA0F46CB6778378A670846FE608030A0
-:10C7E000BD60074620376CC7002303634363012005
-:10C7F000A0310876D9494874052000E00D20FFF7E4
-:10C800002BFF61690020C03108770DB0F0BDF8B58D
-:10C81000D1481830FDF7B3FF002842D0CE4C207A23
-:10C8200000283ED160690025C030007ECB4E002834
-:10C830000BD0B17B0120FFF7F2FE002805D1B17BC0
-:10C840000420FFF7ECFE002806D060690127C03005
-:10C85000407F062807D00CE060695C210D526030F3
-:10C86000457402202FE0B17B0420FFF7D8FE00289A
-:10C8700010D0B07B030008F09DFC173F3F3F3F1EE8
-:10C880003F3F3F3D3F203F3F3F292C3F3F3F3F3F02
-:10C890003F2F3F0060696A21095CC90702D0C030A0
-:10C8A0004577F8BD0C20FFF7D7FE60696030817ACC
-:10C8B00039438172F8BD072005E0FDF7D0FF00285D
-:10C8C000F8D075740B20FFF7C7FEF8BD00F02CFF01
-:10C8D000F8BDFFF75BFFF8BD606900218030816023
-:10C8E000C160057437740620FFF7B6FE60696030DA
-:10C8F0008570F8BD0920E6E700F0D8FEF8BD70B5F8
-:10C90000964DA87B072834D1934CDE22606941887C
-:10C91000125A491C91422CD1217A002929D1014671
-:10C92000E0318B88C28B934207D1CA88068CB24211
-:10C9300003D10A89468CB2420DD0884A8689303AA2
-:10C9400056819381CB88D3810989118201462E318A
-:10C9500051600121117001221146FDF79FFC002159
-:10C960000420FFF7D0FB61690020C0314877A8732D
-:10C97000E87370BD70B5794CA07B162803D074495C
-:10C98000774808F026FB74480021426973486032FA
-:10C99000117291703038067E0B250123002E06D0CF
-:10C9A000027D002A12D14575817503750EE0567A15
-:10C9B000002E06D051722288828381760C22027664
-:10C9C00004E022888283817683770576A17370BD27
-:10C9D000F8B5614DA879800723D5287A002820D1A1
-:10C9E0005E4C0120A17BFFF71AFE002819D1A8692F
-:10C9F0000127C0780026030008F0DCFB0E62620805
-:10CA0000622E3B4F0A62146220524562022021E0EE
-:10CA1000A07B042804D052484D49333808F0D9FA95
-:10CA2000A673F8BDA07B082804D04D4848492D388E
-:10CA300008F0CFFA686960308670F1E7A07B0A28B9
-:10CA400004D047484249263808F0C3FA6869603084
-:10CA500007720B20A073F8BDA07B0E2804D0AB207A
-:10CA60003B49C00008F0B5FA6869603007720F20D2
-:10CA7000F0E7A07B0F2804D039483549183808F072
-:10CA8000A8FA1120E6E7A07B0F2804D034483049EB
-:10CA9000123808F09EFA1320DCE7FFF76BFFF8BDB1
-:10CAA00069690846C0310A7F062A04D16030807A5D
-:10CAB000800700D50E77487F0628F0D14E77F8BD65
-:10CAC000274823496E3008F084FAF8BD10B5234C8E
-:10CAD0000020A17BFFF7A3FD002804D11E480122FE
-:10CAE000017A114301720420A07310BD10B51A4CD5
-:10CAF00060690146C0314A7F002A06D0097F0629B5
-:10CB000003D0217A0122114321726030807A80079C
-:10CB100015D4E069FDF752FB61696031C872E069C4
-:10CB2000FDF74EFB616960318881E069FDF74DFBDF
-:10CB3000616902226031C881887A10438872606915
-:10CB400000220146C0310B7F062B00D10A7709E095
-:10CB5000F4C60000ED07000090000020C819002076
-:10CB6000770500006A231B5CDB0703D106234B77A4
-:10CB70004030428310BDF8B5FE48817B0020FFF7AE
-:10CB80004EFDFD4C0126002807D160696030407AD7
-:10CB9000002802D1207A30432072616900255E208E
-:10CBA000455262204654C831E069FDF7C8FA616910
-:10CBB000E0699131FDF7D2FA6169042208469131AA
-:10CBC000B93008F069F8EB483038017E08270029B1
-:10CBD00006D0017D002912D14775857506750EE0D6
-:10CBE0006169054689894183E249E0691439FDF7A5
-:10CBF0008EFAE049E0690C39FDF796FA2F76DD48A8
-:10CC00000E218173F8BD70B5DA4D0020A97BFFF7C6
-:10CC100006FDD94C002803D1207A01210843207257
-:10CC2000E069FDF730FA00280ED0E069FDF726FA3A
-:10CC30006169DE225052498800F0C1FD002806D00B
-:10CC4000282000F02AFD70BDFFF740FF70BDE069AD
-:10CC5000FDF70EFA6169E0310870E069FDF701FA4D
-:10CC60006169E0314880E069FDF7E0F96169E03130
-:10CC70008880E069FDF7E3F96169E031C880E06927
-:10CC8000FDF7E6F96169E03108810720A87370BDFE
-:10CC9000F8B5B94CA079C0076FD0207A00286CD1C4
-:10CCA000B44D0120A97BFFF7BAFC002853D1E069FD
-:10CCB0000027C178022201260B0008F07BFA0D162E
-:10CCC0001308354A4A384C474A1929444A00FDF7A7
-:10CCD00016FA6169DA225054AE735E204752603111
-:10CCE0008E7038E000F076FD35E0FFF78CFF32E023
-:10CCF000A97B0020FFF793FC002802D1207A304363
-:10CD0000207260695E210F52603086700A2018E040
-:10CD1000A87B0B2802D0207A104320722F74606900
-:10CD2000603046720C200CE0FFF725FF13E0A87B73
-:10CD3000112802D0207A1043207260696030877019
-:10CD40001620A87307E0FFF7D1FE04E000F00FFD06
-:10CD500001E0FFF7BBFEFDF76EFD002804D14F2078
-:10CD60008649000108F035F9606900238030016BC5
-:10CD7000426B491C5A4142630163F8BDF8B57D4FCF
-:10CD8000012814D1787C002802D1387C002801D0F9
-:10CD9000FCF74DFEFCF7E0FBFCF7D3FB0020FCF7B3
-:10CDA00094FAFCF71EFBFCF760FBFCF7A5FBF87B95
-:10CDB00001260025704C00280FD16079C10705D0ED
-:10CDC0000220F87360694030057402E0800717D5CF
-:10CDD000FE7300210120FFF796F9F87B012802D0AD
-:10CDE000022808D00CE06079C00709D00220F8734F
-:10CDF0006069403005746079000701D50320F8733D
-:10CE000000F018FDFFF703FD2079002801D03D81D7
-:10CE100002E03889401C38816079C007606904D01D
-:10CE200072210D544030858203E04030818A491CD4
-:10CE30008182E079002806D061696031887C02280F
-:10CE400006D8401C887460696030807C022804D950
-:10CE50003D817D81606960308574B97B0020FFF77A
-:10CE6000DEFB002802D1B87B06284BD16069014661
-:10CE7000C0310A7F062A45D0497F062942D03D4964
-:10CE8000C97B03293ED16030807C00283AD1FDF770
-:10CE90002FFC002836D0FDF7A5FC002832D06169B0
-:10CEA000C88801282ED90A4640325674D08A978AFB
-:10CEB000831E9F4201DB012002E0C01B401E80B2A6
-:10CEC0002C4B1F89A3899F4201D3012302E0DB1B66
-:10CED0005B1C9BB2984200D91846012800D15574BA
-:10CEE0002A22525C002A11D0224A898D52898A4214
-:10CEF00001D3012102E0891A491C89B2884205D96F
-:10CF0000084603E06169012040314D7461694A8837
-:10CF100010180881FFF74FFB6069122215490C3089
-:10CF200007F0BAFEFFF7D1FAFEF7E3FF00280AD0B8
-:10CF3000104810388179002905D161690246898934
-:10CF4000203A118586710C481C30FDF7BCFC002886
-:10CF50000FD0E06900788007800F012809D00228EF
-:10CF600007D0FDF7D0FC002803D10449044808F09D
-:10CF700030F807E0C819002090000020F4C6000037
-:10CF80007F030000606940308574F8BD70B5FE4CC9
-:10CF9000607900283CD0FD4D022810D1FDF789FBB7
-:10CFA000002803D1FA49FB4808F013F86A69002306
-:10CFB00080329068D168401C5941D1609060002651
-:10CFC00066712079012804D12671A87910210843BF
-:10CFD000A871E078012816D1E670A87908210843E5
-:10CFE000A871FDF7F5FB002804D1EA48E84918309C
-:10CFF00007F0EFFF6969002380318A68C868521C16
-:10D0000058418A60C860A079012802D00120A0712F
-:10D0100070BDA67170BDF8B5DC4CDB4DE269002730
-:10D020001078042183079B0FE8790126012B11D08A
-:10D03000022B0FD0032B01D0207A30E06178002939
-:10D0400005D1AE70A1793143A17123E0EF71F8BD34
-:10D05000EE71F8BD5278D3061CD060780028F8D164
-:10D06000D006C00E1B2818D8607908436071FDF700
-:10D07000E2FB002804D1C748C5494B3007F0A9FF9F
-:10D08000606900238030026B416B521C594102637E
-:10D090004163E8790128DBD1D8E7207A10210843E1
-:10D0A0002072F8BDF8B5B84D0446303D287D002704
-:10D0B00000280AD0002978D1677010202070687D80
-:10D0C000A070A87DE0702F756FE02878002814D03C
-:10D0D00000296AD1072067702E462070083607E0C5
-:10D0E000686807802F700A223146A01C07F0D4FD23
-:10D0F00028780028F4D1A77057E0287EA24E143E6D
-:10D10000002837D0002950D1297EA0480B0008F014
-:10D1100051F80D2C2C2C2C2C2C2C2C112C2C2008C8
-:10D120002C0067700C212170A97EA1704069808954
-:10D13000A08018E008216770217040690A46808944
-:10D14000914960801439201D07F0A6FD3089A08127
-:10D1500009E067700B212170A97EA1704069808968
-:10D16000A080A87FA0712F761FE089498A4807F028
-:10D1700030FF1AE0844810388279002A08D000294C
-:10D1800013D1677011212170B189618087710CE022
-:10D19000827A002A0BD0002907D1677012212170F2
-:10D1A000318A6180718AA18087720120F8BD0020D8
-:10D1B000F8BD76480078012801D00C2070477249EC
-:10D1C0000020303908700875087620318871704762
-:10D1D00070B56E4C064620780D46002804D093208A
-:10D1E0006B49000107F0F5FE01202661E07225621F
-:10D1F0002070FFF7DEFF002804D0674864494930FB
-:10D2000007F0E7FE70BDF8B5604C2178012902D126
-:10D210002178012901D00C20F8BD01460546606146
-:10D2200012220C31584807F037FD01274035AF7402
-:10D23000554D2888FDF723FA002827D02888FDF7C8
-:10D24000D9FA002822D02888FDF78EFA00281DD0B0
-:10D250002888FDF7A8FA002818D0FCF742F9606981
-:10D260000026C088002825D048481830FDF787FAE6
-:10D2700000281FD06069C030007E00281AD0A97B2A
-:10D280000120FFF7CCF9002802D013E01220F8BDEE
-:10D29000A97B0420FFF7C3F900280BD16069014680
-:10D2A0004030868360314E740220FFF7D5F9606903
-:10D2B00040304674344830380078002806D1606920
-:10D2C000C18D008C814201D9A18102E06069008C8E
-:10D2D000A08160694189491E8AB2298989182981FA
-:10D2E000297B002902D06E812E7302E0698989189A
-:10D2F0006981014640318B8A9B188B82C388012B40
-:10D3000001D85B1CC380002A01D060308674A87BE2
-:10D31000032816D0487C002815D02889A189884286
-:10D3200011D2FDF7E5F900280DD060692A21095CCA
-:10D3300000290BD06989808D814207D3A670E770E0
-:10D340000CE0A7700AE0A670E67007E0688900218B
-:10D35000401C6881A7700520FEF7D5FE6069512149
-:10D360000E54A97B052901D0062920D1DE2142884F
-:10D37000095A511A09B2002919DB01460522E03188
-:10D380002430F3F721FF09E0C819002090000020A5
-:10D39000F4C6000039070000F10800000122022154
-:10D3A0006069FCF77BFF6069C0304677AE736069E7
-:10D3B0004189FDF728F8A07800282AD1606920303B
-:10D3C000807A002800D06E810120FBF788FE60691A
-:10D3D0003830FCF73EF860693430FBF751FF216AC2
-:10D3E00000200856FBF718FF0120FCF777F8FBF741
-:10D3F000D1FEFCF76FF80120FBF7B1FF6069406ECA
-:10D40000FCF782F8FFF71FF860694030C07BFBF73C
-:10D4100040FF6671E671A6712672A6726672267169
-:10D4200002202070FCF768F80020F8BD10B5F74C1A
-:10D430002078022801D00C2010BDA078002803D04D
-:10D440000020FFF79BFC17E0FCF74BF800F01DF9FC
-:10D4500060692030007C012809D0FCF79FF8FBF7B9
-:10D460009EFEF3F7AEFFE07A012803D004E0FCF75C
-:10D470009DF8F4E7F5F7CCFD002010BDE349C87234
-:10D48000704710B5E14C2078032803D0E049E1480B
-:10D4900007F09FFDE04801218278002A06D0002293
-:10D4A00082700171A27904231A43A271A2691378D0
-:10D4B000DB439B0707D1C378002B04D1C170A0794F
-:10D4C00002210843A0711078C00606D4E0690078F4
-:10D4D000C00602D4E07900280CD06078002809D179
-:10D4E000A079002806D1FEF7F2FC002802D0207AAD
-:10D4F000002803D00120FFF741FC03E0FEF7A3FF63
-:10D5000000F0C3F82078012806D0F3F75AFFE07A3C
-:10D51000012801D1FCF7DAF810BD38B5BB4C6069C1
-:10D520002030007C012820D1A07A00281DD1684637
-:10D53000FCF744F8002818D061693120405C0128CC
-:10D5400010D1B54A0D236D460020D356285683428C
-:10D5500008D050738989303A9185114620318873FB
-:10D5600001208872A07A401CA07238BD70B5A74C0B
-:10D5700006462078042804D0A648A549553007F06F
-:10D5800028FD607910210843A34D6071002E47D01B
-:10D59000FCF765FA61780126084300280ED1687C03
-:10D5A00000280BD0E0694178C90607D00078E979F6
-:10D5B0000007C00F884201D1667247E0E07800287A
-:10D5C00009D0E0694178C90605D10078C00602D4C7
-:10D5D000FFF7A3FF3AE0FFF7A0FFE069A979007821
-:10D5E0004007C00F884205D0FFF7D0FC60790821C2
-:10D5F00008436071E069E97900780007C00F88424C
-:10D6000001D1FFF708FD6079304360710020E071BF
-:10D61000A079000702D5A87B022817D0207A13E052
-:10D62000022108436071E079401CC0B2E07101281A
-:10D630000CD8687C00280DD0774854384078C10653
-:10D64000C90E052906D2C006002803D00120FFF725
-:10D6500095FB01E0FEF750FE2078012806D0F3F795
-:10D66000B0FEE07A012801D1FCF730F870BD10B5AA
-:10D6700066480078042804D066486549B73007F04A
-:10D68000A8FC0120FFF77AFB10BD10B50720FBF7BF
-:10D690001CFE5E490420087010BD5C4933224969B4
-:10D6A00050545D4A032090738876704710B5574CEC
-:10D6B0006069C030007F00281CD0062806D056487C
-:10D6C000817B0020FEF7ABFF002813D06069014684
-:10D6D000C0310A7F130007F06DFD070D0D0D0D0D14
-:10D6E0000D050D006030807AC20704D0C04380076A
-:10D6F00000D1087710BD0C20FEF7AEFF6069012253
-:10D700006030817A1143817210BD10B5002A0AD0B1
-:10D71000002306E0D41A6418203CE47FC4545B1C48
-:10D72000DBB29342F6D310BD10B503F0B0FF0C2866
-:10D730001CD3364C08216069D03003F0A9FF0028C3
-:10D7400006D060690421953003F0A2FF002803D1C0
-:10D750002F49324807F03DFC6169042208469531A3
-:10D76000BD3007F099FA0420FEF776FF10BD7CB5B6
-:10D77000294E0020B17BFEF752FF0125234C0028E3
-:10D7800002D1207A284320726946E069FCF73EFD09
-:10D79000684600780021C207D20F684602706069AF
-:10D7A000002A02D06030057401E0603001746069C5
-:10D7B0005E221152603085700820B0737CBD401A23
-:10D7C000174900B2884201DC002801DC01207047C3
-:10D7D0000020704770B5104D0020A97BFEF71FFF99
-:10D7E0000A4C002803D1207A012108432072E06905
-:10D7F000FCF77EFC6169DE2250524988FFF7DFFFAB
-:10D8000000280FD02820FFF748FF70BD90000020AF
-:10D81000F4C60000330A0000C819002062060000A8
-:10D82000FE7F00006169E069E031FCF755FC0520EE
-:10D83000A873EAE770B500F047F8384C384D6079C6
-:10D84000400709D5A97B0520FEF7E9FE002803D093
-:10D85000207A082108432072FFF71AFA00F012F824
-:10D86000FFF7B6F8A079C00609D5A87B030007F03A
-:10D87000A1FC06060606060604060620A873FFF7A6
-:10D880003EF8C2E710B525488179490714D5017AD9
-:10D89000002911D12249897B0B0007F08BFC080D70
-:10D8A000050D0D0D0E0D100D4069002262210A5468
-:10D8B000C030807EFFF7F1FE10BD012100E00221A3
-:10D8C0004069C030417710BD10B51448817909070F
-:10D8D0001DD5017A00291AD1114A947B230007F043
-:10D8E00069FC1416160B16161616161616161616AC
-:10D8F0001616161616161716406960308170407C91
-:10D90000002801D0062000E01620FFF7C6FE10BD5B
-:10D910004069603001728170917310BD90000020E9
-:10D92000C819002010B5031D03600020521E04E03A
-:10D930005C181C60401C2346C0B29042F8DB0020FB
-:10D94000186010BD01460A680020002A02D0104667
-:10D9500012680A60704702680A6001607047000040
-:10D9600000B51A2822D00ADC030007F023FC0D11B1
-:10D970001F131F1F191915171F1F1F1B1F002A28F0
-:10D9800014DD3A38030007F015FC030F11091100EC
-:10D99000002000BD1E4800BD042000BD0D2000BDBC
-:10D9A0000F2000BD082000BD112000BD032000BDD8
-:10D9B00010B50C46F4F784FF00281AD02046F4F77F
-:10D9C00084F9002812D020780E280BD00F2809D017
-:10D9D000022807D0032805D00EA1772007F0F9FA16
-:10D9E000002010BDA078FFF7BBFF10BD09A17D206E
-:10D9F000F4E708A18320F1E710B5F4F7EDF810BDC6
-:10DA000010B5F4F762F910BD10B5F4F744F910BD84
-:10DA1000023000007372635C686F73745F686369DF
-:10DA20002E630000F0B597B00021032004F082F9C6
-:10DA30000025FE4E022775807574347C12E0F06874
-:10DA4000E1004018818800290CD0858069460F705C
-:10DA50004D7001680291808869468880002168467F
-:10DA6000F8F702FD2046641EE4B20028E7D117B0A3
-:10DA7000F0BDEE4BD86019741A80D3E7EB49EC4B3C
-:10DA80004A8800201A4200D00120497C002901D098
-:10DA9000082108437047F7B504460E460078012177
-:10DAA000E34A8140521C114098B0E04A00915188ED
-:10DAB000E04B994205D0009B002B05D0DC4B19426E
-:10DAC00002D001201BB0F0BD009BD84A1943518001
-:10DAD0001A9D002D11D00020287022781A98002756
-:10DAE000401C130007F066FB10EF0D152137555D44
-:10DAF0006A39AFAB85B3EEEDECEF0B28EDD0042027
-:10DB0000E0E702212970A1880170090A4170032011
-:10DB100093E004212970A1880170090A4170E1880D
-:10DB20008170090AC170052087E006212970A1884B
-:10DB30000170090A4170E1888170090AC170218968
-:10DB40000171090A4171A289E81D216907F0A4F851
-:10DB5000A089C01D71E0082129702178082901D110
-:10DB600010212970A1880170090A4170E188817033
-:10DB7000090AC1700520308020466A1D01A90830BD
-:10DB800003F0CFFB00287DD1694630880979401821
-:10DB900053E00A212970A1880170090A417003200D
-:10DBA0000AE00C212970A1880170090A4170E188FE
-:10DBB0008170090AC170052030809DE0A0888446EC
-:10DBC0004000401C81B2308888425BD3052959D37C
-:10DBD0000E202870002008E0A36842009B5A5219CA
-:10DBE00053701B0A401C937080B26045F4D331809F
-:10DBF000B6E08E49487C002873D0401E4874C8683F
-:10DC000021790822C9004518A988286840180838D1
-:10DC1000A16807F041F802216846017100214171B5
-:10DC200028680390A98868460181002101A8F8F7B7
-:10DC30001BFC0020A880002E00D0308090E02978C6
-:10DC400080221143297029784022114329702978B4
-:10DC50008909890112312970A1880170090A41706E
-:10DC6000E288E81CA16807F017F8E088C01C308043
-:10DC70002878410640D5C00972D00121684601715B
-:10DC8000002100E02BE041713188ED1C091D01816C
-:10DC90001A980390E08840190490001D634D059088
-:10DCA000297C68460176002101A8F8F7DDFB0746CC
-:10DCB00030880C303080022F06D0002F50D060E02A
-:10DCC0003CE032E01CE059E06946097EE868CA00A1
-:10DCD00080182A7C914202D28188002902D0042730
-:10DCE0004FE02EE0697C491C69741A990160318803
-:10DCF00081800020308044E04C48A188C1802FE022
-:10DD000029788909890116312970A1880170090AC9
-:10DD10004170E1888170090AC1702289681DE1683B
-:10DD200006F0BAFF2089401D46E728788009800167
-:10DD3000183028702079687002207EE73B480A047A
-:10DD400001D405271DE00289A3889A4201D0062745
-:10DD500017E01E222A70012249043280490C4180BA
-:10DD6000009800280DD0314D0022288811468300EC
-:10DD7000032003F03AFF2078287107E0002030806C
-:10DD800003272A48009942888A434280384699E608
-:10DD9000F7B59AB002000C4606D0172A04D82348DB
-:10DDA000244B4088984202D107201DB0F0BD237853
-:10DDB0005D0601D4DB0901D00820F6E700236D469B
-:10DDC0002B706B701D462378611C9F06931E189361
-:10DDD000531E19939BB2169302AB1793134BBF0EAE
-:10DDE000DE883B0007F0E6F9208511F15EF16BF16A
-:10DDF000A3F1C6F1F2F1FBF1EEF1EDF1ECF1F1F18D
-:10DE0000EBF1EAF1E9F1E8F185F1052A71D104229B
-:10DE100069460A7005490A7969460A71E178A3786A
-:10DE20000A021A436946CA80227905E0DC190020FB
-:10DE3000FE710000FFFF00004A7061788906890EBC
-:10DE40000C2923D009DC891E0B0007F0B3F9091354
-:10DE500052155219521B521D520012291CD004DCBB
-:10DE60000E2915D01029D1D114E0162916D0182961
-:10DE7000CCD115E0800700E04007002839DA2AE11C
-:10DE80000007FAE7C006F8E78006F6E74006F4E781
-:10DE90000006F2E7C005F0E7C004EEE78004ECE717
-:10DEA0004004EAE7800724D5032AAFD105206A465B
-:10DEB0001070487809780002084390800BE1400711
-:10DEC000F1D5062A15D31898617880B2012902D0BD
-:10DED00002299BD101E0022700E0102706226946B3
-:10DEE0000A7000228A8001AEA11C0236BA1C179269
-:10DEF00018E0B6E04A780B7812021A433280801E8E
-:10DF0000891C1890B21C1691384603F0E4F9169952
-:10DF100018986B469A88C919C01BB61D521C9A8066
-:10DF2000179A80B28242E5D900289CD1D3E000073D
-:10DF3000B9D51998694682B20720087000208880F8
-:10DF4000601C891D11E0437806781B0233430B8067
-:10DF5000C37886781B0233434B806E46121FB3880A
-:10DF6000001D091D5B1C92B2B380042AEBD2002A6B
-:10DF700077D1B0E0C00674D5022A72D31898082170
-:10DF800082B2684601700021C18063780371A01CD1
-:10DF900017990EE04678077836023E430E80861CBD
-:10DFA0004E606F46D21AFE88C0180831761C92B2B5
-:10DFB000FE809342EED9DAE76FE076E065E051E06B
-:10DFC00046E01EE014E00AE000E0A0E0800648D54C
-:10DFD00009206A46107096801698D0800FE040069F
-:10DFE0003FD50A22684602708680169AC28006E0F3
-:10DFF000000636D50B206A46107016989080029164
-:10E0000069E0C0052DD5022A7FD318980C2182B271
-:10E01000684601700021C18063780371A01C1799C4
-:10E0200013E04678077836023E430E80C67887783C
-:10E0300036023E434E80061D4E606F46D21AFE8861
-:10E04000C0180831761C92B2FE809342E9D98EE75F
-:10E05000C0045AD5012A58D10D2168460170868026
-:10E0600039E052E0800450D5052A4ED30E2368468D
-:10E0700003708680C8788B78010219436846C18096
-:10E08000521F0281601D039025E040043DD5012A06
-:10E090003BD10F20694608701DE0030435D44B784E
-:10E0A0000E781B023343244E3381032A2DD31B2FBA
-:10E0B00027D011236E46337001261F4BF6033043E1
-:10E0C000588048780B780102194368468180D21E37
-:10E0D000C280E01C029020788006800E1B280AD0A7
-:10E0E0001D2808D00021032003F024FE1248418897
-:10E0F000C90BC903418068461C99F8F7B5F9284651
-:10E1000053E610206B461870DBE70725F7E7082574
-:10E11000F5E700B50022D243074997B04A800328AB
-:10E1200007D1032268460270097901710021F8F7CE
-:10E130009BF917B000BD0000DC190020FFB589B0C5
-:10E140000020019009981027FE4C1E46154608280D
-:10E1500006D0E06901F05EF8002809D03770BEE013
-:10E16000288809213843108013980227017016E08F
-:10E17000E169012088710521E269C9029180E169A4
-:10E180008872E169F0480881E16900208873288875
-:10E190002021084328801121139804270170139827
-:10E1A0000225801C0290307806900A203070E548E5
-:10E1B0001830049001F022FA0020059020462C30FF
-:10E1C00003906DE00998102808D1022D06D001991E
-:10E1D0000298A28D401A8270110AC170E08D0A99CE
-:10E1E000884202D901F0CDF806E0884204D10698B1
-:10E1F000002801D030701CE00298E18D0170090AFE
-:10E20000417012980088401BC01B82B2FF20C01BC7
-:10E21000904200D2024607A8009002980021C3193C
-:10E22000E08D01F056FA3070002805D0C0B2832886
-:10E2300058D0E08D20833EE00598002804D0206C63
-:10E2400000790A282CD336E06846808BC119C9B200
-:10E250000191022D0DD01399019A4978914202D172
-:10E26000228F824208D00191206C0178032908D0C6
-:10E2700023E0084613994870206C0178042906D0E1
-:10E2800007E000790A2818D20120059008E0E18D06
-:10E29000818002990198081802900198281885B287
-:10E2A0000399049801F0ADF9002804D11298008870
-:10E2B000401BB84286DA022D0DD00998102806D1ED
-:10E2C00002990198A28D081A8270110AC1701298E1
-:10E2D000058000203070206C0078032802D00020D8
-:10E2E0000DB0F0BD0220FBE7F8B5964A0026126D8E
-:10E2F000002A2ED0401F934D84B24035E88A234631
-:10E300000833AF8AC318BB4222D88B784F781B02E0
-:10E3100010183B4303701B0A43700B79CF781A0225
-:10E320003A438270120AC2700471220A4271224674
-:10E33000491D801D06F0B0FCE88AA41D001980B2BA
-:10E340008049E882096D002208180270427000E0DE
-:10E3500009263046F8BD30B57A4B028840339B8A97
-:10E36000934213D9774B1C6DA3185C781D78240257
-:10E370002C430BD05C791D7924022C436404640C7B
-:10E38000A41D1219028000200B6030BD822030BD18
-:10E39000F0B585B0074600266846068155E001982D
-:10E3A000417802780D021543417902790802104341
-:10E3B00000044AD43D8003A80023012200905202A9
-:10E3C0001946284601F085F9040044D168460189C0
-:10E3D0000182019841790279090211434378027858
-:10E3E0001C021443AC421CD10A041AD44A04012171
-:10E3F000520C89030A430096C178807809020143D0
-:10E400000023204600F0C1FF040010D10199487993
-:10E410000A79000210430122D20310430871000A56
-:10E42000487101A904A8FFF796FF0400D1D0019913
-:10E4300000964878097800020843694600238A89D3
-:10E44000194600F0A2FF822C05D101A902A8FFF70E
-:10E4500082FF0400A3D06846068109E0019948794B
-:10E460000A79000210434004400C0871000A487108
-:10E4700001A902A8FFF76FFF0028EFD0822C02D07D
-:10E48000204605B0F0BD0020FBE7F7B584B0144688
-:10E490000646002700F071FF2A480025006D00287D
-:10E4A0002FD0059801282CD12046FFF771FF0700D7
-:10E4B00027D1002E29D06846058118E001994878B7
-:10E4C0000978000208432080019B0095587919794A
-:10E4D0000202D8780A4301029F78587839431F789E
-:10E4E00000029B1D384300F050FF002805D101A910
-:10E4F00002A8FFF730FF0028E0D0822800D10020DA
-:10E500000746002E01D00F48056500F03AFF384657
-:10E5100007B0F0BDF0B597B00021042003F00AFC6D
-:10E52000084F00243D467C8040356C73AC73287BDB
-:10E53000B96CC00008380E18B08800280DD0012032
-:10E54000694603E0F01900200128000008703068D7
-:10E55000019000216846F9F78EFAB4803C65AC82E0
-:10E56000EC8217B0F0BDFE4B986418464030017342
-:10E570001A803838D861CDE7F949002049880A0760
-:10E5800000D501200A06120F01D002221043CA054D
-:10E5900001D5042210438A0501D5102210434905F4
-:10E5A00001D520210843EE494031497B002901D0A3
-:10E5B000082108437047FFB5A7B004002898164605
-:10E5C0001B9022D00178E6484D06428822920246EE
-:10E5D00040320092002D14DB8A06920E1E2A0ED0C5
-:10E5E000229A5205520E10D13288172A0DD3009A62
-:10E5F000927B002A09D1DB4D229AAA4205D0CA0992
-:10E6000006D08A06920E122A02D003202BB0F0BD4B
-:10E61000D348826C0098007B2590C0000838101801
-:10E620001F9048060CD40098407B002808D0009921
-:10E6300088731F99289808601F9884800220E5E756
-:10E64000002718A90F7069460F72C54902AA0A640B
-:10E65000309A4A6410A90F850F861B981D460078D2
-:10E6600020908106BE4B601F24901A462C322192C6
-:10E670002898DA691833890E1E93401C0B0006F0A7
-:10E6800099FD1FFDFD11FD1AFD90FDFCFDFBFDFA3E
-:10E69000FDF9FDFCFDF8FDFDFDF7FDF6FDFDFDFDC1
-:10E6A000FDF5FD00032C7BD10320287017226A7032
-:10E6B0000022AA70E0E2052CF5D141780278090227
-:10E6C0001143A74B10AA19831185C27880781202D2
-:10E6D00002435A8300297DD091427BD800211846FD
-:10E6E00081720181491E01841E9800F087FF052078
-:10E6F0002870A81C1D900220009021991E9800F0FF
-:10E7000080FF002803D047E018A90870F0E2944881
-:10E710002030807C012803D002206870102002E0A5
-:10E7200001206870022022908D4830302390002212
-:10E7300020A9239802F0F5FD00282AD120A800780E
-:10E740002299814225D132880099801C511A814238
-:10E750001FDB83481D99C08D0870000A48701D9802
-:10E7600020A9801C1D9000981D9A801C0090239861
-:10E7700002F0D7FD20A909781D9840181D90009837
-:10E78000401880B2009021991E9800F03AFF0028AE
-:10E79000CDD0009802288DD10A2018A908706CE20B
-:10E7A0006DE0072C6BD341780378090219436C4B59
-:10E7B0008446198310AB1985C37880781B021843EF
-:10E7C000674B0029588305D0814203D801211846A0
-:10E7D000817200E0A4E061464B7909791B020B438A
-:10E7E000038100218173104600F014FD00280FD131
-:10E7F0005B480121C26991710522C369D2029A80E6
-:10E80000C2699172C26958491181C069002181733E
-:10E810005349E01F08841B98C01D48621E9800F0F1
-:10E82000EDFE07202870681C009001201D904C48C8
-:10E830000021C18530E01D98012815D04848C169E4
-:10E84000897901292FD000981038C17B807B09027B
-:10E85000014300980170090A41700098801C0090E3
-:10E860001D98801C80B21D903D4809E013E2BEE176
-:10E870007AE1D8E00DE2A0E080E03BE01EE2B6E005
-:10E88000C18D00980170090A41700098801C0090A9
-:10E890001D98801C80B21D9021991E9800F0B1FE39
-:10E8A000002802D006E0818DD3E731881D98081A30
-:10E8B0000428C0DA1D98012800D16DE72848C169F5
-:10E8C0008979012903D0828D26498A4205D1818D1B
-:10E8D00000980170090A417009E000981038C17B66
-:10E8E000827B0802009910430870000A48701D9846
-:10E8F000801CC1E1072C01D0152C78D14178037818
-:10E9000009021943164B198310AB1985C378807817
-:10E910001B02034312480029438301D0994201D9C5
-:10E920000120F1E60E4801218172002101818173ED
-:10E93000052C07D024981B99C0B2491D02F0CBFCCE
-:10E940000028BAD100200649C04308841B980096CD
-:10E950000195007818AB8006800E1CAA002105E006
-:10E96000F0190020FFFF000001280000FFF7E6FB80
-:10E970000746FE4810A9008B08857EE1032CBCD118
-:10E98000402210A90A86417802780802F74910430C
-:10E99000088310A9088520A9009131886B1C491EA5
-:10E9A0008AB2002100F095FE18A90870002830D125
-:10E9B0000B20287020A8008833E0052C9DD18021F1
-:10E9C00010AB1986014640780B780202E7481A43DB
-:10E9D0000283CB7889781B021943E44B10461984D3
-:10E9E00010AB1A85E24A914202D307208CE697E0E9
-:10E9F0003F23DE4A9B021943118421AA00923288E8
-:10EA00006B1C521E92B200F064FE18A90870002818
-:10EA100003D08328B1D102272FE10D20287020A830
-:10EA20008088401C28E120990C22C9095143C91C47
-:10EA30001E91A14204D92098400671D500201BE107
-:10EA4000417800780902014310A801851B980078DD
-:10EA500042062898C01C1D90002A62DA05206A46EA
-:10EA600010721B980078C00944D0082268460272D0
-:10EA70008181A01A87B268468782289806901E98DE
-:10EA8000201A81B26846C1811D980490401806F092
-:10EA900064F9079006982599C0190890491E08A89E
-:10EAA000017102A83099F8F7E6FF07460021684691
-:10EAB0000172002F1BD0022F18D1009808A9007BEB
-:10EAC0000979401E884210DDA848289A836CC90045
-:10EAD0005A50816C08A80079C000001D0C520098A3
-:10EAE0000099407B401C4873C7E00527EAE00620F8
-:10EAF00069460872002000901E980021201A20907C
-:10EB000082B21B9B10A8DB1C008D00F03EFC01466E
-:10EB100018A80170002268460272832903D003E01E
-:10EB200093E00720E4E702271B98007840060ED503
-:10EB30008E484188C90506D510AA018B128D9142D5
-:10EB400001D100214162002018A9087094E0FF2142
-:10EB5000013110A80186018D844801832099018428
-:10EB60001D994162132085E0052C6ED3417803780E
-:10EB70000A021A4310A90A859446092269460A72B4
-:10EB80000021009101222499D20311438AB2C17855
-:10EB9000807809021B9B01435B1D604600F0F5FB7A
-:10EBA00018A90870002269460A720122520210A9AF
-:10EBB0000A86832802D0002805D099E06B48098D89
-:10EBC000018302277EE06948006D002807D02046B7
-:10EBD0001B99FFF789FB18A9087000284DD12B4617
-:10EBE000324620461B9900F024FB074645E01B985F
-:10EBF000022C4078009064D1002801D0012860D117
-:10EC00000A2168460172009901731AAA002000992E
-:10EC1000FFF73BFC0146684641730021817302A85F
-:10EC20003099F8F728FF0746002168460172012154
-:10EC3000890210A80186022F08D04C48006C807908
-:10EC4000002807D018A9087020E04BE04749009839
-:10EC5000088337E0002F03D0812018A9087031E025
-:10EC60001AAA01200099FFF710FC18A908700028C3
-:10EC700003D119202870012030806846007A0028CE
-:10EC800004D002A83099F8F7F6FE0746002F2BD0E3
-:10EC900018E0062038E522993448090711D5012CDF
-:10ECA0000FD10B2269460A72C08888810021042096
-:10ECB00003F040F8082010A90886BFE62098400617
-:10ECC00010D50327294810AA4188128E114341808C
-:10ECD0005005400E04D01F99289808601F98848022
-:10ECE000384693E404200FE518A8007800280ED0D9
-:10ECF000012028701B980078687010A8008DA870FB
-:10ED0000000AE87018A8007828710520308017489C
-:10ED100010AA4188128E91434180E1E7FFB5064673
-:10ED20009FB000201B903178012088401149124A81
-:10ED3000084010A908860D494988914203D000284F
-:10ED400004D0080702D5012023B0F0BD219D002783
-:10ED50002F7020983C46018810A8018418A80771DC
-:10ED600000F00BFB6846077202A907E0F0190020CB
-:10ED70000102000009F80000FFFF0000FA480164EA
-:10ED800001464031826C1A91097BC9000839571835
-:10ED900022994164307801282AD0022809D003281A
-:10EDA00079D12878800980011D302870EE48B1881B
-:10EDB000C1803078022804D12878800980011B3076
-:10EDC000287001A8009010A8008CEB1CC01E82B215
-:10EDD000B088002100F07DFC0028E1D1B188697085
-:10EDE000090AA9706946888810A9C01C08842DE109
-:10EDF000717918A801713079012802D00228CFD189
-:10EE0000E6E0D9487F2340881B010246184010AB3A
-:10EE10001886802840D006DC102810D020280ED07C
-:10EE200040280AD120E0FF38013859D0FF38013896
-:10EE30006AD0FF38FF3802387ED0052491E0D00632
-:10EE400001D5082000E010201B90042069460872BC
-:10EE50000020888118A800900195318919AB1CAA5F
-:10EE60001B98FFF76BF977E0BF4B3289188B824212
-:10EE70004FD10A221B92002973D101A9009110A938
-:10EE8000098C6B1C491E8AB2002100F022FC18A9D3
-:10EE900008710B2017E0F6E0B34B3289188B8242E1
-:10EEA00037D10C221B9200295BD101A9009110A936
-:10EEB000098C491E8AB21946098C6B1C00F009FCAA
-:10EEC00018A908710D2028706946888810A9401C6F
-:10EED0000884042069460872A348008B888140E0BA
-:10EEE000A14A3389108B834213D112231B9300292B
-:10EEF00037D1536A002B05D00091128C00F045FAEF
-:10EF000018A9087113205EE097483289038B9A4252
-:10EF100001D00424E7E016221B92026D002A09D1D9
-:10EF2000F268002A06D002651A98328A82821A9AFA
-:10EF30000020D082002900E02FE012D1B888396883
-:10EF4000FFF7D2F918A9087100280AD1B8882B4612
-:10EF500018AA396800F06DF90446022818D0042C6C
-:10EF600016D0B88800280FD06846007A002804D050
-:10EF700002A82299F8F77FFD04460120694608722D
-:10EF8000386803900020B880002C5FD0052C7BD01F
-:10EF90006846007A032873D0A5E018201B9000294A
-:10EFA00005D071483189018300210165D9E76E4898
-:10EFB0000246017E18320120FFF767FA18A908718E
-:10EFC0000028CED119202870012010A90884C8E794
-:10EFD0001A98407B002856D0307AC0001358001D84
-:10EFE0000193105A1D9000291AD100F0CAF9062089
-:10EFF00069460872002000901D980F3882B201986F
-:10F000008178437808021843019B0021DB1C00F043
-:10F01000BCF918A90871002269460A72832830D009
-:10F02000002118A8017110A801840121684601720D
-:10F03000019803901A981A99407B401E48731A98B9
-:10F04000807B002802D01A99401E887310A8008E79
-:10F050007F21090102468A431DD0434800220088CF
-:10F0600011468300042002F0C0FD3F483178017151
-:10F0700010A94088098E08433B4948800FE003E00F
-:10F080002BE002242FE00524374810AA4188128E75
-:10F090009143418027E034494A8882434A80684648
-:10F0A000007A002805D03048416C02A8F8F7E3FC4C
-:10F0B000044618A80079002815D01B986870012014
-:10F0C00028702948008BA870000AE87018A80079F9
-:10F0D0002871052110A8018405E02348416C02A88D
-:10F0E000F8F7C9FC044600F04CF91F484088400579
-:10F0F000400E20D11A98807B00281CD1B8880028A7
-:10F1000019D0209910AA0988118422990091396890
-:10F1100018AA219BFFF74FFA044602280BD00120C2
-:10F12000694608723868039002A82299F8F7A3FC90
-:10F1300004460020B88010A8018C20980180204649
-:10F1400002E600B50022D243074997B04A8004285E
-:10F1500007D1022268460270097901710021F8F78F
-:10F160008AFC17B000BD0000F019002010B5394C22
-:10F1700003780022216C012B02D0022B44D126E01F
-:10F180000B78002B01D0042B03D10A71226C0321D0
-:10F190001170216C83880A79D200921D8B52216CE8
-:10F1A0000A79D20008328918C2880A80216C038942
-:10F1B0000A79D2000A328B524289206C0179C90047
-:10F1C0000C314252216C0879401C087120E00A740D
-:10F1D000226C81889180216CC288CA80226C01894E
-:10F1E0001181226C41895181216CC068C860616CB9
-:10F1F000206CF8F740FC0146022807D0206C007C08
-:10F20000002802D1002903D0812010BD832010BD29
-:10F21000002010BD8178012909D100880521C9028B
-:10F22000884202D0491C884201D100207047052045
-:10F23000704710B51488844201D2052010BD1724F0
-:10F240001C701080421E491C581C05F025FD002032
-:10F2500010BD0000F019002010B58B78002B11D0E4
-:10F2600082789A4207D10B88002B0BD003E0091D4E
-:10F270008B78002B08D08B789A42F8D103880C88C1
-:10F28000A342F4D1002010BD812010BD10B500298B
-:10F2900002D001290DD102E00088000501E00088BC
-:10F2A0008004800F07D001281CD0022809D0032831
-:10F2B00010D0812010BD002901D0032010BD0220F4
-:10F2C00010BDF5F7EEFD03280CD004280AD0002865
-:10F2D00006D009E0F5F7E5FD042803D0022803D0A5
-:10F2E000052010BD002010BD0F2010BDF3B5C81CB7
-:10F2F00080080E46800081B0B04201D08620FEBD5D
-:10F30000FE4C354626600198A08000202081E080D8
-:10F3100014E0B807A978800D0843F94905F036FDD7
-:10F32000E088401CE080B80607D42089401880B2ED
-:10F3300020810199081A8019A8600C352F88780758
-:10F34000E7D40020A072FEBDEC480C22C1880089E1
-:10F350005143081880B2704770B51346E74A451804
-:10F360009488AC4201D2842070BD126810180A46FD
-:10F37000194605F091FC002070BDE049012088721B
-:10F380007047DE49002088727047FFB589B0970446
-:10F390000E460546BF0C029200F034FA040021D05C
-:10F3A000002069460873D548807A012812D00121CF
-:10F3B0002046FFF76BFF002815D12078400609D5BD
-:10F3C0000221684601730582218841828682C782B4
-:10F3D0000C9806900298000407D500273E460125A8
-:10F3E00001970CE001200DB0F0BD2078A1788007D6
-:10F3F000800D0843C249019005F0C8FC0D460298F3
-:10F4000040040AD50198A84207D12088E1788005F8
-:10F41000800F00020843B04201D3AE4201D9072059
-:10F42000E1E7B81980B20290A84201D90D20DAE7CD
-:10F430006846007B002804D003A8F8F718FB0028D2
-:10F44000D1D10198A8420BD1208803210902884319
-:10F4500002998905890F0902084320800298E0700B
-:10F460001298002800D007800C9800280CD0207833
-:10F47000000609D4A0683A4680190C9905F00CFCE6
-:10F4800020881021884320800020ACE7FFB59B4DE9
-:10F4900081B00E46E8882F680C21009048433C1844
-:10F4A0009749039805F072FC0A462889E11B8446B7
-:10F4B0000C314018318880B28B0601D5002300E062
-:10F4C00013461818AB8880B2834202D8842005B056
-:10F4D000F0BD0098894D401C80B2E88021800D99D4
-:10F4E000002900D00C600399A170E2702188039D6F
-:10F4F0008908AD058900AD0F294303252D02A943D5
-:10F500009505AD0F2D0229430425294321800C992F
-:10F51000002900D0088001998978A1710199098892
-:10F52000A1803178890601D50B9905E073496244C1
-:10F5300092B20A81991AC919A16000212173327807
-:10F54000920601D50020C2E700910B9B0A9A04990C
-:10F55000FFF71BFFBBE7FEB5044600F053F90700B9
-:10F5600008D0664D641EE8880190A6B2286834462B
-:10F57000009015E00120FEBD0C2000996043095A5F
-:10F580008A060BD489078A0D0099801C085C5C49A7
-:10F59000104305F0FBFB2889401A2881641CA4B2A3
-:10F5A0000198A042E8D8EE8000203870FEBD002807
-:10F5B00003D0401E0880002070470120704710B51E
-:10F5C0004E490288CB889A4201D3822010BD0B6835
-:10F5D0000C21514359180B88CC789B059B0F1B02BB
-:10F5E000234341608C7904738C884481C38189688A
-:10F5F000521C016102800281002010BD01210182A4
-:10F600007047FEB505460020C043088068680F4675
-:10F6100081786846817068680188684601800021A9
-:10F620008171288A2C88A04200D304462C8234E0C1
-:10F63000288A401C2882301D6968FFF70DFE0028CB
-:10F6400029D139882F48814201D1601E38806888CD
-:10F65000A04227D33088F1788005800F000208434C
-:10F6600002906946301DFFF7F7FD002813D1298964
-:10F67000244881421AD000213046FFF707FE0028B7
-:10F6800009D12A890298824205D1E968B06805F05B
-:10F69000D6FA00280AD0641CA4B2204600F0B2F8C2
-:10F6A0000600C5D1641E2C828220FEBD7C80B0790C
-:10F6B000B871B088B8803088388130788007810D83
-:10F6C000B078014379810298B881B0683861002030
-:10F6D000FEBDFFB585B014460F46059800F092F8C0
-:10F6E000050037D00548BE05807AB60D01281CD02C
-:10F6F00000212846FFF7CAFD002805E0481A00202F
-:10F7000001020000FFFF000022D1287840060CD53E
-:10F71000012168460170059981802988C180068190
-:10F720004481F8F7A4F9002812D12888AA78810723
-:10F73000890D11438005800FEA7800021043BE4214
-:10F740000AD0374A914207D3611E814204DD0B2063
-:10F7500009B0F0BD0120FBE7864201D90720F7E799
-:10F76000801B82B2A24200D922460E98002800D007
-:10F7700002800898002804D0A8688119089805F02C
-:10F780008BFA0020E4E770B514460D4600F03AF815
-:10F7900000280DD001882980002C0DD001788078B8
-:10F7A0008907890D01431E48814203D2012002E0EE
-:10F7B000012070BD00202070002070BD70B516467D
-:10F7C0000D4600F01FF804000DD02D882580FF2E77
-:10F7D00016D0A807A178800D0843114905F0D6FA84
-:10F7E000002E06D101E0012070BDFF31FF31033151
-:10F7F00089B2A170A80880008905890F084320807C
-:10F80000002070BD0749CA88824207D3002805D06E
-:10F810000C22096850430C380818704700207047C4
-:10F8200001020000481A0020F0B585B00E460546DA
-:10F830000020694608707078FE49C00003900C589B
-:10F84000FD4F002D0ED0022D73D0002C72D02078E9
-:10F85000801E030005F0AEFC09837F7F7F83797FE4
-:10F8600077727F00002C03D1F4A16B2005F0B1FB6F
-:10F870002078801E030005F09DFC09065E5E5E197F
-:10F88000365E50545E003078062803D0EBA1762017
-:10F8900005F09FFBB8687168806C032205F0FCF9E5
-:10F8A000012069460870002835D1CEE730780C2851
-:10F8B00003D0E2A1812005F08CFBE06800780028ED
-:10F8C00006D0B8687168806B102205F0E5F928E071
-:10F8D000B8681021006B05F03CFAB868816A006BCB
-:10F8E0000A787168F1E730780D2803D0D3A194200D
-:10F8F00005F06FFB04206946087071684878097844
-:10F9000000020843B9684A6A517812780902114323
-:10F91000484069468880084608E0C8A1AF2005F045
-:10F9200058FB6846007800288FD06846F5F7BEFA85
-:10F930008BE727E01CE0C1A1B420F0E7B86861695B
-:10F94000006CFEF708F8A16900E0E168B868006C97
-:10F95000FEF701F803E0B9A1E32005F03AFBB8682F
-:10F960002146006CFDF7F7FFB24A03990020505082
-:10F97000022D07D0002D05D0012D03D0AFA1EF201F
-:10F9800005F027FB05B0F0BD10B501780124012971
-:10F9900002D0022910D112E04268A74800218260FB
-:10F9A0000170A4486C38C166016741678167D289DC
-:10F9B00002214C3001F0E1F90024204610BDFF2067
-:10F9C0009EA1163005F005FBF7E7F0B505469EA1B0
-:10F9D00003C997B014911390002008A908759549A0
-:10F9E0002A781031944C0491217805910126914F89
-:10F9F000A168130005F0DEFB0CEF07309AF0EDEC88
-:10FA0000EBEAE9E9E8EF20700124FF264F360546CE
-:10FA100010A80570457001F0C1F90746012803D010
-:10FA200086A1304605F0D5FA10A93846FFF7FCFE4E
-:10FA30002046641EE4B20028EAD10A206946087014
-:10FA40006846029501F088FA002803D0FF207BA1C8
-:10FA5000583068E0002646E3C86A0078C0072FD017
-:10FA6000012069460870684601F076FA002804D043
-:10FA7000FF2072A16B3005F0ACFAA068006CFDF7B6
-:10FA800061FF050004D1FF206CA16E3005F0A1FAE2
-:10FA900008984078C0003D5006202870A068016892
-:10FAA00069600069A8606448C01CE860284601F0ED
-:10FAB00053FA022804D0FF2060A1783005F089FABB
-:10FAC000A068C06A00784007C4D501206946087064
-:10FAD000684601F041FA002804D0FF2057A1803089
-:10FAE00005F077FAA068006CFDF72CFF050004D143
-:10FAF000FF2052A1833005F06CFA08984078C000CE
-:10FB00003D5006202870A068016869600069A860FF
-:10FB10004948401DE860284601F01EFA022899D0A5
-:10FB2000FF2046A18D3005F054FA93E7A96800291B
-:10FB300033D0694608712979012932D0022904D0CD
-:10FB4000FF203EA1A73005F044FA3A4810221030B9
-:10FB5000A96805F0A1F837481030364920314860CF
-:10FB60002078C1062CD5EF2108402070032069467B
-:10FB70000870304810300290684601F00FF90446D2
-:10FB8000022808D0002C06D0012C04D0FF202BA185
-:10FB9000B83005F01EFA69466FE101216A4611711D
-:10FBA000DBE7244A04996C3AD06748608860C860F3
-:10FBB0000621A86803F0FCFE1E4910310860CAE760
-:10FBC00020210843207045E7A1E15AE119E1E6E070
-:10FBD00086E056E000E081E2886C407980090128E7
-:10FBE00004D0FF2015A1CC3005F0F3F9A068017A0C
-:10FBF000002906D1416B406801F01FFAA16801207D
-:10FC00000872012069460870684601F0A5F90028CD
-:10FC100004D0FF2009A1D73005F0DBF9A068006C03
-:10FC2000FDF790FE050004D1FF2004A1DA3005F0B5
-:10FC3000D0F90DE0C01A0020B40000207372635C9C
-:10FC4000736D2E630000000004411A8800A4800038
-:10FC500008984078C0003D5002202870A068416B91
-:10FC60006960806CC01CA860284601F075F904002A
-:10FC700004D0FF20FD49E23005F0ABF929462831D8
-:10FC8000FBE0172268460272012202708078820827
-:10FC9000287992008007800F024368468270FB201B
-:10FCA000024028794007C00F8000024368468270F6
-:10FCB000EA8882804A6C02A901F090F9002804D0F9
-:10FCC000FF20EA49F73005F084F9052108A80175FD
-:10FCD0006846017A0187A0680026406C0F9006E212
-:10FCE000012069460870684601F036F9002803D003
-:10FCF000DE49DF4805F06DF9A068006CFDF722FED3
-:10FD0000060004D18320D949800005F062F9A0687B
-:10FD1000006CFDF717FE1290002804D1D448D34997
-:10FD2000801D05F056F9D3488068006CFDF70AFE87
-:10FD3000040004D1CE48CD49093005F04AF90898AD
-:10FD40004078C0003E500A203070287A30716868D0
-:10FD5000C84DB060A868406C3061172030731298AD
-:10FD6000B4617061304601F0F7F80446022808D00B
-:10FD7000002C06D0012C04D01120BC49400105F014
-:10FD800028F92046316AFFF74FFD28780521014008
-:10FD9000042900D05EE6FB21084028702AE005987F
-:10FDA00040084000207082071CD5FD2210402070C2
-:10FDB0000F206A46107017201071486C0290684638
-:10FDC00000F0ECFF0546022808D0002D06D0012DDA
-:10FDD00004D0A748A5493A3005F0FBF86946284603
-:10FDE000FFF722FD2078052101400429D2D1FB2113
-:10FDF00008402070072008A908759E48807808767A
-:10FE000028E6012069460870684601F0A5F8002838
-:10FE100004D097489549543005F0DBF8A068006C91
-:10FE2000FDF790FD060004D113209049400105F034
-:10FE3000D0F890488068006CFDF784FD040004D180
-:10FE40008B488A495A3005F0C4F808984078C000B9
-:10FE50003E5007203070874880684068706068684E
-:10FE6000F460B060304601F077F8040004D08048B8
-:10FE70007E49653005F0ADF8316A2046FFF7D4FCC5
-:10FE8000E8E5012069460870684601F065F8002839
-:10FE900004D0774875497A3005F09BF80898407887
-:10FEA0001190A068006CFDF74DFD060004D15120B3
-:10FEB0006E49C00005F08DF8A068006CFDF742FDAA
-:10FEC000040004D16A486949823005F082F811982B
-:10FED000C0003E50C019296941600920307068682F
-:10FEE0007060A868B060A889B08163483061103044
-:10FEF000B4617061304601F02FF8022804D05C48EC
-:10FF00005A49903005F065F811982875A2E55A4ACB
-:10FF100000208C32107002206B46187001922879F4
-:10FF2000002801D0107098E0524803230C3040683C
-:10FF3000FB2703708378504A9B089B003B408370EB
-:10FF40004B7A00271B07DB0F43708C3257600B7B0B
-:10FF5000C370CB7A1372537A0C7D5B08E4075B00A5
-:10FF6000E40F23430C461534D460FD242340CC7E9B
-:10FF7000E407A40F234353720B461C3313614771EC
-:10FF800007718B7A3B4A9C070C32A40F1268012C34
-:10FF900004D19478A407A40F012C1DD09B089B00CA
-:10FFA0008B7293785B0702D48B7A5B0728D54B7AE8
-:10FFB00013AF5B075B0FDC005B00E3181478640091
-:10FFC0001B19DBB2DC083C5D5F077F0F0623DB1BE0
-:10FFD000DC40A3079B0F14E04C7A53796406640F4E
-:10FFE00023404371147906273C400471E4001C430C
-:10FFF000204B5C7083789B089B005B1C8370D0E770
-:020000040001F9
-:1000000000238478FB273C408F7A7F07FF0FBF00D7
-:100010003C4384704C7A6407640F04705078012864
-:1000200007D1487A000704D5032008A908750220E3
-:100030002DE0022B27D0012B2BD00F4B0020049A50
-:10004000D86750609060D06018467C30024610320D
-:100050005060887AFB2210408872684600F09EFE4D
-:10006000040035D0012C34D0004907E03CFC0000EE
-:1000700009020000B4000020541A00206520C000CE
-:1000800004F0A7FF25E0032008A9087501200876E1
-:10009000E3E77E4C0D21E01C04F05BFE20461030AF
-:1000A0004460022008A908750E94A868002807D0AB
-:1000B0000068206005997648202211430170CCE742
-:1000C00005980007C9D57349734804F082FFC4E757
-:1000D000002669462046FFF7A7FB04E06E486D49FD
-:1000E000203004F076FF08A8007D002802D00DA87B
-:1000F000F4F7DCFE304617B0F0BDF0B597B00C4613
-:10010000054600206946087061482F785F4E0178E7
-:10011000583E82683B0005F04DF80BAA8407263B49
-:100120004C6B79798F9CAA002B20694608730CA927
-:1001300003A8FDF73DFC002804D05748554941303D
-:1001400004F047FF55490D9804F020FE4F48016028
-:100150004F4869680C300160AA684260019108202C
-:10016000694608708CE08A0610D5DF2211400170C4
-:1001700003202070454810304168A1604068002885
-:1001800002D00020207177E00120FBE7102256E02A
-:100190002B20694608733D4903A85C39FDF708FC2C
-:1001A000002804D03C483B496A3004F012FF042088
-:1001B0001BE02A206946087303A8102202306968F0
-:1001C00004F06AFD07A810220230A96804F064FD5B
-:1001D0002E4903A85C39FDF7EBFB002804D0392039
-:1001E0002C49000104F0F5FE05202070666043E014
-:1001F0002A79002A02D001221143017005206946A4
-:10020000087028798880A868029039E0D06A402375
-:10021000018819430180D06B6968102204F03CFD0D
-:100220002AE0FB2211400170062069460870A96887
-:1002300068680291019023E0CB0703D002221143AA
-:10024000017058E70F20207017202071506CA060BB
-:1002500012E0937A9B0706D0D26A44781388FF3461
-:1002600001342343138004221143017004E00A483F
-:100270000849BD3004F0ADFE684600780028E0D0A3
-:100280006846F4F713FE36E701207047D01A0020C5
-:10029000B40000203CFC00001503000040420F00A9
-:1002A00070B504780D460646230004F083FF0B1C4E
-:1002B000181C1C1C1C07181C1C181C0000210520E5
-:1002C00001F038FDB068007805280CD0FA4800220B
-:1002D000008811468300052001F087FC03E000211F
-:1002E000052001F027FD002D0ED0002028702946A2
-:1002F0003046FFF702FFF1482978005D884201D1BE
-:10030000032070BD022070BD00213046FFF7F5FECE
-:10031000002070BD30B5E8494B68497A0A011146A2
-:100320000C315C5C032C0CD0044600252034257174
-:1003300025725C5CA500AA18641C5C5498500320CC
-:1003400030BD062030BDF0B50446264620360D46A9
-:100350003279012008218FB0002A0CD0012A21D047
-:10036000022A2BD0032A04D12A78052A01D1297028
-:1003700000200FB0F0BD01203071606800280AD065
-:10038000A069017061684160216981606169C16033
-:10039000FFF7C0FFEDE707202870206968606069FB
-:1003A000A86009E029780729E3D1022030710520EF
-:1003B0002870C248203868600320DAE729780529C8
-:1003C000D7D1A08910280AD9103880B2A081A1689D
-:1003D0001023091803A86A6800F054FE2DE01028C5
-:1003E00004D0C1B20BAA1020A76809E0102322692B
-:1003F000A16817E0491EC9B2401EC0B27B5C13540D
-:100400000029F7D100280AD0401EC0B28021115423
-:10041000002102E0401EC0B211540028FAD16269E6
-:1004200010230BA907A800F02DFE102307A903A88D
-:100430006A6800F027FE032030716068019003A80D
-:10044000029005206946087029466846FFF728FF94
-:100450008FE7F0B5044626460D4620363179012057
-:100460008DB000290BD0012938D0022905D1297877
-:10047000052902D10920287000200DB0F0BD217D92
-:100480006846CA07D20F02738807C10F6846017415
-:10049000012203A905A800F0EDFD04A9012205AF82
-:1004A000481D00F0E7FD0722B81CE16800F0E2FDFE
-:1004B00007A807220130216900F0DCFD6068019087
-:1004C00009A80290102305AAA16800F0DBFD012015
-:1004D0003071052168460170294621E029780529F7
-:1004E000CBD1062203A8E16900F0C4FD04A80622CE
-:1004F0000230A16900F0BEFD042106A800F0B2FDA3
-:100500006068019007A80290102303AA696800F0B0
-:10051000B9FD0220307105206946087029466846F9
-:10052000FFF7BEFEA9E7F0B5074685B00D460020EF
-:10053000694608703E466248203632798179133820
-:1005400001240078130004F035FE180DFEFDFCFBBD
-:10055000FAF9F8F7F6F5F4F3F2F1F0EFEEEDECEB73
-:10056000EAE9E8E7B968039100291BD0012269464E
-:100570000A7003220A710A224A7139690291397993
-:1005800000297DD0039A1278002A7AD00C2A78D2DA
-:10059000130004F00FFE0BEF09EF354D8498B0F116
-:1005A000EDECEF000020C8E30021062001F0C2FBC3
-:1005B0003879072866D1424C133C2078022802D0B3
-:1005C00000287FD101E00020207003980079C11F2E
-:1005D0000A2901D30A2598E1607039480722C01F13
-:1005E000039900F047FD0120307120700220694618
-:1005F00008703348801F01903869401C029037E230
-:1006000011293DD12E4C133C0228DAD16068617863
-:10061000007A884201D9062577E1039926481022FD
-:10062000491C303800F026FD03202070022045E1EF
-:100630001129E6D1224C133C0428C2D10520207098
-:1006400003991D481022491C203800F013FD062094
-:100650003071786903210170626851684160164900
-:100660002039816021460C31C160C91D0161017DC5
-:10067000537A49084900DB07DB0F1943017502E093
-:1006800070E354E384E1D3688361FD231940537A16
-:100690009B07DB0F5B0019430175116976E10229A5
-:1006A000AFD1002867D005206946087103984078CB
-:1006B00048713869029051E3241B00203452010034
-:1006C000DB00002082E011299BD1F74C06287DD168
-:1006D000A0680399806B1022491C00F0CBFC062116
-:1006E0006846017038690290002168460171FFF781
-:1006F000D7FD072057E00B299BD1EB4C07287ED173
-:10070000A0680399006B0222491C00F0B3FCA068AA
-:100710000822406B039917E00EE116E3FDE2DDE2EB
-:10072000C7E2BCE29EE267E248E241E21FE2F5E195
-:10073000DFE1C8E1BEE1B1E1A5E16AE147E128E11D
-:10074000DAE0BEE0AFE075E0C91C00F093FC0621E2
-:100750006846017038690290002168460171FFF710
-:100760009FFD204613304179490849003EE041E0B1
-:100770001BE001E05CE0EFE2112991D1CA4C0828AE
-:100780003DD1A0680399C06B1022491C00F072FC97
-:10079000062168460170386902900021684601719F
-:1007A000FFF77EFD09202070C9E208298CD1BE49DF
-:1007B000092824D1039842788868016C0A7003994B
-:1007C000406C0622891C00F055FC00E017E0062171
-:1007D0006846017038690290002168460171FFF790
-:1007E0005FFDB14813304179FD221FE041715EE2A7
-:1007F0003071F2E11129C0D1AB490A2801D0082596
-:1008000083E088680399806C1022491C00F032FC58
-:10081000062168460170386902900021684601711E
-:10082000FFF73EFDA04813304179FB221140DDE780
-:1008300007256AE0297802297ED19B490128FBD14E
-:100840006A684A6015780846002D5CD106216A4620
-:1008500011703969029107211171029902240C70FB
-:10086000CA785207520FCA704B795B075B0F4B7106
-:100870008B795B075B0F8B71D20701D18A714A714B
-:1008800005460A794078824200D26A70864807227B
-:10089000133000F0EFFB00202C70307101466846E9
-:1008A000FFF7FEFC4BE229780429C5D103286FD15C
-:1008B00008227E48696800F0DDFB032030710420C7
-:1008C000F2E129780429B7D1774F0328B4D17748CA
-:1008D00008220830696800F0CDFB04203071786888
-:1008E0004168002906D00321297000212971406840
-:1008F000A86072E10320D7E1287803289CD12879E9
-:1009000000281AD00546002D16D006216846017031
-:100910003869029002216846017102980521017030
-:10092000457000216846FFF7BBFC01216846017055
-:1009300004210171457115E293E15B49A86849689A
-:100940000028486001D15A48486005203071786914
-:10095000032202704A684260544A8260524A0C3252
-:10096000C260D21D0261027D4B7A5208DB07520041
-:10097000DB0F1A430275CB688361FD231A404B7A63
-:100980009B07DB0F5B001A4302750969C16130E107
-:100990000DE12978092988D14349032885D104200C
-:1009A00008700620694608703869029011200871A5
-:1009B000029803210170401C1022696800F05AFB64
-:1009C00000216846FFF76CFC00203071B7E1297800
-:1009D000092993D1052891D134496A68203910201A
-:1009E000401EC0B20B5C145CA34203D0002004255F
-:1009F00030718AE70028F3D107203071786904212B
-:100A00000170294949684968416028498160103965
-:100A1000EEE028780A28BED10620694608703869B9
-:100A2000029011200871029804210170401C1022CC
-:100A30001E4900F01FFB00216846FFF731FC1A48F1
-:100A4000102140786A68091AC9B2101800F00AFB30
-:100A50006868019014481330C178C9070BD08179B8
-:100A6000002902D14079002805D0082030711BE10F
-:100A700029466846EFE0072069460870002168466D
-:100A8000FFF70EFC5FE128780E2884D106486968DC
-:100A900081608969407808700920A9E6C80701D0FB
-:100AA0000A20FFE00F20A3E6C8000020141B00204E
-:100AB0001452010028780F2879D1A8683861287964
-:100AC00038730B20FAE628780428F5D1FC4C6968C5
-:100AD000A0680822006A00F0CDFA0C203071786915
-:100AE0000722B9690270A268D3684360126A826003
-:100AF0007EE028780D28DFD1F14C6968A0680223D8
-:100B00000269C06900F0BEFA0D20307178690621D3
-:100B10000170A1688A684260096966E028780C283B
-:100B2000CAD1E74C6968A0686278406A00F0A2FA0E
-:100B30006078A2681021091A526AC9B2101800F030
-:100B400091FA0621684601703869029011226846C0
-:100B50000271029810220170A168401C496A00F0DD
-:100B600089FA00216846FFF79BFB0E206EE028788B
-:100B70000F2876D1062168460170386902900B2152
-:100B800068460171029C0720CD4D2070A8680222A2
-:100B9000C169601C00F06EFAA8680822016AE01CB6
-:100BA00000F068FA00216846FFF77AFB7AE7C8E0B0
-:100BB000880701D5102075E0132019E628780F2842
-:100BC0004FD1A86838612879387311203071BC483A
-:100BD000816848690078002801D00324CAE0786958
-:100BE00006220270C9684160B6498160B549091D95
-:100BF000C160FFF78FFB30E0B14880684169097838
-:100C000000290CD129780C292BD1AD4C6968806A58
-:100C1000102200F02FFAA16801204969087006210E
-:100C20006846017038690290112168460171029886
-:100C300008210170A249401C89681022896A00F0CD
-:100C400019FA00216846FFF72BFB122030710921A9
-:100C5000684601702946FFF723FB044601287DD032
-:100C600088E06FE028780F286CD10620694608706C
-:100C70003869029008200871029809210170904992
-:100C800089680A78D207D20F427049680622801C10
-:100C900000F0F0F900216846FFF702FB8CE74807F7
-:100CA00005D514203071092069460870E0E6162049
-:100CB0009EE528780F2851D1A868386128793873C3
-:100CC000152030717869062101707D4989688A682C
-:100CD0004260096981607B49891D89E728780C2871
-:100CE00045D1774C6968A0681022C06A00F0C2F94B
-:100CF0000620694608703869029011200871029830
-:100D00000A210170A168401CC96A102200F0B2F9E2
-:100D100000216846FFF7C4FAC9E7694813304079F3
-:100D2000002810D0C10703D065480621017006E0F5
-:100D3000800701D5082000E00A20614908700024DE
-:100D400018E00BE013E0172052E55D49002805D0BC
-:100D50000020307108700A206946087068460078E3
-:100D6000002804D000216846FFF79AFA002454486E
-:100D700000210170204605B0F0BD10B5524BFF2494
-:100D80005C72586019721A80002204E0491EC9B2D0
-:100D90000B010C33C2540029F8D110BDF0B54A4EF6
-:100DA0000546717A01208DB0FF2971D00127727A32
-:100DB000736811015C180C31595C8900091F645873
-:100DC0006A7021780B0004F0F5F90B960709272CBF
-:100DD00059888D4A4F5492002F707CE02146203173
-:100DE0000A9109790120002902D0012967D10EE07A
-:100DF0006068019005A802900D21C01C00F032F936
-:100E0000032205A8A16800F035F90A984EE0297878
-:100E1000052974D106215DE029462046FFF719FB1C
-:100E200069E021462031069109790120002902D08C
-:100E3000012964D10EE06068019007A802900822A1
-:100E4000E16800F017F9082209A8A16800F012F97A
-:100E500006982BE02978052951D10A213AE0294644
-:100E6000204600F01AF946E029462046FFF76BFAC3
-:100E700041E029462046FFF756FB3CE02146203161
-:100E8000059109790120002903D0012937D11DE0FE
-:100E900056E06068019007A802900822A16800F05F
-:100EA000E9F8082109A800F0DDF8059869460771FE
-:100EB0000520087029466846FFF7F2F91BE00BE0B1
-:100EC000C80000200C520100241B002029780529AD
-:100ED00015D10B212970002011E02946204600F091
-:100EE00023F908E02946204600F04EF903E02946A0
-:100EF0002046FFF7C9F9002801D001280CD125624E
-:100F0000717A736809010C315A5C521E1206120E76
-:100F10005A5401D003204AE70328FCD0737A726840
-:100F200019011D010D312C46515C7172FF270D34E2
-:100F300017550C35545D002C02D0FF2903D1737274
-:100F40000DB0F0BD21460C010D34145DFF2CF9D11C
-:100F500009010D315354F3E770B5AD4C0546607A85
-:100F6000214603464A6811E0010108460C30105C36
-:100F700008E0401EC0B286008E199659AE4201D1DB
-:100F8000042070BD0028F4D10D31505CFF28EBD156
-:100F90009F480021007A01E0491CC9B2884204D967
-:100FA0000E010C36965D002EF6D1884201D8052040
-:100FB00070BD08010D30135461722846FFF7AAF97D
-:100FC000032806D0617A626809010D31515C6172B3
-:100FD00070BD28462830FFF7E1FE70BD10B50478DB
-:100FE0000123012C14D10C78022C11D30B23137084
-:100FF00083785B075B0F537002220A708088002899
-:1010000005D0830000221146062000F0EEFD0023EB
-:10101000184610BD0EB50022012105280AD0062869
-:1010200007D1684601700221017142710021FFF76A
-:1010300064F80EBD68460170F6E710B58EB00C4638
-:1010400006216A461170019072480290001D0390BB
-:101050006846FFF781FF102220460B9900F00AF83E
-:101060000EB010BD002202E0491EC9B24254002950
-:10107000FAD1704703E0521ED2B28B5C8354002A2F
-:10108000F9D1704730B505E05B1EDBB2CC5CD55CB6
-:101090006C40C454002BF7D130BD3EB5044620301F
-:1010A0000D4602790121002A02D0012A3AD10FE02F
-:1010B00061680191574908310291012101710520B0
-:1010C0006946087029466846FFF7EAF8014629E0B4
-:1010D0002878052826D169681022A06800F087F8D2
-:1010E0006868C07B000606D54A4AA06810231832FB
-:1010F0000146FFF7C7FF1022A168E06800F077F80B
-:10110000A068C07B000606D5424AE068102318326A
-:101110000146FFF7B7FF07202870A0686860E06805
-:101120000021A86008463EBDF0B5044626460F469D
-:1011300020363179012089B0002909D0012905D153
-:101140003978052902D10C203870002009B0F0BD93
-:10115000606803AD01900295022203A8A168FFF721
-:1011600089FF0222A81CE168FFF784FF0C21281DDB
-:10117000FFF778FF01203071052069460870394675
-:101180006846FFF78DF8E1E710B5034620331C7978
-:101190000122002C04D0012C10D0022C25D11EE0FD
-:1011A00001211971C16806220A7040684860194817
-:1011B000801C8860801CC86008460CE00C780C2CF1
-:1011C00013D102221A71C268052313704968516055
-:1011D000806890601046FFF79DF8024605E00878A9
-:1011E0000B2802D10D2008700022104610BD10B54A
-:1011F000002409E00B78521E5B0023430370401C5F
-:101200000B78491CD2B2DC09002AF3D110BD0000D2
-:10121000241B00200C52010070B50D46040012D0B2
-:10122000002D10D02101284603F093FD10225449CF
-:10123000284603F031FD52480121083801804480DE
-:101240004560002070BD012070BD70B54C4E00247B
-:101250000546083E11E0716820014018817BAA7B99
-:10126000914209D1C17BEA7B914205D10C222946EA
-:1012700003F0E5FC002806D0641C30888442EADBD9
-:101280000020C04370BD204670BD70B50D460600FD
-:101290000AD0002D08D03A4C083C20886188401CB8
-:1012A000884203D9042070BD102070BD3046FFF77E
-:1012B000CCFF002801DB401C0AE0208861680001A7
-:1012C00040181022314603F0E7FC2088401C2080A3
-:1012D0002870002070BD70B514460D001FD0002C82
-:1012E0001DD00021A170022802D0102817D108E0DB
-:1012F000687829780002084311D00121A17010807C
-:101300000BE02846FFF7A1FF002808DB401CA07077
-:10131000687B297B000208432080002070BD0120EB
-:1013200070BD70B5054614460E000AD0002030701E
-:10133000A878012807D004D9114908390A889042B1
-:101340000BD9012070BD002C04D02878207028888B
-:10135000000A50700220087010E0002C0CD0496880
-:101360000001411810391022204603F095FC28781E
-:1013700020732888000A607310203070002070BD30
-:10138000EC00002073490968016000207047714932
-:1013900008600020704701216F4A704B002803D07D
-:1013A000012805D06E48704791630020187001E055
-:1013B000D1631970002070476A49012008606848AD
-:1013C000801C70470422684B6649002805D05A608B
-:1013D000086901221043086108E0086940084000DC
-:1013E00008619A605C490020C03188600020704725
-:1013F0005C490622002808D0012809D002280DD017
-:1014000003280FD05648401C70470869904302E0FB
-:1014100008699043801C0861002070470869904368
-:10142000001DF8E708691043F5E74E494A6A024390
-:101430004A62002070474B494A6A82434A62002050
-:1014400070474849496A0160002070474549CA69A8
-:101450000243CA61002070474249CA698243CA6197
-:10146000002070473F49C96901600020704730B5CE
-:101470000546002072B601463A4A384C4032002DEB
-:1014800011D00123012D0CD0022D02D0072062B60D
-:1014900030BDA3706478002C01D09363F7E79163AB
-:1014A000F5E7A170F9E7A170F9E72F4904208860FA
-:1014B00029490020C03188602849012008702B4943
-:1014C0000A688023120A12021A430A602849086037
-:1014D000704722480078704770B5EFF31080C50759
-:1014E000ED0F72B61D4C6078401C0006000E607057
-:1014F00003D120A1CC2003F06CFD6078012806D137
-:10150000A078002803D01749012040318863002DBE
-:1015100000D162B670BD70B5EFF31080C507ED0F56
-:1015200072B60E4C6078002803D112A1DC2003F0C3
-:1015300050FD6078401E0006000E607006D1A07855
-:10154000002803D00749002040318863002D00D1D6
-:1015500062B670BD0004004040000040FC00002066
-:1015600004200000000500400003004000E400E00B
-:1015700000E100E07372635C736F635F706F7765A7
-:10158000722E63008107C90E002808DA0007000FD9
-:1015900008388008B94A80008018C06904E08008D3
-:1015A000B74A800080180068C8400006800F704766
-:1015B000B44948788978884201D3401A02E0212250
-:1015C000511A0818C0B27047AE492331487889785B
-:1015D000884201D3401A02E02122511A0818C0B2F1
-:1015E0007047A849463148788978884201D3401A23
-:1015F00002E02122511A0818C0B27047A04810B565
-:101600000C300168FF22120291430122D2031143E0
-:1016100001609C490020233148708870233948704C
-:101620008870463148708870974802F0FFFA9648F3
-:10163000401C02F0FBFAF2F7A9F900F015F910BD11
-:1016400020207047B4E770B50C4605460026FFF72A
-:10165000AFFF8C49A04214D30A46203A002320460B
-:10166000641EE4B200280BD08878105C287088785B
-:101670006D1C401CC0B288702128F0D18B70EEE741
-:10168000012600F0F1F8304670BD202070479BE73E
-:1016900070B50C4605460026FFF796FF79492331C1
-:1016A000A04214D30A46203A00232046641EE4B226
-:1016B00000280BD08878105C287088786D1C401C3E
-:1016C000C0B288702128F0D18B70EEE7012600F0BF
-:1016D000CBF8304670BD202101700020704710B556
-:1016E0000446FFF77EFF2070002010BD70B50C4649
-:1016F0000546FFF776FF63494631A04215D30A46F7
-:10170000203A00232046641EE4B200280BD08878DB
-:10171000105C287088786D1C401CC0B2887021282D
-:10172000F0D18B70EEE7002400E0584C00F09CF8FC
-:10173000204670BD70B50C460546212904D9FF200E
-:1017400053A1473003F045FC4C484068103840B284
-:10175000FFF718FFC6B20D20FFF714FFC0B2864294
-:1017600007D2FF204AA14D3003F033FC01E0F2F72D
-:101770004DF921462846FFF766FF0028F7D070BDD7
-:10178000F8B5404E07462336B1787078212200F034
-:1017900060F8354623353B4C00280ED0A1786078A0
-:1017A000212200F056F8002814D0A9786878212268
-:1017B00000F04FF800281AD025E032497078C91C93
-:1017C0000F547078401CC0B2707021281BD10020CB
-:1017D000707018E02B49607820390F546078401CF5
-:1017E000C0B2607021280ED1002060700BE0254946
-:1017F000687826310F546878401CC0B26870212880
-:1018000001D100206870B1787078212200F021F8B1
-:1018100000281DD0A1786078212200F01AF8002855
-:1018200016D0A9786878212200F013F800280FD08C
-:10183000F2F7CEF8144802F001FA01214903884278
-:1018400003D013A1C12003F0C4FB0F4802F00EFA2D
-:10185000F8BD401C884205D0904201D1002901D03A
-:10186000002070470120704710B5074802F0E6F9E4
-:10187000002801D1F2F79BF810BD000000ED00E058
-:1018800000E400E0501B0020FF00002007200000C3
-:101890007372635C736F635F72616E642E630000CA
-:1018A00010B5284802F0C2F9002803D026A11D2057
-:1018B00003F08FFB2348401C02F0B8F9002803D046
-:1018C00021A1212003F085FB10BDF1B5224D6F68E9
-:1018D00001261C4802F0B2F91A4C002803D1002658
-:1018E000601C02F0C3F91D4A1D490120506000BF71
-:1018F00000BF00BF00BF00BF00230B604B60009B18
-:101900006B60106000BF00BF00BF00BF00BF086871
-:10191000002802D148680028F9D048680028E4D19E
-:10192000002E04D06F60601C02F088F907E0601C94
-:1019300002F084F90028D3D1024802F097F9002080
-:10194000F8BDC2E7010100207372635C736F635FCF
-:101950006563622E6300000000E5004000E0004087
-:1019600000E1004030B5EFF31081CC07E40F72B610
-:101970001D4A116910230D461D431561002C00D12D
-:1019800062B61A4DC406E40E0120A0402C68044241
-:101990000DD0C8060AD4EFF31080C007C00F72B68E
-:1019A000116999431161002800D162B630BD20BF92
-:1019B00040BF20BFEAE70E4908784A78401CC0B211
-:1019C000904200D008707047084A094820BF40BFC5
-:1019D00020BF4178037843701368002B02D103784D
-:1019E0008B42F3D00020704700ED00E000E200E001
-:1019F00003010020FEB5F64C07466068FF213E015A
-:101A000081552178FF2913D0090108314158324608
-:101A1000491E083209020192090A805800F0CEF9E5
-:101A2000002802D02478254615E061682078885582
-:101A30002770FEBDE64842680198115828010090C1
-:101A40000830105800F0BAF9002806D1E0482C46BA
-:101A5000416800980D5CFF2DECD1DD482101406804
-:101A600085554754FEBD70B5D94A04460020157A05
-:101A700053680AE00201561C9E5DA64203D10C3257
-:101A80009A588A4204D0401CC0B28542F2D8FF2046
-:101A900070BDF8B5CE4F3E7801F01AFE0146FF2E1C
-:101AA00071D03401254678680835405900F086F930
-:101AB00002280CD97868405901F0FDFD01F008FEBC
-:101AC00001467868405900F079F902285BD8C0498E
-:101AD0004868025D0A70A11C425C002A0CD0521EAC
-:101AE000425441590122D20589180902090A41517B
-:101AF0003046FFF77FFF30E0631CC25C0092221D7E
-:101B000094468258002A10D001239B029A420FD992
-:101B10009205920D43595703DB191B021B0A4351CF
-:101B20006346C3589A1A920A09E0FF21C1540AE099
-:101B3000435952039A181202120A42510022425487
-:101B40003046FFF757FFA2480C344168C26800983E
-:101B5000095980001258009890479D4C2078FF2822
-:101B600011D0000161680830085801F0A4FD01F0AF
-:101B7000AFFD01462078626800010830105800F07F
-:101B80001DF9022886D3F8BDF8B51C4615460E4649
-:101B90000746FF2B03D38FA1D42003F01AFA8C48F9
-:101BA000FF21C76045600472067401700022427014
-:101BB000104604E00201521C401CA954C0B2A042CD
-:101BC000F8D3F8BD70B5824C06466578207C854216
-:101BD00003D380A1E72003F0FCF9E068A900465098
-:101BE0006078401C6070284670BDFFB581B01D460E
-:101BF000FF2401F06DFD764F064679780198814209
-:101C000003D874A1F52003F0E4F971480021037AA8
-:101C1000406810E00A019446521C825CFF2A25D0DD
-:101C2000019FBA4205D162460C328758029A974208
-:101C30001ED0491CC9B28B42ECD8FF2C18D0210110
-:101C40004A1C019B83540B460C33029AC250039BDF
-:101C50005F4F0022012B0ED00B1DC25001239B02AF
-:101C60009D4216D9AA05920D08D008E00C46E0E77F
-:101C7000FF2005B0F0BD0B1DC550EFE71A4653031A
-:101C80009B190E461B0208361B0AAA1A8351920A98
-:101C900009E0002D00D101256B039B191D022D0ABF
-:101CA0000B460833C550891C42543D463E782046B9
-:101CB000FFF7A0FE2878B04214D000016968083010
-:101CC000085801F0F8FC01F003FD29786A68090161
-:101CD000083152580146104600F070F8022801D22F
-:101CE000FFF7D7FE0198C4E770B50C46054601F032
-:101CF000EFFC064621462846FFF7B5FEFF2817D021
-:101D0000334D04012046696808300858314600F018
-:101D100055F80121090340186968A41C095D400BAE
-:101D2000002901D089020818002800D1012070BDC7
-:101D3000002070BDF3B581B00F460198FFF793FE08
-:101D4000FF282AD0224E3578726829460C4604E0D6
-:101D5000844205D025462301D45CFF2CF8D11CE039
-:101D6000FF2C1AD0A5421CD10801105C3070FF284E
-:101D700015D000010830105801F09DFC01F0A8FCBE
-:101D800001463078726800010830105800F016F8EB
-:101D9000022806D2FFF77DFE03E00020FEBD01F021
-:101DA00092FC39460198FFF79FFF22017168FF23DB
-:101DB000541C0B558A5C2B01CA54FEBD401A00020C
-:101DC0000121000AC905884200D90020704700009F
-:101DD0009C1B00207372635C736F635F74696D6535
-:101DE000722E6300F0B500241C4A01211C4B08032D
-:101DF000546018601B4B1C601B4C20601B4804691E
-:101E0000E443E406E6170469761C10252C430461BC
-:101E1000174C6160174D296000E020BF1F68002F3C
-:101E2000FBD0002E03D107691026B74307619068E5
-:101E30008005906801D5104A10436960A1600021B7
-:101E400019600121084A09031160F0BD10B504466C
-:101E5000FFF7C8FF2060002010BD000000C5004053
-:101E600080E100E000C1004080E200E000ED00E021
-:101E700000C3004000C0004000FCFFFF70B51F49D8
-:101E80000A68002A17D000231D4601244A68521C04
-:101E90004A60092A00D34D600E792246B2400E688E
-:101EA00016420AD072B60B6893430B6062B649685B
-:101EB0000160002070BD052070BD5B1C092BE5D3BF
-:101EC0000FA1362003F085F8F5E7012010498005C1
-:101ED00008607047EFF31081CA07D20F72B6012174
-:101EE00081400648036819430160002A00D162B6A8
-:101EF000EBE70248002101604160704708010020C3
-:101F00007372635C736F635F6576742E63000000A9
-:101F100000E200E00120810708607047012081078E
-:101F2000486070471048C068C00700D00120704763
-:101F30000D488068C00700D0012070470A484069FA
-:101F4000C00700D0012070470748C06970470649A4
-:101F50008A69D20306D589698907890F814201D12F
-:101F6000012070470020704700040040F8B5FE4C87
-:101F7000207BE17A88421AD00126FC4D0027E07AC6
-:101F8000215C14200A4642435019037C052B0FD0D4
-:101F9000062B1BD0072B28D0437C012B33D0F4A178
-:101FA000F64803F016F8207BE17A8842E7D1F8BDC5
-:101FB0000674E07A0A2807D0E07A401CE072491CD7
-:101FC000C8B2AA5802210CE00020F7E70674E07AB4
-:101FD0000A2808D0E07A401CE072491CC8B2AA580E
-:101FE00003219047DFE70020F6E70674E07A0A282D
-:101FF00007D0E07A401CE072491CC8B2AA580821F8
-:10200000EFE70020F7E74774E07A0A2807D0E07A84
-:10201000401CE072491CC8B2AA580721E1E7002021
-:10202000F7E770B5D64D06206872D648002444778D
-:10203000047738300473C472D34801F0F7FDD348F5
-:102040000475EC72D249601E88606C71AC70EC70E3
-:102050002C716C70CF48022104704470CE4804701B
-:10206000047528300470491EFAD10120F1F750FDA3
-:102070000020F1F74DFD0120A871F0F741FDC748A0
-:10208000F0F750FDC64C2070C648F0F74BFD60706D
-:10209000F1F7E2FC70BD10B5F1F709FDC04C2078F6
-:1020A000F0F75EFD6078F0F75BFDB54C207A002814
-:1020B00005D0FFF730FAF0F7E2FD0020207210BDE6
-:1020C00070B5AF4CA079002804D0A9A1B64802F0A1
-:1020D00080FF70BDE07A002804D11320A4A1400144
-:1020E00002F077FF0126A6710025E572607A0421CF
-:1020F000142250439D4A80180174A5488168491CE8
-:1021000004D0691E81600120F1F702FD0020F1F783
-:10211000FFFCF1F7E3FC01F023FEF1F7E8FDA34833
-:10212000056005600120A249C0030860F0F74AFF7E
-:1021300098480078022804D0032804D1E0780028C9
-:1021400001D0A67000E0A570F1F7BDFD70BD03469B
-:1021500086490520142242435218203A127F002A51
-:1021600004D0401E0006000EF4D1704714224243F2
-:1021700051180A46403AD362012220390A77704743
-:10218000012805D0032805D1002903D1002070477C
-:102190000029FBD010B47A4C002363707D4A0028DC
-:1021A00090700CD002280AD007291AD20B007B4469
-:1021B0001B79DB189F441505070D0F111300D37011
-:1021C00003E01B2000E03A20D0700120607010BCBA
-:1021D00070475820F8E77720F6E79620F4E7B52017
-:1021E000F2E710BC0020704710B56A484078F1F75C
-:1021F00085FD80B210BD411E1422504310B55B4ACC
-:102200008418203C042902D8207F002803D158A13B
-:10221000684802F0DEFE207F012803D054A1664802
-:1022200002F0D7FE0020207710BD70B5554C607FBE
-:10223000217F884201D1012500E00025F1F7F7FC5C
-:10224000F1F75CFD617F227F914201D1012100E025
-:102250000021A942EBD170BDF7B50646481E844661
-:102260008EB0C0B2142204905043404A85182846CC
-:102270000595007C2D1D07282AD13B4C0027E07ACC
-:10228000227B824221D0235C049A934201D1012710
-:1022900001E0002F04D00A2811D0421CA25C225475
-:1022A0000A280ED0401C227BC0B28242EBD1002F04
-:1022B0000BD0207B002806D0207B401E04E00022AB
-:1022C000ECE70020EFE70A202073059A0120107444
-:1022D00060462B4C04280FD814204143234808188B
-:1022E0002038007F002807D00598007C012807D0FF
-:1022F0001098807A012807D01DA1304802F069FEAD
-:102300001098807A012871D10598184B007C02281A
-:102310001AD0154C207B0A2874D0207BE17A401C0F
-:10232000884204D1C92012A1800002F052FE059912
-:1023300001204874217B04986054207B0A2865D0D2
-:10234000207B401C20731CE1607A049A0146904275
-:1023500006D0014614277843C018807C9042F8D1FB
-:10236000627A824235D12BE0A81C0020B81C0020E4
-:102370007372635C72656D2E63000000D50500000A
-:102380003C1D0020701C0020481D0020901C0020D7
-:102390001C1D002012010020C81C0020931A0100FF
-:1023A000100100206D1F01007F02000000F50040B9
-:1023B00080E200E0CD020000CE0200001703000022
-:1023C000617A14225143C918897C61720121A1727A
-:1023D00007E014224243D21814277943927CC9188B
-:1023E0008A74142206215043C01881741098007A10
-:1023F000062819D203007B441B79DB189F4408127E
-:10240000100E0C0AE07A00288CD090E7002099E7A3
-:1024100000210FE0B4210DE073210BE0322109E02F
-:102420000A2107E0062105E0FF20FE49E23002F024
-:10243000D0FD0021109802910068401A2860109980
-:10244000097A002912D00221401A0102090A2960E2
-:1024500010980268406810180002000A686010981E
-:10246000807A0228109803D0007B74E00421EBE707
-:10247000007A002813D0022202981018844610987F
-:102480004268604608301718E748029A4078904240
-:1024900002D9E278002A04D03846083005E0042248
-:1024A000EAE7029A801AC0190830627A062A1CD01C
-:1024B000627A14235A43DD4BD2185268914214D0E9
-:1024C000DB4B0793617A14225143D84A89184A6832
-:1024D0008968921B891B12020902120A090A90429A
-:1024E0003AD89A4238D8994236D83018C01B0002E0
-:1024F000000A286010996044CE4AC9680002000AA8
-:102500009446421A01239B0507929A4201D2104633
-:1025100014E00A1A09929A4201D207980EE0079A2B
-:102520006346624503D9591A0818401C06E0099A07
-:10253000624506D9181A4018401C404200285FDC4A
-:1025400003E0B849BC4802F044FD2868C019000205
-:10255000000A6860002028726868082708300002B6
-:10256000000A68601098407AA8721098007A687221
-:1025700003280ED200280CD0FFF7D4FC002803D08B
-:1025800007E0002011B0F0BD02983A210F1A322066
-:102590000290A5480178012901D0032909D1417889
-:1025A0000298814205D9E078002802D10298081AE1
-:1025B000C71928689E4A801B844601026868090A78
-:1025C000801B03021B0A8F421AD81746914217D864
-:1025D000BB4215D8617A062916D0677A6146062271
-:1025E000039200923A4614235A43904BD2189368B0
-:1025F0009B1B8B4216D80397977C062FF2D177E06E
-:10260000049801F059F9BCE7059802220499027474
-:10261000627A062A00D0627A827461720120A07206
-:1026200011B0F0BD062F63D0002239469446142223
-:102630007E4B4A43D21853689B1B834229D2917B1D
-:10264000AB7A99421FD805980521049C7B4D0174F3
-:10265000287B0A2811D0287BE97A401C884203D1C4
-:102660007049774802F0B5FC287B2C54287B0A2857
-:1026700007D0287B401C287383E7E87A0028EFD036
-:10268000F2E70020F7E701218C46917C0629CED1A4
-:1026900002E0604600282AD03D46009114202A46D8
-:1026A000424362480621161831741038007B0A280C
-:1026B000624816D0017BC07A491C814203D161A1D6
-:1026C000634802F086FC5D48017B4554017B0A2982
-:1026D0000BD0017B491C0173B57C0098A842DDD169
-:1026E00006E0C07A0028EAD0EDE70021F3E7009782
-:1026F0000599022008744D4D607AB84207D10599BA
-:1027000000988874049860720120A07221E00398F8
-:10271000062F0FD0062803D14AA14E4802F059FCDB
-:102720000398142250434019049981740599009824
-:1027300088740EE0062803D142A1474802F049FC04
-:102740000398142250434019049981740599062076
-:102750008874012011B0F0BD70B50D4606463F49A2
-:1027600000242046891BA04103D236A13C4802F038
-:1027700030FC3C490020491BA04103D231A13A481A
-:1027800002F027FC394A70190021821A8C4101D3CA
-:102790003749401870BDF8B5401EC0B214214843F7
-:1027A00022494518687B062813D203007B441B7915
-:1027B000DB189F44020C0A080604002066E0B420DF
-:1027C00010E073200EE032200CE00A200AE0062020
-:1027D00008E0FF201BA1E23002F0FBFB697B002038
-:1027E000002953D0022140186968002440180C21A8
-:1027F00000026956000A00294ADBF1F77FFA174AFE
-:1028000006460C27EF570021101AA14103D20DA153
-:10281000134802F0DEFB13490020C91BA0412CD253
-:1028200008A127E07023010012010020B81C00203D
-:10283000FFFF3F00FFFFFF0014070000A81C00205F
-:10284000090200007372635C72656D2E6300000004
-:10285000C7030000DF030000E5030000FF7F841EC4
-:10286000F50300000020A107F60300000080841E8D
-:1028700000807BE1FB4802F0ACFBFB4AF019002131
-:10288000821A8C4101D3F9494018F8BD0421AAE706
-:10289000F1F734FA0C21695600224018F449091A5C
-:1028A000A241F2D24042F8BDF0B5064683B0F148ED
-:1028B0000190457A029534687068001B0702EE4863
-:1028C0003F0A001B0090062D2DD0142029464143BD
-:1028D000EA480122081884464168E748920586467E
-:1028E000081B904210D3631A93420DD302467046E0
-:1028F000724503D900984018401C05E073450ED975
-:10290000411A0819401C404200280CDA6046029522
-:10291000857C0198C0790028D5D003B0F0BDD84996
-:10292000D84802F056FB0298854226D0142148432D
-:10293000D2490123401802908068CF499B058C46FC
-:10294000011B8646994210D3221A9A420DD3634640
-:10295000614503D900997144491C06E01946624556
-:102960002DD9091A0819401C4142002905DD029899
-:10297000B17A807B814200D37446062D15D0BF49C1
-:102980001420454368184268121B1202120ABA4208
-:102990000BD2B27A837B9A4200D38468857C0198FB
-:1029A000C0790028B9D1062DEAD13068A042B4D050
-:1029B000E0190002000A3460706003B0F0BDB04955
-:1029C000B04802F006FBD8E7F0B5AF4904464868C6
-:1029D00085B0C005C00D1CD0103840B200280CDAFC
-:1029E0000207120F083A920892005118C96980072D
-:1029F000C00EC1400806800F09E08108A34A890083
-:102A0000891809688007C00EC1400806800F002899
-:102A100008D000262078002806D0012804D0002005
-:102A200005B0F0BD0126F5E72079062813D2030092
-:102A30007B441B79DB189F44020C0A080604002023
-:102A400018E0B42010E073200EE032200CE00A20E1
-:102A50000AE0062008E0FF208949E23002F0B9FAD6
-:102A600021790020002905D002214718814D002E30
-:102A700002D003E00421F8E70020E87102AA6946C9
-:102A8000A068F1F745F9694608228A56E06801A96D
-:102A90008018C01C01221F2801DA019209E003AA54
-:102AA000F1F736F96846007B002802D00198401CF7
-:102AB000019000990198401808300002000A019026
-:102AC000C81B0002000A009060796946887200986D
-:102AD0000390F1F7ACF8009A019B121A181A6C498E
-:102AE00012020002120A000A8A4216D8884214D83A
-:102AF0006846FFF7D9FE00990398814205D0C819AE
-:102B00000002000AF1F7FAF8A0600120E979002933
-:102B100086D0002EB0D005B0F0BD0020F6E7F3B5AA
-:102B20008FB05C480C460B9001F088F85A4A0F9918
-:102B3000504E5518203D594F00280BD05848007D65
-:102B4000002803D057A15A4802F043FA2078012800
-:102B50007DD05FE1787F0A280CD0787F397F401CD8
-:102B6000884203D14FA1534802F033FA207801285C
-:102B700004D00CE0387F0028F4D0F7E7E87F002885
-:102B800003D048A14C4802F024FA0120E877787F6E
-:102B90000F991422494D504340190174207802289E
-:102BA00023D0787F14214843451920792872607911
-:102BB00068722A460C322946A068F1F7A9F80C2061
-:102BC00028560F2804DD1F3828732868401C286009
-:102BD0000C22AA56281DE16802908818C01C1F28E4
-:102BE0003FDA029901200860FDE027494868C005E6
-:102BF000C00D20D0103840B200280CDA0207120FA6
-:102C0000083A920892005118C9698007C00EC14065
-:102C10000806800F09E081081C4A890089180968A4
-:102C20008007C00EC1400806800F002803D11DA1F7
-:102C3000234802F0CEF9787F14214843451900213A
-:102C4000E0686A460591117303AA05A900E0D8E07F
-:102C5000F1F75EF86A460C2010560F2832DD01208D
-:102C600031E0B3E0F60300000080841E00807BE1C9
-:102C7000FF7F841E3C1D0020FFFFFF00B81C0020CA
-:102C8000442801001407000000ED00E000E400E02B
-:102C9000FFFF3F00481D002016010020701C00208F
-:102CA000901C00207372635C72656D2E63000000DF
-:102CB00017050000F5040000FA040000B01B002016
-:102CC0000605000000200599401808900220A8720F
-:102CD0002079287260796872A068291DC01C039150
-:102CE0001F2801DA01200AE006AAF1F711F8684668
-:102CF000007E002804D0039803990068401C0860F7
-:102D0000287A062813D203007B441B79DB189F44E2
-:102D1000020C0A08060400200FE0B4200DE0732026
-:102D20000BE0322009E00A2007E0062005E0FF2042
-:102D3000FD49E23002F04DF900202179002943D00D
-:102D400002214118069168680831401808990590D9
-:102D500008180699401A0C900020F071F0F767FFF0
-:102D600004462860089820180002000AE860707A7B
-:102D7000062825D0707A14214843EC494018406851
-:102D80000090059940180002000A0190687A69468F
-:102D900088726846FFF788FD0098019A001B121B95
-:102DA00000021202E24B000A120A0C99984207D85C
-:102DB0008A4205D80099069808180002000A28607F
-:102DC000F0790028C8D110E00421BAE704AA0299DA
-:102DD000F0F79EFF6846007C002804D00298029914
-:102DE0000068401C08602078A872787F0A2806D006
-:102DF000787F401C78770B9800F038FF47E0002080
-:102E0000F8E7E87F002803D0CAA1CD4802F0E1F836
-:102E10000120E877CB490F9808742078022803D165
-:102E2000C4A1C94802F0D5F8C64D2079287260794E
-:102E300068722A460C322946A068F0F769FF0C2018
-:102E400028560F2804DD1F3828732868401C286086
-:102E50000C22AA56281DE16802908818C01C1F2861
-:102E600003DA0299012008600CE003AA0299F0F746
-:102E70004FFF6846007B002804D002980299006842
-:102E8000401C08602078A872AE4901200875797F3F
-:102E9000387F814223D0747A062C22D0F0F7C7FE07
-:102EA00014214C43A1496218117C042917D003292D
-:102EB00015D0536892681B1A101A1B0200029C4915
-:102EC0001B0A000A082B0AD30A468B4207D89042F5
-:102ED00005D8787F397F884201D0F0F7F4FE11B031
-:102EE000F0BD787F397F8842F7D111B0F0BD10B5C1
-:102EF0000020F0F7FAFD10BD10B50120F0F7F5FD48
-:102F000010BDF1B5009802281FD0904C607A0628B9
-:102F100003D188A18E4802F05CF80026A671012535
-:102F2000E572607A03211422804F5043C019017466
-:102F3000F0F7CEFE009800280CD001282AD00328F4
-:102F40007CD0B5207BA1C00044E082480078EFF738
-:102F50000DFEF8BD8048007F002803D075A17F4892
-:102F600002F037F865717C4D00202E60F0F7D0FD3F
-:102F7000A968481C04D0012300221846F0F7FEFD82
-:102F8000607A617A401CC0B2142251437A58012100
-:102F90009047F8BD0120F0F7BBFD607900280DD007
-:102FA0006D488068401C09D0607A617A401CC0B2CC
-:102FB000142251437A5806219047F8BD6648007F95
-:102FC00001280AD0022812D0032824D0042836D0A1
-:102FD00058A1634801F0FDFFF8BD2079002803D017
-:102FE0002671F0F77AFEE5705B480677F8BD207A27
-:102FF000002804D1FEF770FAEFF718FE2572607A08
-:10300000617A401CC0B2142251437A580021904783
-:1030100051480677F8BD504F0123397B786800226C
-:10302000411A1846F0F7AAFD2079002803D026712E
-:10303000F0F753FEE57002203877F8BD1BE0464EEE
-:10304000217870680123411A00221846F0F796FD96
-:10305000207A002804D1FEF73FFAEFF7E7FD25724A
-:10306000607A617A401CC0B2142251437A58002120
-:1030700090473577F8BD607A617A401CC0B214225F
-:1030800051437A5805219047F8BD10B52F4C607A0E
-:10309000062803D127A1334801F09BFF607A617AAB
-:1030A000401CC0B214225143204A52580421904778
-:1030B00010BDF0B583B006200290F0F7B8FD234CA8
-:1030C0000090617A28480190062920D0617A142066
-:1030D000414316480918097C042918D0617A142242
-:1030E00051430818007C03287BD00198009A03689C
-:1030F00040689B1A801A1B0200020D491B0A000A35
-:10310000082B6ED30A468B426BD8904269D812487E
-:103110008068401C03D007A1144801F05AFF00202A
-:103120006071607A062823E0A42C0100B81C0020FE
-:10313000FFFF3F007372635C72656D2E63000000D9
-:103140001E050000901C0020240500003C1D0020EE
-:1031500055050000100100201C1D00206105000025
-:103160009C050000AF0500002C1D0020EB050000B1
-:1031700007D16078002804D0FE48C178417081787A
-:103180000170607A062815D0607A1421FA4A484303
-:103190008018007C04280DD1607A0290617A0120A9
-:1031A0001423594389180874617A59438918897C12
-:1031B0006172A072F14D687F297FF14F884233D050
-:1031C000F04E287F142148438019007CC05D0128FF
-:1031D000287F07D048438019007CC05D02282FD08B
-:1031E00044E001E2142148438019807A01280AD082
-:1031F000287F0221142250438019007CC155287F6A
-:103200000A2808D009E0297F002014225143891997
-:10321000097CC8552AE0002001E0287F401C28775F
-:10322000687F297F8842CCD1D74D287D00284CD09B
-:10323000287CC15D012928D0C05D022830D03AE049
-:10324000287F142148438019807A012803D0CFA118
-:10325000D14801F0BEFE297F002014225143891974
-:103260008872297F51438919097CC855287F142108
-:1032700048438219287F48438019017C0098FEF753
-:10328000EBFF287F0A28C8D1C5E7A97A012904D015
-:103290000221C155002028750DE00021C1550AE02A
-:1032A000A87A012803D0B9A1BC4801F092FE002001
-:1032B000A872297CC855287D002806D0297CB24AEE
-:1032C0000098FEF7C9FF00202875029806281ED036
-:1032D00014214843A8494018017C012917D107212E
-:1032E000AF4D0174287B0A283CD0287BE97A401C2A
-:1032F000884203D1A5A1AB4801F06BFE297B02985F
-:103300006854287B0A2831D0287B401C2873607AB7
-:1033100006287DD0A07A00287BD00020A072617A98
-:10332000142041439448A04B0A18566891681D46E2
-:10333000D2687C35DE67AA6069609C4D697E002991
-:1033400016D00226617A14228B4851430818407B1C
-:1033500006281BD203007B441B79DB189F440A1408
-:1033600012100E0CE87A0028C4D0C7E70020CDE781
-:103370000426E7E700200FE0B4200DE073200BE007
-:10338000322009E00A2007E0062005E0FF207FA1A7
-:10339000E23001F01EFE00202873697E022901D070
-:1033A000012910D12969009A09188A1A1202120AF1
-:1033B0003A2A08D90320687632390802000A2861BF
-:1033C000322028730AE0322808D2207A00280ED151
-:1033D000FEF782F8EFF72AFC012007E0207A0028A8
-:1033E00005D0FEF798F8EFF74AFC002020726149FB
-:1033F0000822487820700978012901D0032906D1D4
-:1034000001212171297B884201D9421A083201E049
-:1034100091E0A1E0A378002B00D0921C2179002933
-:1034200001D1002B5DD09446614A00990092019A27
-:10343000176852687F1A511A3F0209023F0A090AA7
-:10344000BC451BD85A4A974218D8009A914215D8C1
-:10345000297B884223D92B69421A9A1A1202120A2E
-:10346000101880190002000A2A616860002914D02F
-:10347000032028770006000E3ED14CE0002020718A
-:10348000A070297B002925D02869401880190002E6
-:10349000000A6860022028772EE00120E9E78142D7
-:1034A0000BD92A69511889190902090A696000288B
-:1034B00001D00420DDE70220DBE7002B03D133A19C
-:1034C0003C4801F086FD286980190002000A686006
-:1034D000002004E0296989190902090A696028772E
-:1034E00019E0287B00280FD02969081880190002EC
-:1034F000000A6860022028772869012381190022C8
-:103500001846F0F73BFB09E0286980190002000A21
-:103510006860002028770120F0F7FAFA607A142119
-:10352000484315490C22401882560123002069683F
-:10353000F0F724FB10E00120F0F7EAFA0020F0F7A2
-:10354000E7FAF0F7CBFA207A002805D0FDF7E3FF81
-:10355000EFF795FB00202072A078002804D0F0F748
-:10356000BCFB0020E070A0706078002827D00148E4
-:10357000C17821E012010020B81C0020701C00203E
-:1035800015010020B01B0020901C00207372635CAA
-:1035900072656D2E630000000D0600002906000014
-:1035A000A81C00203B060000B01C00201C1D0020B1
-:1035B000FFFF3F008D060000417081780170207987
-:1035C000002806D00020CE49E0700978002900D1FB
-:1035D0002071CC48017BC07A814203D0CA48407830
-:1035E000EFF7C4FA0120E07103B0F0BDF0B5C74CAD
-:1035F0000746607A83B0062804D16F20C4A1000179
-:1036000001F0E7FC607A1421C44E48438019007C25
-:10361000032803D0BEA1C24801F0DBFCC14DA8685D
-:10362000401C03D0BAA1C04801F0D3FC607A142139
-:10363000484381190C20085600216A4600911171F7
-:10364000C01901AA6946F0F763FB6A4604201056C8
-:103650000F2801DD012000E0002000994018696872
-:1036600040180102090AA9606079002804D00123EA
-:1036700000221846F0F782FA03B0F0BD70B5AC4CEA
-:10368000AA4A0B1AA34214D3451AA54211D3934256
-:1036900003D9101A43185B1C0BE0954204D9511A48
-:1036A0000818401C434204E099A1A24801F091FC93
-:1036B0000023184670BD10B50146012300220220E8
-:1036C000F0F75CFA10BD10B50220F0F721FA10BD3A
-:1036D00010B5F0F7ACFA10BDF0B58C4D0446E87AA1
-:1036E00083B0002803D18AA1934801F072FC642CB6
-:1036F0004DD3924A00210846121B884147D3904877
-:10370000417F007F814242D18E48007D00283ED11A
-:10371000687A1421814F4843824EC519306801AA46
-:1037200000196946F0F7F4FA6946042008560028A3
-:1037300002DD0098401C0090A96800986B680A1888
-:10374000D21A1202804B120A9A4220D8AA7C062A68
-:1037500008D014235A43D2195268511A0902090A8F
-:10376000814214D3B068401C05D00120F0F7D0F995
-:103770000020C043B060306800193060A86800992C
-:1037800040180002000A7061012003B0F0BD002063
-:1037900003B0F0BDF8B50646401EC4B214205F4920
-:1037A00060434518287C002804D1772058A10001E7
-:1037B00001F00FFC6248017F407F81420CD0634AD8
-:1037C00014234B439B181B7CB3420CD00A290CD00A
-:1037D000491CC9B28142F3D15A48017D002961D008
-:1037E000007CB0425ED10020F8BD0021F1E7052940
-:1037F00003D0062901D0072928D101212974C17AD3
-:103800000023027B8A4221D00246565CA64201D1A7
-:10381000012301E0002B04D00A2911D04E1C965D33
-:1038200056540A290ED0491C167BC9B28E42ECD1DF
-:10383000002B0BD0117B002906D0117B491E04E020
-:103840000026ECE70021EFE70A211173697C0029CB
-:103850002AD06F74C17A0023027B8A4224D0425C52
-:10386000A24201D1012301E0002B04D00A2912D089
-:103870004A1C825C42540A290FD0491C027BC9B2FF
-:103880008A42ECD1002B0FD0027B0146002A06D0E1
-:103890000A7B521E04E00022EBE70021EEE70A2239
-:1038A0000A7301E017480027297C01299FD16A7C0F
-:1038B000002A9CD10120F8BD70B505461420174A96
-:1038C0000521684380180F4C0174207B0A2811D011
-:1038D000207BE17A401C884203D10DA11C4801F0F5
-:1038E00078FB207B2554207B0A2807D0207B401CB6
-:1038F000207370BDE07A0028EFD0F2E70020F7E7F0
-:1039000012010020A81C0020100100203C1D0020F6
-:103910007372635C72656D2E63000000B81C00203A
-:10392000F10600001C1D0020F2060000FF7F841E2F
-:103930000020A1071407000033070000FF1FA107A4
-:10394000701C0020901C0020FFFF3F00B01B0020D7
-:103950000902000010B501462022094801F09CF937
-:1039600007490020C877084610BD06490120486174
-:103970000548064A0168914201D100210160704763
-:103980004C1D0020000500401C010020BEBAFECAEC
-:10399000064A10705170704704481C22017841712A
-:1039A00042700170704770477047704720010020D7
-:1039B00030B50346002002460DE09C5C2546303DB4
-:1039C0000A2D02D30020C04330BD0A256843303899
-:1039D0002018521CD2B28A42EFD330BD70B50D46CA
-:1039E000144608E00A2101F0D1F92A193031203AB1
-:1039F000641ED177E4B2002CF4D170BD10B5002361
-:103A000010E0040A00020443A0B2CC5C444020064B
-:103A1000000F60400407240C44402006C00C6040A6
-:103A20005B1C9BB29342ECD310BD10B520380C4602
-:103A3000030001F0BFFB33E0DBE41B1F23272C3125
-:103A4000373C41474D5054585C606D7165697478DE
-:103A50007C8084888C9094989C9FA2A6AAAEB2B8D1
-:103A6000BCC0C5CACFE9F0F3D3D7F800206800F096
-:103A7000DDF8D6E0206800F0E1F8D2E0206800F040
-:103A8000F5F8CEE0207840B200F092FAC9E0207854
-:103A900040B200F0B0FAC4E02078616840B200F0B3
-:103AA000C3FABEE0207840B200F0D3FAB9E0207843
-:103AB00040B200F0DEFAB4E02078217940B200F0A4
-:103AC000E9FAAEE02078616840B200F013FBA8E0AC
-:103AD00000F01FFBA5E0206800F023FBA1E02078A8
-:103AE00000F038FB9DE02068FDF7F5FD99E02068C7
-:103AF000FDF7F5FD95E021792068FDF7F7FD90E0F1
-:103B00002068FDF73FFC8CE02068FDF740FC88E072
-:103B10002078FDF740FC84E0FDF74EFC81E0207842
-:103B2000FDF750FC7DE02078FDF762FC79E020682D
-:103B3000FDF77BFC75E02068FDF77DFC71E02068F7
-:103B4000FDF77FFC6DE02068FDF780FC69E02068F0
-:103B5000FDF782FC65E02068FDF784FC61E02068E9
-:103B6000FDF785FC5DE00846EDF7F0FA59E0EFF768
-:103B700070F856E0EFF79DF853E02068EFF7A5F8EE
-:103B80004FE0206800F080F84BE0206800F082F8F9
-:103B900047E0206800F083F843E02078A26861687D
-:103BA00000F082F83DE0207800F089F839E02078D4
-:103BB00000F091F835E02078616800F098F830E086
-:103BC0002078616800F09FF82BE02179207800F0E0
-:103BD000D5FB26E02068FDF778FE22E02068FEF79E
-:103BE0004DF91EE02068FEF731F91AE0204607C8BB
-:103BF00000F0B9FC15E0206800F00CFD11E06168F0
-:103C0000206800F037FD0CE0206800F029FF08E094
-:103C100009E003E0FFE700F03BFF02E0206800F06E
-:103C200073FF206010BD0120086010BD00210170ED
-:103C3000084670470146002008707047EFF3108176
-:103C4000C907C90F72B60278012A01D0012200E02B
-:103C5000002201230370002900D162B6002A01D09E
-:103C600000207047012040037047E7E7EFF3108121
-:103C7000C907C90F72B600220270002900D162B6CE
-:103C800000207047F2E7000038490968C9B20160B6
-:103C9000002070473549C0B2486000207047334962
-:103CA000C0B2886000207047082801D330487047B0
-:103CB000C3002E4818180161426100207047022895
-:103CC00002D32B48401C70472A4A0121C0008018AB
-:103CD000016000207047022802D32548401C70472D
-:103CE000244A0121C000801841600020704702284A
-:103CF00002D31F48401C70471F4A8000C9B2801879
-:103D0000016000207047022802D31948401C704708
-:103D1000194A800080180068C0B20860002070470F
-:103D200010B5FF20114AC043906008200021C30055
-:103D30009B1819615961401C1028F8D300200E4AC5
-:103D400005E0022803D383009B18196004E0830078
-:103D50009B181C68E4B21C60401C0428F1D310BD01
-:103D6000FF200249C04388607047000000F5014011
-:103D70000820000000F0014000F8014010B572B6C4
-:103D800000F0DEF800280BD0EDF78AFAFEF783F991
-:103D900000F0BBFA6F490020C86288626E49086073
-:103DA00062B6002010BDF3B5002501200007C06AEF
-:103DB00081B0C0430006000E04D168480068401C72
-:103DC00000D1012572B600F0BBF8002801D062B620
-:103DD00087E0EDF7D1F9EDF767FA614C614A002110
-:103DE0002368CB40DB071FD00346CB40DB0718D14D
-:103DF0004BB2002B07DA1E07360F083EB608B60096
-:103E0000B618F66904E09E08574FB600F6193668F2
-:103E10009B07DB0EDE4033069B0F012B04D0032BE8
-:103E200002D062B65148FEBD491C2029D8D3019C5E
-:103E300001204F49230001F0BDF914222424242439
-:103E4000242424240B0D1012142016181A1C1E2FC3
-:103E5000002400E00124C86314E00224FBE70324EB
-:103E6000F9E70424F7E70824F5E70924F3E70A242F
-:103E7000F1E70B24EFE70C24EDE70524EBE707243B
-:103E800000E00624D06901210002000AC9070843A6
-:103E9000D061002D04D009E062B601200003FEBD10
-:103EA0002C4D3448E862EDF7FFF9A8622A49324800
-:103EB0000860324902980860EDF7F6F9214600F0F3
-:103EC0000BFAFEF7AEF800F00DFC00F087FA01984F
-:103ED000EDF7B4F9040062B603D0FFF74FFF2046B8
-:103EE000FEBD0020FEBD10B5044600F029F80028F4
-:103EF00000D001202070002010BD21490860002062
-:103F0000704710B50C46102808D011280BD0122885
-:103F10000CD013280ED00120086010BD6168206805
-:103F2000FFF741FF0AE0FFF729FF07E02068FFF7EE
-:103F3000DAFF03E01249206808600020206010BD0D
-:103F400005480D490068884201D1012070470020D2
-:103F500070470000000500401C0100200010001008
-:103F600000E100E000ED00E000E400E001100000EE
-:103F70004000004000200000BEBAFECA2801002018
-:103F8000040000208107C90E002808DA0007000F8E
-:103F900008388008814A80008018C06904E08008E1
-:103FA0007F4A800080180068C8400006800F704774
-:103FB00010B5044600F0DBF8002813D02046FFF7C8
-:103FC000E1FFC0B200F0E1F800280DD07549E2062B
-:103FD0000B78D20E01209040002B08D04A68104385
-:103FE000486006E0704810BD6F48401C10BD6F4926
-:103FF0000860002010BD10B5044600F0B8F8002895
-:104000000BD06849E2060B78D20E01209040002BBD
-:1040100005D04A6882434A6004E0634810BD6349A2
-:1040200080310860002010BD70B50D46044600F0D8
-:104030009EF800280BD05E480068E206D20E0121EF
-:104040009140084000D001202860002070BD5648F3
-:1040500070BD10B5044600F08AF8002807D0E106CC
-:10406000C90E0120884052490860002010BD4E480A
-:1040700010BD10B5044600F07AF8002808D0E1061B
-:10408000C90E012088404A4980310860002010BDD7
-:10409000454810BD70B50D46044600F068F800288C
-:1040A00019D0284600F071F8002816D0A007C20EDB
-:1040B000FF209040A907090E9140002C10DA22073A
-:1040C000120F083A9308354A9B009B18DA6982431D
-:1040D0000A43DA610CE0344870BD3348401C70BDBF
-:1040E000A3082F4A9B009B181A6882430A431A6050
-:1040F000002070BD70B50C46054600F038F8002869
-:1041000005D02846FFF73EFF2070002070BD2648EE
-:1041100070BDBFF34F8F21492648C860BFF34F8F52
-:10412000FEE770B51F4C05462178012000290ED10D
-:10413000207072B600F0F8F81C4E8036316881436A
-:10414000616000F0F1F8C043306062B60020287072
-:10415000002070BD13490A78002A06D0002804D137
-:10416000124A48681060002008700020704710B59F
-:104170000446202805DA00F0D7F80121A1400842C2
-:1041800001D0002010BD012010BD012803D003285C
-:1041900001D00020704701207047000000ED00E0D2
-:1041A00000E400E02C0100200120000000E100E01C
-:1041B00000E200E00400FA05F8B504468007002597
-:1041C0000126002804DA5A48C563C66302208443E6
-:1041D000E00404D55748C563C66380148443600077
-:1041E00003D55548456080058443E00504D5534810
-:1041F000C563C66380158443A00404D55048C563D5
-:10420000C6634014844360042704C00FF90F88423A
-:1042100003D04CA1612000F0DCFEB80F0AD04E495B
-:10422000CD634E48C563C563CE63C663C6630320D2
-:104230008003844320050AD5494FFD632F20ECF706
-:10424000B3FFFE632F20ECF7AFFFF8148443002C7C
-:1042500003DAFFF765FD640064084248044203D0B6
-:1042600038A1902000F0B5FEF8BDF0B500210A4657
-:10427000FF230446CC40E4072AD04CB2E606F60EF3
-:104280000125B540384E3560384E3560002C11DAC6
-:1042900025072D0F083DAE08354DB6007619F56996
-:1042A000A407E70E1C46BC40A5431446BC4025436A
-:1042B000F5610DE0A6082F4DB60076193568A40704
-:1042C000E70E1C46BC40A5431446BC402543356060
-:1042D000491C2029CDD3F0BD70B5274C0D46206078
-:1042E000FFF76AFF2068FFF7C0FF2846EEF77AFD68
-:1042F000FDF7D6FAFDF782F9FFF712FDFDF7D5F8C5
-:10430000EEF7FEFB00F06AF870BD10B51A4C20689D
-:10431000FFF752FF2068FFF7A8FFFFF701FDEEF758
-:10432000E6FD0020206010BD1348006870470000C3
-:10433000C01F0040C0CF004000E50140C08F0040DA
-:10434000C0DF00407372635C736F635F636F6E66A0
-:1043500069672E6300000000C0EF0040C0FF00400E
-:10436000C0BF0040FEFF0FFC80E100E080E200E003
-:1043700000ED00E000E400E03401002070B500240E
-:1043800002460D4620462146002A1ED0012A04D0AE
-:10439000022A04D0032A1ED103E0012002E00220F9
-:1043A00013E003202B0000F005FF07160507090B9B
-:1043B0000D0F1600012108E0022106E0032104E0B0
-:1043C000042102E0052100E00621FDF7D9FE0028C6
-:1043D00001D0204670BD0724FBE70000B148002152
-:1043E00001708170704770B5AF4D01236B60AF4BAA
-:1043F0001C68002CFCD0002407E00E6806601E68D4
-:10440000002EFCD0001D091D641C9442F5D3002031
-:10441000686018680028FCD070BD70B5A14C0D46CE
-:104420006178884203D0A2A16C2000F0D2FD2B005D
-:1044300000F0C0FE094F0625254F4F4F4F464F0055
-:104440002078022803D09AA1702000F0C2FD03203A
-:104450002070A078022802D0012804D008E0A068CB
-:1044600000F0CEFB04E02269E168A068FFF7BBFF23
-:104470000020A070FDF724FE0420207070BDFDF721
-:10448000D4FE01466068FFF7F9F805462078022857
-:1044900003D087A1842000F09CFD894A89498A487D
-:1044A000954206D8401BC86086496078FEF737FB06
-:1044B00070BD854202D802224A71F3E7032003E06F
-:1044C000A0780028FAD10220FDF704FD00F0E0F802
-:1044D00070BD77A1AD2000F07CFD70BD70B50546C4
-:1044E000FDF7A3FE6F4C60602078012803D070A117
-:1044F000B42000F06EFD73490220087000220A719A
-:104500008D6003224A71704ACA6020706078FEF79D
-:1045100006FB70BD10B5634CA078002802D120784E
-:10452000002801D0112010BD6848FDF710FE607012
-:104530006078002803D001202070002010BD0320E7
-:1045400010BD10B50124020B64040121604BA04290
-:1045500002D29140186802E0203A58689140084021
-:1045600000D0012010BDF8B50E46910005464F1948
-:1045700014463F1F009100F054FB009980028919F6
-:10458000091FB14201D2012200E00022002C03D019
-:10459000FF2101318C4201D90920F8BD4D498D42DE
-:1045A00019D3AF4217D3854205D2874203D228469A
-:1045B0003043800701D01020F8BD8E420BD3002A73
-:1045C00009D12846FFF7BDFF002804D13846FFF780
-:1045D000B8FF002801D00F20F8BD3F483F490068D0
-:1045E000884205D0224631462846FFF7FCFE0FE000
-:1045F000FFF790FF0028EFD12A480121C6608560AF
-:10460000046181702046312148431430FFF766FF72
-:104610000020F8BD10B504462E48800A84420BD312
-:1046200000F0FFFAA04201D8102010BDA0020446FD
-:10463000FFF787FF002801D00F2010BD264827492B
-:104640000068884203D0204600F0DAFA0AE0FFF75B
-:1046500061FF0028F1D11348022184608170204855
-:10466000FFF73CFF002010BD1A48010B01208840D5
-:10467000401E704700B50B460246FFF7F5FF10429B
-:1046800001D00F2000BD124802604360002000BD31
-:1046900010B5044C6078FDF7AEFD00202070A070CE
-:1046A00010BD00003801002000E5014000E4014099
-:1046B0007372635C736F635F666C6173682E630013
-:1046C000307500006C1D0020D0FB01001B44010070
-:1046D00000060040006001001C010020BEBAFECAB6
-:1046E00010540000F74805218170002101704170CD
-:1046F000C1708160704710B5F3490A78022A07D06B
-:10470000CA681018C860C8689638FEF76FFF10BDF9
-:104710008A68101888608868F6E70378EB49EC4AE5
-:10472000002B02D0012B10D014E00379002B01D014
-:10473000012B0FD14379002B01D0012B0AD18368C3
-:10474000643B8B4206D2C06810E00379002B03D093
-:10475000012B01D0002070474379002B01D0012BA1
-:10476000F8D1C368643B8B42F4D280689042F1D8A0
-:1047700001207047F8B504460226FEF7BDFB00682D
-:10478000002803D0D3A1BE2000F023FC0127CD4D8B
-:10479000002C08D02078002817D0012805D0022846
-:1047A00011D0032813D02F710DE06068C82808D3FA
-:1047B000FEF792FF002804D06068FFF79CFF0126F7
-:1047C00003E0002601E000F0F9F93046F8BD287852
-:1047D0000028F8D16068FFF7A0FF0028E3D06068E8
-:1047E0000078002826D0A878042803D0B9A1F820A2
-:1047F00000F0EFFBB44F00203870606800790128AA
-:1048000000D00020387160684079002837D003203C
-:10481000787160688168E868FDF79EFFB86060683D
-:10482000C0689630F8600320A870A749E878FEF7C2
-:1048300076F9C8E7A4480221017061680979012965
-:1048400019D00021017161684979002915D003212F
-:10485000417161688968963181606168C968C16029
-:10486000C068984C14346060FDF7DFFC20606F7006
-:104870000220A870A7E70321E4E70221E8E702206D
-:10488000C6E7F8B58F4C0D46E178884204D0FF208A
-:1048900090A11A3000F09DFB28468A4F0025012682
-:1048A0001437030000F086FC090612375A7C8D97F6
-:1048B000C4A0C400A078032807D0A078022804D0A0
-:1048C000FF2084A11E3000F084FBF8BDA0780328EF
-:1048D00007D0A078022804D0FF207EA1223000F06B
-:1048E00078FB0420A07025712078002810D1FFF7F4
-:1048F00002FFE078FDF74FFFE0607D49886A7D4A5E
-:10490000024022617B4AD24310408862002050E07E
-:1049100000F054F9F8BDA078032807D0A078022849
-:1049200004D0FF206BA1453000F053FB2078002815
-:1049300002D000F04FF9F8BDA07803281FD1042061
-:104940002AE0091A6048C1600146E078FEF7E7F8FE
-:10495000F8BD0420FDF7BEFAA570F8BDA0780328C5
-:1049600007D0A078022804D0FF205AA1663000F0BA
-:1049700030FB20780028DCD1A07803280BD0FDF78D
-:1049800054FC01463868FEF779FE0028E1DB7968BF
-:104990008142DEDBD5E70520FDF79CFAA670F8BD65
-:1049A000A078042804D0FF204AA1873000F011FB32
-:1049B0000220A1688847FFF7DDFEFF260546C036C6
-:1049C00042E0A078042804D0FF2042A18C3000F0FF
-:1049D00000FB0120EDE7A078042899D0FF203DA13D
-:1049E000913000F0F6FA93E7A07804280AD06078B6
-:1049F000002802D0A078022804D0FF2035A19630EC
-:104A000000F0E7FA2078002893D12079002804D01C
-:104A10000620FDF75FFA2571C0E76078002805D011
-:104A20002949E078FEF77BF86570F8BD0720B3E709
-:104A3000FF2028A1B13046E7002D0AD0012D06D075
-:104A400024A1304600F0C5FA022DF5D1F8BD0420AE
-:104A500000E00320A1688847FFF78CFE0546F3E7D6
-:104A600070B5050005D0174CA078052803D011209B
-:104A700070BD102070BD2048FDF769FBE070E07844
-:104A8000002803D0A5600020A07070BD032070BD79
-:104A900010B50C480178002901D0112010BD817893
-:104AA00005292BD0817801292AD08178002927D0A7
-:104AB000012101708178012922D0807800281FD03F
-:104AC00020E000004C0100207C1D00203D860100FC
-:104AD000FF1FA1077372635C736F635F7261646928
-:104AE0006F5F74696D65736C6F742E6300000000F6
-:104AF0000005004002810080834801000F2010BDA6
-:104B000000F068F8002010BDF8B5394E0446B078C2
-:104B1000002801D001280DD1002C0DD02046FFF730
-:104B2000FCFD00280AD02078324D002808D0B0784B
-:104B3000012823D00F20F8BD1020F8BD0720F8BDB4
-:104B400002272F702079012814D000202871607965
-:104B5000002811D003206871A0689630A860E06832
-:104B6000E860E868224C14346060FDF75EFB20606A
-:104B7000B77019E00320E9E70220ECE70020287075
-:104B80002079012816D0002028716079002813D0E0
-:104B900003206871A168F068FDF7DEFDA860E06899
-:104BA0009630E8600320B0701249F078FDF7B7FF47
-:104BB0000020F8BD0320E7E70220EAE710B50E4821
-:104BC000816A0E4A11400A4A126911438162FDF757
-:104BD00077FA10BD10B5064CE078FDF70CFB082005
-:104BE000FDF778F90520A07000202070607010BDDE
-:104BF0004C0100207C1D002000050040FD7EFF7F51
-:104C00000A4A022151600A490B68002BFCD09060CF
-:104C100008680028FCD00020506008680028FCD0FC
-:104C200070470120000740697047000000E501401F
-:104C300000E4014070477047704770477047034673
-:104C400010B50B439B070FD1042A0DD308C810C918
-:104C5000121FA342F8D018BA21BA884201D9012004
-:104C600010BD0020C04310BD002A03D0D30703D0DD
-:104C7000521C07E0002010BD03780C78401C491C32
-:104C80001B1B07D103780C78401C491C1B1B01D14E
-:104C9000921EF1D1184610BDF8B5042A2CD3830713
-:104CA00012D00B78491C0370401C521E83070BD096
-:104CB0000B78491C0370401C521E830704D00B78EC
-:104CC000491C0370401C521E8B079B0F05D0C91A4C
-:104CD000DF002023DE1B08C90AE0ECF775FAF8BDF7
-:104CE0001D4608C9FD401C46B4402C4310C0121F8D
-:104CF000042AF5D2F308C91A521EF0D40B78491CC5
-:104D00000370401C521EEAD40B78491C0370401CEF
-:104D1000521EE4D409780170F8BD01E004C0091FF7
-:104D20000429FBD28B0701D50280801CC90700D063
-:104D30000270704700290BD0C30702D00270401CDC
-:104D4000491E022904D3830702D50280801C891ED4
-:104D5000E3E70022EEE70022DFE70378C278194696
-:104D6000437812061B0219438378C0781B04194349
-:104D700011430902090A000608437047020A087035
-:104D80004A70020C8A70020ECA7070470022030932
-:104D90008B4273D3030A8B4258D3030B8B423CD311
-:104DA000030C8B4221D312E003460B437FD4002235
-:104DB00043088B4274D303098B425FD3030A8B42AF
-:104DC00044D3030B8B4228D3030C8B420DD3FF2219
-:104DD000090212BA030C8B4202D31212090265D0E7
-:104DE000030B8B4219D300E0090AC30B8B4201D39A
-:104DF000CB03C01A5241830B8B4201D38B03C01AE1
-:104E00005241430B8B4201D34B03C01A5241030B57
-:104E10008B4201D30B03C01A5241C30A8B4201D308
-:104E2000CB02C01A5241830A8B4201D38B02C01AB3
-:104E30005241430A8B4201D34B02C01A5241030A2A
-:104E40008B4201D30B02C01A5241CDD2C3098B420F
-:104E500001D3CB01C01A524183098B4201D38B018C
-:104E6000C01A524143098B4201D34B01C01A52412F
-:104E700003098B4201D30B01C01A5241C3088B4274
-:104E800001D3CB00C01A524183088B4201D38B005F
-:104E9000C01A524143088B4201D34B00C01A524101
-:104EA000411A00D201465241104670475DE0CA0FD8
-:104EB00000D04942031000D34042534000229C4698
-:104EC00003098B422DD3030A8B4212D3FC228901A2
-:104ED00012BA030A8B420CD3890192118B4208D378
-:104EE000890192118B4204D389013AD0921100E0DA
-:104EF0008909C3098B4201D3CB01C01A52418309EE
-:104F00008B4201D38B01C01A524143098B4201D31A
-:104F10004B01C01A524103098B4201D30B01C01A45
-:104F20005241C3088B4201D3CB00C01A52418308BF
-:104F30008B4201D38B00C01A5241D9D243088B4215
-:104F400001D34B00C01A5241411A00D201466346B8
-:104F500052415B10104601D34042002B00D549421C
-:104F6000704763465B1000D3404201B50020C04645
-:104F7000C04602BD704770477047704710B500F0DB
-:104F800059F810BD30B58C180278401C13071B0F60
-:104F900001D10378401C120906D10278401C03E0BD
-:104FA0000578401C0D70491C5B1EF9D101E00B70A7
-:104FB000491C521EFBD1A142E6D3002030BD0000A7
-:104FC00001231B68134B1860134B1960134B1A60B5
-:104FD0007047134A134B13607246053AF0E7114AC3
-:104FE0000F4B1B689A420ED10D4B002018600198A0
-:104FF0000D4B04B598470CBC9E460246029800999A
-:105000000A4B1B68184706980599094B1B68DB6813
-:105010001847000070010020740100207801002072
-:1050200068010020EFBEADDE5539010028010020E7
-:10503000040000201D481E497047FFF7FBFFECF7F6
-:105040007DF800BD01200007C06AC0B2FF2804D16E
-:10505000184819490968884202D01848184901605F
-:10506000184819490968884203D1184A13605B68D7
-:10507000184700BD20BFFDE7124813490968884260
-:105080000ED1134B18680B498842F3D080F308887F
-:105090001049884204DD1048026802210A43026078
-:1050A0000E4880470E4880470E480047901D00205C
-:1050B000901D0020FFFFFFFF001000102C05004096
-:1050C0000800000000100000000000200400002084
-:1050D0000060010000200020240500406B39010021
-:1050E00045500100C14F01001348704502D1EFF354
-:1050F000098101E0EFF308818869023800781028FF
-:1051000014DB202810DB23280BDB0C4A12680C4B25
-:105110009A4203D1602804DB0A4A10470220086043
-:105120007047094A10470000084A1047084A1268A9
-:105130002C32126810470000FDFFFFFF1C01002009
-:10514000BEBAFECAAD1200002B3A0100033F0100B7
-:10515000040000200D4B0E4908470E4B0C49084730
-:105160000D4B0B4908470D4B094908470C4B0849A3
-:1051700008470C4B064908470B4B054908470B4BA2
-:10518000034908470A4B024908470000052E000062
-:10519000E13D0000BD2F0000873C0000353C0000D1
-:1051A000E9390000B912000063170000493D000012
-:1051B000AB2B000030B47446641E2578641CAB42EF
-:1051C00000D21D46635D5B00E31830BC1847000049
-:1051D00002490020C861203908727047E0030020AE
-:1051E00000020207FFFFFFFF0000FFFF01020408AB
-:1051F00010204080555555D6BE898E00F401FA0026
-:10520000960064004B0032001E00140001000300F1
-:10521000000001000000000000000000000000008D
-:1052200000000000870000000000000000000000F7
-:105230000000000000000203040500000E0F000043
-:10524000705201000800002010000000041100004E
-:10525000805201001800002064010000844F01000A
-:10526000A45201007C010020141C00002011000049
-:105270000249022208681042FCD0704700E200E0B8
-:10528000E1078F56FF9900CD29022B01360100015D
-:1052900000EC3720FB349B5F8074800010027001AB
-:0452A000E4C54F0111
-:00000001FF
--- a/TARGET_RBLAB_NRF51822/TARGET_NORDIC/TARGET_NRF51822/PeripheralNames.h	Fri Jul 25 09:46:51 2014 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,58 +0,0 @@
-/* mbed Microcontroller Library
- * Copyright (c) 2013 Nordic Semiconductor
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-#ifndef MBED_PERIPHERALNAMES_H
-#define MBED_PERIPHERALNAMES_H
-
-#include "cmsis.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define STDIO_UART_TX     TX_PIN_NUMBER
-#define STDIO_UART_RX     RX_PIN_NUMBER
-#define STDIO_UART        UART_0
-
-typedef enum {
-    UART_0 = (int)NRF_UART0_BASE
-} UARTName;
-
-
-typedef enum {
-    SPI_0 = (int)NRF_SPI0_BASE,
-    SPI_1 = (int)NRF_SPI1_BASE,
-    SPIS = (int)NRF_SPIS1_BASE
-} SPIName;
-
-typedef enum {
-    PWM_1 = 0,
-    PWM_2
-} PWMName;
-
-typedef enum {
-    I2C_0 = (int)NRF_TWI0_BASE,
-    I2C_1 = (int)NRF_TWI1_BASE
-} I2CName;
-
-typedef enum {
-    ADC0_0 = (int)NRF_ADC_BASE
-} ADCName;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
--- a/TARGET_RBLAB_NRF51822/TARGET_NORDIC/TARGET_NRF51822/PortNames.h	Fri Jul 25 09:46:51 2014 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,30 +0,0 @@
-/* mbed Microcontroller Library
- * Copyright (c) 2013 Nordic Semiconductor
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-#ifndef MBED_PORTNAMES_H
-#define MBED_PORTNAMES_H
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-typedef enum {
-    Port0 = 0 //GPIO pins 0-31
-} PortName;
-
-#ifdef __cplusplus
-}
-#endif
-#endif
--- a/TARGET_RBLAB_NRF51822/TARGET_NORDIC/TARGET_NRF51822/TARGET_RBLAB_NRF51822/PinNames.h	Fri Jul 25 09:46:51 2014 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,180 +0,0 @@
-/* mbed Microcontroller Library
- * Copyright (c) 2013 Nordic Semiconductor
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-#ifndef MBED_PINNAMES_H
-#define MBED_PINNAMES_H
-
-#include "cmsis.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-typedef enum {
-    PIN_INPUT,
-    PIN_OUTPUT
-} PinDirection;
-
-#define PORT_SHIFT  3
-
-typedef enum {
-    p0  = 0,
-    p1  = 1,
-    p2  = 2,
-    p3  = 3,
-    p4  = 4,
-    p5  = 5,
-    p6  = 6,
-    p7  = 7,
-    p8  = 8,
-    p9  = 9,
-    p10 = 10,
-    p11 = 11,
-    p12 = 12,
-    p13 = 13,
-    p14 = 14,
-    p15 = 15,
-    p16 = 16,
-    p17 = 17,
-    p18 = 18,
-    p19 = 19,
-    p20 = 20,
-    p21 = 21,
-    p22 = 22,
-    p23 = 23,
-    p24 = 24,
-    p25 = 25,
-    p26 = 26,
-    p27 = 27,
-    p28 = 28,
-    p29 = 29,
-    p30 = 30,
-//    p31=31,    
-    
-    P0_0  = p0,
-    P0_1  = p1,
-    P0_2  = p2,
-    P0_3  = p3,
-    P0_4  = p4,
-    P0_5  = p5,
-    P0_6  = p6,
-    P0_7  = p7,
-    
-    P0_8  = p8,
-    P0_9  = p9,
-    P0_10 = p10,
-    P0_11 = p11,
-    P0_12 = p12,
-    P0_13 = p13,
-    P0_14 = p14,
-    P0_15 = p15,
-    
-    P0_16 = p16,
-    P0_17 = p17,
-    P0_18 = p18,
-    P0_19 = p19,
-    P0_20 = p20,
-    P0_21 = p21,
-    P0_22 = p22,
-    P0_23 = p23,
-    
-    P0_24 = p24,
-    P0_25 = p25,
-    P0_26 = p26,
-    P0_27 = p27,
-    P0_28 = p28,
-    P0_29 = p29,
-    P0_30 = p30,
-    
-    LED1    = p18,
-    LED2    = p19,
-    LED3    = p18,
-    LED4    = p19,
-    
-    BUTTON1 = p16,
-    BUTTON2 = p17,
-        
-    RX_PIN_NUMBER = p11,
-    TX_PIN_NUMBER = p9,
-    CTS_PIN_NUMBER = p10,
-    RTS_PIN_NUMBER = p8,
-
-    // mBed interface Pins
-    USBTX = TX_PIN_NUMBER,
-    USBRX = RX_PIN_NUMBER,
-        
-    SPI_PSELMOSI0 = p20,
-    SPI_PSELMISO0 = p22,
-    SPI_PSELSS0 = p24,
-    SPI_PSELSCK0 = p25,
-        
-    SPI_PSELMOSI1 = p12,
-    SPI_PSELMISO1 = p13,
-    SPI_PSELSS1 = p14,
-    SPI_PSELSCK1 = p15,
-    
-    SPIS_PSELMOSI = p12,
-    SPIS_PSELMISO = p13,
-    SPIS_PSELSS = p14,    
-    SPIS_PSELSCK = p15,
-
-    I2C_SDA0 = p22,
-    I2C_SCL0 = p20,
-
-    I2C_SDA1 = p13,
-    I2C_SCL1 = p15,
-    
-    D0  = p7,
-    D1  = p8,
-    D2  = p9,
-    D3  = p10,
-    D4  = p11,
-    D5  = p12,
-    D6  = p13,
-    D7  = p17,
-    
-    D8  = p18,
-    D9  = p23,
-    D10 = p24,
-    D11 = p25,
-    D12 = p28,
-    D13 = p29,
-
-    D14 = p5,
-    D15 = p6,
-
-    A0  = p1,
-    A1  = p2,
-    A2  = p3,
-    A3  = p4,
-    A4  = p5,
-    A5  = p6,
-    
-    // Not connected
-    NC = (int)0xFFFFFFFF
-} PinName;
-
-typedef enum {
-    PullNone = 0,
-    PullDown = 1,
-    PullUp = 3,
-    PullDefault = PullUp
-} PinMode;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
--- a/TARGET_RBLAB_NRF51822/TARGET_NORDIC/TARGET_NRF51822/TARGET_RBLAB_NRF51822/device.h	Fri Jul 25 09:46:51 2014 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,57 +0,0 @@
-/* mbed Microcontroller Library
- * Copyright (c) 2006-2013 ARM Limited
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-#ifndef MBED_DEVICE_H
-#define MBED_DEVICE_H
-
-#define DEVICE_PORTIN           1
-#define DEVICE_PORTOUT          1
-#define DEVICE_PORTINOUT        1
-
-#define DEVICE_INTERRUPTIN      1
-
-#define DEVICE_ANALOGIN         1
-#define DEVICE_ANALOGOUT        0
-
-#define DEVICE_SERIAL           1
-
-#define DEVICE_I2C              1
-#define DEVICE_I2CSLAVE         0
-
-#define DEVICE_SPI              1
-#define DEVICE_SPISLAVE         1
-
-#define DEVICE_CAN              0
-
-#define DEVICE_RTC              0
-
-#define DEVICE_ETHERNET         0
-
-#define DEVICE_PWMOUT           1
-
-#define DEVICE_SEMIHOST         0
-#define DEVICE_LOCALFILESYSTEM  0
-
-#define DEVICE_SLEEP            1
-
-#define DEVICE_DEBUG_AWARENESS  0
-
-#define DEVICE_STDIO_MESSAGES   0
-
-#define DEVICE_ERROR_PATTERN    1
-
-#include "objects.h"
-
-#endif
--- a/TARGET_RBLAB_NRF51822/TARGET_NORDIC/TARGET_NRF51822/gpio_object.h	Fri Jul 25 09:46:51 2014 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,52 +0,0 @@
-/* mbed Microcontroller Library
- * Copyright (c) 2006-2013 ARM Limited
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-#ifndef MBED_GPIO_OBJECT_H
-#define MBED_GPIO_OBJECT_H
-
-#include "mbed_assert.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-typedef struct {
-    PinName  pin;
-    uint32_t mask;
-
-    __IO uint32_t *reg_dir;
-    __IO uint32_t *reg_set;
-    __IO uint32_t *reg_clr;
-    __I  uint32_t *reg_in;
-} gpio_t;
-
-static inline void gpio_write(gpio_t *obj, int value) {
-    MBED_ASSERT(obj->pin != (PinName)NC);
-    if (value)
-        *obj->reg_set = obj->mask;
-    else
-        *obj->reg_clr = obj->mask;
-}
-
-static inline int gpio_read(gpio_t *obj) {
-    MBED_ASSERT(obj->pin != (PinName)NC);
-    return ((*obj->reg_in & obj->mask) ? 1 : 0);
-}
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
--- a/TARGET_RBLAB_NRF51822/TARGET_NORDIC/TARGET_NRF51822/objects.h	Fri Jul 25 09:46:51 2014 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,73 +0,0 @@
-/* mbed Microcontroller Library
- * Copyright (c) 2013 Nordic Semiconductor
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-#ifndef MBED_OBJECTS_H
-#define MBED_OBJECTS_H
-
-#include "cmsis.h"
-#include "PortNames.h"
-#include "PeripheralNames.h"
-#include "PinNames.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-struct serial_s {
-    NRF_UART_Type *uart;
-    int index;
-};
-
-struct spi_s {
-    NRF_SPI_Type *spi;
-    NRF_SPIS_Type *spis;
-};
-
-struct port_s {
-    __IO uint32_t *reg_cnf;
-    __IO uint32_t *reg_out;
-    __I  uint32_t *reg_in;
-    PortName port;
-    uint32_t mask;
-};
-
-struct pwmout_s {
-    PWMName pwm;
-    PinName pin;
-};
-
-struct i2c_s {
-    NRF_TWI_Type *i2c;
-    PinName sda;
-    PinName scl;
-    int freq;
-};
-
-struct analogin_s {
-    ADCName adc;
-    uint8_t adc_pin;
-};
-
-struct gpio_irq_s {
-    uint32_t ch;
-};
-
-#include "gpio_object.h"
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
Binary file TARGET_RBLAB_NRF51822/TOOLCHAIN_ARM_STD/board.o has changed
Binary file TARGET_RBLAB_NRF51822/TOOLCHAIN_ARM_STD/cmsis_nvic.o has changed
Binary file TARGET_RBLAB_NRF51822/TOOLCHAIN_ARM_STD/mbed.ar has changed
Binary file TARGET_RBLAB_NRF51822/TOOLCHAIN_ARM_STD/retarget.o has changed
Binary file TARGET_RBLAB_NRF51822/TOOLCHAIN_ARM_STD/startup_nRF51822.o has changed
Binary file TARGET_RBLAB_NRF51822/TOOLCHAIN_ARM_STD/sys.o has changed
Binary file TARGET_RBLAB_NRF51822/TOOLCHAIN_ARM_STD/system_nrf51822.o has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TARGET_RBLAB_NRF51822/TOOLCHAIN_GCC_ARM/NRF51822.ld	Fri Aug 15 15:28:31 2014 +0100
@@ -0,0 +1,151 @@
+/* Linker script to configure memory regions. */
+
+MEMORY
+{
+  FLASH (rx) : ORIGIN = 0x00016000, LENGTH = 0x2A000
+  RAM (rwx) :  ORIGIN = 0x20002000, LENGTH = 0x2000
+}
+
+OUTPUT_FORMAT ("elf32-littlearm", "elf32-bigarm", "elf32-littlearm")
+
+/* 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
+ */
+ENTRY(Reset_Handler)
+
+SECTIONS
+{
+	.text :
+	{
+		KEEP(*(.Vectors))
+		*(.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*))
+	} > FLASH
+
+
+	.ARM.extab :
+	{
+		*(.ARM.extab* .gnu.linkonce.armextab.*)
+	} > FLASH
+
+	__exidx_start = .;
+	.ARM.exidx :
+	{
+		*(.ARM.exidx* .gnu.linkonce.armexidx.*)
+	} > FLASH
+	__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 = .);
+
+		*(.jcr)
+		. = ALIGN(4);
+		/* All data end */
+		__data_end__ = .;
+
+	} > RAM
+
+	.bss :
+	{
+		. = ALIGN(4);
+		__bss_start__ = .;
+		*(.bss*)
+		*(COMMON)
+		. = ALIGN(4);
+		__bss_end__ = .;
+	} > RAM
+
+	.heap (COPY):
+	{
+		__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 (COPY):
+	{
+		*(.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")
+}
Binary file TARGET_RBLAB_NRF51822/TOOLCHAIN_GCC_ARM/board.o has changed
Binary file TARGET_RBLAB_NRF51822/TOOLCHAIN_GCC_ARM/cmsis_nvic.o has changed
Binary file TARGET_RBLAB_NRF51822/TOOLCHAIN_GCC_ARM/libmbed.a has changed
Binary file TARGET_RBLAB_NRF51822/TOOLCHAIN_GCC_ARM/retarget.o has changed
Binary file TARGET_RBLAB_NRF51822/TOOLCHAIN_GCC_ARM/startup_NRF51822.o has changed
Binary file TARGET_RBLAB_NRF51822/TOOLCHAIN_GCC_ARM/system_nrf51822.o has changed
Binary file TARGET_UBLOX_C027/TOOLCHAIN_ARM_STD/board.o has changed
Binary file TARGET_UBLOX_C027/TOOLCHAIN_ARM_STD/cmsis_nvic.o has changed
Binary file TARGET_UBLOX_C027/TOOLCHAIN_ARM_STD/mbed.ar has changed
Binary file TARGET_UBLOX_C027/TOOLCHAIN_ARM_STD/mbed_overrides.o has changed
Binary file TARGET_UBLOX_C027/TOOLCHAIN_ARM_STD/retarget.o has changed
Binary file TARGET_UBLOX_C027/TOOLCHAIN_ARM_STD/sys.o has changed
Binary file TARGET_UBLOX_C027/TOOLCHAIN_ARM_STD/system_LPC17xx.o has changed
Binary file TARGET_UBLOX_C027/TOOLCHAIN_GCC_ARM/libmbed.a has changed
Binary file TARGET_UBLOX_C027/TOOLCHAIN_GCC_ARM/retarget.o has changed
Binary file TARGET_UBLOX_C027/TOOLCHAIN_GCC_CR/libmbed.a has changed
Binary file TARGET_UBLOX_C027/TOOLCHAIN_GCC_CR/retarget.o has changed
Binary file TARGET_UBLOX_C027/TOOLCHAIN_GCC_CS/libmbed.a has changed
Binary file TARGET_UBLOX_C027/TOOLCHAIN_GCC_CS/retarget.o has changed
Binary file TARGET_UBLOX_C027/TOOLCHAIN_IAR/board.o has changed
Binary file TARGET_UBLOX_C027/TOOLCHAIN_IAR/cmsis_nvic.o has changed
Binary file TARGET_UBLOX_C027/TOOLCHAIN_IAR/mbed.a has changed
Binary file TARGET_UBLOX_C027/TOOLCHAIN_IAR/mbed_overrides.o has changed
Binary file TARGET_UBLOX_C027/TOOLCHAIN_IAR/retarget.o has changed
Binary file TARGET_UBLOX_C027/TOOLCHAIN_IAR/startup_LPC17xx.o has changed
Binary file TARGET_UBLOX_C027/TOOLCHAIN_IAR/system_LPC17xx.o has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TARGET_XADOW_M0/TARGET_NXP/TARGET_LPC11UXX/PeripheralPins.h	Fri Aug 15 15:28:31 2014 +0100
@@ -0,0 +1,43 @@
+/* mbed Microcontroller Library
+ * Copyright (c) 2006-2013 ARM Limited
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ 
+#ifndef MBED_PERIPHERALPINS_H
+#define MBED_PERIPHERALPINS_H
+
+#include "pinmap.h"
+#include "PeripheralNames.h"
+
+/************ADC***************/
+extern const PinMap PinMap_ADC[];
+
+/************I2C***************/
+extern const PinMap PinMap_I2C_SDA[];
+extern const PinMap PinMap_I2C_SCL[];
+
+/************UART***************/
+extern const PinMap PinMap_UART_TX[];
+extern const PinMap PinMap_UART_RX[];
+
+/************SPI***************/
+extern const PinMap PinMap_SPI_SCLK[];
+extern const PinMap PinMap_SPI_MOSI[];
+extern const PinMap PinMap_SPI_MISO[];
+extern const PinMap PinMap_SPI_SSEL[];
+
+/************PWM***************/
+extern const PinMap PinMap_PWM[];
+
+#endif
--- a/TARGET_XADOW_M0/TARGET_NXP/TARGET_LPC11UXX/TARGET_LPC11U35_501/PeripheralNames.h	Fri Jul 25 09:46:51 2014 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,71 +0,0 @@
-/* mbed Microcontroller Library
- * Copyright (c) 2006-2013 ARM Limited
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-#ifndef MBED_PERIPHERALNAMES_H
-#define MBED_PERIPHERALNAMES_H
-
-#include "cmsis.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-typedef enum {
-    UART_0 = (int)LPC_USART_BASE
-} UARTName;
-
-typedef enum {
-    I2C_0 = (int)LPC_I2C_BASE
-} I2CName;
-
-typedef enum {
-    ADC0_0 = 0,
-    ADC0_1,
-    ADC0_2,
-    ADC0_3,
-    ADC0_4,
-    ADC0_5,
-    ADC0_6,
-    ADC0_7
-} ADCName;
-
-typedef enum {
-    SPI_0 = (int)LPC_SSP0_BASE,
-    SPI_1 = (int)LPC_SSP1_BASE
-} SPIName;
-
-typedef enum {
-    PWM_1 = 0,
-    PWM_2,
-    PWM_3,
-    PWM_4,
-    PWM_5,
-    PWM_6,
-    PWM_7,
-    PWM_8,
-    PWM_9,
-    PWM_10,
-    PWM_11
-} PWMName;
-
-#define STDIO_UART_TX     UART_TX
-#define STDIO_UART_RX     UART_RX
-#define STDIO_UART        UART_0
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
--- a/TARGET_XADOW_M0/TARGET_NXP/TARGET_LPC11UXX/TARGET_LPC11U35_501/PinNames.h	Fri Jul 25 09:46:51 2014 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,176 +0,0 @@
-/* mbed Microcontroller Library
- * Copyright (c) 2006-2013 ARM Limited
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-#ifndef MBED_PINNAMES_H
-#define MBED_PINNAMES_H
-
-#include "cmsis.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-typedef enum {
-    PIN_INPUT,
-    PIN_OUTPUT
-} PinDirection;
-
-#define PORT_SHIFT  5
-
-typedef enum {
-    // LPC11U Pin Names
-    P0_0 = 0,
-    P0_1 = 1,
-    P0_2 = 2,
-    P0_3 = 3,
-    P0_4 = 4,
-    P0_5 = 5,
-    P0_6 = 6,
-    P0_7 = 7,
-    P0_8 = 8,
-    P0_9 = 9,
-    P0_10 = 10,
-    P0_11 = 11,
-    P0_12 = 12,
-    P0_13 = 13,
-    P0_14 = 14,
-    P0_15 = 15,
-    P0_16 = 16,
-    P0_17 = 17,
-    P0_18 = 18,
-    P0_19 = 19,
-    P0_20 = 20,
-    P0_21 = 21,
-    P0_22 = 22,
-    P0_23 = 23,
-    P0_24 = 24,
-    P0_25 = 25,
-    P0_26 = 26,
-    P0_27 = 27,
-
-    P1_0 = 32,
-    P1_1 = 33,
-    P1_2 = 34,
-    P1_3 = 35,
-    P1_4 = 36,
-    P1_5 = 37,
-    P1_6 = 38,
-    P1_7 = 39,
-    P1_8 = 40,
-    P1_9 = 41,
-    P1_10 = 42,
-    P1_11 = 43,
-    P1_12 = 44,
-    P1_13 = 45,
-    P1_14 = 46,
-    P1_15 = 47,
-    P1_16 = 48,
-    P1_17 = 49,
-    P1_18 = 50,
-    P1_19 = 51,
-    P1_20 = 52,
-    P1_21 = 53,
-    P1_22 = 54,
-    P1_23 = 55,
-    P1_24 = 56,
-    P1_25 = 57,
-    P1_26 = 58,
-    P1_27 = 59,
-    P1_28 = 60,
-    P1_29 = 61,
-
-    P1_31 = 63,
-
-    // mbed DIP Pin Names
-                    // CN1-1  (GND)
-                    // CN1-2  (EXTPOWER)
-                    // CN1-3  (NC)
-    p4 = P0_0,      // CN1-4
-    p5 = P0_9,      // CN1-5
-    p6 = P0_8,      // CN1-6
-    p7 = P0_10,     // CN1-7
-    p8 = P0_7,      // CN1-8
-    p9 = P0_19,     // CN1-9
-    p10 = P0_18,    // CN1-10
-    p11 = P0_21,    // CN1-11
-    p12 = P0_22,    // CN1-12
-    p13 = P1_15,    // CN1-13
-    p14 = P0_6,     // CN1-14
-    p15 = P0_11,    // CN1-15
-    p16 = P0_12,    // CN1-16
-    p17 = P0_13,    // CN1-17
-    p18 = P0_14,    // CN1-18
-    p19 = P0_15,    // CN1-19
-    p20 = P0_16,    // CN1-20
-
-    p21 = P0_14,    // CN2-20
-    p22 = P0_2,     // CN2-19
-    p23 = P0_23,    // CN2-18
-    p24 = P0_17,    // CN2-17
-    p25 = P0_20,    // CN2-16
-    p26 = P1_15,    // CN2-15
-    p27 = P0_4,     // CN2-14
-    p28 = P0_5,     // CN2-13
-    p29 = P1_19,    // CN2-12
-    p30 = P0_1,     // CN2-11
-                    // CN2-10 (D+USB)
-                    // CN2-9  (D-USB)
-    p33 = P0_3,     // CN2-8  (USB-VBUS)
-                    // CN2-7  (NC)
-                    // CN2-6  (NC)
-                    // CN2-5  (NC)
-                    // CN2-4  (NC)
-                    // CN2-3  (NC)
-                    // CN2-2  (VDD)
-                    // CN2-1  (VDD)
-
-    // Other mbed Pin Names
-    LED1 = P0_20,
-    LED2 = P0_21,
-    LED3 = P0_20,
-    LED4 = P0_21,
-
-    UART_TX = P0_19,
-    UART_RX = P0_18,
-
-    // Not connected
-    NC = (int)0xFFFFFFFF,
-} PinName;
-
-typedef enum {
-    CHANNEL0 = FLEX_INT0_IRQn,
-    CHANNEL1 = FLEX_INT1_IRQn,
-    CHANNEL2 = FLEX_INT2_IRQn,
-    CHANNEL3 = FLEX_INT3_IRQn,
-    CHANNEL4 = FLEX_INT4_IRQn,
-    CHANNEL5 = FLEX_INT5_IRQn,
-    CHANNEL6 = FLEX_INT6_IRQn,
-    CHANNEL7 = FLEX_INT7_IRQn
-} Channel;
-
-typedef enum {
-    PullUp = 2,
-    PullDown = 1,
-    PullNone = 0,
-    Repeater = 3,
-    OpenDrain = 4,
-    PullDefault = PullDown
-} PinMode;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
--- a/TARGET_XADOW_M0/TARGET_NXP/TARGET_LPC11UXX/TARGET_LPC11U35_501/device.h	Fri Jul 25 09:46:51 2014 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,59 +0,0 @@
-/* mbed Microcontroller Library
- * Copyright (c) 2006-2013 ARM Limited
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-#ifndef MBED_DEVICE_H
-#define MBED_DEVICE_H
-
-#define DEVICE_PORTIN           1
-#define DEVICE_PORTOUT          1
-#define DEVICE_PORTINOUT        1
-
-#define DEVICE_INTERRUPTIN      1
-
-#define DEVICE_ANALOGIN         1
-#define DEVICE_ANALOGOUT        0
-
-#define DEVICE_SERIAL           1
-
-#define DEVICE_I2C              1
-#define DEVICE_I2CSLAVE         1
-
-#define DEVICE_SPI              1
-#define DEVICE_SPISLAVE         1
-
-#define DEVICE_CAN              0
-
-#define DEVICE_RTC              0
-
-#define DEVICE_ETHERNET         0
-
-#define DEVICE_PWMOUT           1
-
-#define DEVICE_SEMIHOST         0
-#define DEVICE_LOCALFILESYSTEM  0
-#define DEVICE_ID_LENGTH       32
-#define DEVICE_MAC_OFFSET      20
-
-#define DEVICE_SLEEP            1
-
-#define DEVICE_DEBUG_AWARENESS  0
-
-#define DEVICE_STDIO_MESSAGES   0
-
-#define DEVICE_ERROR_PATTERN    1
-
-#include "objects.h"
-
-#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TARGET_XADOW_M0/TARGET_NXP/TARGET_LPC11UXX/TARGET_MCU_LPC11U35_501/PeripheralNames.h	Fri Aug 15 15:28:31 2014 +0100
@@ -0,0 +1,71 @@
+/* mbed Microcontroller Library
+ * Copyright (c) 2006-2013 ARM Limited
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+#ifndef MBED_PERIPHERALNAMES_H
+#define MBED_PERIPHERALNAMES_H
+
+#include "cmsis.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+typedef enum {
+    UART_0 = (int)LPC_USART_BASE
+} UARTName;
+
+typedef enum {
+    I2C_0 = (int)LPC_I2C_BASE
+} I2CName;
+
+typedef enum {
+    ADC0_0 = 0,
+    ADC0_1,
+    ADC0_2,
+    ADC0_3,
+    ADC0_4,
+    ADC0_5,
+    ADC0_6,
+    ADC0_7
+} ADCName;
+
+typedef enum {
+    SPI_0 = (int)LPC_SSP0_BASE,
+    SPI_1 = (int)LPC_SSP1_BASE
+} SPIName;
+
+typedef enum {
+    PWM_1 = 0,
+    PWM_2,
+    PWM_3,
+    PWM_4,
+    PWM_5,
+    PWM_6,
+    PWM_7,
+    PWM_8,
+    PWM_9,
+    PWM_10,
+    PWM_11
+} PWMName;
+
+#define STDIO_UART_TX     UART_TX
+#define STDIO_UART_RX     UART_RX
+#define STDIO_UART        UART_0
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TARGET_XADOW_M0/TARGET_NXP/TARGET_LPC11UXX/TARGET_MCU_LPC11U35_501/TARGET_XADOW_M0/PinNames.h	Fri Aug 15 15:28:31 2014 +0100
@@ -0,0 +1,179 @@
+/* mbed Microcontroller Library
+ * Copyright (c) 2006-2013 ARM Limited
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+#ifndef MBED_PINNAMES_H
+#define MBED_PINNAMES_H
+
+#include "cmsis.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+typedef enum {
+    PIN_INPUT,
+    PIN_OUTPUT
+} PinDirection;
+
+#define PORT_SHIFT  5
+
+typedef enum {
+    // LPC11U Pin Names
+    P0_0 = 0,
+    P0_1 = 1,
+    P0_2 = 2,
+    P0_3 = 3,
+    P0_4 = 4,
+    P0_5 = 5,
+    P0_6 = 6,
+    P0_7 = 7,
+    P0_8 = 8,
+    P0_9 = 9,
+    P0_10 = 10,
+    P0_11 = 11,
+    P0_12 = 12,
+    P0_13 = 13,
+    P0_14 = 14,
+    P0_15 = 15,
+    P0_16 = 16,
+    P0_17 = 17,
+    P0_18 = 18,
+    P0_19 = 19,
+    P0_20 = 20,
+    P0_21 = 21,
+    P0_22 = 22,
+    P0_23 = 23,
+    P0_24 = 24,
+    P0_25 = 25,
+    P0_26 = 26,
+    P0_27 = 27,
+
+    P1_0 = 32,
+    P1_1 = 33,
+    P1_2 = 34,
+    P1_3 = 35,
+    P1_4 = 36,
+    P1_5 = 37,
+    P1_6 = 38,
+    P1_7 = 39,
+    P1_8 = 40,
+    P1_9 = 41,
+    P1_10 = 42,
+    P1_11 = 43,
+    P1_12 = 44,
+    P1_13 = 45,
+    P1_14 = 46,
+    P1_15 = 47,
+    P1_16 = 48,
+    P1_17 = 49,
+    P1_18 = 50,
+    P1_19 = 51,
+    P1_20 = 52,
+    P1_21 = 53,
+    P1_22 = 54,
+    P1_23 = 55,
+    P1_24 = 56,
+    P1_25 = 57,
+    P1_26 = 58,
+    P1_27 = 59,
+    P1_28 = 60,
+    P1_29 = 61,
+
+    P1_31 = 63,
+
+    // mbed DIP Pin Names
+                    // CN1-1  (GND)
+                    // CN1-2  (EXTPOWER)
+                    // CN1-3  (NC)
+    p4 = P0_0,      // CN1-4
+    p5 = P0_9,      // CN1-5
+    p6 = P0_8,      // CN1-6
+    p7 = P0_10,     // CN1-7
+    p8 = P0_7,      // CN1-8
+    p9 = P0_19,     // CN1-9
+    p10 = P0_18,    // CN1-10
+    p11 = P0_21,    // CN1-11
+    p12 = P0_22,    // CN1-12
+    p13 = P1_15,    // CN1-13
+    p14 = P0_6,     // CN1-14
+    p15 = P0_11,    // CN1-15
+    p16 = P0_12,    // CN1-16
+    p17 = P0_13,    // CN1-17
+    p18 = P0_14,    // CN1-18
+    p19 = P0_15,    // CN1-19
+    p20 = P0_16,    // CN1-20
+
+    p21 = P0_14,    // CN2-20
+    p22 = P0_2,     // CN2-19
+    p23 = P0_23,    // CN2-18
+    p24 = P0_17,    // CN2-17
+    p25 = P0_20,    // CN2-16
+    p26 = P1_15,    // CN2-15
+    p27 = P0_4,     // CN2-14
+    p28 = P0_5,     // CN2-13
+    p29 = P1_19,    // CN2-12
+    p30 = P0_1,     // CN2-11
+                    // CN2-10 (D+USB)
+                    // CN2-9  (D-USB)
+    p33 = P0_3,     // CN2-8  (USB-VBUS)
+                    // CN2-7  (NC)
+                    // CN2-6  (NC)
+                    // CN2-5  (NC)
+                    // CN2-4  (NC)
+                    // CN2-3  (NC)
+                    // CN2-2  (VDD)
+                    // CN2-1  (VDD)
+
+    // Other mbed Pin Names
+    LED1 = P0_20,
+    LED2 = P0_23,
+    LED3 = P0_20,
+    LED4 = P0_23,
+
+    UART_TX = P0_19,
+    UART_RX = P0_18,
+
+    I2C_SCL = P0_4,
+    I2C_SDA = P0_5,
+
+    // Not connected
+    NC = (int)0xFFFFFFFF,
+} PinName;
+
+typedef enum {
+    CHANNEL0 = FLEX_INT0_IRQn,
+    CHANNEL1 = FLEX_INT1_IRQn,
+    CHANNEL2 = FLEX_INT2_IRQn,
+    CHANNEL3 = FLEX_INT3_IRQn,
+    CHANNEL4 = FLEX_INT4_IRQn,
+    CHANNEL5 = FLEX_INT5_IRQn,
+    CHANNEL6 = FLEX_INT6_IRQn,
+    CHANNEL7 = FLEX_INT7_IRQn
+} Channel;
+
+typedef enum {
+    PullUp = 2,
+    PullDown = 1,
+    PullNone = 0,
+    Repeater = 3,
+    OpenDrain = 4,
+    PullDefault = PullDown
+} PinMode;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TARGET_XADOW_M0/TARGET_NXP/TARGET_LPC11UXX/TARGET_MCU_LPC11U35_501/TARGET_XADOW_M0/device.h	Fri Aug 15 15:28:31 2014 +0100
@@ -0,0 +1,59 @@
+/* mbed Microcontroller Library
+ * Copyright (c) 2006-2013 ARM Limited
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+#ifndef MBED_DEVICE_H
+#define MBED_DEVICE_H
+
+#define DEVICE_PORTIN           1
+#define DEVICE_PORTOUT          1
+#define DEVICE_PORTINOUT        1
+
+#define DEVICE_INTERRUPTIN      1
+
+#define DEVICE_ANALOGIN         1
+#define DEVICE_ANALOGOUT        0
+
+#define DEVICE_SERIAL           1
+
+#define DEVICE_I2C              1
+#define DEVICE_I2CSLAVE         1
+
+#define DEVICE_SPI              1
+#define DEVICE_SPISLAVE         1
+
+#define DEVICE_CAN              0
+
+#define DEVICE_RTC              0
+
+#define DEVICE_ETHERNET         0
+
+#define DEVICE_PWMOUT           1
+
+#define DEVICE_SEMIHOST         0
+#define DEVICE_LOCALFILESYSTEM  0
+#define DEVICE_ID_LENGTH       32
+#define DEVICE_MAC_OFFSET      20
+
+#define DEVICE_SLEEP            1
+
+#define DEVICE_DEBUG_AWARENESS  0
+
+#define DEVICE_STDIO_MESSAGES   0
+
+#define DEVICE_ERROR_PATTERN    1
+
+#include "objects.h"
+
+#endif
Binary file TARGET_XADOW_M0/TOOLCHAIN_ARM_MICRO/board.o has changed
Binary file TARGET_XADOW_M0/TOOLCHAIN_ARM_MICRO/cmsis_nvic.o has changed
Binary file TARGET_XADOW_M0/TOOLCHAIN_ARM_MICRO/mbed.ar has changed
Binary file TARGET_XADOW_M0/TOOLCHAIN_ARM_MICRO/retarget.o has changed
Binary file TARGET_XADOW_M0/TOOLCHAIN_ARM_MICRO/startup_LPC11xx.o has changed
Binary file TARGET_XADOW_M0/TOOLCHAIN_ARM_MICRO/sys.o has changed
Binary file TARGET_XADOW_M0/TOOLCHAIN_ARM_MICRO/system_LPC11Uxx.o has changed
--- a/TARGET_XADOW_M0/TOOLCHAIN_ARM_STD/LPC11U35.sct	Fri Jul 25 09:46:51 2014 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,20 +0,0 @@
-
-LR_IROM1 0x00000000 0x10000  {    ; load region size_region (64k)
-  ER_IROM1 0x00000000 0x10000  {  ; load address = execution address
-   *.o (RESET, +First)
-   *(InRoot$$Sections)
-   .ANY (+RO)
-  }
-  ; 8_byte_aligned(48 vect * 4 bytes) =  8_byte_aligned(0xC0) = 0xC0
-  ; 8KB - 0xC0 = 0x1F40
-  RW_IRAM1 0x100000C0 0x1F40  {
-   .ANY (+RW +ZI)
-  }
-  RW_IRAM2 0x20000000 0x800   { ; RW data, I/O Handler RAM
-   .ANY (IOHANDLER_RAM)
-  }
-  RW_IRAM3 0x20004000 0x800   { ; RW data, USB RAM
-   .ANY (USBRAM)
-  }
-}
-
Binary file TARGET_XADOW_M0/TOOLCHAIN_ARM_STD/board.o has changed
Binary file TARGET_XADOW_M0/TOOLCHAIN_ARM_STD/cmsis_nvic.o has changed
Binary file TARGET_XADOW_M0/TOOLCHAIN_ARM_STD/mbed.ar has changed
Binary file TARGET_XADOW_M0/TOOLCHAIN_ARM_STD/retarget.o has changed
Binary file TARGET_XADOW_M0/TOOLCHAIN_ARM_STD/startup_LPC11xx.o has changed
Binary file TARGET_XADOW_M0/TOOLCHAIN_ARM_STD/sys.o has changed
Binary file TARGET_XADOW_M0/TOOLCHAIN_ARM_STD/system_LPC11Uxx.o has changed
--- a/TARGET_XADOW_M0/TOOLCHAIN_GCC_ARM/LPC11U35.ld	Fri Jul 25 09:46:51 2014 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,151 +0,0 @@
-/* Linker script to configure memory regions. */
-MEMORY
-{
-  FLASH (rx) : ORIGIN = 0x00000000, LENGTH = 64K
-  RAM (rwx) : ORIGIN = 0x100000C0, LENGTH = 0x1F40
-  USB_RAM (rwx): ORIGIN = 0x20004000, LENGTH = 0x800
-}
-
-/* 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
- */
-ENTRY(Reset_Handler)
-
-SECTIONS
-{
-    .text :
-    {
-        KEEP(*(.isr_vector))
-        *(.text.Reset_Handler)
-        
-        /* Only vectors and code running at reset are safe to be in first 512
-           bytes since RAM can be mapped into this area for RAM based interrupt
-           vectors. */
-        . = 0x00000200;
-        *(.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*))
-    } > FLASH
-
-    .ARM.extab : 
-    {
-        *(.ARM.extab* .gnu.linkonce.armextab.*)
-    } > FLASH
-
-    __exidx_start = .;
-    .ARM.exidx :
-    {
-        *(.ARM.exidx* .gnu.linkonce.armexidx.*)
-    } > FLASH
-    __exidx_end = .;
-
-    __etext = .;
-        
-    .data : AT (__etext)
-    {
-        __data_start__ = .;
-        *(vtable)
-        *(.data*)
-
-        . = ALIGN(4);
-        /* preinit data */
-        PROVIDE (__preinit_array_start = .);
-        KEEP(*(.preinit_array))
-        PROVIDE (__preinit_array_end = .);
-
-        . = ALIGN(4);
-        /* init data */
-        PROVIDE (__init_array_start = .);
-        KEEP(*(SORT(.init_array.*)))
-        KEEP(*(.init_array))
-        PROVIDE (__init_array_end = .);
-
-
-        . = ALIGN(4);
-        /* finit data */
-        PROVIDE (__fini_array_start = .);
-        KEEP(*(SORT(.fini_array.*)))
-        KEEP(*(.fini_array))
-        PROVIDE (__fini_array_end = .);
-
-        . = ALIGN(4);
-        /* All data end */
-        __data_end__ = .;
-
-    } > RAM
-
-    .bss :
-    {
-        __bss_start__ = .;
-        *(.bss*)
-        *(COMMON)
-        __bss_end__ = .;
-    } > RAM
-    
-    .heap :
-    {
-        __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 :
-    {
-        *(.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")
-}
Binary file TARGET_XADOW_M0/TOOLCHAIN_GCC_ARM/board.o has changed
Binary file TARGET_XADOW_M0/TOOLCHAIN_GCC_ARM/libmbed.a has changed
Binary file TARGET_XADOW_M0/TOOLCHAIN_GCC_ARM/retarget.o has changed
--- a/TARGET_XADOW_M0/TOOLCHAIN_GCC_CR/LPC11U35.ld	Fri Jul 25 09:46:51 2014 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,155 +0,0 @@
-/* mbed - LPC11U35 linker script
- * Based linker script generated by Code Red Technologies Red Suite 4.1
- */
-GROUP(libgcc.a libc_s.a libstdc++_s.a libm.a libcr_newlib_nohost.a crti.o crtn.o crtbegin.o crtend.o)
-
-MEMORY
-{
-  /* Define each memory region */
-  MFlash32 (rx) : ORIGIN = 0x0, LENGTH = 0x10000 /* 64k */
-  RamLoc8 (rwx) : ORIGIN = 0x100000C0, LENGTH = 0x1F40 /* 8k */
-  RamUsb2 (rwx) : ORIGIN = 0x20004000, LENGTH = 0x800 /* 2k */
-}
-  /* Define a symbol for the top of each memory region */
-  __top_MFlash32 = 0x0 + 0x10000;
-  __top_RamLoc8 = 0x10000000 + 0x1F40;
-  __top_RamUsb2 = 0x20004000 + 0x800;
-
-ENTRY(ResetISR)
-
-SECTIONS
-{
-
-    /* MAIN TEXT SECTION */ 
-    .text : ALIGN(4)
-    {
-        FILL(0xff)
-        KEEP(*(.isr_vector))
-		*(.text.ResetISR)
-		. = 0x200;
-        
-        /* Global Section Table */
-        . = ALIGN(4) ;
-        __section_table_start = .;
-        __data_section_table = .;
-        LONG(LOADADDR(.data));
-        LONG(    ADDR(.data)) ;
-        LONG(  SIZEOF(.data));
-        LONG(LOADADDR(.data_RAM2));
-        LONG(    ADDR(.data_RAM2)) ;
-        LONG(  SIZEOF(.data_RAM2));
-        __data_section_table_end = .;
-        __bss_section_table = .;
-        LONG(    ADDR(.bss));
-        LONG(  SIZEOF(.bss));
-        LONG(    ADDR(.bss_RAM2));
-        LONG(  SIZEOF(.bss_RAM2));
-        __bss_section_table_end = .;
-        __section_table_end = . ;
-        /* End of Global Section Table */
-        
-
-        *(.after_vectors*)
-        
-        *(.text*)
-        *(.rodata .rodata.*)
-        . = ALIGN(4);
-        
-        /* C++ constructors etc */
-        . = ALIGN(4);
-        KEEP(*(.init))
-        
-        . = ALIGN(4);
-        __preinit_array_start = .;
-        KEEP (*(.preinit_array))
-        __preinit_array_end = .;
-        
-        . = ALIGN(4);
-        __init_array_start = .;
-        KEEP (*(SORT(.init_array.*)))
-        KEEP (*(.init_array))
-        __init_array_end = .;
-        
-        KEEP(*(.fini));
-        
-        . = ALIGN(0x4);
-        KEEP (*crtbegin.o(.ctors))
-        KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors))
-        KEEP (*(SORT(.ctors.*)))
-        KEEP (*crtend.o(.ctors))
-        
-        . = ALIGN(0x4);
-        KEEP (*crtbegin.o(.dtors))
-        KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors))
-        KEEP (*(SORT(.dtors.*)))
-        KEEP (*crtend.o(.dtors))
-        /* End C++ */
-    } > MFlash32
-
-    /*
-     * for exception handling/unwind - some Newlib functions (in common
-     * with C++ and STDC++) use this.
-     */
-    .ARM.extab : ALIGN(4)
-    {
-        *(.ARM.extab* .gnu.linkonce.armextab.*)
-    } > MFlash32
-    __exidx_start = .;
-    
-    .ARM.exidx : ALIGN(4)
-    {
-        *(.ARM.exidx* .gnu.linkonce.armexidx.*)
-    } > MFlash32
-    __exidx_end = .;
-    
-    _etext = .;
-        
-    
-    .data_RAM2 : ALIGN(4)
-    {
-       FILL(0xff)
-        *(.data.$RAM2*)
-        *(.data.$RamUsb2*)
-       . = ALIGN(4) ;
-    } > RamUsb2 AT>MFlash32
-    
-    /* MAIN DATA SECTION */
-
-    .uninit_RESERVED : ALIGN(4)
-    {
-        KEEP(*(.bss.$RESERVED*))
-    } > RamLoc8
-
-    .data : ALIGN(4)
-    {
-        FILL(0xff)
-        _data = .;
-        *(vtable)
-        *(.data*)
-        . = ALIGN(4) ;
-        _edata = .;
-    } > RamLoc8 AT>MFlash32
-
-    
-    .bss_RAM2 : ALIGN(4)
-    {
-        *(.bss.$RAM2*)
-        *(.bss.$RamUsb2*)
-       . = ALIGN(4) ;
-    } > RamUsb2
-
-    /* MAIN BSS SECTION */
-    .bss : ALIGN(4)
-    {
-        _bss = .;
-        *(.bss*)
-        *(COMMON)
-        . = ALIGN(4) ;
-        _ebss = .;
-        PROVIDE(end = .);
-        __end__ = .;
-    } > RamLoc8
-    
-    PROVIDE(_pvHeapStart = .);
-    PROVIDE(_vStackTop = __top_RamLoc8 - 0);
-}
Binary file TARGET_XADOW_M0/TOOLCHAIN_GCC_CR/board.o has changed
Binary file TARGET_XADOW_M0/TOOLCHAIN_GCC_CR/libmbed.a has changed
Binary file TARGET_XADOW_M0/TOOLCHAIN_GCC_CR/retarget.o has changed
--- a/error.h	Fri Jul 25 09:46:51 2014 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,66 +0,0 @@
-/* mbed Microcontroller Library
- * Copyright (c) 2006-2013 ARM Limited
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-#ifndef MBED_ERROR_H
-#define MBED_ERROR_H
-
-/** To generate a fatal compile-time error, you can use the pre-processor #error directive.
- *
- * @code
- * #error "That shouldn't have happened!"
- * @endcode
- *
- * If the compiler evaluates this line, it will report the error and stop the compile.
- *
- * For example, you could use this to check some user-defined compile-time variables:
- *
- * @code
- * #define NUM_PORTS 7
- * #if (NUM_PORTS > 4)
- *     #error "NUM_PORTS must be less than 4"
- * #endif
- * @endcode
- *
- * Reporting Run-Time Errors:
- * To generate a fatal run-time error, you can use the mbed error() function.
- *
- * @code
- * error("That shouldn't have happened!");
- * @endcode
- *
- * If the mbed running the program executes this function, it will print the
- * message via the USB serial port, and then die with the blue lights of death!
- *
- * The message can use printf-style formatting, so you can report variables in the
- * message too. For example, you could use this to check a run-time condition:
- *
- * @code
- * if(x >= 5) {
- *     error("expected x to be less than 5, but got %d", x);
- * }
- * #endcode
- */
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-void error(const char* format, ...);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
--- a/mbed.h	Fri Jul 25 09:46:51 2014 +0100
+++ b/mbed.h	Fri Aug 15 15:28:31 2014 +0100
@@ -16,7 +16,7 @@
 #ifndef MBED_H
 #define MBED_H
 
-#define MBED_LIBRARY_VERSION 86
+#define MBED_LIBRARY_VERSION 88
 
 #include "platform.h"
 
@@ -25,7 +25,7 @@
 #include <time.h>
 
 // mbed Debug libraries
-#include "error.h"
+#include "mbed_error.h"
 #include "mbed_interface.h"
 
 // mbed Peripheral components
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mbed_error.h	Fri Aug 15 15:28:31 2014 +0100
@@ -0,0 +1,66 @@
+/* mbed Microcontroller Library
+ * Copyright (c) 2006-2013 ARM Limited
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+#ifndef MBED_ERROR_H
+#define MBED_ERROR_H
+
+/** To generate a fatal compile-time error, you can use the pre-processor #error directive.
+ *
+ * @code
+ * #error "That shouldn't have happened!"
+ * @endcode
+ *
+ * If the compiler evaluates this line, it will report the error and stop the compile.
+ *
+ * For example, you could use this to check some user-defined compile-time variables:
+ *
+ * @code
+ * #define NUM_PORTS 7
+ * #if (NUM_PORTS > 4)
+ *     #error "NUM_PORTS must be less than 4"
+ * #endif
+ * @endcode
+ *
+ * Reporting Run-Time Errors:
+ * To generate a fatal run-time error, you can use the mbed error() function.
+ *
+ * @code
+ * error("That shouldn't have happened!");
+ * @endcode
+ *
+ * If the mbed running the program executes this function, it will print the
+ * message via the USB serial port, and then die with the blue lights of death!
+ *
+ * The message can use printf-style formatting, so you can report variables in the
+ * message too. For example, you could use this to check a run-time condition:
+ *
+ * @code
+ * if(x >= 5) {
+ *     error("expected x to be less than 5, but got %d", x);
+ * }
+ * #endcode
+ */
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+void error(const char* format, ...);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif